How to assign a solid color as a tangent?

What is going on with tangents? On a ground plane unwrapped (Project from view, bounds), the resulting output is a solid red (1,0,0). That works great for controlling aniso rotation using a 0/0.25 checker pattern for a tiled floormat thingy.

However, if I simply assign the color red, I get weird blocks possibly indicating corrupted data or something. If I mix it with 0.00001 z radial tangent, it works again. Same if I go through a vector transform point/world/world which to me logically does absolutely nothing. So why do these work and a solid color fail?

What would be the proper, least computationally heavy way, of assigning a simple color to define tangent in order to override the default radial tangent without UV unwrapping?

I have to check when was the last time this worked correctly, and file a bug… This is quite strange, as even inputing a vector with the combineXYZ doesn’t work correctly… but if you place a mapping node in between then it will work…

About the last question, it all depends in the type of tangents you want… for something linear in a plane surface, you just need a vector (and a vector transform to convert the vector from object to world space). But just like the normals, the tangent vector is supposed to follow the surface…In the case of curved surfaces, just one vector is probably insufficient, specially because the tangent vector is in world coordinates (rotate the plane, and the old red tangent becomes something else).

Ok, thanks. I’ll use the vector transform for now.