Add Chromium-only Blender WebEngine parity work
This commit is contained in:
43
docs/status/W-078.md
Normal file
43
docs/status/W-078.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# W-078 Status
|
||||
|
||||
status: in_progress
|
||||
task: 轻量化预算和导出策略
|
||||
|
||||
`protocol/budget.ts` now validates explicit integer budgets for triangles,
|
||||
vertices, index bytes, material slots, texture bytes and estimated GPU bytes.
|
||||
`evaluateLightweightBudget` returns every violation with limit, actual value and
|
||||
excess while leaving the measured usage unchanged. Browser E2E covers a mixed
|
||||
triangle/GPU over-budget report.
|
||||
|
||||
`aggregateLightweightUsage` and `evaluateLightweightBudgets` now produce
|
||||
deterministic project, collection, object and LOD scopes. Project usage sums
|
||||
each source object once; collection membership is reported per collection and
|
||||
LOD usage is kept separate so generated levels are not double-counted. Browser
|
||||
E2E covers all four scope reports.
|
||||
|
||||
`analyzeGLBExport` now runs before the UI export action and returns structured
|
||||
warnings/errors for summary-only or missing geometry, unevaluated modifiers,
|
||||
external/packed images, linked material inputs and unavailable skin remapping.
|
||||
When no blocking condition is present, the local exporter writes a standards-
|
||||
shaped GLB 2.0 binary containing hierarchy, mesh positions/normals/UVs/colors,
|
||||
material groups, PBR material factors and shape-key morph targets. Blender
|
||||
shape-key positions are converted to glTF deltas in the Z-up to Three.js/glTF
|
||||
basis conversion. The top-bar action downloads this local binary; browser E2E
|
||||
checks the GLB header and a non-zero morph delta.
|
||||
|
||||
`exportGLB` now accepts caller-provided local asset buffers, embeds each image
|
||||
as a GLB buffer view, and connects it to exported PBR materials. It exports
|
||||
`JOINTS_0`/`WEIGHTS_0`, bone nodes, inverse bind matrices and supported object
|
||||
or bone animation channels for a resolved armature binding. The local test
|
||||
worker parses the emitted GLB JSON again; browser E2E embeds a real local PNG
|
||||
and verifies its byte length/signature, skin joints, MAT4 inverse-bind accessor,
|
||||
animation channels and skin attributes without a network fetch.
|
||||
|
||||
The native reader now extracts the exact bytes of both legacy and list-based
|
||||
Blender packed images through the local asset request ABI; the packed fixture
|
||||
checks PNG signature, MIME and byte length without a network request. The GLB
|
||||
worker strictly parses the emitted JSON/BIN chunks and compares mesh
|
||||
attributes, embedded image byte counts/MIME, skin joints/inverse-bind MAT4s,
|
||||
morph targets and grouped animation paths against the source SceneIR. The
|
||||
browser round-trip test has no semantic mismatches. Blender-side unsupported
|
||||
features remain explicit export warnings.
|
||||
Reference in New Issue
Block a user