LIVE DOM / HTMLTexturenative DOM

InteractionManager keeps this element aligned with its 3D plane.

SNAPSHOT / HTMLMeshVR plane

This panel is rasterized from DOM into a canvas texture.

THREE.JS / FOUNDATIONS 151

Make DOM survive the dive.

A browser interface can be a live DOM element, a VR-ready snapshot, or a vector asset. Put all three in one scene and make ownership and feature limits visible instead of guessing.

Initializing Preparing renderer

Preparing HTMLTexture, HTMLMesh, InteractionManager, and SVGLoader...

live DOM
-
snapshot
-
manager
-
SVG paths
-
unsupported
-
draws
-
Ownership controlslive / snapshot / vector

HTMLTexture owns a live DOM element; HTMLMesh owns a rasterized canvas snapshot; InteractionManager owns registration and per-frame CSS transforms.

No frame sample yet.

SVG feature boundaryloading

The specimen intentionally includes a gradient, filter, and text node so the loader’s actual coverage can be inspected.

gradient nodes-
filter nodes-
text nodes-
captured warnings-
Lifecycle contractwaiting
HTMLTexture source-
HTMLMesh resources-
SVG resources-

Use refresh controls to mutate the sources; release explicitly exercises HTMLTexture and HTMLMesh disposal.

Derived from the pinned webgpu_materials_texture_html source: HTMLTexture + InteractionManager + a live DOM button. This lab keeps a side-by-side HTMLMesh/SVG ownership comparison and bounded local markup; exact rounded-box composition, image asset, polyfill behavior, and whole-example fidelity remain separate. Click the live DOM controls when their panel is projected into the scene; click the snapshot panel to dispatch a DOM event through HTMLMesh. Try ?forceWebGL=1 for the WebGL2 companion.

THREE.JS FOUNDATIONS LAB