# W-037 Status status: done_current_scope task: 实现场景完整快照 ## Implemented `get_scene_snapshot` remains a validated JSON compatibility ABI, including bounded positions/index/normals and optional UV/color/material-slot arrays for available meshes. The Worker validates that fallback snapshot, packs the geometry into little-endian `Float32Array`/`Uint32Array` buffers, strips the large arrays from the browser snapshot, and transfers the buffers to React/Three.js. Browser parsing is centralized in `parseSceneSnapshotIR` and failures become stable worker error reports. The envelope and chunk rules are documented in `docs/web/mesh-buffer-layout.md`. ## Accepted bounded scope The preferred native WBG1 metadata/geometry ABI now emits positions, indices, corner attributes, material/face/edge indices, tangents and split normals as tightly packed little-endian buffers. The Worker validates lengths/bounds and keeps large arrays out of React state. Per-mesh envelopes, Worker processing, Three.js frustum culling, linked-data `InstancedMesh` groups and LOD cover the current large-scene contract. `?offscreen=1` capability-gates real canvas/WebGL ownership in a render Worker with orbit, selection and nonblank-pixel E2E; unsupported browsers retain the main-thread renderer.