27 lines
1.3 KiB
Markdown
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.
|