Who could actually use texture.rotation()?

I think that the Threejs/WebGL implementation lacks for something on its function

texture.rotation(angle);

Once rotated the texture, there is no way to adjust the slant using the scale

texture.repeat.set(scaleX, scaleY);

Any scaleX and scaleY values leave the slant there. I didn’t find any way to modify the texture.matrix itself using other functions or by assigning different values to each of its elements. So I ask to myself and this group:

Who could use the function texture.rotation() the way it actually works?
With which results? Do I miss something here?

P.S. I know I could use a shader or modify the UV at any rotation. I would like to know whether I am using the function texture.rotation() in the wrong way or it is really useless the way it works.

I have found a way to rotate the image textures. Using a canvas.
It works with images but how could I do the same on video textures?

CreateRotatedTexture(texDict, material)
{
	var img = new Image();
	img.material = material;
    material.transparent = true; // be sure this be transparent.
	img.onload = LoadImage;
	
	function LoadImage()
	{		
		var width = this.width;
		var height = this.height;
		
		var canvas = document.createElement('canvas');
		canvas.width = width;
		canvas.height = height;
		
		var ctx = canvas.getContext('2d');
		ctx.translate(width * 0.5, height * 0.5);
		ctx.scale(texDict.scaleX, texDict.scaleY);
		ctx.rotate(-deg2rad(texDict.angle));
		ctx.translate(-width * 0.5, -height * 0.5 );
		ctx.drawImage(img, 0, 0, width, height);
		
		var texture = new THREE.Texture(canvas);
		texture.anisotropy = 5;
		texture.minFilter = THREE.LinearMipMapLinearFilter;
		texture.wrapS = texture.wrapT = THREE.ClampToEdgeWrapping;
		
		this.material.map = texture;
		texture.needsUpdate = true;
	}
	img.src = texDict.path;
}