LAB 159 / PAINT MATRIX
Make the paint contract explicit.
Three ways to put browser UI on a 3D surface: direct HTMLTexture, HTMLMesh’s mutation-aware snapshot, and a manual CanvasTexture fallback.
InitializingPreparing renderer
Preparing the three paint paths and capability probes...
- native
- -
- snapshot
- -
- fallback
- -
- paint hook
- -
- source rev
- -
- draws
- -
Update policymutate / invalidate / redraw
Mutating the DOM does not imply that direct HTMLTexture storage is invalidated; each path exposes its own update signal.
Compatibility matrixmeasuring
pathsourceupdate owner
HTMLTexture-manual / paint
HTMLMesh-MutationObserver
CanvasTexture-application draw
Probe reports whether this browser exposes the paint hook described by HTMLTexture.
Resource ownershipwaiting
Native HTMLTexture-
HTMLMesh snapshot-
CanvasTexture fallback-
Texture dimensions are fixed after first use; density changes rebuild the explicit fallback texture.
Renderer error
Mutate first, then compare the direct HTMLTexture refresh, the HTMLMesh snapshot delay, and the explicit canvas redraw. Try ?forceWebGL=1 for the WebGL2 companion.
THREE.JS FOUNDATIONS LAB