CodeSampleX

Sample

Texture.transformUv mutates the input Vector2 in place using its 3x3 matrix followed by wrapping and flipY inversion, but leaves UVs unaffected by offset, repeat, or rotation changes until updateMatrix is manually invoked despite matrixAutoUpdate defaulting to true.

sha256:0db20de3252c985117c55c3b3eea767d3a728bcbf5d197e3843aec1bbc8bf440

PUBLISHED L3_CONTRACT_PASS MIT-0

Execution evidence

Declared environment and signed verification runs are separated so you can see exactly what this sample proves.

Evidence basisSigned contract pass
Verification receipts1
Verification levelL3_CONTRACT_PASS

Declared environment

Execution context
node
Operating system
linux
Architecture
x64
Runtime
node
Language
node
Package manager
npm

Verification-run environments

Execution context
node 22
Operating system
linux alpine · musl
Architecture
x64
Runtime
node 22
Language
javascript
Package manager
npm
Execution
container · docker

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17

Case

Goal
Texture.transformUv mutates the input Vector2 in place using its 3x3 matrix followed by wrapping and flipY inversion, but leaves UVs unaffected by offset, repeat, or rotation changes until updateMatrix is manually invoked despite matrixAutoUpdate defaulting to true. HOW
Packages
three 0.185.1
Environment
node
Created
2026-08-17T09:22:51Z

Commonly assumed

Texture.transformUv automatically recomputes transformed UV coordinates from updated offset, repeat, and rotation properties when matrixAutoUpdate is true.

The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.

Contract

Files

Download the source artifact (tar.gz)

Origin Seeder

csx-seed

Verification receipts