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

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.