1.3 KiB
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.