Files
workinf_Blender_Wasm/docs/status/W-037.md
2026-08-12 04:47:48 -04:00

27 lines
1.3 KiB
Markdown

# 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.