mes123456 d0b6d2a164 feat(web): close remaining editor, layout and persistence gaps
- Area headers get a per-area editor switcher backed by a shared
  AreaEditorContext; Preferences can hide it.
- Animation camera area is a real navigable viewport aligned to the
  scene camera; Graph Editor adds channel selection, keyframe drag/
  insert/delete and interpolation.
- Geometry Nodes node locations round-trip through the native writer
  and reader, so saved graphs keep their layout.
- Texture Paint can make linked library images local via a new native
  makeImageLocal command before packing strokes.
- Compositor IMAGE and Render Layers nodes now persist to Main and
  execute against packed images / the last PBR render.
- Spreadsheet row cap raised to 250k; Outliner gains Ctrl+A and arrow/
  Home/End navigation.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-13 07:47:10 +08:00

Blender Web WASM

Blender 5.2-based Web editor runtime with a React/Three.js frontend, a native Blender Main compiled to WebAssembly, versioned browser protocols, OPFS/IndexedDB storage, and desktop/WASM round-trip tests.

The current browser baseline is Chromium only. The release browser suite covers both the main-thread WebGL renderer and the OffscreenCanvas Worker renderer. Firefox and WebKit are permanently outside this project's test, CI, evidence, and release scope. The iron rule is Chromium-only browser execution: never launch, probe, or claim support from Firefox or WebKit. Historical Firefox/WebKit reports are archival context only and are not normative support evidence.

Layout

  • blender-5.2.0/: corresponding Blender source with the WebEngine integration.
  • web/: frontend, Worker clients, protocols, Playwright tests, and local runtime assets.
  • tools/web/: fixture, golden, build, and offline-release tooling.
  • tests/: .blend fixtures and semantic golden data.
  • docs/status/: machine-readable and task-specific parity ledger.

Verification

source tools/web/emscripten-env.sh
cmake --build build_web_blender6 --target web_engine -- -j8
bash tools/web/install-web-engine-assets.sh
npm --prefix web ci
npm --prefix web run typecheck
npm --prefix web run lint
npm --prefix web run build
npm --prefix web run test:browser

See docs/EXECUTION_QUEUE.md for the current task pointer, docs/CONTEXT_BUDGET.md for the small-context execution rules, and docs/README.md for the document map, docs/PROJECT_STATUS_AND_NEXT_WORK.md for the implemented scope, and docs/BLENDER_5_2_FULL_WEB_PARITY_EXECUTION_PLAN.md for the normative M12-M23 full-parity execution plan. The domain overview and coverage cross-check are in docs/BLENDER_5_2_WEB_FEATURE_PARITY.md and docs/BLENDER_5_2_FULL_PARITY_WBS.md.

The release contract and explicit non-goals are defined in docs/WEB_BLENDER_MODELER_V1_SCOPE.md.

Description
Blender 5.2 WebAssembly editor runtime, Chromium baseline
Readme 1.3 GiB
Languages
C++ 70.9%
Python 15.9%
TypeScript 4.8%
JavaScript 3.8%
C 1.4%
Other 3%