LAB 182 / DOM + SCISSOR COMPOSITOR
One renderer.
Many worlds.
Each card owns a scene, camera, material, and orbit target. One canvas finds their DOM rectangles and composes only the visible worlds.
RENDER CONTRACT
Change the compositor
The renderer clears once, then uses each element’s viewport rectangle as a scissor pass. Scroll to make the visible-only policy observable.
OBSERVABILITY
path—
scenes—
visible—
passes—
draw calls—
canvas—
frame—
scroll—
1DOM rect → viewport + scissor
2one renderer → many scene graphs
3offscreen cards → skipped work
WHY THIS MATTERS
A product page, editor, or portfolio can host dozens of live 3D previews without creating a renderer per card. The scene graph stays independent while the compositor owns canvas state and visibility policy.
Initializing—
Preparing one canvas and many independent scenes…
Multiple elements error
LAB 182 / MULTIPLE ELEMENTS