Files
workinf_Blender_Wasm/docs/web/KNOWN_LIMITATIONS.md
mes123456 7c16b279ae
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
Advance M7 workflows and release operations
2026-08-15 17:43:53 -04:00

4.4 KiB

Web Blender Modeler V1 Known Limitations

These limits apply to 0.1.0-rc.1. A successful bounded gate does not imply complete Blender 5.2 parity or support beyond the declared operation, fixture, resource budget and browser configuration. See V1_SCOPE.md and parity-ledger.json for the authoritative capability boundary.

Browser and deployment

  • Chromium is the only V1 browser baseline. Firefox, WebKit, mobile browsers, touch, pen, IME and non-Chromium accessibility compatibility are not release claims.
  • Production requires HTTPS. http://127.0.0.1 is allowed for local verification; public plain HTTP and file:// are unsupported. All app, Worker and engine assets must remain same-origin.
  • The base viewport uses WebGL2. OffscreenCanvas is a second tested production path. WebGPU is used only for the declared bounded NanoVDB path and is subject to adapter availability and limits.

Single-thread and pthread selection

  • AUTO selects pthread only when crossOriginIsolated, SharedArrayBuffer and Worker capability gates are all ready. Otherwise it selects the single-thread variant and reports the pthread gate.
  • A pthread initialization failure under AUTO is cleaned up before one single-thread attempt. A resource request failure outside this path remains an error.
  • A JS, WASM or pthread Worker SHA-256 mismatch is fatal (ENGINE_VARIANT_INTEGRITY_FAILED): there is no integrity fallback and no project is opened.
  • PTHREAD_REQUIRED blocks when its platform gate is not ready. SINGLE_REQUIRED never attempts pthread. A mixed app/manifest releaseId returns REFRESH_REQUIRED before engine initialization or project open; a full reload is required.
  • Both variants declare 256 initial WebAssembly pages (16 MiB) and a 32,768-page ceiling (2 GiB). This is a manifest ceiling, not a memory reservation or availability guarantee; Chromium, the OS or the device can reject growth earlier.

Project storage

  • OPFS and IndexedDB are bound to the exact scheme, host and port. Moving between origins does not migrate projects. Clearing site data or a browser profile deletes locally stored projects and caches.
  • Chromium and the operating system control quota. V1 reserves no minimum capacity and cannot infer that navigator.storage.estimate() free space will remain available through a save.
  • Atomic save preserves the last committed revision on quota failure, but the new revision is not durable until save succeeds. Export critical projects before upgrades and before deleting caches.
  • IndexedDB schema migration is forward-only. OPFS project manifest schema has no general reverse migration. An older app is blocked when it cannot read the current schema.

CPU, WASM and GPU budgets

  • The RC gates cover 100k, 1M and 10M geometry fixtures; they are not an unlimited scene-size claim. Imports and operations can block earlier when their own vertex, element, transfer, time or memory budgets are exceeded.
  • A texture asset is limited by protocol to 64 MiB, 16,384 pixels per dimension and 256 requested assets per scene. The actual WebGL MAX_TEXTURE_SIZE, address space and GPU memory may be lower. The release gate exercised 4K and 8K textures, not every format or 16K residency combination.
  • VDB input is bounded to 512 MiB, a NanoVDB bundle to 1 GiB, each chunk to 16 MiB and declared GPU residency to at most 512 MiB. Actual maxStorageBufferBindingSize and maxBufferSize may be lower.
  • NanoVDB pages are explicit and LRU-bounded. Automatic viewport page-fault feedback, depth-composed production demand paging and an unbounded multi-grid material system are not included in V1.
  • GPU device loss or budget failure releases and recreates viewport resources where supported; it does not modify Blender Main or OPFS project bytes. A reduced scene or budget may still be required.

Blender feature scope

Complete PBVH sculpt/paint, arbitrary Geometry Nodes and Shader evaluation, full physics solvers, Cycles, final video encoding, Python/Text autorun, add-ons and native GPU backends are either bounded, server-only or excluded. The exact family slices and stable blockers are in parity-ledger.json; unsupported data must be preserved or explicitly blocked, not reported as executed.

Use DEPLOYMENT.md for installation and rollback requirements, and operations-diagnostics.json for stable failure signals and data-safe recovery boundaries.