chore(deps): @babylonjs 9.16.0 + manifold-3d 3.5.1#375
Draft
RaananW wants to merge 6 commits into
Draft
Conversation
…d-3d to 3.5.1 Bumps the high-risk runtime/reference dependencies: - @babylonjs/core/loaders/materials/addons 9.5.0/9.10.1/9.8.0 -> 9.15.0 - babylonjs-gltf2interface 9.5.0 -> 9.15.0 - @babylonjs/havok 1.3.12 -> 1.3.13 - manifold-3d 3.4.0 -> 3.5.1 (runtime dep of babylon-lite + devDep of lab) @babylonjs/core is the parity REFERENCE engine; manifold-3d is a Lite runtime dep. Refreshes pnpm-lock.yaml and the per-scene bundle manifests (manifold wasm grew ~223KB but lands in ignoredRawKB, so counted rawKB/ gzipKB and all bundle-size ceilings stay green). BJS reference-harness fixes for 9.15's pure/non-pure tree-shaking split (side-effect registrations no longer come in transitively): add specific non-pure side-effect imports so the reference scenes still self-register their features. Restores 19 golden-less reference scenes: - MeshBuilder (Builders/sphereBuilder, boxBuilder): scene6/8/10/19/23/66/140 - glTF file loader (@babylonjs/loaders/glTF): scene41/47/146/147/148/149/171/174/175 - InstancedMesh: scene34/39 - StandardMaterial: scene127/128/129 - UniversalCamera + StandardMaterial for .babylon deserialization: scene24 Known-unresolved 9.15 reference-engine regressions (golden-less scenes, NOT worked around; goldens/ceilings untouched) — see PR body. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Lab - Static SiteBuild 20260707.8 - merge @ f312de1 |
📋 parity — Test ReportBuild 20260707.8 · merge @ f312de1 |
9.16.0 ships BabylonJS PR #18671, which restores the side-effect registrations dropped by the 9.15 pure/non-pure tree-shaking split: - ShadowGenerator now calls RegisterRenderTargetTexture() in its constructor, fixing the WebGPU PCF/PCSS "Sampler shadowTexture0Sampler not found in the material context" error (scene4/18/22/66/72/140). - The .babylon file loader now calls RegisterCamera() + falls back to scene.cameras[0], fixing scene.activeCamera being null after AppendAsync (scene24/145). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…n-9-15-manifold-3-5 # Conflicts: # lab/public/bundle/manifest/scene113.json # lab/public/bundle/manifest/scene114.json # lab/public/bundle/manifest/scene115.json # lab/public/bundle/manifest/scene142.json # lab/public/bundle/manifest/scene155.json # lab/public/bundle/manifest/scene36.json # lab/public/bundle/manifest/scene49.json # lab/public/bundle/manifest/scene91.json
…ffect imports Harness robustness + partial 9.16 pure-split mitigation for the parked @BabylonJS 9.16 bump (PR #375, still BLOCKED/PARKED). - Add acquireBjsPage(browser) helper mirroring captureGolden's REUSE_BROWSER reuse logic, and refactor the 20 physics/picking/gizmo data-capture specs to use it so headed local runs reuse one window per worker instead of popping a window per spec. - Add stopgap side-effect imports to 10 reference scenes whose transitive registrations were dropped by the Babylon.js 9.15/9.16 pure/non-pure tree-shaking split (scene4/18/22/66/72/140 shadow texture, scene24/145 parser, scene127/128 WGSL depth shaders). These are temporary until upstream BJS restores the registrations in its non-pure entry points. - Commit regenerated per-scene bundle manifests (no ceiling changes). Note: a full isolated 9.16 parity run still shows 24 reference-engine scenes failing on the same pure-split root cause (glTF file-loader, shadow, frame-graph post-process, gizmo registrations). Bump remains parked pending upstream fixes; no goldens or ceilings were modified. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Resolve lab/package.json: keep our @BabylonJS 9.16.0 / manifold-3d 3.5.1 / gltf2interface 9.16.0 bumps; take master's typescript ^6.0.3 (sibling TS6 PR #376). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
📋 parity — Test ReportBuild 20260709.8 · merge @ 2e0de5f |
scene147/scene41 gzip sizes drifted sub-0.1KB from the TypeScript 6 merge (TS6 emit); rawKB unchanged, no ceiling impact. Fixes bundle manifest validation on CI. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Lab - Static SiteBuild 20260709.11 - merge @ 24ff2c2 |
📋 parity — Test ReportBuild 20260709.11 · merge @ 24ff2c2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
High-risk runtime / reference dependency bumps (Group 3 of 3 parallel dep updates).
@babylonjs/core@babylonjs/loaders@babylonjs/materials@babylonjs/addonsbabylonjs-gltf2interface@babylonjs/havokmanifold-3dbabylon-literuntime + lab devDepRoot cause — Babylon.js pure/non-pure tree-shaking split
9.15/9.16 split each module into a side-effect-free
.pure.jsplus a thin non-pure.jsthat applies theRegister*()side effect. Aggregate barrels / format entry points now resolve the.purevariant, so legacy static registrations no longer arrive transitively. Example (proven by diffing 9.5.0 vs 9.16.0 loaders): loading a.gltfneeds two registrations — the 2.0 parser factory (still triggered byglTF/2.0) and the SceneLoader.gltf/.glbfile-loader plugin (moved into non-pureglTF/glTFFileLoader.js, no longer pulled byglTF/2.0). In 9.5.0glTF/2.0/glTFLoader.jsstatically imported../glTFFileLoader.js, which registered the plugin at module load; 9.16 decouples them.Harness fixes included in this branch (behavior-preserving)
acquireBjsPage()REUSE_BROWSER data-capture reuse — the 20 physics/picking/gizmo specs now reuse the worker-owned context/page underREUSE_BROWSERinstead of popping a window per spec.Bundle size — ✅ GREEN
pnpm build:bundle-scenesregenerated the per-scene manifests (committed; aggregatemanifest.jsonstays gitignored). CountedrawKB/gzipKBunchanged; manifold 3.5.1 wasm growth lands inignoredRawKB, so no ceiling is affected.bundle-size.spec.tspasses. No ceilings changed.Guardrails honored
pnpm test:perfnot run (agent-forbidden).Decision
The failures are upstream reference-engine changes on golden-less scenes (pure-split registration drops), not Lite regressions. User decision: HOLD — wait for upstream Babylon.js to restore the dropped registrations in its non-pure entry points, then recapture goldens and re-run parity. Parked as draft.