- face UV orientation now follows vanilla BlockElement.uvsByFace: north/
east/down faces were sampled mirrored. Default UVs adjusted to match.
Block and entity faces share one mapping (ElementIntersector.faceUv),
so the separate blockUv mode of the entity intersector is gone.
- x/y blockstate rotations without uvlock: elements keep their model-space
copy and are intersected with the inverse-rotated ray, so textures turn
with the model exactly like vanilla (pistons facing down showed their
side textures in different directions per face). Replaces the earlier
up/down-only UV rotation. Display entities use the same model-space path.
Edge-case test plugin: piston/observer/dispenser scenes.