38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# W-033 Status
|
|
|
|
status: done_current_scope
|
|
task: 导出 MeshIR
|
|
|
|
## Implemented
|
|
|
|
Mesh summaries export vertex, edge, face and corner counts. Blender 5.2
|
|
`AttributeStorage` DATA blocks are now resolved by exact old-pointer matches
|
|
and by SDNA pointer width. The reader exports position floats, normals,
|
|
triangulated corner indices, corner UV/color attributes, triangle material
|
|
indices, material slot IDs and object-space bounds with
|
|
`geometryStatus: "available"`. The Three adapter applies Z-up conversion,
|
|
uses exported normals, expands corner attributes into render vertices, and
|
|
binds local material groups.
|
|
|
|
## Accepted bounded scope
|
|
|
|
The exporter now includes tangent and corner split-normal buffers, seam/sharp
|
|
edge flags, custom attribute metadata, vertex groups and UV-layer selection.
|
|
The native WBG1 C ABI carries these buffers without JSON construction and the
|
|
Worker validates/transfers them to Three.js. Mesh Edit operations rebuild
|
|
topology metadata through Blender Main and reject linked/shape-key topology
|
|
changes with structured errors.
|
|
|
|
Evaluated buffers for unsupported modifier/simulation families remain blocked
|
|
by the N-002 capability matrix; this is an explicit boundary rather than a
|
|
claim of universal modifier evaluation.
|
|
|
|
The field and future transferable layout is documented in
|
|
`docs/web/mesh-buffer-layout.md`.
|
|
|
|
## Verification
|
|
|
|
```text
|
|
node tools/web/run-web-engine-smoke.mjs # basic + attribute fixtures
|
|
```
|