Files
workinf_Blender_Wasm/docs/status/M12-03D.md
mes123456 5a11045ca5
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions
Advance Blender 5.2 web parity through M12-03D
2026-08-17 17:30:27 -04:00

2.8 KiB

M12-03D Status

status: done task: append one dependency closure through WASM Main in one transaction updated: 2026-08-17 America/New_York enablingTask: false parityStateChange: false

Scope

The browser Worker validates a source-hash-bound APPEND binding and sends one Object closure to the authoritative Blender Main. Blender's native link/append context recursively imports the Object, Mesh, Material, and packed Image, verifies that every resulting ID is local and writable, and publishes one SceneIR revision. The existing Main history transaction is used for rollback and undo/redo; the source is never treated as a linked read-only snapshot.

Evidence

  • EM_CACHE=/home/mes123456/workinf_Blender_Wasm/.emcache cmake --build build_web_blender6 --target web_engine -- -j2 passed; the generated module exports _web_engine_append_library_object.
  • npm --prefix web run typecheck passed.
  • WEB_TEST_PORT=5194 npm --prefix web run test:library-main-append passed in Chromium.
  • The test opens a clean .blend, appends the desktop fixture closure through WebEngineClient, verifies transactionCount=1, four LOCAL_MAIN mappings, stable Object/Mesh/Material/Image IDs, the material-to-image dependency, and a single revision increment.
  • A stale base revision returns REVISION_CONFLICT; a second append colliding with the local IDs returns ASSET_MANIFEST_INVALID without changing the revision. Undo removes the closure, redo restores it, and a saved buffer reopens with the same local image and Object dependency.
  • The Worker closure check accepts both the reader's material.imageIds representation and the Blender node-level imageId representation; it does not infer ownership from a preview.

Artifact hashes

  • test: 7130453cbc81f22eb1bcf598ff3745672ac8177dccb11cef667f5b68b43e87c6
  • worker: e3bb430e401144bf17cdcbd0de13cde0a4f904f1f9ff9d5b10a73d90f0d4c648
  • protocol: bfd98561cbe797d7b8f07c92c53a25460c839a64ab7222b7795cf58d54dff8d7
  • source .blend: 5b60d02926efd588a6ca300ba31414cdf37dbc48786c17b383a70319057c0606
  • clean target .blend: 9b1ecbcc3d7f8079ee5469de64193ffcaa0a7b01e0f2ac340bbb18aa88734a63
  • WASM JS: 9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed
  • WASM binary: 7821f408687e455c6f4e185fc3741c199c1c60d409836a2fe1b32f521d81e0ea
  • Main append API: 5a71260c542fa559f73c6b82e23e72d39bd2844f5ebe12c6edc809a49d79791b
  • Main append implementation: d0c484ab62e6ec051c8c2f67c49d750a456578aaccc2aa4f461026307af0db95

Next task

M12-03E: append undo/redo/save/reopen and the desktop canonical report must agree.

Rollback

Remove the M12-03D Worker/e2e test, package command, WASM append export and Main append entrypoint, restore the material closure check, and move the machine queue back to M12-03D. No V1 release ledger rollback is required.