From 689754179056dadf989b2999d1d690e3f5f88ea0 Mon Sep 17 00:00:00 2001 From: Raanan Weber Date: Tue, 7 Jul 2026 16:37:46 +0200 Subject: [PATCH 1/6] chore(deps): bump @babylonjs reference packages to 9.15.0 and manifold-3d to 3.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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/lite/src/bjs/scene10.ts | 2 +- lab/lite/src/bjs/scene127.ts | 1 + lab/lite/src/bjs/scene128.ts | 1 + lab/lite/src/bjs/scene129.ts | 1 + lab/lite/src/bjs/scene140.ts | 1 + lab/lite/src/bjs/scene146.ts | 2 +- lab/lite/src/bjs/scene147.ts | 2 +- lab/lite/src/bjs/scene148.ts | 2 +- lab/lite/src/bjs/scene149.ts | 2 +- lab/lite/src/bjs/scene171.ts | 2 +- lab/lite/src/bjs/scene174.ts | 2 +- lab/lite/src/bjs/scene175.ts | 2 +- lab/lite/src/bjs/scene19.ts | 2 +- lab/lite/src/bjs/scene23.ts | 2 +- lab/lite/src/bjs/scene24.ts | 2 + lab/lite/src/bjs/scene34.ts | 1 + lab/lite/src/bjs/scene39.ts | 1 + lab/lite/src/bjs/scene41.ts | 2 +- lab/lite/src/bjs/scene47.ts | 2 +- lab/lite/src/bjs/scene6.ts | 1 + lab/lite/src/bjs/scene66.ts | 1 + lab/lite/src/bjs/scene8.ts | 3 +- lab/package.json | 14 +-- lab/public/bundle/manifest/scene101.json | 2 +- lab/public/bundle/manifest/scene102.json | 4 +- lab/public/bundle/manifest/scene105.json | 2 +- lab/public/bundle/manifest/scene106.json | 2 +- lab/public/bundle/manifest/scene110.json | 4 +- lab/public/bundle/manifest/scene113.json | 2 +- lab/public/bundle/manifest/scene114.json | 2 +- lab/public/bundle/manifest/scene115.json | 2 +- lab/public/bundle/manifest/scene128.json | 2 +- lab/public/bundle/manifest/scene142.json | 2 +- lab/public/bundle/manifest/scene150.json | 2 +- lab/public/bundle/manifest/scene151.json | 2 +- lab/public/bundle/manifest/scene155.json | 2 +- lab/public/bundle/manifest/scene170.json | 2 +- lab/public/bundle/manifest/scene172.json | 2 +- lab/public/bundle/manifest/scene174.json | 2 +- lab/public/bundle/manifest/scene177.json | 2 +- lab/public/bundle/manifest/scene178.json | 2 +- lab/public/bundle/manifest/scene18.json | 2 +- lab/public/bundle/manifest/scene201.json | 2 +- lab/public/bundle/manifest/scene202.json | 4 +- lab/public/bundle/manifest/scene203.json | 2 +- lab/public/bundle/manifest/scene205.json | 2 +- lab/public/bundle/manifest/scene212.json | 4 +- lab/public/bundle/manifest/scene213.json | 2 +- lab/public/bundle/manifest/scene216.json | 4 +- lab/public/bundle/manifest/scene221.json | 2 +- lab/public/bundle/manifest/scene223.json | 2 +- lab/public/bundle/manifest/scene224.json | 2 +- lab/public/bundle/manifest/scene225.json | 2 +- lab/public/bundle/manifest/scene3.json | 2 +- lab/public/bundle/manifest/scene36.json | 2 +- lab/public/bundle/manifest/scene45.json | 2 +- lab/public/bundle/manifest/scene46.json | 2 +- lab/public/bundle/manifest/scene49.json | 4 +- lab/public/bundle/manifest/scene53.json | 2 +- lab/public/bundle/manifest/scene54.json | 2 +- lab/public/bundle/manifest/scene57.json | 2 +- lab/public/bundle/manifest/scene59.json | 2 +- lab/public/bundle/manifest/scene66.json | 2 +- lab/public/bundle/manifest/scene91.json | 4 +- lab/public/bundle/manifest/scene94.json | 2 +- lab/public/bundle/manifest/scene95.json | 2 +- lab/public/bundle/manifest/scene98.json | 2 +- packages/babylon-lite/package.json | 2 +- pnpm-lock.yaml | 139 ++++++++++++++++------- 69 files changed, 180 insertions(+), 114 deletions(-) diff --git a/lab/lite/src/bjs/scene10.ts b/lab/lite/src/bjs/scene10.ts index 6216946f50..339f434e8e 100644 --- a/lab/lite/src/bjs/scene10.ts +++ b/lab/lite/src/bjs/scene10.ts @@ -5,7 +5,7 @@ import { PBRMetallicRoughnessMaterial } from "@babylonjs/core/Materials/PBR/pbrM import { Color3, Color4 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; -import "@babylonjs/core/Meshes/meshBuilder"; +import "@babylonjs/core/Meshes/Builders/sphereBuilder"; import { Scene } from "@babylonjs/core/scene"; (async function () { diff --git a/lab/lite/src/bjs/scene127.ts b/lab/lite/src/bjs/scene127.ts index 09facd1941..35322b5dce 100644 --- a/lab/lite/src/bjs/scene127.ts +++ b/lab/lite/src/bjs/scene127.ts @@ -17,6 +17,7 @@ import { Scene } from "@babylonjs/core/scene"; import { ImportMeshAsync } from "@babylonjs/core/Loading/sceneLoader"; import "@babylonjs/core/Rendering/depthRendererSceneComponent"; import "@babylonjs/loaders/SPLAT/splatFileLoader"; +import "@babylonjs/core/Materials/standardMaterial"; const SPLAT_URL = "https://raw.githubusercontent.com/CedricGuillemet/dump/master/Halo_Believe.splat"; diff --git a/lab/lite/src/bjs/scene128.ts b/lab/lite/src/bjs/scene128.ts index fc0e023477..aab7ff5a3a 100644 --- a/lab/lite/src/bjs/scene128.ts +++ b/lab/lite/src/bjs/scene128.ts @@ -15,6 +15,7 @@ import { Scene } from "@babylonjs/core/scene"; import { ImportMeshAsync } from "@babylonjs/core/Loading/sceneLoader"; import "@babylonjs/core/Rendering/depthRendererSceneComponent"; import "@babylonjs/loaders/SPLAT/splatFileLoader"; +import "@babylonjs/core/Materials/standardMaterial"; const SPLAT_URL = "https://raw.githubusercontent.com/CedricGuillemet/dump/master/Halo_Believe.splat"; diff --git a/lab/lite/src/bjs/scene129.ts b/lab/lite/src/bjs/scene129.ts index 14f471d35e..f92210fd6f 100644 --- a/lab/lite/src/bjs/scene129.ts +++ b/lab/lite/src/bjs/scene129.ts @@ -18,6 +18,7 @@ import { Scene } from "@babylonjs/core/scene"; import { ImportMeshAsync } from "@babylonjs/core/Loading/sceneLoader"; import { GPUPicker } from "@babylonjs/core/Collisions/gpuPicker"; import "@babylonjs/loaders/SPLAT/splatFileLoader"; +import "@babylonjs/core/Materials/standardMaterial"; const SPLAT_URL = "https://raw.githubusercontent.com/CedricGuillemet/dump/master/Halo_Believe.splat"; // Screen-centre coordinates pick the GS mesh in both BJS and Lite (the diff --git a/lab/lite/src/bjs/scene140.ts b/lab/lite/src/bjs/scene140.ts index c3b5b0f17b..3d2328f3f1 100644 --- a/lab/lite/src/bjs/scene140.ts +++ b/lab/lite/src/bjs/scene140.ts @@ -9,6 +9,7 @@ import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; import { Color4 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; +import "@babylonjs/core/Meshes/Builders/sphereBuilder"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; import { VertexBuffer } from "@babylonjs/core/Buffers/buffer"; import { Scene } from "@babylonjs/core/scene"; diff --git a/lab/lite/src/bjs/scene146.ts b/lab/lite/src/bjs/scene146.ts index 77ff507c14..89f8c5d4ec 100644 --- a/lab/lite/src/bjs/scene146.ts +++ b/lab/lite/src/bjs/scene146.ts @@ -16,7 +16,7 @@ import { ImageProcessingConfiguration } from "@babylonjs/core/Materials/imagePro import { Scene } from "@babylonjs/core/scene"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { FreeCamera } from "@babylonjs/core/Cameras/freeCamera"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; import { FrameGraph } from "@babylonjs/core/FrameGraph/frameGraph"; import { FrameGraphClearTextureTask } from "@babylonjs/core/FrameGraph/Tasks/Texture/clearTextureTask"; import { FrameGraphGeometryRendererTask } from "@babylonjs/core/FrameGraph/Tasks/Rendering/geometryRendererTask"; diff --git a/lab/lite/src/bjs/scene147.ts b/lab/lite/src/bjs/scene147.ts index 698093a042..9a97fe1146 100644 --- a/lab/lite/src/bjs/scene147.ts +++ b/lab/lite/src/bjs/scene147.ts @@ -16,7 +16,7 @@ import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight"; import type { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; import "@babylonjs/core/Helpers/sceneHelpers"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; import { FrameGraph } from "@babylonjs/core/FrameGraph/frameGraph"; import { FrameGraphClearTextureTask } from "@babylonjs/core/FrameGraph/Tasks/Texture/clearTextureTask"; import { FrameGraphGeometryRendererTask } from "@babylonjs/core/FrameGraph/Tasks/Rendering/geometryRendererTask"; diff --git a/lab/lite/src/bjs/scene148.ts b/lab/lite/src/bjs/scene148.ts index d9c616f5c1..1688fea4be 100644 --- a/lab/lite/src/bjs/scene148.ts +++ b/lab/lite/src/bjs/scene148.ts @@ -15,7 +15,7 @@ import { AppendSceneAsync } from "@babylonjs/core/Loading/sceneLoader"; import { Scene } from "@babylonjs/core/scene"; import type { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; import "@babylonjs/core/Helpers/sceneHelpers"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; import { FrameGraph } from "@babylonjs/core/FrameGraph/frameGraph"; import { FrameGraphClearTextureTask } from "@babylonjs/core/FrameGraph/Tasks/Texture/clearTextureTask"; import { FrameGraphGeometryRendererTask } from "@babylonjs/core/FrameGraph/Tasks/Rendering/geometryRendererTask"; diff --git a/lab/lite/src/bjs/scene149.ts b/lab/lite/src/bjs/scene149.ts index 3d6f850abe..22519f12e0 100644 --- a/lab/lite/src/bjs/scene149.ts +++ b/lab/lite/src/bjs/scene149.ts @@ -66,7 +66,7 @@ import { ShaderLanguage } from "@babylonjs/core/Materials/shaderLanguage"; import { MaterialHelperGeometryRendering } from "@babylonjs/core/Materials/materialHelper.geometryrendering"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import "@babylonjs/core/Helpers/sceneHelpers"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; import { FrameGraph } from "@babylonjs/core/FrameGraph/frameGraph"; import { FrameGraphClearTextureTask } from "@babylonjs/core/FrameGraph/Tasks/Texture/clearTextureTask"; import { FrameGraphGeometryRendererTask } from "@babylonjs/core/FrameGraph/Tasks/Rendering/geometryRendererTask"; diff --git a/lab/lite/src/bjs/scene171.ts b/lab/lite/src/bjs/scene171.ts index 78f0e09421..4a5c21f1c3 100644 --- a/lab/lite/src/bjs/scene171.ts +++ b/lab/lite/src/bjs/scene171.ts @@ -19,7 +19,7 @@ import { CreateNavigationPluginAsync } from "@babylonjs/addons/navigation/factor import * as RecastCore from "@recast-navigation/core"; import * as RecastGenerators from "@recast-navigation/generators"; import "@babylonjs/core/Loading/Plugins/babylonFileLoader"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; const NAV_MESH_URL = "/models/nav_test.glb"; diff --git a/lab/lite/src/bjs/scene174.ts b/lab/lite/src/bjs/scene174.ts index 7a4bc307a8..3202ec6df7 100644 --- a/lab/lite/src/bjs/scene174.ts +++ b/lab/lite/src/bjs/scene174.ts @@ -12,7 +12,7 @@ import { ImportMeshAsync } from "@babylonjs/core/Loading/sceneLoader"; import { CreateNavigationPluginAsync } from "@babylonjs/addons/navigation/factory/factory.single-thread"; import * as RecastCore from "@recast-navigation/core"; import * as RecastGenerators from "@recast-navigation/generators"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; const NAV_MESH_URL = "/models/nav_test.glb"; diff --git a/lab/lite/src/bjs/scene175.ts b/lab/lite/src/bjs/scene175.ts index 233c40088f..25b7827f12 100644 --- a/lab/lite/src/bjs/scene175.ts +++ b/lab/lite/src/bjs/scene175.ts @@ -12,7 +12,7 @@ import { ImportMeshAsync } from "@babylonjs/core/Loading/sceneLoader"; import { CreateNavigationPluginAsync } from "@babylonjs/addons/navigation/factory/factory.single-thread"; import * as RecastCore from "@recast-navigation/core"; import * as RecastGenerators from "@recast-navigation/generators"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; const NAV_MESH_URL = "/models/nav_test.glb"; const Y_OFFSET = 0.1; diff --git a/lab/lite/src/bjs/scene19.ts b/lab/lite/src/bjs/scene19.ts index 80475cc6d0..4f805fa46d 100644 --- a/lab/lite/src/bjs/scene19.ts +++ b/lab/lite/src/bjs/scene19.ts @@ -6,7 +6,7 @@ import { CubeTexture } from "@babylonjs/core/Materials/Textures/cubeTexture"; import { Color4 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; -import "@babylonjs/core/Meshes/meshBuilder"; +import "@babylonjs/core/Meshes/Builders/sphereBuilder"; import { Scene } from "@babylonjs/core/scene"; (async function () { diff --git a/lab/lite/src/bjs/scene23.ts b/lab/lite/src/bjs/scene23.ts index 7a60033757..90ada4584b 100644 --- a/lab/lite/src/bjs/scene23.ts +++ b/lab/lite/src/bjs/scene23.ts @@ -5,7 +5,7 @@ import { CubeTexture } from "@babylonjs/core/Materials/Textures/cubeTexture"; import { Color3 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; -import "@babylonjs/core/Meshes/meshBuilder"; +import "@babylonjs/core/Meshes/Builders/sphereBuilder"; import { Scene } from "@babylonjs/core/scene"; import "@babylonjs/core/Helpers/sceneHelpers"; diff --git a/lab/lite/src/bjs/scene24.ts b/lab/lite/src/bjs/scene24.ts index 27a4aad809..8e7022e17c 100644 --- a/lab/lite/src/bjs/scene24.ts +++ b/lab/lite/src/bjs/scene24.ts @@ -3,6 +3,8 @@ import "@babylonjs/core/Loading/loadingScreen"; import "@babylonjs/core/Loading/Plugins/babylonFileLoader"; import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader"; import { Scene } from "@babylonjs/core/scene"; +import "@babylonjs/core/Cameras/universalCamera"; +import "@babylonjs/core/Materials/standardMaterial"; import "@babylonjs/loaders"; (async function () { diff --git a/lab/lite/src/bjs/scene34.ts b/lab/lite/src/bjs/scene34.ts index 51d6f82776..14eeb3100f 100644 --- a/lab/lite/src/bjs/scene34.ts +++ b/lab/lite/src/bjs/scene34.ts @@ -5,6 +5,7 @@ import "@babylonjs/core/Loading/loadingScreen"; import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader"; import { Scene } from "@babylonjs/core/scene"; import "@babylonjs/loaders/glTF"; +import "@babylonjs/core/Meshes/instancedMesh"; (async function () { const __initStart = performance.now(); diff --git a/lab/lite/src/bjs/scene39.ts b/lab/lite/src/bjs/scene39.ts index bfbff2cee1..5f1d5e72af 100644 --- a/lab/lite/src/bjs/scene39.ts +++ b/lab/lite/src/bjs/scene39.ts @@ -6,6 +6,7 @@ import "@babylonjs/core/Loading/loadingScreen"; import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader"; import { Scene } from "@babylonjs/core/scene"; import "@babylonjs/loaders/glTF"; +import "@babylonjs/core/Meshes/instancedMesh"; (async function () { const __initStart = performance.now(); diff --git a/lab/lite/src/bjs/scene41.ts b/lab/lite/src/bjs/scene41.ts index 489e96793e..368da8c24f 100644 --- a/lab/lite/src/bjs/scene41.ts +++ b/lab/lite/src/bjs/scene41.ts @@ -26,7 +26,7 @@ import { PhysicsShapeSphere, } from "@babylonjs/core/Physics/v2/physicsShape"; import "@babylonjs/core/Physics/joinedPhysicsEngineComponent"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; const PHYSICS_FPS = 60; const ASSET_BASE = "https://playground.babylonjs.com/scenes/"; diff --git a/lab/lite/src/bjs/scene47.ts b/lab/lite/src/bjs/scene47.ts index 267ac8c8dd..2eec1ef655 100644 --- a/lab/lite/src/bjs/scene47.ts +++ b/lab/lite/src/bjs/scene47.ts @@ -34,7 +34,7 @@ import { import type { PhysicsShape } from "@babylonjs/core/Physics/v2/physicsShape"; import "@babylonjs/core/Physics/joinedPhysicsEngineComponent"; import "@babylonjs/core/Meshes/Builders/groundBuilder"; -import "@babylonjs/loaders/glTF/2.0"; +import "@babylonjs/loaders/glTF"; const PHYSICS_FPS = 60; const HEIGHTMAP_URL = "https://playground.babylonjs.com/textures/heightMap.png"; diff --git a/lab/lite/src/bjs/scene6.ts b/lab/lite/src/bjs/scene6.ts index e272a06ba0..411b0ca10b 100644 --- a/lab/lite/src/bjs/scene6.ts +++ b/lab/lite/src/bjs/scene6.ts @@ -6,6 +6,7 @@ import { CubeTexture } from "@babylonjs/core/Materials/Textures/cubeTexture"; import { Color3 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; +import "@babylonjs/core/Meshes/Builders/sphereBuilder"; import { Scene } from "@babylonjs/core/scene"; (async function () { diff --git a/lab/lite/src/bjs/scene66.ts b/lab/lite/src/bjs/scene66.ts index e72d698c5d..809db9c9a5 100644 --- a/lab/lite/src/bjs/scene66.ts +++ b/lab/lite/src/bjs/scene66.ts @@ -10,6 +10,7 @@ import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; import { Color4 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; +import "@babylonjs/core/Meshes/Builders/sphereBuilder"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; import { VertexBuffer } from "@babylonjs/core/Buffers/buffer"; import { Scene } from "@babylonjs/core/scene"; diff --git a/lab/lite/src/bjs/scene8.ts b/lab/lite/src/bjs/scene8.ts index ee2f0530ac..97229588ac 100644 --- a/lab/lite/src/bjs/scene8.ts +++ b/lab/lite/src/bjs/scene8.ts @@ -7,7 +7,8 @@ import { Texture } from "@babylonjs/core/Materials/Textures/texture"; import { Color3 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; -import "@babylonjs/core/Meshes/meshBuilder"; +import "@babylonjs/core/Meshes/Builders/boxBuilder"; +import "@babylonjs/core/Meshes/Builders/sphereBuilder"; import { Scene } from "@babylonjs/core/scene"; (async function () { diff --git a/lab/package.json b/lab/package.json index 9fe86ea460..aa92e51829 100644 --- a/lab/package.json +++ b/lab/package.json @@ -11,17 +11,17 @@ "babylon-lite": "workspace:*" }, "devDependencies": { - "@babylonjs/addons": "^9.5.0", - "@babylonjs/core": "^9.5.0", - "@babylonjs/havok": "^1.3.12", - "@babylonjs/loaders": "^9.5.0", - "@babylonjs/materials": "^9.5.0", + "@babylonjs/addons": "^9.15.0", + "@babylonjs/core": "^9.15.0", + "@babylonjs/havok": "^1.3.13", + "@babylonjs/loaders": "^9.15.0", + "@babylonjs/materials": "^9.15.0", "@recast-navigation/core": "0.43.0", "@recast-navigation/generators": "0.43.0", "@recast-navigation/wasm": "0.43.0", "@webgpu/types": "^0.1.52", - "babylonjs-gltf2interface": "^9.5.0", - "manifold-3d": "3.4.0", + "babylonjs-gltf2interface": "^9.15.0", + "manifold-3d": "3.5.1", "typescript": "^5.7.0", "vite": "^6.4.3" } diff --git a/lab/public/bundle/manifest/scene101.json b/lab/public/bundle/manifest/scene101.json index f02bd5269d..6c4dc09568 100644 --- a/lab/public/bundle/manifest/scene101.json +++ b/lab/public/bundle/manifest/scene101.json @@ -1,6 +1,6 @@ { "rawKB": 53.9, - "gzipKB": 21.6, + "gzipKB": 21.5, "ignoredRawKB": 0, "runtimeChunks": [ "scene101-standard-renderable-BAYncetB.js", diff --git a/lab/public/bundle/manifest/scene102.json b/lab/public/bundle/manifest/scene102.json index d565fc90b9..4f62fada30 100644 --- a/lab/public/bundle/manifest/scene102.json +++ b/lab/public/bundle/manifest/scene102.json @@ -1,6 +1,6 @@ { - "rawKB": 59.6, - "gzipKB": 23.8, + "rawKB": 59.5, + "gzipKB": 23.7, "ignoredRawKB": 0, "runtimeChunks": [ "scene102-standard-renderable-VJFYqVqL.js", diff --git a/lab/public/bundle/manifest/scene105.json b/lab/public/bundle/manifest/scene105.json index cb4321fa32..9399187ade 100644 --- a/lab/public/bundle/manifest/scene105.json +++ b/lab/public/bundle/manifest/scene105.json @@ -1,5 +1,5 @@ { - "rawKB": 102.7, + "rawKB": 102.6, "gzipKB": 39.7, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene106.json b/lab/public/bundle/manifest/scene106.json index e73388da37..310c30a002 100644 --- a/lab/public/bundle/manifest/scene106.json +++ b/lab/public/bundle/manifest/scene106.json @@ -1,5 +1,5 @@ { - "rawKB": 51.6, + "rawKB": 51.5, "gzipKB": 20.6, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene110.json b/lab/public/bundle/manifest/scene110.json index 485f6a40a2..6c7cc501e8 100644 --- a/lab/public/bundle/manifest/scene110.json +++ b/lab/public/bundle/manifest/scene110.json @@ -1,6 +1,6 @@ { - "rawKB": 50.9, - "gzipKB": 20, + "rawKB": 50.8, + "gzipKB": 19.9, "ignoredRawKB": 0, "runtimeChunks": [ "scene110-standard-renderable-D6cO9rrY.js", diff --git a/lab/public/bundle/manifest/scene113.json b/lab/public/bundle/manifest/scene113.json index 0ae3bdd27b..24d62211d9 100644 --- a/lab/public/bundle/manifest/scene113.json +++ b/lab/public/bundle/manifest/scene113.json @@ -1,5 +1,5 @@ { - "rawKB": 63.1, + "rawKB": 63, "gzipKB": 24.3, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene114.json b/lab/public/bundle/manifest/scene114.json index 7c3c05534d..e6f6b0aa81 100644 --- a/lab/public/bundle/manifest/scene114.json +++ b/lab/public/bundle/manifest/scene114.json @@ -1,5 +1,5 @@ { - "rawKB": 80.2, + "rawKB": 80.1, "gzipKB": 31.3, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene115.json b/lab/public/bundle/manifest/scene115.json index 378a6b2402..40dc157041 100644 --- a/lab/public/bundle/manifest/scene115.json +++ b/lab/public/bundle/manifest/scene115.json @@ -1,6 +1,6 @@ { "rawKB": 126.2, - "gzipKB": 51.9, + "gzipKB": 51.8, "ignoredRawKB": 0, "runtimeChunks": [ "scene115-create-morph-targets-BxcR5t59.js", diff --git a/lab/public/bundle/manifest/scene128.json b/lab/public/bundle/manifest/scene128.json index c7d277f088..73146df316 100644 --- a/lab/public/bundle/manifest/scene128.json +++ b/lab/public/bundle/manifest/scene128.json @@ -1,5 +1,5 @@ { - "rawKB": 58.3, + "rawKB": 58.2, "gzipKB": 22.1, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene142.json b/lab/public/bundle/manifest/scene142.json index 0411fb24c4..814509bb6e 100644 --- a/lab/public/bundle/manifest/scene142.json +++ b/lab/public/bundle/manifest/scene142.json @@ -1,5 +1,5 @@ { - "rawKB": 61.2, + "rawKB": 61.1, "gzipKB": 22.9, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene150.json b/lab/public/bundle/manifest/scene150.json index 4a77a04f03..c5d3bf2888 100644 --- a/lab/public/bundle/manifest/scene150.json +++ b/lab/public/bundle/manifest/scene150.json @@ -1,5 +1,5 @@ { - "rawKB": 55.3, + "rawKB": 55.2, "gzipKB": 21.7, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene151.json b/lab/public/bundle/manifest/scene151.json index 9a636e72f0..d7ea5e7fb5 100644 --- a/lab/public/bundle/manifest/scene151.json +++ b/lab/public/bundle/manifest/scene151.json @@ -1,5 +1,5 @@ { - "rawKB": 55.6, + "rawKB": 55.5, "gzipKB": 21.7, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene155.json b/lab/public/bundle/manifest/scene155.json index b57fef4aa3..cfcceca5cd 100644 --- a/lab/public/bundle/manifest/scene155.json +++ b/lab/public/bundle/manifest/scene155.json @@ -1,5 +1,5 @@ { - "rawKB": 58.2, + "rawKB": 58.1, "gzipKB": 22.6, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene170.json b/lab/public/bundle/manifest/scene170.json index 8da43fbd7e..f6ed702490 100644 --- a/lab/public/bundle/manifest/scene170.json +++ b/lab/public/bundle/manifest/scene170.json @@ -1,5 +1,5 @@ { - "rawKB": 51.6, + "rawKB": 51.5, "gzipKB": 20.4, "ignoredRawKB": 1485.2, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene172.json b/lab/public/bundle/manifest/scene172.json index d730a5fe11..b545481af6 100644 --- a/lab/public/bundle/manifest/scene172.json +++ b/lab/public/bundle/manifest/scene172.json @@ -1,5 +1,5 @@ { - "rawKB": 60, + "rawKB": 59.9, "gzipKB": 23.5, "ignoredRawKB": 1485.2, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene174.json b/lab/public/bundle/manifest/scene174.json index d4936b7622..26940d1569 100644 --- a/lab/public/bundle/manifest/scene174.json +++ b/lab/public/bundle/manifest/scene174.json @@ -1,5 +1,5 @@ { - "rawKB": 97.1, + "rawKB": 97, "gzipKB": 39.6, "ignoredRawKB": 1485.2, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene177.json b/lab/public/bundle/manifest/scene177.json index 2c070c4b50..cd2d0f69d9 100644 --- a/lab/public/bundle/manifest/scene177.json +++ b/lab/public/bundle/manifest/scene177.json @@ -1,5 +1,5 @@ { - "rawKB": 69.7, + "rawKB": 69.6, "gzipKB": 28.3, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene178.json b/lab/public/bundle/manifest/scene178.json index 90e6ae3d5f..f6cdc41cea 100644 --- a/lab/public/bundle/manifest/scene178.json +++ b/lab/public/bundle/manifest/scene178.json @@ -1,5 +1,5 @@ { - "rawKB": 87.9, + "rawKB": 87.8, "gzipKB": 35.7, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene18.json b/lab/public/bundle/manifest/scene18.json index 00356219c0..c688573be6 100644 --- a/lab/public/bundle/manifest/scene18.json +++ b/lab/public/bundle/manifest/scene18.json @@ -1,5 +1,5 @@ { - "rawKB": 60.8, + "rawKB": 60.7, "gzipKB": 24.4, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene201.json b/lab/public/bundle/manifest/scene201.json index f7dd154dbc..c6dd2dffa7 100644 --- a/lab/public/bundle/manifest/scene201.json +++ b/lab/public/bundle/manifest/scene201.json @@ -1,5 +1,5 @@ { - "rawKB": 48.7, + "rawKB": 48.6, "gzipKB": 19.8, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene202.json b/lab/public/bundle/manifest/scene202.json index b0a463f577..c1ad638bb6 100644 --- a/lab/public/bundle/manifest/scene202.json +++ b/lab/public/bundle/manifest/scene202.json @@ -1,6 +1,6 @@ { - "rawKB": 49.4, - "gzipKB": 20.1, + "rawKB": 49.3, + "gzipKB": 20, "ignoredRawKB": 0, "runtimeChunks": [ "scene202-_mat4-storage-f64-Cxw5KwUZ.js", diff --git a/lab/public/bundle/manifest/scene203.json b/lab/public/bundle/manifest/scene203.json index b396da646c..18030b03ed 100644 --- a/lab/public/bundle/manifest/scene203.json +++ b/lab/public/bundle/manifest/scene203.json @@ -1,5 +1,5 @@ { - "rawKB": 49.7, + "rawKB": 49.6, "gzipKB": 20.2, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene205.json b/lab/public/bundle/manifest/scene205.json index 8507031d65..5d90d2640d 100644 --- a/lab/public/bundle/manifest/scene205.json +++ b/lab/public/bundle/manifest/scene205.json @@ -1,5 +1,5 @@ { - "rawKB": 62, + "rawKB": 61.9, "gzipKB": 25.5, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene212.json b/lab/public/bundle/manifest/scene212.json index 6cdae517dc..2cf4567b37 100644 --- a/lab/public/bundle/manifest/scene212.json +++ b/lab/public/bundle/manifest/scene212.json @@ -1,6 +1,6 @@ { - "rawKB": 104.4, - "gzipKB": 41.8, + "rawKB": 104.3, + "gzipKB": 41.7, "ignoredRawKB": 0, "runtimeChunks": [ "scene212-generate-mipmaps-BA4GCk3y.js", diff --git a/lab/public/bundle/manifest/scene213.json b/lab/public/bundle/manifest/scene213.json index b793943159..0150c303ed 100644 --- a/lab/public/bundle/manifest/scene213.json +++ b/lab/public/bundle/manifest/scene213.json @@ -1,5 +1,5 @@ { - "rawKB": 46.1, + "rawKB": 46, "gzipKB": 17.5, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene216.json b/lab/public/bundle/manifest/scene216.json index 82d805b04d..b64579333f 100644 --- a/lab/public/bundle/manifest/scene216.json +++ b/lab/public/bundle/manifest/scene216.json @@ -1,6 +1,6 @@ { - "rawKB": 53.8, - "gzipKB": 22.1, + "rawKB": 53.7, + "gzipKB": 22, "ignoredRawKB": 0, "runtimeChunks": [ "scene216-pbr-fog-wgsl-BuLKZvgv.js", diff --git a/lab/public/bundle/manifest/scene221.json b/lab/public/bundle/manifest/scene221.json index 706a06ec85..8c9a710a49 100644 --- a/lab/public/bundle/manifest/scene221.json +++ b/lab/public/bundle/manifest/scene221.json @@ -1,5 +1,5 @@ { - "rawKB": 100.9, + "rawKB": 100.8, "gzipKB": 38.1, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene223.json b/lab/public/bundle/manifest/scene223.json index 7b1c030c3f..71086bfc6b 100644 --- a/lab/public/bundle/manifest/scene223.json +++ b/lab/public/bundle/manifest/scene223.json @@ -1,6 +1,6 @@ { "rawKB": 64, - "gzipKB": 24.4, + "gzipKB": 24.3, "ignoredRawKB": 0, "runtimeChunks": [ "scene223-standard-renderable-DnE_HU3_.js", diff --git a/lab/public/bundle/manifest/scene224.json b/lab/public/bundle/manifest/scene224.json index a3c76247e5..8180053ef3 100644 --- a/lab/public/bundle/manifest/scene224.json +++ b/lab/public/bundle/manifest/scene224.json @@ -1,5 +1,5 @@ { - "rawKB": 82, + "rawKB": 81.9, "gzipKB": 30.5, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene225.json b/lab/public/bundle/manifest/scene225.json index 80446a22ed..11153c4a14 100644 --- a/lab/public/bundle/manifest/scene225.json +++ b/lab/public/bundle/manifest/scene225.json @@ -1,5 +1,5 @@ { - "rawKB": 58.3, + "rawKB": 58.2, "gzipKB": 23.4, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene3.json b/lab/public/bundle/manifest/scene3.json index 6b528a415d..1b87f1ded6 100644 --- a/lab/public/bundle/manifest/scene3.json +++ b/lab/public/bundle/manifest/scene3.json @@ -1,5 +1,5 @@ { - "rawKB": 54, + "rawKB": 53.9, "gzipKB": 21.6, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene36.json b/lab/public/bundle/manifest/scene36.json index 3df6a3db6c..b9b8234277 100644 --- a/lab/public/bundle/manifest/scene36.json +++ b/lab/public/bundle/manifest/scene36.json @@ -1,5 +1,5 @@ { - "rawKB": 51.7, + "rawKB": 51.6, "gzipKB": 20.4, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene45.json b/lab/public/bundle/manifest/scene45.json index e2f647f67f..0d4c40f367 100644 --- a/lab/public/bundle/manifest/scene45.json +++ b/lab/public/bundle/manifest/scene45.json @@ -1,5 +1,5 @@ { - "rawKB": 51.6, + "rawKB": 51.5, "gzipKB": 20.5, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene46.json b/lab/public/bundle/manifest/scene46.json index e89993fc03..36e8b71fbe 100644 --- a/lab/public/bundle/manifest/scene46.json +++ b/lab/public/bundle/manifest/scene46.json @@ -1,5 +1,5 @@ { - "rawKB": 54.6, + "rawKB": 54.5, "gzipKB": 21.4, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene49.json b/lab/public/bundle/manifest/scene49.json index 13406f2f3d..bc1c7e7dea 100644 --- a/lab/public/bundle/manifest/scene49.json +++ b/lab/public/bundle/manifest/scene49.json @@ -1,6 +1,6 @@ { - "rawKB": 92.9, - "gzipKB": 35, + "rawKB": 93, + "gzipKB": 35.1, "ignoredRawKB": 0, "runtimeChunks": [ "scene49-standard-renderable-ytL-ZaT7.js", diff --git a/lab/public/bundle/manifest/scene53.json b/lab/public/bundle/manifest/scene53.json index 2362aab3ae..5863ed4100 100644 --- a/lab/public/bundle/manifest/scene53.json +++ b/lab/public/bundle/manifest/scene53.json @@ -1,5 +1,5 @@ { - "rawKB": 57.6, + "rawKB": 57.5, "gzipKB": 23, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene54.json b/lab/public/bundle/manifest/scene54.json index e058163647..34d051ce02 100644 --- a/lab/public/bundle/manifest/scene54.json +++ b/lab/public/bundle/manifest/scene54.json @@ -1,5 +1,5 @@ { - "rawKB": 60, + "rawKB": 59.9, "gzipKB": 24.4, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene57.json b/lab/public/bundle/manifest/scene57.json index aad25185e7..5475c334ba 100644 --- a/lab/public/bundle/manifest/scene57.json +++ b/lab/public/bundle/manifest/scene57.json @@ -1,5 +1,5 @@ { - "rawKB": 60.1, + "rawKB": 60, "gzipKB": 24.3, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene59.json b/lab/public/bundle/manifest/scene59.json index 8cae7b5a59..87f49781c6 100644 --- a/lab/public/bundle/manifest/scene59.json +++ b/lab/public/bundle/manifest/scene59.json @@ -1,5 +1,5 @@ { - "rawKB": 63.2, + "rawKB": 63.1, "gzipKB": 25.4, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene66.json b/lab/public/bundle/manifest/scene66.json index 37a739d61f..0cbcf0ebf1 100644 --- a/lab/public/bundle/manifest/scene66.json +++ b/lab/public/bundle/manifest/scene66.json @@ -1,5 +1,5 @@ { - "rawKB": 89, + "rawKB": 88.9, "gzipKB": 41, "ignoredRawKB": 5.5, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene91.json b/lab/public/bundle/manifest/scene91.json index c130b0491b..97136747a0 100644 --- a/lab/public/bundle/manifest/scene91.json +++ b/lab/public/bundle/manifest/scene91.json @@ -1,10 +1,10 @@ { "rawKB": 58.4, "gzipKB": 23.4, - "ignoredRawKB": 1227.9, + "ignoredRawKB": 1451.1, "runtimeChunks": [ "scene91-generate-mipmaps-CUt8_7AA.js", - "scene91-manifold-DtI3BJoR-BxUkvd-s.js", + "scene91-manifold-C2NWAcxM-CgxmBSpa.js", "scene91-standard-renderable-W_9EGLT4.js", "scene91-wgsl-helpers-CwHFFXvt.js", "scene91.js" diff --git a/lab/public/bundle/manifest/scene94.json b/lab/public/bundle/manifest/scene94.json index a4920601dd..f495ebe056 100644 --- a/lab/public/bundle/manifest/scene94.json +++ b/lab/public/bundle/manifest/scene94.json @@ -1,5 +1,5 @@ { - "rawKB": 63.9, + "rawKB": 63.8, "gzipKB": 25.3, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene95.json b/lab/public/bundle/manifest/scene95.json index 73867ec8b4..cc1e7fd2d4 100644 --- a/lab/public/bundle/manifest/scene95.json +++ b/lab/public/bundle/manifest/scene95.json @@ -1,5 +1,5 @@ { - "rawKB": 65, + "rawKB": 64.9, "gzipKB": 25.6, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene98.json b/lab/public/bundle/manifest/scene98.json index 23344f6db8..cfc55ac6ff 100644 --- a/lab/public/bundle/manifest/scene98.json +++ b/lab/public/bundle/manifest/scene98.json @@ -1,5 +1,5 @@ { - "rawKB": 60.3, + "rawKB": 60.2, "gzipKB": 24.4, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/packages/babylon-lite/package.json b/packages/babylon-lite/package.json index b9324fe458..2b9e53877b 100644 --- a/packages/babylon-lite/package.json +++ b/packages/babylon-lite/package.json @@ -56,7 +56,7 @@ "@recast-navigation/core": "0.43.0", "@recast-navigation/generators": "0.43.0", "@recast-navigation/wasm": "0.43.0", - "manifold-3d": "3.4.0", + "manifold-3d": "3.5.1", "text-shaper": "^0.1.18" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cbc18c7de7..39cbb34d1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -116,20 +116,20 @@ importers: version: link:../packages/babylon-lite devDependencies: '@babylonjs/addons': - specifier: ^9.5.0 - version: 9.8.0(@babylonjs/core@9.5.0) + specifier: ^9.15.0 + version: 9.15.0(@babylonjs/core@9.15.0) '@babylonjs/core': - specifier: ^9.5.0 - version: 9.5.0 + specifier: ^9.15.0 + version: 9.15.0 '@babylonjs/havok': - specifier: ^1.3.12 - version: 1.3.12 + specifier: ^1.3.13 + version: 1.3.13 '@babylonjs/loaders': - specifier: ^9.5.0 - version: 9.5.0(@babylonjs/core@9.5.0)(babylonjs-gltf2interface@9.5.0) + specifier: ^9.15.0 + version: 9.15.0(@babylonjs/core@9.15.0)(babylonjs-gltf2interface@9.15.0) '@babylonjs/materials': - specifier: ^9.5.0 - version: 9.10.1(@babylonjs/core@9.5.0) + specifier: ^9.15.0 + version: 9.15.0(@babylonjs/core@9.15.0) '@recast-navigation/core': specifier: 0.43.0 version: 0.43.0 @@ -143,11 +143,11 @@ importers: specifier: ^0.1.52 version: 0.1.69 babylonjs-gltf2interface: - specifier: ^9.5.0 - version: 9.5.0 + specifier: ^9.15.0 + version: 9.15.0 manifold-3d: - specifier: 3.4.0 - version: 3.4.0(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7) + specifier: 3.5.1 + version: 3.5.1(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7) typescript: specifier: ^5.7.0 version: 5.9.3 @@ -167,8 +167,8 @@ importers: specifier: 0.43.0 version: 0.43.0 manifold-3d: - specifier: 3.4.0 - version: 3.4.0(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7) + specifier: 3.5.1 + version: 3.5.1(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7) text-shaper: specifier: ^0.1.18 version: 0.1.22(typescript@5.9.3) @@ -374,25 +374,25 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@babylonjs/addons@9.8.0': - resolution: {integrity: sha512-aJ2l/VjQnExM4adGLblGjU/6UNOFIVGJ/AZy358ZDsPeQmxaIDgIeziCawuG3isaE7JMvH0pJNOd5Cvns02KXg==} + '@babylonjs/addons@9.15.0': + resolution: {integrity: sha512-mxyLq+cA68ybKFTRRevwzdxjJx/W2vwQ4UDDwUTRk+vFviGlUmfJ4Ik4Ipzx8/Zrf/tkCO6s7NfmyBt9SeAkgQ==} peerDependencies: '@babylonjs/core': ^9.0.0 - '@babylonjs/core@9.5.0': - resolution: {integrity: sha512-DTqkOTueTp/xSw/VTVzrxLpBWjamVIKXbAbgqDHRR/V3Am5F5LRGscaWjWgPc5INv7HD2zTln/lyWdm47KQkgQ==} + '@babylonjs/core@9.15.0': + resolution: {integrity: sha512-HoLq2evNXQNqJFDIC3gngDGlEgQd/mmpbwwaKMJ0zW13tMc5jSf4Qxc4oUaBKdKMGHrJ8ylTObr36mdUFvLhfw==} - '@babylonjs/havok@1.3.12': - resolution: {integrity: sha512-KR5Z7DBkVEgdvHLMDh2VWe/nHvUG8+MdLBiAE0iM19KIHAPqPRVITPAZKx4SQusK5nqm4ZXDcKv5OYtViIxLzA==} + '@babylonjs/havok@1.3.13': + resolution: {integrity: sha512-DDrPHbNdeanogdE261r4sfgKgtZb11ccaDjNEbhEcrcWz1XgYHTIJzz5QwO+J4XhOQJLXfn9Lv20cI2REIZiwg==} - '@babylonjs/loaders@9.5.0': - resolution: {integrity: sha512-e2PqqPQ2A6xCJ6yW2NtcCzCKfN7neJjpxCUWBXqVUc268QnC1DNV49PM6bVpzNzTqzYjapMR9u5apcvAWo2iYQ==} + '@babylonjs/loaders@9.15.0': + resolution: {integrity: sha512-h6VyrkEzt9BRIjwzvADAHKaW7CAgNgkvaf52wEWqeaSMBRTtgVgVYBM96wB4TTl5inhxwkuWZD9U5FRRYPVfww==} peerDependencies: '@babylonjs/core': ^9.0.0 babylonjs-gltf2interface: ^9.0.0 - '@babylonjs/materials@9.10.1': - resolution: {integrity: sha512-L6/k2liWZCgU5EmAEPc59EUpFDLumtWSBm9tHVubuXOr0JdTNR+Ot+hyk1uNHBI15ydOXexBletFbAlLnNuQOw==} + '@babylonjs/materials@9.15.0': + resolution: {integrity: sha512-6duHJUVqZXATkNJlOAG7XELdyZlrhBSiVJ9C7NjbMP+BchrweB+OYBnNe2u9tAgwDM3PwJoYbplPxCJmxbDE2g==} peerDependencies: '@babylonjs/core': ^9.0.0 @@ -1013,6 +1013,9 @@ packages: '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} + '@nodable/entities@2.2.0': + resolution: {integrity: sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg==} + '@open-draft/until@1.0.3': resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} @@ -1670,6 +1673,9 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + anynum@1.0.1: + resolution: {integrity: sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==} + archiver-utils@5.0.2: resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} engines: {node: '>= 14'} @@ -1710,8 +1716,8 @@ packages: react-native-b4a: optional: true - babylonjs-gltf2interface@9.5.0: - resolution: {integrity: sha512-kgq1xWYZSqIyZ+qTG9deXAnVjiDg3wMZHXm4zqzcFZclSmJDV2ACGMEh5C5Styzg59VS5XeukdYGjmBcJmCebA==} + babylonjs-gltf2interface@9.15.0: + resolution: {integrity: sha512-Yr/WvOvnsZFN2LoyNU/ZZbT+lXMdNA9OiZzE4RibI1tnYxQjpPKT6X1cxQ/ACJPVzKwudxzJxQ/f/Tdba4TLDg==} balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} @@ -2328,6 +2334,13 @@ packages: fast-uri@4.0.0: resolution: {integrity: sha512-l90y339r2DkZs/ldcWQXcwTjkbp/NbuJDGYoQ3awBgaT3GXOFkm3OkVpz6Z86TywYcya0eVP2r1kTV90f3krGQ==} + fast-xml-builder@1.2.1: + resolution: {integrity: sha512-tPb5TTWfgfVx5BNSi2xV0eLr89POeXXn0dXIsCJ9m1narrWxeIyx6je9d7Rce/3NyXLbvuQmLkxq+RuxMWejvw==} + + fast-xml-parser@5.9.3: + resolution: {integrity: sha512-brCNCeScma/kqa54J4PIDriSSSLssRkuYaUCpvHJulGc3HGI/xxKUCTDcYkAdqJsyb//ydpbxecjC3hB9+tb/g==} + hasBin: true + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -2717,6 +2730,9 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-unsafe@1.0.1: + resolution: {integrity: sha512-CLK2+VdgERgD96EYm5lUQssZYlRg2tkZnbsxZoacmSiRxiFJ4Nk4SzjCl+Ur+v3kXIY9dTIdb3IH22y1mZ56LA==} + is-wsl@3.1.1: resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} @@ -2873,9 +2889,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - manifold-3d@3.4.0: - resolution: {integrity: sha512-GD5PrrJRG8YTfELvxWl00YYHdlpk+qUEkJ7weYrGUKwoUHQ7CfXSz0aWM4Obw6iIh7PnQIz6+QCMXmEX9n6Uhg==} - deprecated: published content was not up to date + manifold-3d@3.5.1: + resolution: {integrity: sha512-/+m6kxYMMhnPutcQ5oSmFJiJ+gyP/0fmuUCb9Qeaunvecm/bfqogKYDDJarsnWiFioSMtKheF+lGmSlnYCik9g==} hasBin: true peerDependencies: '@gltf-transform/core': ^4.2.0 @@ -3182,6 +3197,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-expression-matcher@1.6.1: + resolution: {integrity: sha512-h7bxdzhHk8Knyc4Tj+jMaa7fEEoUJy7p1qtbVgkYg1Uhpe5Np5VuGXCRZnkZvU+Q42M1vStt0ifa3ueykRJPmQ==} + engines: {node: '>=14.0.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3570,6 +3589,9 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + strnum@2.4.1: + resolution: {integrity: sha512-M9eUSMT2dCB2cTNPG7UYj6KuK7RJR2SN2+yCV/fTW3xzTCS6EaGZ5pSMgDIjB7r8zSfTGk+dvvn9rTjpVS9Mwg==} + stubs@3.0.0: resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==} @@ -3945,6 +3967,10 @@ packages: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} + xml-naming@0.1.0: + resolution: {integrity: sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==} + engines: {node: '>=16.0.0'} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -4231,24 +4257,24 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babylonjs/addons@9.8.0(@babylonjs/core@9.5.0)': + '@babylonjs/addons@9.15.0(@babylonjs/core@9.15.0)': dependencies: - '@babylonjs/core': 9.5.0 + '@babylonjs/core': 9.15.0 - '@babylonjs/core@9.5.0': {} + '@babylonjs/core@9.15.0': {} - '@babylonjs/havok@1.3.12': + '@babylonjs/havok@1.3.13': dependencies: '@types/emscripten': 1.41.5 - '@babylonjs/loaders@9.5.0(@babylonjs/core@9.5.0)(babylonjs-gltf2interface@9.5.0)': + '@babylonjs/loaders@9.15.0(@babylonjs/core@9.15.0)(babylonjs-gltf2interface@9.15.0)': dependencies: - '@babylonjs/core': 9.5.0 - babylonjs-gltf2interface: 9.5.0 + '@babylonjs/core': 9.15.0 + babylonjs-gltf2interface: 9.15.0 - '@babylonjs/materials@9.10.1(@babylonjs/core@9.5.0)': + '@babylonjs/materials@9.15.0(@babylonjs/core@9.15.0)': dependencies: - '@babylonjs/core': 9.5.0 + '@babylonjs/core': 9.15.0 '@colors/colors@1.6.0': {} @@ -4739,6 +4765,8 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} + '@nodable/entities@2.2.0': {} + '@open-draft/until@1.0.3': {} '@percy/appium-app@2.1.0': @@ -5461,6 +5489,8 @@ snapshots: ansi-styles@6.2.3: {} + anynum@1.0.1: {} + archiver-utils@5.0.2: dependencies: glob: 10.5.0 @@ -5505,7 +5535,7 @@ snapshots: b4a@1.8.0: {} - babylonjs-gltf2interface@9.5.0: {} + babylonjs-gltf2interface@9.15.0: {} balanced-match@4.0.4: {} @@ -6219,6 +6249,20 @@ snapshots: fast-uri@4.0.0: {} + fast-xml-builder@1.2.1: + dependencies: + path-expression-matcher: 1.6.1 + xml-naming: 0.1.0 + + fast-xml-parser@5.9.3: + dependencies: + '@nodable/entities': 2.2.0 + fast-xml-builder: 1.2.1 + is-unsafe: 1.0.1 + path-expression-matcher: 1.6.1 + strnum: 2.4.1 + xml-naming: 0.1.0 + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: picomatch: 4.0.4 @@ -6659,6 +6703,8 @@ snapshots: is-typedarray@1.0.0: {} + is-unsafe@1.0.1: {} + is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 @@ -6815,7 +6861,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - manifold-3d@3.4.0(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7): + manifold-3d@3.5.1(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7): dependencies: '@gltf-transform/core': 4.3.0 '@gltf-transform/extensions': 4.3.0 @@ -6826,6 +6872,7 @@ snapshots: commander: 13.1.0 convert-source-map: 2.0.0 esbuild-wasm: 0.27.7 + fast-xml-parser: 5.9.3 fflate: 0.8.2 magic-string: 0.30.21 @@ -7089,6 +7136,8 @@ snapshots: path-exists@4.0.0: {} + path-expression-matcher@1.6.1: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -7530,6 +7579,10 @@ snapshots: strip-json-comments@2.0.1: {} + strnum@2.4.1: + dependencies: + anynum: 1.0.1 + stubs@3.0.0: {} supports-color@7.2.0: @@ -7928,6 +7981,8 @@ snapshots: xdg-basedir@5.1.0: {} + xml-naming@0.1.0: {} + y18n@5.0.8: {} yaml@2.9.0: {} From b9152cbc1c6a5c3f4e2c2f31e92ddeb3b8d2d60b Mon Sep 17 00:00:00 2001 From: Raanan Weber Date: Thu, 9 Jul 2026 14:28:06 +0200 Subject: [PATCH 2/6] chore(deps): bump @babylonjs reference packages 9.15.0 -> 9.16.0 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> --- lab/package.json | 10 ++++----- pnpm-lock.yaml | 58 ++++++++++++++++++++++++------------------------ 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/lab/package.json b/lab/package.json index aa92e51829..e83a6cee11 100644 --- a/lab/package.json +++ b/lab/package.json @@ -11,16 +11,16 @@ "babylon-lite": "workspace:*" }, "devDependencies": { - "@babylonjs/addons": "^9.15.0", - "@babylonjs/core": "^9.15.0", + "@babylonjs/addons": "^9.16.0", + "@babylonjs/core": "^9.16.0", "@babylonjs/havok": "^1.3.13", - "@babylonjs/loaders": "^9.15.0", - "@babylonjs/materials": "^9.15.0", + "@babylonjs/loaders": "^9.16.0", + "@babylonjs/materials": "^9.16.0", "@recast-navigation/core": "0.43.0", "@recast-navigation/generators": "0.43.0", "@recast-navigation/wasm": "0.43.0", "@webgpu/types": "^0.1.52", - "babylonjs-gltf2interface": "^9.15.0", + "babylonjs-gltf2interface": "^9.16.0", "manifold-3d": "3.5.1", "typescript": "^5.7.0", "vite": "^6.4.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 39cbb34d1a..9ddc0674ba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -116,20 +116,20 @@ importers: version: link:../packages/babylon-lite devDependencies: '@babylonjs/addons': - specifier: ^9.15.0 - version: 9.15.0(@babylonjs/core@9.15.0) + specifier: ^9.16.0 + version: 9.16.0(@babylonjs/core@9.16.0) '@babylonjs/core': - specifier: ^9.15.0 - version: 9.15.0 + specifier: ^9.16.0 + version: 9.16.0 '@babylonjs/havok': specifier: ^1.3.13 version: 1.3.13 '@babylonjs/loaders': - specifier: ^9.15.0 - version: 9.15.0(@babylonjs/core@9.15.0)(babylonjs-gltf2interface@9.15.0) + specifier: ^9.16.0 + version: 9.16.0(@babylonjs/core@9.16.0)(babylonjs-gltf2interface@9.16.0) '@babylonjs/materials': - specifier: ^9.15.0 - version: 9.15.0(@babylonjs/core@9.15.0) + specifier: ^9.16.0 + version: 9.16.0(@babylonjs/core@9.16.0) '@recast-navigation/core': specifier: 0.43.0 version: 0.43.0 @@ -143,8 +143,8 @@ importers: specifier: ^0.1.52 version: 0.1.69 babylonjs-gltf2interface: - specifier: ^9.15.0 - version: 9.15.0 + specifier: ^9.16.0 + version: 9.16.0 manifold-3d: specifier: 3.5.1 version: 3.5.1(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7) @@ -374,25 +374,25 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@babylonjs/addons@9.15.0': - resolution: {integrity: sha512-mxyLq+cA68ybKFTRRevwzdxjJx/W2vwQ4UDDwUTRk+vFviGlUmfJ4Ik4Ipzx8/Zrf/tkCO6s7NfmyBt9SeAkgQ==} + '@babylonjs/addons@9.16.0': + resolution: {integrity: sha512-/j36oTKIJWfBHXtfIBsErpbotq3zdbcZ2kPx+qb7vHPWnoKy7j6E25Rhuj94C036KiSxSrbdksFRewiPPwwG9A==} peerDependencies: '@babylonjs/core': ^9.0.0 - '@babylonjs/core@9.15.0': - resolution: {integrity: sha512-HoLq2evNXQNqJFDIC3gngDGlEgQd/mmpbwwaKMJ0zW13tMc5jSf4Qxc4oUaBKdKMGHrJ8ylTObr36mdUFvLhfw==} + '@babylonjs/core@9.16.0': + resolution: {integrity: sha512-bvNBUxx5NIpBGQ51zxqWiAPQCMwdmUQ1bPI+q2LBPwWN0GPiytjE30aI3rbtXp9isAXQozR8SjUyDuJ2sJxrHg==} '@babylonjs/havok@1.3.13': resolution: {integrity: sha512-DDrPHbNdeanogdE261r4sfgKgtZb11ccaDjNEbhEcrcWz1XgYHTIJzz5QwO+J4XhOQJLXfn9Lv20cI2REIZiwg==} - '@babylonjs/loaders@9.15.0': - resolution: {integrity: sha512-h6VyrkEzt9BRIjwzvADAHKaW7CAgNgkvaf52wEWqeaSMBRTtgVgVYBM96wB4TTl5inhxwkuWZD9U5FRRYPVfww==} + '@babylonjs/loaders@9.16.0': + resolution: {integrity: sha512-v8olguqWibf2UNolKP1F6CpXr0zofBSgi14IUGsv36rfQUJH81HYnbmVC6Dagy3njlDZJFWOS0nCU4twnMPZFg==} peerDependencies: '@babylonjs/core': ^9.0.0 babylonjs-gltf2interface: ^9.0.0 - '@babylonjs/materials@9.15.0': - resolution: {integrity: sha512-6duHJUVqZXATkNJlOAG7XELdyZlrhBSiVJ9C7NjbMP+BchrweB+OYBnNe2u9tAgwDM3PwJoYbplPxCJmxbDE2g==} + '@babylonjs/materials@9.16.0': + resolution: {integrity: sha512-jxDdVWUVLIyMLg2+s8B6HQDbjavrfIAQ5k8BakoEfxjEfsUFIa6vNWq69DTjmn/2poDgTMdyinHgECN7kc+Zng==} peerDependencies: '@babylonjs/core': ^9.0.0 @@ -1716,8 +1716,8 @@ packages: react-native-b4a: optional: true - babylonjs-gltf2interface@9.15.0: - resolution: {integrity: sha512-Yr/WvOvnsZFN2LoyNU/ZZbT+lXMdNA9OiZzE4RibI1tnYxQjpPKT6X1cxQ/ACJPVzKwudxzJxQ/f/Tdba4TLDg==} + babylonjs-gltf2interface@9.16.0: + resolution: {integrity: sha512-k0bhQF+tWWcNx79lAZ5FztHmhpUDpEaXKPZnKU8eBxKkoalad8/xq+Os4wIsgJpCYlmkD0WRMduS5X+b6C3kqA==} balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} @@ -4257,24 +4257,24 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babylonjs/addons@9.15.0(@babylonjs/core@9.15.0)': + '@babylonjs/addons@9.16.0(@babylonjs/core@9.16.0)': dependencies: - '@babylonjs/core': 9.15.0 + '@babylonjs/core': 9.16.0 - '@babylonjs/core@9.15.0': {} + '@babylonjs/core@9.16.0': {} '@babylonjs/havok@1.3.13': dependencies: '@types/emscripten': 1.41.5 - '@babylonjs/loaders@9.15.0(@babylonjs/core@9.15.0)(babylonjs-gltf2interface@9.15.0)': + '@babylonjs/loaders@9.16.0(@babylonjs/core@9.16.0)(babylonjs-gltf2interface@9.16.0)': dependencies: - '@babylonjs/core': 9.15.0 - babylonjs-gltf2interface: 9.15.0 + '@babylonjs/core': 9.16.0 + babylonjs-gltf2interface: 9.16.0 - '@babylonjs/materials@9.15.0(@babylonjs/core@9.15.0)': + '@babylonjs/materials@9.16.0(@babylonjs/core@9.16.0)': dependencies: - '@babylonjs/core': 9.15.0 + '@babylonjs/core': 9.16.0 '@colors/colors@1.6.0': {} @@ -5535,7 +5535,7 @@ snapshots: b4a@1.8.0: {} - babylonjs-gltf2interface@9.15.0: {} + babylonjs-gltf2interface@9.16.0: {} balanced-match@4.0.4: {} From d6b02d43f7a36e64b91bac81b44def46850433cc Mon Sep 17 00:00:00 2001 From: Raanan Weber Date: Thu, 9 Jul 2026 17:49:58 +0200 Subject: [PATCH 3/6] chore(parity): REUSE_BROWSER data-capture reuse + 9.16 stopgap side-effect 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> --- lab/lite/src/bjs/scene127.ts | 10 ++++++ lab/lite/src/bjs/scene128.ts | 10 ++++++ lab/lite/src/bjs/scene140.ts | 2 ++ lab/lite/src/bjs/scene145.ts | 8 +++++ lab/lite/src/bjs/scene18.ts | 2 ++ lab/lite/src/bjs/scene22.ts | 2 ++ lab/lite/src/bjs/scene24.ts | 6 ++++ lab/lite/src/bjs/scene4.ts | 2 ++ lab/lite/src/bjs/scene66.ts | 2 ++ lab/lite/src/bjs/scene72.ts | 2 ++ lab/public/bundle/manifest/scene105.json | 2 +- lab/public/bundle/manifest/scene113.json | 6 ++-- lab/public/bundle/manifest/scene114.json | 8 ++--- lab/public/bundle/manifest/scene115.json | 12 +++---- lab/public/bundle/manifest/scene142.json | 4 +-- lab/public/bundle/manifest/scene150.json | 2 +- lab/public/bundle/manifest/scene154.json | 2 +- lab/public/bundle/manifest/scene155.json | 6 ++-- lab/public/bundle/manifest/scene223.json | 2 +- lab/public/bundle/manifest/scene36.json | 4 +-- lab/public/bundle/manifest/scene41.json | 2 +- lab/public/bundle/manifest/scene47.json | 2 +- lab/public/bundle/manifest/scene49.json | 4 +-- lab/public/bundle/manifest/scene91.json | 2 +- tests/lite/parity/compare-utils.ts | 2 +- .../scenes/scene101-physics-trigger.spec.ts | 8 ++--- .../scenes/scene102-physics-raycast.spec.ts | 8 ++--- .../scene103-thin-instance-raycast.spec.ts | 8 ++--- .../scene104-character-controller.spec.ts | 8 ++--- .../scenes/scene105-moving-platform.spec.ts | 8 ++--- .../scene115-alien-picking-frame100.spec.ts | 8 ++--- .../scenes/scene221-pointer-drags.spec.ts | 14 +++----- .../scenes/scene222-composite-gizmos.spec.ts | 8 ++--- .../scene223-camera-light-gizmos.spec.ts | 8 ++--- .../scene224-bounding-box-gizmo.spec.ts | 8 ++--- .../parity/scenes/scene40-physics.spec.ts | 8 ++--- .../scenes/scene41-physics-shapes.spec.ts | 8 ++--- .../scenes/scene42-physics-clone.spec.ts | 8 ++--- .../scene43-parametric-proximity.spec.ts | 8 ++--- .../scene44-physics-sleeping-towers.spec.ts | 8 ++--- .../scenes/scene45-physics-filtering.spec.ts | 8 ++--- .../scenes/scene46-constraint-viewer.spec.ts | 8 ++--- .../scene47-physics-heightfield.spec.ts | 8 ++--- .../scene48-physics-center-of-mass.spec.ts | 8 ++--- .../scene49-physics-shape-queries.spec.ts | 8 ++--- tests/shared/compare-core.ts | 32 +++++++++++++++++++ 46 files changed, 170 insertions(+), 134 deletions(-) diff --git a/lab/lite/src/bjs/scene127.ts b/lab/lite/src/bjs/scene127.ts index 452cf6e022..81b66790ca 100644 --- a/lab/lite/src/bjs/scene127.ts +++ b/lab/lite/src/bjs/scene127.ts @@ -7,6 +7,8 @@ // was authored against WebGL2, but the same plumbing works under WebGPU here. import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; import { WebGPUEngine } from "@babylonjs/core/Engines/webgpuEngine"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight"; import { Effect } from "@babylonjs/core/Materials/effect"; import { Color4 } from "@babylonjs/core/Maths/math.color"; @@ -16,6 +18,14 @@ import { PostProcess } from "@babylonjs/core/PostProcesses/postProcess"; import { Scene } from "@babylonjs/core/scene"; import { ImportMeshAsync } from "@babylonjs/core/Loading/sceneLoader"; import "@babylonjs/core/Rendering/depthRendererSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): the depth renderer's WGSL shaders are no +// longer registered transitively, so under WebGPU they 404 and the depth map renders +// black. Import the depth + Gaussian-splatting-depth WGSL shaders explicitly; remove +// once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/ShadersWGSL/depth.vertex"; +import "@babylonjs/core/ShadersWGSL/depth.fragment"; +import "@babylonjs/core/ShadersWGSL/gaussianSplattingDepth.vertex"; +import "@babylonjs/core/ShadersWGSL/gaussianSplattingDepth.fragment"; import "@babylonjs/loaders/SPLAT/splatFileLoader"; import "@babylonjs/core/Materials/standardMaterial"; diff --git a/lab/lite/src/bjs/scene128.ts b/lab/lite/src/bjs/scene128.ts index 339237c706..2a0c1e680e 100644 --- a/lab/lite/src/bjs/scene128.ts +++ b/lab/lite/src/bjs/scene128.ts @@ -5,6 +5,8 @@ // mesh writes its alpha-modulated depth into the depth RT for soft-edged splats. import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; import { WebGPUEngine } from "@babylonjs/core/Engines/webgpuEngine"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight"; import { Effect } from "@babylonjs/core/Materials/effect"; import { Color4 } from "@babylonjs/core/Maths/math.color"; @@ -14,6 +16,14 @@ import { PostProcess } from "@babylonjs/core/PostProcesses/postProcess"; import { Scene } from "@babylonjs/core/scene"; import { ImportMeshAsync } from "@babylonjs/core/Loading/sceneLoader"; import "@babylonjs/core/Rendering/depthRendererSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): the depth renderer's WGSL shaders are no +// longer registered transitively, so under WebGPU they 404 and the depth map renders +// black. Import the depth + Gaussian-splatting-depth WGSL shaders explicitly; remove +// once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/ShadersWGSL/depth.vertex"; +import "@babylonjs/core/ShadersWGSL/depth.fragment"; +import "@babylonjs/core/ShadersWGSL/gaussianSplattingDepth.vertex"; +import "@babylonjs/core/ShadersWGSL/gaussianSplattingDepth.fragment"; import "@babylonjs/loaders/SPLAT/splatFileLoader"; import "@babylonjs/core/Materials/standardMaterial"; diff --git a/lab/lite/src/bjs/scene140.ts b/lab/lite/src/bjs/scene140.ts index 3d2328f3f1..991885728d 100644 --- a/lab/lite/src/bjs/scene140.ts +++ b/lab/lite/src/bjs/scene140.ts @@ -6,6 +6,8 @@ import { WebGPUEngine } from "@babylonjs/core/Engines/webgpuEngine"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { Color4 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; diff --git a/lab/lite/src/bjs/scene145.ts b/lab/lite/src/bjs/scene145.ts index f01c682852..b41801f47d 100644 --- a/lab/lite/src/bjs/scene145.ts +++ b/lab/lite/src/bjs/scene145.ts @@ -12,6 +12,14 @@ import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader"; import { Scene } from "@babylonjs/core/scene"; import { Matrix, Vector3 } from "@babylonjs/core/Maths/math.vector"; import "@babylonjs/loaders"; +// TEMP (BJS 9.15+ pure/non-pure split): the .babylon loader no longer transitively +// registers these parsers; without them the HillValley load throws mid-parse and the +// scene ends up with no active camera. Remove once upstream re-adds the transitive +// registration (open BJS PR). +import "@babylonjs/core/Cameras/universalCamera"; +import "@babylonjs/core/Lights/pointLight"; +import "@babylonjs/core/Materials/standardMaterial"; +import "@babylonjs/core/Materials/Textures/cubeTexture"; import { FrameGraph } from "@babylonjs/core/FrameGraph/frameGraph"; import { FrameGraphClearTextureTask } from "@babylonjs/core/FrameGraph/Tasks/Texture/clearTextureTask"; import { FrameGraphGeometryRendererTask } from "@babylonjs/core/FrameGraph/Tasks/Rendering/geometryRendererTask"; diff --git a/lab/lite/src/bjs/scene18.ts b/lab/lite/src/bjs/scene18.ts index ee11040377..a2f66ebe27 100644 --- a/lab/lite/src/bjs/scene18.ts +++ b/lab/lite/src/bjs/scene18.ts @@ -3,6 +3,8 @@ import { WebGPUEngine } from "@babylonjs/core/Engines/webgpuEngine"; import { SpotLight } from "@babylonjs/core/Lights/spotLight"; import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial"; import { Texture } from "@babylonjs/core/Materials/Textures/texture"; import { Color3, Color4 } from "@babylonjs/core/Maths/math.color"; diff --git a/lab/lite/src/bjs/scene22.ts b/lab/lite/src/bjs/scene22.ts index dc4f3a734a..8d6bf1b7a7 100644 --- a/lab/lite/src/bjs/scene22.ts +++ b/lab/lite/src/bjs/scene22.ts @@ -4,6 +4,8 @@ import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { SpotLight } from "@babylonjs/core/Lights/spotLight"; import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial"; import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial"; import { Texture } from "@babylonjs/core/Materials/Textures/texture"; diff --git a/lab/lite/src/bjs/scene24.ts b/lab/lite/src/bjs/scene24.ts index 8e7022e17c..3834899f8d 100644 --- a/lab/lite/src/bjs/scene24.ts +++ b/lab/lite/src/bjs/scene24.ts @@ -4,7 +4,13 @@ import "@babylonjs/core/Loading/Plugins/babylonFileLoader"; import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader"; import { Scene } from "@babylonjs/core/scene"; import "@babylonjs/core/Cameras/universalCamera"; +// TEMP (BJS 9.15+ pure/non-pure split): the .babylon loader no longer transitively +// registers these parsers; without them Light/Material parse throws mid-load and the +// scene ends up with no active camera. Remove once upstream re-adds the transitive +// registration (open BJS PR). +import "@babylonjs/core/Lights/pointLight"; import "@babylonjs/core/Materials/standardMaterial"; +import "@babylonjs/core/Materials/Textures/cubeTexture"; import "@babylonjs/loaders"; (async function () { diff --git a/lab/lite/src/bjs/scene4.ts b/lab/lite/src/bjs/scene4.ts index bc0e2731e2..439f5402d7 100644 --- a/lab/lite/src/bjs/scene4.ts +++ b/lab/lite/src/bjs/scene4.ts @@ -4,6 +4,8 @@ import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { SpotLight } from "@babylonjs/core/Lights/spotLight"; import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial"; import { Texture } from "@babylonjs/core/Materials/Textures/texture"; import { Color3, Color4 } from "@babylonjs/core/Maths/math.color"; diff --git a/lab/lite/src/bjs/scene66.ts b/lab/lite/src/bjs/scene66.ts index 809db9c9a5..1307d57b14 100644 --- a/lab/lite/src/bjs/scene66.ts +++ b/lab/lite/src/bjs/scene66.ts @@ -7,6 +7,8 @@ import { WebGPUEngine } from "@babylonjs/core/Engines/webgpuEngine"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { Color4 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; diff --git a/lab/lite/src/bjs/scene72.ts b/lab/lite/src/bjs/scene72.ts index af35f97ab5..903c94d2de 100644 --- a/lab/lite/src/bjs/scene72.ts +++ b/lab/lite/src/bjs/scene72.ts @@ -10,6 +10,8 @@ import { SpotLight } from "@babylonjs/core/Lights/spotLight"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; +// TEMP (BJS 9.15+ pure/non-pure split): restores the createDepthStencilTexture side-effect dropped by tree-shaking; remove once upstream re-adds the transitive registration (open BJS PR). +import "@babylonjs/core/Engines/AbstractEngine/abstractEngine.texture"; import { Color4 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; diff --git a/lab/public/bundle/manifest/scene105.json b/lab/public/bundle/manifest/scene105.json index a923440d45..55f9f48b16 100644 --- a/lab/public/bundle/manifest/scene105.json +++ b/lab/public/bundle/manifest/scene105.json @@ -1,5 +1,5 @@ { - "rawKB": 102.6, + "rawKB": 102.7, "gzipKB": 39.7, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene113.json b/lab/public/bundle/manifest/scene113.json index 24d62211d9..dd1bb6a4e5 100644 --- a/lab/public/bundle/manifest/scene113.json +++ b/lab/public/bundle/manifest/scene113.json @@ -1,9 +1,9 @@ { - "rawKB": 63, - "gzipKB": 24.3, + "rawKB": 63.1, + "gzipKB": 24.4, "ignoredRawKB": 0, "runtimeChunks": [ - "scene113-standard-renderable-DHQkU9-B.js", + "scene113-standard-renderable-duIfWa-s.js", "scene113-wgsl-helpers-CwHFFXvt.js", "scene113.js" ] diff --git a/lab/public/bundle/manifest/scene114.json b/lab/public/bundle/manifest/scene114.json index e6f6b0aa81..2a708f1d4f 100644 --- a/lab/public/bundle/manifest/scene114.json +++ b/lab/public/bundle/manifest/scene114.json @@ -1,10 +1,10 @@ { - "rawKB": 80.1, - "gzipKB": 31.3, + "rawKB": 80.2, + "gzipKB": 31.4, "ignoredRawKB": 0, "runtimeChunks": [ - "scene114-morph-fragment-BBLksRug.js", - "scene114-pbr-renderable-D5mt8VO7.js", + "scene114-morph-fragment-D7uhVjcX.js", + "scene114-pbr-renderable-CdCd895I.js", "scene114-pbr-template-ext-BoJ8SFLM.js", "scene114-singlelight-hemispheric-wgsl-BsEg2HZs.js", "scene114-skeleton-fragment-BIJQ-YCt.js", diff --git a/lab/public/bundle/manifest/scene115.json b/lab/public/bundle/manifest/scene115.json index 40dc157041..eb6b89e897 100644 --- a/lab/public/bundle/manifest/scene115.json +++ b/lab/public/bundle/manifest/scene115.json @@ -1,6 +1,6 @@ { - "rawKB": 126.2, - "gzipKB": 51.8, + "rawKB": 126.3, + "gzipKB": 51.9, "ignoredRawKB": 0, "runtimeChunks": [ "scene115-create-morph-targets-BxcR5t59.js", @@ -13,14 +13,14 @@ "scene115-gltf-feature-registry-CKfMtIY7.js", "scene115-gltf-feature-skeleton-DnB7dCA_.js", "scene115-gltf-json-asset-D9q5e9Ta.js", - "scene115-morph-fragment-DQefd8aW.js", - "scene115-morph-fragment-core-BW8kE7zi.js", - "scene115-pbr-renderable-BFjqATs3.js", + "scene115-morph-fragment-D0omyTLw.js", + "scene115-morph-fragment-core-CTaOwZva.js", + "scene115-pbr-renderable--ZpKCcxj.js", "scene115-pbr-template-ext-BoJ8SFLM.js", "scene115-shader-composer-CgJmQyJj.js", "scene115-singlelight-hemispheric-wgsl-D4qRhfo5.js", "scene115-skeleton-fragment-Wgm6o2IA.js", - "scene115-standard-renderable-BJyVFLpF.js", + "scene115-standard-renderable-1wMXH2UO.js", "scene115-wgsl-helpers-CwHFFXvt.js", "scene115.js" ] diff --git a/lab/public/bundle/manifest/scene142.json b/lab/public/bundle/manifest/scene142.json index 814509bb6e..72cf374dc8 100644 --- a/lab/public/bundle/manifest/scene142.json +++ b/lab/public/bundle/manifest/scene142.json @@ -1,9 +1,9 @@ { "rawKB": 61.1, - "gzipKB": 22.9, + "gzipKB": 22.8, "ignoredRawKB": 0, "runtimeChunks": [ - "scene142-standard-renderable-COIztMWN.js", + "scene142-standard-renderable-B7sUEPws.js", "scene142-wgsl-helpers-CwHFFXvt.js", "scene142.js" ] diff --git a/lab/public/bundle/manifest/scene150.json b/lab/public/bundle/manifest/scene150.json index 3e10e41ecb..96895c0bbb 100644 --- a/lab/public/bundle/manifest/scene150.json +++ b/lab/public/bundle/manifest/scene150.json @@ -1,5 +1,5 @@ { - "rawKB": 55.2, + "rawKB": 55.3, "gzipKB": 21.7, "ignoredRawKB": 0, "runtimeChunks": [ diff --git a/lab/public/bundle/manifest/scene154.json b/lab/public/bundle/manifest/scene154.json index 75f5e9a8ec..d9fd4707e9 100644 --- a/lab/public/bundle/manifest/scene154.json +++ b/lab/public/bundle/manifest/scene154.json @@ -1,6 +1,6 @@ { "rawKB": 55.7, - "gzipKB": 21.8, + "gzipKB": 21.7, "ignoredRawKB": 0, "runtimeChunks": [ "scene154-standard-renderable-Bt8pShKk.js", diff --git a/lab/public/bundle/manifest/scene155.json b/lab/public/bundle/manifest/scene155.json index cfcceca5cd..c5a5ebee35 100644 --- a/lab/public/bundle/manifest/scene155.json +++ b/lab/public/bundle/manifest/scene155.json @@ -1,9 +1,9 @@ { - "rawKB": 58.1, - "gzipKB": 22.6, + "rawKB": 57.9, + "gzipKB": 22.5, "ignoredRawKB": 0, "runtimeChunks": [ - "scene155-standard-renderable-CDfPDID1.js", + "scene155-standard-renderable-D2GupFEt.js", "scene155-wgsl-helpers-CwHFFXvt.js", "scene155.js" ] diff --git a/lab/public/bundle/manifest/scene223.json b/lab/public/bundle/manifest/scene223.json index 0e87ace293..badc3c692d 100644 --- a/lab/public/bundle/manifest/scene223.json +++ b/lab/public/bundle/manifest/scene223.json @@ -1,6 +1,6 @@ { "rawKB": 64, - "gzipKB": 24.3, + "gzipKB": 24.4, "ignoredRawKB": 0, "runtimeChunks": [ "scene223-standard-renderable-D0tUIhO9.js", diff --git a/lab/public/bundle/manifest/scene36.json b/lab/public/bundle/manifest/scene36.json index b9b8234277..b71d252002 100644 --- a/lab/public/bundle/manifest/scene36.json +++ b/lab/public/bundle/manifest/scene36.json @@ -1,9 +1,9 @@ { "rawKB": 51.6, - "gzipKB": 20.4, + "gzipKB": 20.3, "ignoredRawKB": 0, "runtimeChunks": [ - "scene36-standard-renderable-DZtkeKp5.js", + "scene36-standard-renderable-D0LMKGOg.js", "scene36-std-emissive-fragment-DthzsVUc.js", "scene36-wgsl-helpers-CwHFFXvt.js", "scene36.js" diff --git a/lab/public/bundle/manifest/scene41.json b/lab/public/bundle/manifest/scene41.json index e7ebe1e1f9..4d75504baf 100644 --- a/lab/public/bundle/manifest/scene41.json +++ b/lab/public/bundle/manifest/scene41.json @@ -1,6 +1,6 @@ { "rawKB": 93.2, - "gzipKB": 37.1, + "gzipKB": 37, "ignoredRawKB": 0, "runtimeChunks": [ "scene41-generate-mipmaps-BWxJCIcc.js", diff --git a/lab/public/bundle/manifest/scene47.json b/lab/public/bundle/manifest/scene47.json index 59cc66ba7e..f1eaafbdb1 100644 --- a/lab/public/bundle/manifest/scene47.json +++ b/lab/public/bundle/manifest/scene47.json @@ -1,6 +1,6 @@ { "rawKB": 92.5, - "gzipKB": 36.9, + "gzipKB": 37, "ignoredRawKB": 0, "runtimeChunks": [ "scene47-generate-mipmaps-CmIGpFd5.js", diff --git a/lab/public/bundle/manifest/scene49.json b/lab/public/bundle/manifest/scene49.json index bc1c7e7dea..2fb6243858 100644 --- a/lab/public/bundle/manifest/scene49.json +++ b/lab/public/bundle/manifest/scene49.json @@ -1,9 +1,9 @@ { - "rawKB": 93, + "rawKB": 93.1, "gzipKB": 35.1, "ignoredRawKB": 0, "runtimeChunks": [ - "scene49-standard-renderable-ytL-ZaT7.js", + "scene49-standard-renderable-uBI1fXzx.js", "scene49-swapchain-overlay-ilhN4El_.js", "scene49-ubo-layout-CnrP4RZD.js", "scene49-wgsl-helpers-CwHFFXvt.js", diff --git a/lab/public/bundle/manifest/scene91.json b/lab/public/bundle/manifest/scene91.json index 97136747a0..60066a8f77 100644 --- a/lab/public/bundle/manifest/scene91.json +++ b/lab/public/bundle/manifest/scene91.json @@ -5,7 +5,7 @@ "runtimeChunks": [ "scene91-generate-mipmaps-CUt8_7AA.js", "scene91-manifold-C2NWAcxM-CgxmBSpa.js", - "scene91-standard-renderable-W_9EGLT4.js", + "scene91-standard-renderable-Bf_3y_Rs.js", "scene91-wgsl-helpers-CwHFFXvt.js", "scene91.js" ] diff --git a/tests/lite/parity/compare-utils.ts b/tests/lite/parity/compare-utils.ts index f791db55d2..cb5a3ad564 100644 --- a/tests/lite/parity/compare-utils.ts +++ b/tests/lite/parity/compare-utils.ts @@ -11,7 +11,7 @@ import type { Browser } from "@playwright/test"; import { captureGolden as captureGoldenCore, shouldSkipParity, type SceneConfig, type CaptureGoldenOptions } from "../../shared/compare-core"; // Re-export the experience-agnostic comparison surface unchanged. -export { compareImages, compareRegion, generateDiffMap, attachCompareArtifacts, shouldSkipParity, waitForCanvasReady } from "../../shared/compare-core"; +export { compareImages, compareRegion, generateDiffMap, attachCompareArtifacts, shouldSkipParity, waitForCanvasReady, acquireBjsPage } from "../../shared/compare-core"; export type { SceneConfig, CompareResult, RegionResult, CaptureGoldenOptions } from "../../shared/compare-core"; let _sceneConfigCache: SceneConfig[] | null = null; diff --git a/tests/lite/parity/scenes/scene101-physics-trigger.spec.ts b/tests/lite/parity/scenes/scene101-physics-trigger.spec.ts index 7f32026053..79ea53664f 100644 --- a/tests/lite/parity/scenes/scene101-physics-trigger.spec.ts +++ b/tests/lite/parity/scenes/scene101-physics-trigger.spec.ts @@ -14,7 +14,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as path from "path"; -import { captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(101); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene101-physics-trigger"); @@ -25,8 +25,7 @@ test.skip(!!sceneConfig.skipParity, "Scene 101 skipped via skipParity in scene-c /** Launch the BJS reference page live to read the trigger-event DATA at the capture frame. */ async function captureBjsData(browser: Browser): Promise<{ entered: string | undefined; exited: string | undefined }> { - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene101.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 101 BJS reference" }); @@ -35,8 +34,7 @@ async function captureBjsData(browser: Browser): Promise<{ entered: string | und const entered = await bjsPage.locator("canvas").evaluate((el) => (el as HTMLCanvasElement).dataset.entered); const exited = await bjsPage.locator("canvas").evaluate((el) => (el as HTMLCanvasElement).dataset.exited); - await bjsPage.close(); - await context.close(); + await release(); return { entered, exited }; } diff --git a/tests/lite/parity/scenes/scene102-physics-raycast.spec.ts b/tests/lite/parity/scenes/scene102-physics-raycast.spec.ts index 4a260d6239..375369ba75 100644 --- a/tests/lite/parity/scenes/scene102-physics-raycast.spec.ts +++ b/tests/lite/parity/scenes/scene102-physics-raycast.spec.ts @@ -13,7 +13,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser, Page } from "@playwright/test"; import * as path from "path"; -import { captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(102); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene102-physics-raycast"); @@ -28,16 +28,14 @@ async function readRayResult(page: Page): Promise { /** Launch the BJS reference page live to read the raycast result DATA at the capture frame. */ async function captureBjsData(browser: Browser): Promise { - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene102.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 102 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 102 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); const rayResult = await readRayResult(bjsPage); - await bjsPage.close(); - await context.close(); + await release(); return rayResult; } diff --git a/tests/lite/parity/scenes/scene103-thin-instance-raycast.spec.ts b/tests/lite/parity/scenes/scene103-thin-instance-raycast.spec.ts index f780449f67..7b1cddb378 100644 --- a/tests/lite/parity/scenes/scene103-thin-instance-raycast.spec.ts +++ b/tests/lite/parity/scenes/scene103-thin-instance-raycast.spec.ts @@ -13,7 +13,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser, Page } from "@playwright/test"; import * as path from "path"; -import { captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(103); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene103-thin-instance-raycast"); @@ -34,16 +34,14 @@ async function readRayHits(page: Page): Promise { /** Launch the BJS reference page live to read the raycast-hit DATA at the capture frame. */ async function captureBjsData(browser: Browser): Promise { - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene103.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 103 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 103 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); const rayHits = await readRayHits(bjsPage); - await bjsPage.close(); - await context.close(); + await release(); return rayHits; } diff --git a/tests/lite/parity/scenes/scene104-character-controller.spec.ts b/tests/lite/parity/scenes/scene104-character-controller.spec.ts index 8a4d811d7a..d60885a0de 100644 --- a/tests/lite/parity/scenes/scene104-character-controller.spec.ts +++ b/tests/lite/parity/scenes/scene104-character-controller.spec.ts @@ -24,7 +24,7 @@ import { test, expect } from "../parity-fixtures"; import type { Page } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(104); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene104-character-controller"); @@ -72,11 +72,9 @@ test("Scene 104 — Character controller level walk + collision detection matche const goldenPath = await captureGolden(browser, { sceneId: 104, queryParams: `captureFrame=${VISUAL_FRAME}`, waitFlag: "captureReady" }); // ── Babylon.js reference (live DATA) at the collision frame ── - const bjsContext = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await bjsContext.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); const bjs = await capture(bjsPage, "/babylon-ref-scene104.html", COLLISION_FRAME, "Scene 104 BJS reference (collisions)"); - await bjsPage.close(); - await bjsContext.close(); + await release(); // ── Lite: collision frame (data) + pre-contact frame (visual) ── const lite = await capture(page, "/scene104.html", COLLISION_FRAME, "Scene 104 Lite (collisions)"); diff --git a/tests/lite/parity/scenes/scene105-moving-platform.spec.ts b/tests/lite/parity/scenes/scene105-moving-platform.spec.ts index 7c6c5628d5..ecd96305ef 100644 --- a/tests/lite/parity/scenes/scene105-moving-platform.spec.ts +++ b/tests/lite/parity/scenes/scene105-moving-platform.spec.ts @@ -28,7 +28,7 @@ import { test, expect } from "../parity-fixtures"; import type { Page } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, captureGolden, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(105); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene105-moving-platform"); @@ -80,11 +80,9 @@ test("Scene 105 — Character controller + moving platform matches Babylon.js", const goldenPath = await captureGolden(browser, { sceneId: 105, queryParams: `captureFrame=${VISUAL_FRAME}`, waitFlag: "captureReady" }); // ── Babylon.js reference (live DATA) at the collision frame ── - const bjsContext = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await bjsContext.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); const bjs = await capture(bjsPage, "/babylon-ref-scene105.html", COLLISION_FRAME, "Scene 105 BJS reference (collisions)"); - await bjsPage.close(); - await bjsContext.close(); + await release(); // ── Lite: collision frame (data) + pre-contact frame (visual) ── const lite = await capture(page, "/scene105.html", COLLISION_FRAME, "Scene 105 Lite (collisions)"); diff --git a/tests/lite/parity/scenes/scene115-alien-picking-frame100.spec.ts b/tests/lite/parity/scenes/scene115-alien-picking-frame100.spec.ts index 8a6e71a6f5..32645f60d8 100644 --- a/tests/lite/parity/scenes/scene115-alien-picking-frame100.spec.ts +++ b/tests/lite/parity/scenes/scene115-alien-picking-frame100.spec.ts @@ -8,7 +8,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser, Page } from "@playwright/test"; import * as path from "path"; -import { attachCompareArtifacts, captureGolden, compareImages, getSceneConfig } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, captureGolden, compareImages, getSceneConfig } from "../compare-utils"; const SCENE_ID = 115; const SEEK_TIME = 100 / 60; @@ -90,14 +90,12 @@ function expectMarkerState(state: PickState, label: string): void { } async function readBjsPickState(browser: Browser): Promise { - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); try { await bjsPage.goto(`/babylon-ref-scene${SCENE_ID}.html?seekTime=${SEEK_TIME}`); return await readPickState(bjsPage); } finally { - await bjsPage.close(); - await context.close(); + await release(); } } diff --git a/tests/lite/parity/scenes/scene221-pointer-drags.spec.ts b/tests/lite/parity/scenes/scene221-pointer-drags.spec.ts index f85faf0881..d7f12a8c3a 100644 --- a/tests/lite/parity/scenes/scene221-pointer-drags.spec.ts +++ b/tests/lite/parity/scenes/scene221-pointer-drags.spec.ts @@ -11,7 +11,7 @@ import { test, expect } from "../parity-fixtures"; import * as fs from "fs"; import * as path from "path"; import type { Page } from "@playwright/test"; -import { attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; const sceneConfig = getSceneConfig(221); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene221-pointer-drags"); @@ -131,8 +131,7 @@ test("Scene 221 — Rotation gizmo camembert visible mid-drag", async ({ page }, const browser = page.context().browser()!; if (!fs.existsSync(ROTATION_GOLDEN_REF) || process.env.RECAPTURE_GOLDEN) { - const ctx = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await ctx.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto("/babylon-ref-scene221.html"); await bjsPage.waitForFunction(() => document.querySelector("canvas")?.dataset.ready === "true", { timeout: 30_000 }); await bjsPage.waitForFunction(() => !document.getElementById("babylonjsLoadingDiv"), { timeout: 10_000 }).catch(() => undefined); @@ -140,8 +139,7 @@ test("Scene 221 — Rotation gizmo camembert visible mid-drag", async ({ page }, await performRotationMidDrag(bjsPage); await bjsPage.locator("canvas").screenshot({ path: ROTATION_GOLDEN_REF }); await bjsPage.mouse.up().catch(() => undefined); - await bjsPage.close(); - await ctx.close(); + await release(); } await page.goto("/scene221.html"); @@ -169,8 +167,7 @@ test("Scene 221 — Pointer Drags matches Babylon.js reference (post scripted dr // ── Capture golden by driving the BJS reference page through the drag set ── if (!fs.existsSync(GOLDEN_REF) || process.env.RECAPTURE_GOLDEN) { - const ctx = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await ctx.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto("/babylon-ref-scene221.html"); await bjsPage.waitForFunction(() => document.querySelector("canvas")?.dataset.ready === "true", { timeout: 30_000 }); await bjsPage.waitForFunction(() => !document.getElementById("babylonjsLoadingDiv"), { timeout: 10_000 }).catch(() => undefined); @@ -179,8 +176,7 @@ test("Scene 221 — Pointer Drags matches Babylon.js reference (post scripted dr await bjsPage.waitForTimeout(200); fs.mkdirSync(REFERENCE_DIR, { recursive: true }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await ctx.close(); + await release(); } // ── Drive Lite through the same drag set and capture ── diff --git a/tests/lite/parity/scenes/scene222-composite-gizmos.spec.ts b/tests/lite/parity/scenes/scene222-composite-gizmos.spec.ts index 285470c9c2..f71bcd6e4f 100644 --- a/tests/lite/parity/scenes/scene222-composite-gizmos.spec.ts +++ b/tests/lite/parity/scenes/scene222-composite-gizmos.spec.ts @@ -21,7 +21,7 @@ import { test, expect } from "../parity-fixtures"; import * as fs from "fs"; import * as path from "path"; import type { Page } from "@playwright/test"; -import { attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; const sceneConfig = getSceneConfig(222); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene222-composite-gizmos"); @@ -136,8 +136,7 @@ test("Scene 222 — Composite Gizmos matches Babylon.js reference (local→world const browser = page.context().browser()!; if (!fs.existsSync(GOLDEN_REF) || process.env.RECAPTURE_GOLDEN) { - const ctx = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await ctx.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto("/babylon-ref-scene222.html"); await bjsPage.waitForFunction(() => document.querySelector("canvas")?.dataset.ready === "true", { timeout: 30_000 }); await bjsPage.waitForFunction(() => !document.getElementById("babylonjsLoadingDiv"), { timeout: 10_000 }).catch(() => undefined); @@ -146,8 +145,7 @@ test("Scene 222 — Composite Gizmos matches Babylon.js reference (local→world await bjsPage.waitForTimeout(300); fs.mkdirSync(REFERENCE_DIR, { recursive: true }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await ctx.close(); + await release(); } await page.goto("/scene222.html"); diff --git a/tests/lite/parity/scenes/scene223-camera-light-gizmos.spec.ts b/tests/lite/parity/scenes/scene223-camera-light-gizmos.spec.ts index e03db1b666..edb2525539 100644 --- a/tests/lite/parity/scenes/scene223-camera-light-gizmos.spec.ts +++ b/tests/lite/parity/scenes/scene223-camera-light-gizmos.spec.ts @@ -8,7 +8,7 @@ import { test, expect } from "../parity-fixtures"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; const sceneConfig = getSceneConfig(223); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene223-camera-light-gizmos"); @@ -21,16 +21,14 @@ test("Scene 223 — Camera + Light Gizmos match Babylon.js reference", async ({ const browser = page.context().browser()!; if (!fs.existsSync(GOLDEN_REF) || process.env.RECAPTURE_GOLDEN) { - const ctx = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await ctx.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto("/babylon-ref-scene223.html"); await bjsPage.waitForFunction(() => document.querySelector("canvas")?.dataset.ready === "true", { timeout: 30_000 }); await bjsPage.waitForFunction(() => !document.getElementById("babylonjsLoadingDiv"), { timeout: 10_000 }).catch(() => undefined); await bjsPage.waitForTimeout(500); fs.mkdirSync(REFERENCE_DIR, { recursive: true }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await ctx.close(); + await release(); } await page.goto("/scene223.html"); diff --git a/tests/lite/parity/scenes/scene224-bounding-box-gizmo.spec.ts b/tests/lite/parity/scenes/scene224-bounding-box-gizmo.spec.ts index 05e0e3c13f..3d8ef91541 100644 --- a/tests/lite/parity/scenes/scene224-bounding-box-gizmo.spec.ts +++ b/tests/lite/parity/scenes/scene224-bounding-box-gizmo.spec.ts @@ -25,7 +25,7 @@ import { test, expect } from "../parity-fixtures"; import * as fs from "fs"; import * as path from "path"; import type { Page } from "@playwright/test"; -import { attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig } from "../compare-utils"; const sceneConfig = getSceneConfig(224); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene224-bounding-box-gizmo"); @@ -87,8 +87,7 @@ test("Scene 224 — Bounding Box Gizmo matches Babylon.js reference (determinist const browser = page.context().browser()!; if (!fs.existsSync(GOLDEN_REF) || process.env.RECAPTURE_GOLDEN) { - const ctx = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await ctx.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto("/babylon-ref-scene224.html?nocam=1"); await bjsPage.waitForFunction(() => document.querySelector("canvas")?.dataset.ready === "true", { timeout: 30_000 }); await bjsPage.waitForFunction(() => !document.getElementById("babylonjsLoadingDiv"), { timeout: 10_000 }).catch(() => undefined); @@ -99,8 +98,7 @@ test("Scene 224 — Bounding Box Gizmo matches Babylon.js reference (determinist console.log(`BJS root: x=${bjsAfter.px.toFixed(3)} qw=${bjsAfter.qw.toFixed(3)} sx=${bjsAfter.sx.toFixed(3)}`); fs.mkdirSync(REFERENCE_DIR, { recursive: true }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await ctx.close(); + await release(); } await page.goto("/scene224.html?nocam=1"); diff --git a/tests/lite/parity/scenes/scene40-physics.spec.ts b/tests/lite/parity/scenes/scene40-physics.spec.ts index 881990c56a..914d5156ec 100644 --- a/tests/lite/parity/scenes/scene40-physics.spec.ts +++ b/tests/lite/parity/scenes/scene40-physics.spec.ts @@ -10,7 +10,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(40); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene40-physics"); @@ -22,16 +22,14 @@ test.skip(!!sceneConfig.skipParity, "Scene 40 skipped via skipParity in scene-co async function captureBjsReference(browser: Browser): Promise { fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene40.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 40 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 40 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: LIVE_REF }); - await bjsPage.close(); - await context.close(); + await release(); return LIVE_REF; } diff --git a/tests/lite/parity/scenes/scene41-physics-shapes.spec.ts b/tests/lite/parity/scenes/scene41-physics-shapes.spec.ts index 6dfcb861f4..2a093b938f 100644 --- a/tests/lite/parity/scenes/scene41-physics-shapes.spec.ts +++ b/tests/lite/parity/scenes/scene41-physics-shapes.spec.ts @@ -8,7 +8,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(41); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene41-physics-shapes"); @@ -24,16 +24,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene41.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 41 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 41 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene42-physics-clone.spec.ts b/tests/lite/parity/scenes/scene42-physics-clone.spec.ts index 4a11ef34ee..8b64650751 100644 --- a/tests/lite/parity/scenes/scene42-physics-clone.spec.ts +++ b/tests/lite/parity/scenes/scene42-physics-clone.spec.ts @@ -7,7 +7,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(42); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene42-physics-clone"); @@ -23,16 +23,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene42.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 42 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 42 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene43-parametric-proximity.spec.ts b/tests/lite/parity/scenes/scene43-parametric-proximity.spec.ts index 706a32bafd..8c9bfc337b 100644 --- a/tests/lite/parity/scenes/scene43-parametric-proximity.spec.ts +++ b/tests/lite/parity/scenes/scene43-parametric-proximity.spec.ts @@ -7,7 +7,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(43); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene43-parametric-proximity"); @@ -23,16 +23,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene43.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 43 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 43 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene44-physics-sleeping-towers.spec.ts b/tests/lite/parity/scenes/scene44-physics-sleeping-towers.spec.ts index cc59fb53da..08f7f96dd0 100644 --- a/tests/lite/parity/scenes/scene44-physics-sleeping-towers.spec.ts +++ b/tests/lite/parity/scenes/scene44-physics-sleeping-towers.spec.ts @@ -7,7 +7,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(44); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene44-physics-sleeping-towers"); @@ -23,16 +23,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene44.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 44 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 44 BJS reference after ${CAPTURE_AFTER_SECONDS}s`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene45-physics-filtering.spec.ts b/tests/lite/parity/scenes/scene45-physics-filtering.spec.ts index 253fc6ebbc..a4a81016dc 100644 --- a/tests/lite/parity/scenes/scene45-physics-filtering.spec.ts +++ b/tests/lite/parity/scenes/scene45-physics-filtering.spec.ts @@ -7,7 +7,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(45); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene45-physics-filtering"); @@ -23,16 +23,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene45.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 45 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 45 BJS reference after ${CAPTURE_AFTER_SECONDS}s`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene46-constraint-viewer.spec.ts b/tests/lite/parity/scenes/scene46-constraint-viewer.spec.ts index d7f09edbbd..7f6f3703c8 100644 --- a/tests/lite/parity/scenes/scene46-constraint-viewer.spec.ts +++ b/tests/lite/parity/scenes/scene46-constraint-viewer.spec.ts @@ -7,7 +7,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(46); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene46-constraint-viewer"); @@ -23,16 +23,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene46.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 46 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: `Scene 46 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene47-physics-heightfield.spec.ts b/tests/lite/parity/scenes/scene47-physics-heightfield.spec.ts index 5a15334f43..076ac9e97f 100644 --- a/tests/lite/parity/scenes/scene47-physics-heightfield.spec.ts +++ b/tests/lite/parity/scenes/scene47-physics-heightfield.spec.ts @@ -9,7 +9,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(47); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene47-physics-heightfield"); @@ -25,16 +25,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene47.html${CAPTURE_QUERY}`); await waitForCanvasReady(bjsPage, { timeout: 60_000, label: "Scene 47 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 60_000, label: `Scene 47 BJS reference at frame ${CAPTURE_FRAME}`, flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene48-physics-center-of-mass.spec.ts b/tests/lite/parity/scenes/scene48-physics-center-of-mass.spec.ts index bb5250dd4b..0dd9898578 100644 --- a/tests/lite/parity/scenes/scene48-physics-center-of-mass.spec.ts +++ b/tests/lite/parity/scenes/scene48-physics-center-of-mass.spec.ts @@ -10,7 +10,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(48); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene48-physics-center-of-mass"); @@ -24,16 +24,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene48.html?capture=1`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 48 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 48 BJS reference after kick", flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/lite/parity/scenes/scene49-physics-shape-queries.spec.ts b/tests/lite/parity/scenes/scene49-physics-shape-queries.spec.ts index 13d26c31b8..5d9fb3435e 100644 --- a/tests/lite/parity/scenes/scene49-physics-shape-queries.spec.ts +++ b/tests/lite/parity/scenes/scene49-physics-shape-queries.spec.ts @@ -11,7 +11,7 @@ import { test, expect } from "../parity-fixtures"; import type { Browser } from "@playwright/test"; import * as fs from "fs"; import * as path from "path"; -import { attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; +import { acquireBjsPage, attachCompareArtifacts, compareImages, getSceneConfig, waitForCanvasReady } from "../compare-utils"; const sceneConfig = getSceneConfig(49); const REFERENCE_DIR = path.resolve(__dirname, "../../../../reference/lite/scene49-physics-shape-queries"); @@ -25,16 +25,14 @@ async function captureBjsReference(browser: Browser): Promise { } fs.mkdirSync(REFERENCE_DIR, { recursive: true }); - const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); - const bjsPage = await context.newPage(); + const { page: bjsPage, release } = await acquireBjsPage(browser); await bjsPage.goto(`/babylon-ref-scene49.html?capture=1`); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 49 BJS reference" }); await waitForCanvasReady(bjsPage, { timeout: 50_000, label: "Scene 49 BJS reference queries", flag: "captureReady", pollMs: 100 }); await bjsPage.locator("canvas").screenshot({ path: GOLDEN_REF }); - await bjsPage.close(); - await context.close(); + await release(); return GOLDEN_REF; } diff --git a/tests/shared/compare-core.ts b/tests/shared/compare-core.ts index fef3d7ba85..958748eec5 100644 --- a/tests/shared/compare-core.ts +++ b/tests/shared/compare-core.ts @@ -364,3 +364,35 @@ export async function captureGolden(browser: Browser, opts: CaptureGoldenOptions return goldenPath; } + +/** + * Acquire a page for capturing live Babylon.js (BJS) reference DATA (not the golden + * image) — e.g. physics event flags, picking coordinates, gizmo state. + * + * When `REUSE_BROWSER` is set and the parity worker already owns a context+page, + * this hands back that shared page instead of opening a new browser window, and + * `release()` is a no-op (the worker fixture owns the page's lifecycle, and the + * calling test re-navigates it afterwards). Otherwise it creates a fresh, isolated + * context+page that the caller owns, and `release()` tears both down. + * + * This mirrors {@link captureGolden}'s reuse logic so headed local runs keep a + * single reused window per worker rather than popping a window per data-capture spec. + */ +export async function acquireBjsPage(browser: Browser): Promise<{ page: Page; release: () => Promise }> { + const wantReuse = process.env.REUSE_BROWSER === "true" || process.env.REUSE_BROWSER === "1"; + const existingContext = wantReuse ? browser.contexts()[0] : undefined; + const existingPage = existingContext?.pages()[0]; + if (existingContext && existingPage) { + // Reuse the worker-owned context/page; the fixture tears it down at end of worker. + return { page: existingPage, release: async () => {} }; + } + const context = await browser.newContext({ viewport: { width: 1280, height: 720 } }); + const page = await context.newPage(); + return { + page, + release: async () => { + await page.close(); + await context.close(); + }, + }; +} From 2f4de79808c9b44a4f4ef0c8e6200b65a6e7e5ad Mon Sep 17 00:00:00 2001 From: Raanan Weber Date: Thu, 9 Jul 2026 19:45:34 +0200 Subject: [PATCH 4/6] chore(parity): regenerate stale bundle manifests after master merge 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/public/bundle/manifest/scene147.json | 2 +- lab/public/bundle/manifest/scene41.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lab/public/bundle/manifest/scene147.json b/lab/public/bundle/manifest/scene147.json index 40e67a8c2c..71daa42993 100644 --- a/lab/public/bundle/manifest/scene147.json +++ b/lab/public/bundle/manifest/scene147.json @@ -1,6 +1,6 @@ { "rawKB": 103.7, - "gzipKB": 41.5, + "gzipKB": 41.4, "ignoredRawKB": 0, "runtimeChunks": [ "scene147-directional-light-CwjabfgT.js", diff --git a/lab/public/bundle/manifest/scene41.json b/lab/public/bundle/manifest/scene41.json index 4d75504baf..e7ebe1e1f9 100644 --- a/lab/public/bundle/manifest/scene41.json +++ b/lab/public/bundle/manifest/scene41.json @@ -1,6 +1,6 @@ { "rawKB": 93.2, - "gzipKB": 37, + "gzipKB": 37.1, "ignoredRawKB": 0, "runtimeChunks": [ "scene41-generate-mipmaps-BWxJCIcc.js", From a6cafb51d2b914288d28f0ec21e505645d0fc8d3 Mon Sep 17 00:00:00 2001 From: Raanan Weber Date: Mon, 20 Jul 2026 13:44:26 +0200 Subject: [PATCH 5/6] chore(deps): bump @babylonjs 9.16.0 -> 9.16.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 9.16.1 restores the glTF file-loader plugin registration dropped by the 9.15/9.16 pure/non-pure tree-shaking split, plus shadow / frame-graph post-process / cascaded-shadow registrations. Isolated parity re-run (REUSE_BROWSER, port 5379) of the 25 previously-failing scenes: 15 now pass (was 1). Blast radius shrinks from 24 to 10. Remaining 10 (bump stays PARKED, no goldens/ceilings touched): - scene104/105: external CDN asset levelTest.glb 404s in-browser (jsdelivr @master) — not a Babylon regression, pre-existing. - scene19: known intended upstream clearcoat change (BJS #18513). - scene9/143/165/222/176/17/253: genuine Lite-vs-9.16.1 reference divergences requiring golden recapture (immutable guardrail). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- lab/package.json | 10 +- pnpm-lock.yaml | 335 +++++++++++++++++++++++++---------------------- 2 files changed, 187 insertions(+), 158 deletions(-) diff --git a/lab/package.json b/lab/package.json index f3deafdd22..a0f38fea5e 100644 --- a/lab/package.json +++ b/lab/package.json @@ -11,16 +11,16 @@ "babylon-lite": "workspace:*" }, "devDependencies": { - "@babylonjs/addons": "^9.16.0", - "@babylonjs/core": "^9.16.0", + "@babylonjs/addons": "^9.16.1", + "@babylonjs/core": "^9.16.1", "@babylonjs/havok": "^1.3.13", - "@babylonjs/loaders": "^9.16.0", - "@babylonjs/materials": "^9.16.0", + "@babylonjs/loaders": "^9.16.1", + "@babylonjs/materials": "^9.16.1", "@recast-navigation/core": "0.43.0", "@recast-navigation/generators": "0.43.0", "@recast-navigation/wasm": "0.43.0", "@webgpu/types": "^0.1.52", - "babylonjs-gltf2interface": "^9.16.0", + "babylonjs-gltf2interface": "^9.16.1", "manifold-3d": "3.5.1", "typescript": "^6.0.3", "vite": "^6.4.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9a4e2dc6b..c0de3a6cf4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -116,20 +116,20 @@ importers: version: link:../packages/babylon-lite devDependencies: '@babylonjs/addons': - specifier: ^9.16.0 - version: 9.16.0(@babylonjs/core@9.16.0) + specifier: ^9.16.1 + version: 9.16.1(@babylonjs/core@9.16.1) '@babylonjs/core': - specifier: ^9.16.0 - version: 9.16.0 + specifier: ^9.16.1 + version: 9.16.1 '@babylonjs/havok': specifier: ^1.3.13 version: 1.3.13 '@babylonjs/loaders': - specifier: ^9.16.0 - version: 9.16.0(@babylonjs/core@9.16.0)(babylonjs-gltf2interface@9.16.0) + specifier: ^9.16.1 + version: 9.16.1(@babylonjs/core@9.16.1)(babylonjs-gltf2interface@9.16.1) '@babylonjs/materials': - specifier: ^9.16.0 - version: 9.16.0(@babylonjs/core@9.16.0) + specifier: ^9.16.1 + version: 9.16.1(@babylonjs/core@9.16.1) '@recast-navigation/core': specifier: 0.43.0 version: 0.43.0 @@ -143,8 +143,8 @@ importers: specifier: ^0.1.52 version: 0.1.69 babylonjs-gltf2interface: - specifier: ^9.16.0 - version: 9.16.0 + specifier: ^9.16.1 + version: 9.16.1 manifold-3d: specifier: 3.5.1 version: 3.5.1(@gltf-transform/core@4.3.0)(@gltf-transform/extensions@4.3.0)(@gltf-transform/functions@4.3.0)(esbuild-wasm@0.27.7) @@ -374,25 +374,25 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@babylonjs/addons@9.16.0': - resolution: {integrity: sha512-/j36oTKIJWfBHXtfIBsErpbotq3zdbcZ2kPx+qb7vHPWnoKy7j6E25Rhuj94C036KiSxSrbdksFRewiPPwwG9A==} + '@babylonjs/addons@9.16.1': + resolution: {integrity: sha1-ZZQKI5Zszd7R33cvvKxV5zx/Xug=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/addons/-/addons-9.16.1.tgz} peerDependencies: '@babylonjs/core': ^9.0.0 - '@babylonjs/core@9.16.0': - resolution: {integrity: sha512-bvNBUxx5NIpBGQ51zxqWiAPQCMwdmUQ1bPI+q2LBPwWN0GPiytjE30aI3rbtXp9isAXQozR8SjUyDuJ2sJxrHg==} + '@babylonjs/core@9.16.1': + resolution: {integrity: sha1-zcCC4LI6slDrGBte7r0AYiK/iL0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/core/-/core-9.16.1.tgz} '@babylonjs/havok@1.3.13': resolution: {integrity: sha512-DDrPHbNdeanogdE261r4sfgKgtZb11ccaDjNEbhEcrcWz1XgYHTIJzz5QwO+J4XhOQJLXfn9Lv20cI2REIZiwg==} - '@babylonjs/loaders@9.16.0': - resolution: {integrity: sha512-v8olguqWibf2UNolKP1F6CpXr0zofBSgi14IUGsv36rfQUJH81HYnbmVC6Dagy3njlDZJFWOS0nCU4twnMPZFg==} + '@babylonjs/loaders@9.16.1': + resolution: {integrity: sha1-G2KOK0szPMCRFMgq9bx73ysm6ik=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/loaders/-/loaders-9.16.1.tgz} peerDependencies: '@babylonjs/core': ^9.0.0 babylonjs-gltf2interface: ^9.0.0 - '@babylonjs/materials@9.16.0': - resolution: {integrity: sha512-jxDdVWUVLIyMLg2+s8B6HQDbjavrfIAQ5k8BakoEfxjEfsUFIa6vNWq69DTjmn/2poDgTMdyinHgECN7kc+Zng==} + '@babylonjs/materials@9.16.1': + resolution: {integrity: sha1-wI2ZpI5wu2b4vDLokHvPhd4Hu1A=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/materials/-/materials-9.16.1.tgz} peerDependencies: '@babylonjs/core': ^9.0.0 @@ -404,316 +404,316 @@ packages: resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} '@emnapi/runtime@1.11.1': - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + resolution: {integrity: sha1-WPHz1dgamxL3k6tojJY3GQECfCQ=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@emnapi/runtime/-/runtime-1.11.1.tgz} '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + resolution: {integrity: sha1-gPy+NhMOWLdnBRHoiLjoiiWe12w=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz} engines: {node: '>=18'} cpu: [ppc64] os: [aix] '@esbuild/aix-ppc64@0.28.1': - resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} + resolution: {integrity: sha1-egGo0uwvuy2seK2tCbD6eB5Agr4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz} engines: {node: '>=18'} cpu: [ppc64] os: [aix] '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + resolution: {integrity: sha1-iqSWX40KeYLcIXNL9mATI6Ztp1I=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [android] '@esbuild/android-arm64@0.28.1': - resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} + resolution: {integrity: sha1-tUCifRTkr9BYSWpNvsTT9BTbEQo=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [android] '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + resolution: {integrity: sha1-MAcSEB9/UPHSYnoWLm4JsQm2dno=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm/-/android-arm-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm] os: [android] '@esbuild/android-arm@0.28.1': - resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} + resolution: {integrity: sha1-cEvSl95tdi3lTqu+r79V9nVqvi8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm/-/android-arm-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm] os: [android] '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + resolution: {integrity: sha1-h9+ycWEgK9yVjvSLthsJx1j67hY=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-x64/-/android-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [android] '@esbuild/android-x64@0.28.1': - resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} + resolution: {integrity: sha1-0csWbTSw+/D+irRgpVlPJKN4cB4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-x64/-/android-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [android] '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + resolution: {integrity: sha1-eRl4mOwf90XSHAceHHzDyALwwf0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [darwin] '@esbuild/darwin-arm64@0.28.1': - resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} + resolution: {integrity: sha1-EDSyZFf8iGNo/mG70J9lP2r6jlQ=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + resolution: {integrity: sha1-FGQAqFYhM/RcTS6tzzfd0JcYB54=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [darwin] '@esbuild/darwin-x64@0.28.1': - resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} + resolution: {integrity: sha1-ZVVqQyoeTXIDLYIYwZMvzKGkl3I=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [darwin] '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + resolution: {integrity: sha1-HF+bpyBuFY/SskxZ+i0si7R8oP4=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-arm64@0.28.1': - resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} + resolution: {integrity: sha1-LmHgWS+QMNfj2uGO4l68U1kYrvY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + resolution: {integrity: sha1-6mMfSja+qsS5J5+g/MbKKerusrM=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [freebsd] '@esbuild/freebsd-x64@0.28.1': - resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} + resolution: {integrity: sha1-yV7CiZWe+AecTcqBeh4sS+Zrm9M=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [freebsd] '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + resolution: {integrity: sha1-4QZrzlg5TxsRQd7shVel8KIvWXc=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [linux] '@esbuild/linux-arm64@0.28.1': - resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} + resolution: {integrity: sha1-QLIhdd2gYYLz7oFBGGxf8wTEpxc=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + resolution: {integrity: sha1-RSzWayCTLQi9xTqLYcDjC69DSLk=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm] os: [linux] '@esbuild/linux-arm@0.28.1': - resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} + resolution: {integrity: sha1-wJoPZ5F1kqwN6JKpvk04FN69Kmw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + resolution: {integrity: sha1-sk+KzEW89UGSx/LzvhtT5lUer+A=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz} engines: {node: '>=18'} cpu: [ia32] os: [linux] '@esbuild/linux-ia32@0.28.1': - resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} + resolution: {integrity: sha1-pYD5xnZ5eDOJHlGfx6EzfIr9jbM=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz} engines: {node: '>=18'} cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + resolution: {integrity: sha1-+c//p/yDIlcfvEyLMmjK8VvYGtA=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz} engines: {node: '>=18'} cpu: [loong64] os: [linux] '@esbuild/linux-loong64@0.28.1': - resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} + resolution: {integrity: sha1-RkUs8yHcf56Rwvp4Cla7Vuec1os=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz} engines: {node: '>=18'} cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + resolution: {integrity: sha1-V1oUvXRkT/q4ka3H1+YNJ1KW8s0=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz} engines: {node: '>=18'} cpu: [mips64el] os: [linux] '@esbuild/linux-mips64el@0.28.1': - resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} + resolution: {integrity: sha1-QhGzGE3WYI9T3LIuOfXTTuCIUsg=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz} engines: {node: '>=18'} cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + resolution: {integrity: sha1-dbmccKlfvV93OddpK+/mBgFZGGk=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz} engines: {node: '>=18'} cpu: [ppc64] os: [linux] '@esbuild/linux-ppc64@0.28.1': - resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} + resolution: {integrity: sha1-aXhXwqYcubC2u2ZS5AwdxeHKjl0=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz} engines: {node: '>=18'} cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + resolution: {integrity: sha1-LjJZRAMhpE553fdTXDJQV9qHXNY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz} engines: {node: '>=18'} cpu: [riscv64] os: [linux] '@esbuild/linux-riscv64@0.28.1': - resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} + resolution: {integrity: sha1-0ZKUPrFGpArExkl9DPe+NbmGvwg=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz} engines: {node: '>=18'} cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + resolution: {integrity: sha1-F2dsq7/lko2lsqDW311YzQjbJmM=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz} engines: {node: '>=18'} cpu: [s390x] os: [linux] '@esbuild/linux-s390x@0.28.1': - resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} + resolution: {integrity: sha1-rOoDVtoODrwI+Xz3ucLkAeHmSNw=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz} engines: {node: '>=18'} cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + resolution: {integrity: sha1-BYN3VoXKggZtBMNQfwlSTTzXowY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [linux] '@esbuild/linux-x64@0.28.1': - resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} + resolution: {integrity: sha1-bww84MtkxTS3DExF7LLBbTTjXf0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [linux] '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + resolution: {integrity: sha1-8ExAScsuJS/paxb+2Q9wdGsT9KQ=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] '@esbuild/netbsd-arm64@0.28.1': - resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} + resolution: {integrity: sha1-i813B3oNzjN4tXT+2ybSolO3PTY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + resolution: {integrity: sha1-d9oNCg2CbXySHuo9QCklSLJYoHY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [netbsd] '@esbuild/netbsd-x64@0.28.1': - resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} + resolution: {integrity: sha1-5/sqAemcgwyU5mI82f77TI+1g0c=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [netbsd] '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + resolution: {integrity: sha1-Ypb1hnrt7yioGyKrIAnHhqlS3M0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] '@esbuild/openbsd-arm64@0.28.1': - resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} + resolution: {integrity: sha1-xSkJNy24uG4sVeBaiUADO1Zgo7I=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + resolution: {integrity: sha1-+NIzAzYOJ7Fs8GWyO7/0PBQUJnk=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [openbsd] '@esbuild/openbsd-x64@0.28.1': - resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} + resolution: {integrity: sha1-xCe5vlpkwmL/mn63C1+7qt9EbGw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [openbsd] '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + resolution: {integrity: sha1-SeC3aHRKOSS+DX/ZfdbOmykj2I0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] '@esbuild/openharmony-arm64@0.28.1': - resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} + resolution: {integrity: sha1-3JsUe6yi5sSzyFVxdB70hgpIkJc=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + resolution: {integrity: sha1-pu19Z3jWflKMgfsWWyP0kRubE9Y=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [sunos] '@esbuild/sunos-x64@0.28.1': - resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} + resolution: {integrity: sha1-zoZtEt8TwV5MmfBzo9Rm9uBkmzo=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [sunos] '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + resolution: {integrity: sha1-msFMN44bZTrxfQjn0840yu9YcyM=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz} engines: {node: '>=18'} cpu: [arm64] os: [win32] '@esbuild/win32-arm64@0.28.1': - resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} + resolution: {integrity: sha1-dGjjaS0B1inVlB5dg4F7uA+eObQ=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz} engines: {node: '>=18'} cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + resolution: {integrity: sha1-kYlC3LuzXMFPyjmvuRteaj0Scmc=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz} engines: {node: '>=18'} cpu: [ia32] os: [win32] '@esbuild/win32-ia32@0.28.1': - resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} + resolution: {integrity: sha1-pbwAY/sryrbQ7WPyoVN5WLwmnsY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz} engines: {node: '>=18'} cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + resolution: {integrity: sha1-m9rYF2vngRrRSNH4dyNZBB9GxsU=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz} engines: {node: '>=18'} cpu: [x64] os: [win32] '@esbuild/win32-x64@0.28.1': - resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} + resolution: {integrity: sha1-EAZO5E9DR7kMmgK0Rrv4CpFjKxI=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -761,13 +761,13 @@ packages: resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} '@gltf-transform/core@4.3.0': - resolution: {integrity: sha512-ZeaQfszGJ9LYwELszu45CuDQCsE26lJNNe36FVmN8xclaT6WDdCj7fwGpQXo0/l/YgAVAHX+uO7YNBW75/SRYw==} + resolution: {integrity: sha1-JJCu49WSVD5PndmeCnJOA3oY0Ms=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@gltf-transform/core/-/core-4.3.0.tgz} '@gltf-transform/extensions@4.3.0': - resolution: {integrity: sha512-XDAjQPYVMHa/VDpSbfCBwI+/1muwRJCaXhUpLgnUzAjn0D//PgvIAcbNm1EwBl3LIWBSwjDUCn2LiMAjp+aXVw==} + resolution: {integrity: sha1-sFYKWY/ayvAsnFDbK86twSyzTzs=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@gltf-transform/extensions/-/extensions-4.3.0.tgz} '@gltf-transform/functions@4.3.0': - resolution: {integrity: sha512-FZggHVgt3DHOezgESBrf2vDzuD2FYQYaNT2sT/aP316SIwhuiIwby3z7rhV9joDvWqqUaPkf1UmkjlOaY9riSQ==} + resolution: {integrity: sha1-RtRVYyIlLNPnUTrBXn2Oo8RSv2E=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@gltf-transform/functions/-/functions-4.3.0.tgz} '@google-cloud/compute@5.3.0': resolution: {integrity: sha512-ETGljLELIq71g5iXVJOYa1SWSRLzeGCgGzPxM36RAZF9VYcgZ/019hmtT2QNcS8cNLtuQ4yJyq+cDQzNIUj67g==} @@ -817,138 +817,154 @@ packages: engines: {node: '>=18.18'} '@img/colour@1.1.0': - resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + resolution: {integrity: sha1-sMLC+mYa33Xv/WtJZEl82AAQu50=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/colour/-/colour-1.1.0.tgz} engines: {node: '>=18'} '@img/sharp-darwin-arm64@0.34.5': - resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} + resolution: {integrity: sha1-bgcy3K3hJrZnCveqFwYLkmg16oY=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] '@img/sharp-darwin-x64@0.34.5': - resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} + resolution: {integrity: sha1-Gbwd1uum1alig0mLnJ9AEYDunHs=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] '@img/sharp-libvips-darwin-arm64@1.2.4': - resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} + resolution: {integrity: sha1-KJTAy4fUInbDiJlC6OLbUXpJLEM=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz} cpu: [arm64] os: [darwin] '@img/sharp-libvips-darwin-x64@1.2.4': - resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} + resolution: {integrity: sha1-5jaB9FOalK+c0XJG7YiBc0OG+Mw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz} cpu: [x64] os: [darwin] '@img/sharp-libvips-linux-arm64@1.2.4': - resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} + resolution: {integrity: sha1-sbKIs2hks7zlRa2R+m2tzxpK0xg=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-arm@1.2.4': - resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} + resolution: {integrity: sha1-uSYN0evm+eO9vL3KydKsEl81hS0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.2.4': - resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} + resolution: {integrity: sha1-S4Ps8qgpBXIis4hIx7Ai57TQeqc=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-riscv64@1.2.4': - resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + resolution: {integrity: sha1-iAtGeACeWiCArxkjMrALCq+KSN4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-s390x@1.2.4': - resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} + resolution: {integrity: sha1-dPNDyOEPrYIbOPdc7TBIiTncWew=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-x64@1.2.4': - resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} + resolution: {integrity: sha1-30GD6L2EEPfWG2aFmjXt6rClMc4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} + resolution: {integrity: sha1-yNa0ghHfZxN1QQB+6NG3sfjKjgY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.2.4': - resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} + resolution: {integrity: sha1-vhHHW+5bCAy+4xoVOod5RI+Rn3U=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-linux-arm64@0.34.5': - resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} + resolution: {integrity: sha1-eqd2TvnAAfFeYQVG1C/OVpEXkMw=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-linux-arm@0.34.5': - resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} + resolution: {integrity: sha1-X7DDaV3RJSLTnD/3pryBZGF4Cg0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-linux-ppc64@0.34.5': - resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} + resolution: {integrity: sha1-nCE6gVIKIMr2aXjz1MB0Vv8uCBM=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-linux-riscv64@0.34.5': - resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} + resolution: {integrity: sha1-zdKBgndOrb4E9iZ1oWqrvMuDP2A=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-linux-s390x@0.34.5': - resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} + resolution: {integrity: sha1-k+rGAbnzKbsnkX4OGQmMci1jDfc=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-linux-x64@0.34.5': - resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} + resolution: {integrity: sha1-VavHzXVP/KUAK2wrcZq9/IRoGag=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.5': - resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} + resolution: {integrity: sha1-1lFe6XG7YvcwAaSCm52GWhG3cIY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-linuxmusl-x64@0.34.5': - resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} + resolution: {integrity: sha1-2Xl4rsfFIS+ZlxTy9bc2RX4S7p8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-wasm32@0.34.5': - resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} + resolution: {integrity: sha1-LxWAOqYm+MWd18nQu8dm8atSz6A=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] '@img/sharp-win32-arm64@0.34.5': - resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} + resolution: {integrity: sha1-Nwbp46w1/d/ByH+U6Enxt1MHzgo=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [win32] '@img/sharp-win32-ia32@0.34.5': - resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} + resolution: {integrity: sha1-C3EWZZmwSeAy8IX7kmPgL05HiN4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] '@img/sharp-win32-x64@0.34.5': - resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} + resolution: {integrity: sha1-qB/7AOaSZ80KHWJurtuKhDCysvg=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] @@ -1036,7 +1052,7 @@ packages: engines: {node: '>=14'} '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + resolution: {integrity: sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@pkgjs/parseargs/-/parseargs-0.11.0.tgz} engines: {node: '>=14'} '@pkgr/core@0.3.6': @@ -1079,127 +1095,140 @@ packages: optional: true '@rollup/rollup-android-arm-eabi@4.62.0': - resolution: {integrity: sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==} + resolution: {integrity: sha1-Y0sCWMxQG+8jU87gmoh7Q0gm6B8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz} cpu: [arm] os: [android] '@rollup/rollup-android-arm64@4.62.0': - resolution: {integrity: sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==} + resolution: {integrity: sha1-14BP+cMcK458Udlm/trGWkyChXg=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz} cpu: [arm64] os: [android] '@rollup/rollup-darwin-arm64@4.62.0': - resolution: {integrity: sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==} + resolution: {integrity: sha1-8m0DIo5IyL1V/2voRyQjCNv9tQ0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz} cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-x64@4.62.0': - resolution: {integrity: sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==} + resolution: {integrity: sha1-bpA3zPyAanSaoESwYyVqJq0yM50=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz} cpu: [x64] os: [darwin] '@rollup/rollup-freebsd-arm64@4.62.0': - resolution: {integrity: sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==} + resolution: {integrity: sha1-/0SGBbNsxHNqb+qJvQ63RlPwnLw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz} cpu: [arm64] os: [freebsd] '@rollup/rollup-freebsd-x64@4.62.0': - resolution: {integrity: sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==} + resolution: {integrity: sha1-ow/gCoZRtXeWYCLR2x+xvWd2EF4=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz} cpu: [x64] os: [freebsd] '@rollup/rollup-linux-arm-gnueabihf@4.62.0': - resolution: {integrity: sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==} + resolution: {integrity: sha1-C6hbY4k+sX4RBSvSH+KAmvxHWoI=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.62.0': - resolution: {integrity: sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==} + resolution: {integrity: sha1-mCvyP8/k6OEwApEtQHP1ai7qKjk=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.62.0': - resolution: {integrity: sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==} + resolution: {integrity: sha1-yU0ei9EW6itWmqs33QSmzKt08as=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.62.0': - resolution: {integrity: sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==} + resolution: {integrity: sha1-p9eQFLo8XdLRQDCXMDZdQTl22yQ=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.62.0': - resolution: {integrity: sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==} + resolution: {integrity: sha1-XdlDxYvaVdiyaUJr1gpH3Zwnd24=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.62.0': - resolution: {integrity: sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==} + resolution: {integrity: sha1-CLG502LGSEcwb+qXm5Nek6JZDE4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz} cpu: [loong64] os: [linux] + libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.62.0': - resolution: {integrity: sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==} + resolution: {integrity: sha1-HF3laJZtEQkSgbIrx2Tuet+SZns=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.62.0': - resolution: {integrity: sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==} + resolution: {integrity: sha1-Td4cm5QXSOpJ4Hz8lsZLGCNiJc0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz} cpu: [ppc64] os: [linux] + libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.62.0': - resolution: {integrity: sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==} + resolution: {integrity: sha1-Id0QFAM7lw3SMYnR1NPNq0Xef5o=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.62.0': - resolution: {integrity: sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==} + resolution: {integrity: sha1-RmTguuIFo6GOtkB8EAVMS43X84E=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.62.0': - resolution: {integrity: sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==} + resolution: {integrity: sha1-sFprOvag08m5976cJT608QGmeEg=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.62.0': - resolution: {integrity: sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==} + resolution: {integrity: sha1-hd2nKqCM3CVvgPRtiBsqmIuwzOI=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.62.0': - resolution: {integrity: sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==} + resolution: {integrity: sha1-159b5ipIS1io7E1a4jrPew6xqP8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openbsd-x64@4.62.0': - resolution: {integrity: sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==} + resolution: {integrity: sha1-jrr+DWbN4cirCoZ82dzqieIu57E=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz} cpu: [x64] os: [openbsd] '@rollup/rollup-openharmony-arm64@4.62.0': - resolution: {integrity: sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==} + resolution: {integrity: sha1-EFU3vPyy/YJ5ZRgYTpla5Dlrt5I=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz} cpu: [arm64] os: [openharmony] '@rollup/rollup-win32-arm64-msvc@4.62.0': - resolution: {integrity: sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==} + resolution: {integrity: sha1-COvPwBtbOxBq4HS642kulKY7USU=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz} cpu: [arm64] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.62.0': - resolution: {integrity: sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==} + resolution: {integrity: sha1-STAFyw/KsAnoZszbrTyXxRLCv0s=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz} cpu: [ia32] os: [win32] '@rollup/rollup-win32-x64-gnu@4.62.0': - resolution: {integrity: sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==} + resolution: {integrity: sha1-R7QClN7wNSaDKdX/1TZDR79ybl8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz} cpu: [x64] os: [win32] '@rollup/rollup-win32-x64-msvc@4.62.0': - resolution: {integrity: sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==} + resolution: {integrity: sha1-aFBDT9tpHpskCN7Ztl6jV7+DY20=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz} cpu: [x64] os: [win32] @@ -1355,7 +1384,7 @@ packages: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} '@types/ndarray@1.0.14': - resolution: {integrity: sha512-oANmFZMnFQvb219SSBIhI1Ih/r4CvHDOzkWyJS/XRqkMrGH5/kaPSA1hQhdIBzouaE+5KpE/f5ylI9cujmckQg==} + resolution: {integrity: sha1-lrKMCaNYenbeOAJD+Hu3otY7SyM=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/ndarray/-/ndarray-1.0.14.tgz} '@types/node-fetch@2.6.13': resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} @@ -1379,7 +1408,7 @@ packages: resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + resolution: {integrity: sha1-usywepcLkXB986PoumiWxX6tLRE=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/trusted-types/-/trusted-types-2.0.7.tgz} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -1730,8 +1759,8 @@ packages: react-native-b4a: optional: true - babylonjs-gltf2interface@9.16.0: - resolution: {integrity: sha512-k0bhQF+tWWcNx79lAZ5FztHmhpUDpEaXKPZnKU8eBxKkoalad8/xq+Os4wIsgJpCYlmkD0WRMduS5X+b6C3kqA==} + babylonjs-gltf2interface@9.16.1: + resolution: {integrity: sha1-urdh0FeZowHAsYE457FAG4FAY0I=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/babylonjs-gltf2interface/-/babylonjs-gltf2interface-9.16.1.tgz} balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} @@ -2004,7 +2033,7 @@ packages: engines: {node: '>= 6'} cwise-compiler@1.1.3: - resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} + resolution: {integrity: sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/cwise-compiler/-/cwise-compiler-1.1.3.tgz} data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} @@ -2070,7 +2099,7 @@ packages: engines: {node: '>=0.4.0'} detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + resolution: {integrity: sha1-aJxdzcGQDvVYOky59te0c3QgdK0=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/detect-libc/-/detect-libc-2.1.2.tgz} engines: {node: '>=8'} detect-node@2.1.0: @@ -2187,7 +2216,7 @@ packages: hasBin: true esbuild-wasm@0.27.7: - resolution: {integrity: sha512-1k03e2/tGz+sLz3/xzoZmUsIqtaGIvJa8k4UqUeqCUry83nHmlxQYZUUES0WBFUYilSQUf7nDUGAciIIklljSg==} + resolution: {integrity: sha1-TnzakAyTgRX2bmOQV+0khRY0JUk=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/esbuild-wasm/-/esbuild-wasm-0.27.7.tgz} engines: {node: '>=18'} hasBin: true @@ -2419,12 +2448,12 @@ packages: engines: {node: '>=14.14'} fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/fsevents/-/fsevents-2.3.2.tgz} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + resolution: {integrity: sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/fsevents/-/fsevents-2.3.3.tgz} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] @@ -2668,14 +2697,14 @@ packages: engines: {node: '>=10'} iota-array@1.0.0: - resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==} + resolution: {integrity: sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/iota-array/-/iota-array-1.0.0.tgz} ip-address@10.2.0: resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} engines: {node: '>= 12'} is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + resolution: {integrity: sha1-76ouqdqg16suoTqXsritUf776L4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/is-buffer/-/is-buffer-1.1.6.tgz} is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} @@ -2831,7 +2860,7 @@ packages: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} ktx-parse@1.1.0: - resolution: {integrity: sha512-mKp3y+FaYgR7mXWAbyyzpa/r1zDWeaunH+INJO4fou3hb45XuNSwar+7llrRyvpMWafxSIi99RNFJ05MHedaJQ==} + resolution: {integrity: sha1-EHfId3bdq/wy/AH2RPatj4iQq/g=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ktx-parse/-/ktx-parse-1.1.0.tgz} kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} @@ -3051,16 +3080,16 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} ndarray-lanczos@0.3.0: - resolution: {integrity: sha512-5kBmmG3Zvyj77qxIAC4QFLKuYdDIBJwCG+DukT6jQHNa1Ft74/hPH1z5mbQXeHBt8yvGPBGVrr3wEOdJPYYZYg==} + resolution: {integrity: sha1-WQ89Iq8oHk79P1ea1Ooynf5kr8w=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray-lanczos/-/ndarray-lanczos-0.3.0.tgz} ndarray-ops@1.2.2: - resolution: {integrity: sha512-BppWAFRjMYF7N/r6Ie51q6D4fs0iiGmeXIACKY66fLpnwIui3Wc3CXiD/30mgLbDjPpSLrsqcp3Z62+IcHZsDw==} + resolution: {integrity: sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray-ops/-/ndarray-ops-1.2.2.tgz} ndarray-pixels@5.0.1: - resolution: {integrity: sha512-IBtrpefpqlI8SPDCGjXk4v5NV5z7r3JSuCbfuEEXaM0vrOJtNGgYUa4C3Lt5H+qWdYF4BCPVFsnXhNC7QvZwkw==} + resolution: {integrity: sha1-YV4tN07mnitHJ6hnmclAVNcWmWY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray-pixels/-/ndarray-pixels-5.0.1.tgz} ndarray@1.0.19: - resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==} + resolution: {integrity: sha1-Z4W19d+li4PjGuWyoFjP0as/aU4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray/-/ndarray-1.0.19.tgz} neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -3280,7 +3309,7 @@ packages: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} property-graph@4.1.0: - resolution: {integrity: sha512-AvPcP7XECNWy4LGmFQ77k7un4lSKM4eS29PTvW4ck95uYeLxXPWJM7hLuBqK91FaHqCcgJvIUCuNJjjxKE7VKQ==} + resolution: {integrity: sha1-uBuFn1ETuYDIrPKb8vDs9zktlTQ=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/property-graph/-/property-graph-4.1.0.tgz} proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -3452,7 +3481,7 @@ packages: engines: {node: '>=10'} sharp@0.34.5: - resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} + resolution: {integrity: sha1-tvFI5LjGHxeXveEanRz+u64sV7A=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/sharp/-/sharp-0.34.5.tgz} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@2.0.0: @@ -3751,7 +3780,7 @@ packages: resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} uniq@1.0.1: - resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/uniq/-/uniq-1.0.1.tgz} unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} @@ -4267,24 +4296,24 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babylonjs/addons@9.16.0(@babylonjs/core@9.16.0)': + '@babylonjs/addons@9.16.1(@babylonjs/core@9.16.1)': dependencies: - '@babylonjs/core': 9.16.0 + '@babylonjs/core': 9.16.1 - '@babylonjs/core@9.16.0': {} + '@babylonjs/core@9.16.1': {} '@babylonjs/havok@1.3.13': dependencies: '@types/emscripten': 1.41.5 - '@babylonjs/loaders@9.16.0(@babylonjs/core@9.16.0)(babylonjs-gltf2interface@9.16.0)': + '@babylonjs/loaders@9.16.1(@babylonjs/core@9.16.1)(babylonjs-gltf2interface@9.16.1)': dependencies: - '@babylonjs/core': 9.16.0 - babylonjs-gltf2interface: 9.16.0 + '@babylonjs/core': 9.16.1 + babylonjs-gltf2interface: 9.16.1 - '@babylonjs/materials@9.16.0(@babylonjs/core@9.16.0)': + '@babylonjs/materials@9.16.1(@babylonjs/core@9.16.1)': dependencies: - '@babylonjs/core': 9.16.0 + '@babylonjs/core': 9.16.1 '@colors/colors@1.6.0': {} @@ -5576,7 +5605,7 @@ snapshots: b4a@1.8.0: {} - babylonjs-gltf2interface@9.16.0: {} + babylonjs-gltf2interface@9.16.1: {} balanced-match@4.0.4: {} From 7391bc1ebaf0ae1d99b1c3e874ce0fdc577fa512 Mon Sep 17 00:00:00 2001 From: Raanan Weber Date: Mon, 20 Jul 2026 14:00:31 +0200 Subject: [PATCH 6/6] chore(deps): reconcile lockfile + manifests after master merge Re-resolve pnpm-lock.yaml against the public registry to drop Azure-mirror tarball URLs that failed the supply-chain policy under --frozen-lockfile. Rebuild scene147/scene91 per-scene manifests for the merged state (both remain under their maxRawKB ceilings: 104<105, 58.3<78). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- lab/public/bundle/manifest/scene147.json | 20 +- lab/public/bundle/manifest/scene91.json | 7 +- pnpm-lock.yaml | 302 +++++++++++------------ 3 files changed, 164 insertions(+), 165 deletions(-) diff --git a/lab/public/bundle/manifest/scene147.json b/lab/public/bundle/manifest/scene147.json index 71daa42993..16461b1a31 100644 --- a/lab/public/bundle/manifest/scene147.json +++ b/lab/public/bundle/manifest/scene147.json @@ -1,17 +1,17 @@ { - "rawKB": 103.7, - "gzipKB": 41.4, + "rawKB": 104, + "gzipKB": 41.7, "ignoredRawKB": 0, "runtimeChunks": [ - "scene147-directional-light-CwjabfgT.js", - "scene147-generate-mipmaps-BfjMA7hX.js", - "scene147-gltf-feature-lights-punctual-DdmW_Vp5.js", - "scene147-gltf-feature-registry-CuEQdmGB.js", - "scene147-gltf-glb-parser-BPCGAatE.js", + "scene147-directional-light-B_cQy-dV.js", + "scene147-generate-mipmaps-7FMQd9Gb.js", + "scene147-gltf-feature-lights-punctual-P-dqmGzd.js", + "scene147-gltf-feature-registry-C3gUVyyC.js", + "scene147-gltf-glb-parser-1VrmmUS3.js", "scene147-gltf-light-pointer-state-B7kFTRxK.js", - "scene147-multilight-wgsl-CLgjeQ_G.js", - "scene147-pbr-geometry-view-C1u4RbNF.js", - "scene147-pbr-renderable-BKKiN2pY.js", + "scene147-multilight-wgsl-EMm1KlC7.js", + "scene147-pbr-geometry-view-BTx77bv4.js", + "scene147-pbr-renderable-BAZM7o4F.js", "scene147-shader-composer-B51nefZQ.js", "scene147-ubo-layout-Cs5YvLYZ.js", "scene147.js" diff --git a/lab/public/bundle/manifest/scene91.json b/lab/public/bundle/manifest/scene91.json index 60066a8f77..108e718fde 100644 --- a/lab/public/bundle/manifest/scene91.json +++ b/lab/public/bundle/manifest/scene91.json @@ -1,12 +1,11 @@ { - "rawKB": 58.4, - "gzipKB": 23.4, + "rawKB": 58.3, + "gzipKB": 23.2, "ignoredRawKB": 1451.1, "runtimeChunks": [ "scene91-generate-mipmaps-CUt8_7AA.js", "scene91-manifold-C2NWAcxM-CgxmBSpa.js", - "scene91-standard-renderable-Bf_3y_Rs.js", - "scene91-wgsl-helpers-CwHFFXvt.js", + "scene91-standard-renderable-DkAOv7tp.js", "scene91.js" ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d516408f05..f3c4cb10aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -375,24 +375,24 @@ packages: engines: {node: '>=6.9.0'} '@babylonjs/addons@9.16.1': - resolution: {integrity: sha1-ZZQKI5Zszd7R33cvvKxV5zx/Xug=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/addons/-/addons-9.16.1.tgz} + resolution: {integrity: sha512-bKQlm/PAQvKdWuZUIh+JNAWuopM1ANoPzSEQU4T8mGfo5cDNoFkOdjwbV3qnW7sLnhhUZaTyz14by5EAsVxt0g==} peerDependencies: '@babylonjs/core': ^9.0.0 '@babylonjs/core@9.16.1': - resolution: {integrity: sha1-zcCC4LI6slDrGBte7r0AYiK/iL0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/core/-/core-9.16.1.tgz} + resolution: {integrity: sha512-5Qid4Id3xtDelNlDVoODpFgRkHMz6n+mKcaAI9oZ6wrpxhQ635doHU2hY+hSqY6JyMXxu6iARRxCYe8Y0cd1vQ==} '@babylonjs/havok@1.3.13': resolution: {integrity: sha512-DDrPHbNdeanogdE261r4sfgKgtZb11ccaDjNEbhEcrcWz1XgYHTIJzz5QwO+J4XhOQJLXfn9Lv20cI2REIZiwg==} '@babylonjs/loaders@9.16.1': - resolution: {integrity: sha1-G2KOK0szPMCRFMgq9bx73ysm6ik=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/loaders/-/loaders-9.16.1.tgz} + resolution: {integrity: sha512-BGPhnEoScfXOFOJqvibroRvYSg0tkwlKtdkCTtyfrUR0I53eS+7JIAPMElOGkbLsxzTFGQLPKaxt++wYWdVwjg==} peerDependencies: '@babylonjs/core': ^9.0.0 babylonjs-gltf2interface: ^9.0.0 '@babylonjs/materials@9.16.1': - resolution: {integrity: sha1-wI2ZpI5wu2b4vDLokHvPhd4Hu1A=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@babylonjs/materials/-/materials-9.16.1.tgz} + resolution: {integrity: sha512-8GLV6ZkHdZq33AXeQPmXiAcG4joggVHLEocn/iGuogOyLczl1ex0R42DpnqMMyvgZoRYrW4OMdBCWUP4jlhL6w==} peerDependencies: '@babylonjs/core': ^9.0.0 @@ -404,316 +404,316 @@ packages: resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} '@emnapi/runtime@1.11.1': - resolution: {integrity: sha1-WPHz1dgamxL3k6tojJY3GQECfCQ=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@emnapi/runtime/-/runtime-1.11.1.tgz} + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha1-gPy+NhMOWLdnBRHoiLjoiiWe12w=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz} + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] '@esbuild/aix-ppc64@0.28.1': - resolution: {integrity: sha1-egGo0uwvuy2seK2tCbD6eB5Agr4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz} + resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha1-iqSWX40KeYLcIXNL9mATI6Ztp1I=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz} + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} cpu: [arm64] os: [android] '@esbuild/android-arm64@0.28.1': - resolution: {integrity: sha1-tUCifRTkr9BYSWpNvsTT9BTbEQo=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz} + resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} engines: {node: '>=18'} cpu: [arm64] os: [android] '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha1-MAcSEB9/UPHSYnoWLm4JsQm2dno=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm/-/android-arm-0.25.12.tgz} + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} cpu: [arm] os: [android] '@esbuild/android-arm@0.28.1': - resolution: {integrity: sha1-cEvSl95tdi3lTqu+r79V9nVqvi8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-arm/-/android-arm-0.28.1.tgz} + resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} engines: {node: '>=18'} cpu: [arm] os: [android] '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha1-h9+ycWEgK9yVjvSLthsJx1j67hY=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-x64/-/android-x64-0.25.12.tgz} + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} cpu: [x64] os: [android] '@esbuild/android-x64@0.28.1': - resolution: {integrity: sha1-0csWbTSw+/D+irRgpVlPJKN4cB4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/android-x64/-/android-x64-0.28.1.tgz} + resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} engines: {node: '>=18'} cpu: [x64] os: [android] '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha1-eRl4mOwf90XSHAceHHzDyALwwf0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz} + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] '@esbuild/darwin-arm64@0.28.1': - resolution: {integrity: sha1-EDSyZFf8iGNo/mG70J9lP2r6jlQ=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz} + resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha1-FGQAqFYhM/RcTS6tzzfd0JcYB54=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz} + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] '@esbuild/darwin-x64@0.28.1': - resolution: {integrity: sha1-ZVVqQyoeTXIDLYIYwZMvzKGkl3I=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz} + resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha1-HF+bpyBuFY/SskxZ+i0si7R8oP4=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz} + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-arm64@0.28.1': - resolution: {integrity: sha1-LmHgWS+QMNfj2uGO4l68U1kYrvY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz} + resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha1-6mMfSja+qsS5J5+g/MbKKerusrM=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz} + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] '@esbuild/freebsd-x64@0.28.1': - resolution: {integrity: sha1-yV7CiZWe+AecTcqBeh4sS+Zrm9M=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz} + resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha1-4QZrzlg5TxsRQd7shVel8KIvWXc=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz} + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] '@esbuild/linux-arm64@0.28.1': - resolution: {integrity: sha1-QLIhdd2gYYLz7oFBGGxf8wTEpxc=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz} + resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha1-RSzWayCTLQi9xTqLYcDjC69DSLk=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz} + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} cpu: [arm] os: [linux] '@esbuild/linux-arm@0.28.1': - resolution: {integrity: sha1-wJoPZ5F1kqwN6JKpvk04FN69Kmw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz} + resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha1-sk+KzEW89UGSx/LzvhtT5lUer+A=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz} + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] '@esbuild/linux-ia32@0.28.1': - resolution: {integrity: sha1-pYD5xnZ5eDOJHlGfx6EzfIr9jbM=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz} + resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} engines: {node: '>=18'} cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha1-+c//p/yDIlcfvEyLMmjK8VvYGtA=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz} + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} cpu: [loong64] os: [linux] '@esbuild/linux-loong64@0.28.1': - resolution: {integrity: sha1-RkUs8yHcf56Rwvp4Cla7Vuec1os=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz} + resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha1-V1oUvXRkT/q4ka3H1+YNJ1KW8s0=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz} + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] '@esbuild/linux-mips64el@0.28.1': - resolution: {integrity: sha1-QhGzGE3WYI9T3LIuOfXTTuCIUsg=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz} + resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha1-dbmccKlfvV93OddpK+/mBgFZGGk=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz} + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] '@esbuild/linux-ppc64@0.28.1': - resolution: {integrity: sha1-aXhXwqYcubC2u2ZS5AwdxeHKjl0=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz} + resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha1-LjJZRAMhpE553fdTXDJQV9qHXNY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz} + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] '@esbuild/linux-riscv64@0.28.1': - resolution: {integrity: sha1-0ZKUPrFGpArExkl9DPe+NbmGvwg=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz} + resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha1-F2dsq7/lko2lsqDW311YzQjbJmM=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz} + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] '@esbuild/linux-s390x@0.28.1': - resolution: {integrity: sha1-rOoDVtoODrwI+Xz3ucLkAeHmSNw=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz} + resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} engines: {node: '>=18'} cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha1-BYN3VoXKggZtBMNQfwlSTTzXowY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz} + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} cpu: [x64] os: [linux] '@esbuild/linux-x64@0.28.1': - resolution: {integrity: sha1-bww84MtkxTS3DExF7LLBbTTjXf0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz} + resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} engines: {node: '>=18'} cpu: [x64] os: [linux] '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha1-8ExAScsuJS/paxb+2Q9wdGsT9KQ=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz} + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] '@esbuild/netbsd-arm64@0.28.1': - resolution: {integrity: sha1-i813B3oNzjN4tXT+2ybSolO3PTY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz} + resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha1-d9oNCg2CbXySHuo9QCklSLJYoHY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz} + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] '@esbuild/netbsd-x64@0.28.1': - resolution: {integrity: sha1-5/sqAemcgwyU5mI82f77TI+1g0c=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz} + resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha1-Ypb1hnrt7yioGyKrIAnHhqlS3M0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz} + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] '@esbuild/openbsd-arm64@0.28.1': - resolution: {integrity: sha1-xSkJNy24uG4sVeBaiUADO1Zgo7I=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz} + resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha1-+NIzAzYOJ7Fs8GWyO7/0PBQUJnk=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz} + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] '@esbuild/openbsd-x64@0.28.1': - resolution: {integrity: sha1-xCe5vlpkwmL/mn63C1+7qt9EbGw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz} + resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha1-SeC3aHRKOSS+DX/ZfdbOmykj2I0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz} + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] '@esbuild/openharmony-arm64@0.28.1': - resolution: {integrity: sha1-3JsUe6yi5sSzyFVxdB70hgpIkJc=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz} + resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha1-pu19Z3jWflKMgfsWWyP0kRubE9Y=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz} + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} cpu: [x64] os: [sunos] '@esbuild/sunos-x64@0.28.1': - resolution: {integrity: sha1-zoZtEt8TwV5MmfBzo9Rm9uBkmzo=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz} + resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} engines: {node: '>=18'} cpu: [x64] os: [sunos] '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha1-msFMN44bZTrxfQjn0840yu9YcyM=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz} + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] '@esbuild/win32-arm64@0.28.1': - resolution: {integrity: sha1-dGjjaS0B1inVlB5dg4F7uA+eObQ=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz} + resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha1-kYlC3LuzXMFPyjmvuRteaj0Scmc=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz} + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] '@esbuild/win32-ia32@0.28.1': - resolution: {integrity: sha1-pbwAY/sryrbQ7WPyoVN5WLwmnsY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz} + resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} engines: {node: '>=18'} cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha1-m9rYF2vngRrRSNH4dyNZBB9GxsU=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz} + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} cpu: [x64] os: [win32] '@esbuild/win32-x64@0.28.1': - resolution: {integrity: sha1-EAZO5E9DR7kMmgK0Rrv4CpFjKxI=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz} + resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -761,13 +761,13 @@ packages: resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} '@gltf-transform/core@4.3.0': - resolution: {integrity: sha1-JJCu49WSVD5PndmeCnJOA3oY0Ms=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@gltf-transform/core/-/core-4.3.0.tgz} + resolution: {integrity: sha512-ZeaQfszGJ9LYwELszu45CuDQCsE26lJNNe36FVmN8xclaT6WDdCj7fwGpQXo0/l/YgAVAHX+uO7YNBW75/SRYw==} '@gltf-transform/extensions@4.3.0': - resolution: {integrity: sha1-sFYKWY/ayvAsnFDbK86twSyzTzs=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@gltf-transform/extensions/-/extensions-4.3.0.tgz} + resolution: {integrity: sha512-XDAjQPYVMHa/VDpSbfCBwI+/1muwRJCaXhUpLgnUzAjn0D//PgvIAcbNm1EwBl3LIWBSwjDUCn2LiMAjp+aXVw==} '@gltf-transform/functions@4.3.0': - resolution: {integrity: sha1-RtRVYyIlLNPnUTrBXn2Oo8RSv2E=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@gltf-transform/functions/-/functions-4.3.0.tgz} + resolution: {integrity: sha512-FZggHVgt3DHOezgESBrf2vDzuD2FYQYaNT2sT/aP316SIwhuiIwby3z7rhV9joDvWqqUaPkf1UmkjlOaY9riSQ==} '@google-cloud/compute@5.3.0': resolution: {integrity: sha512-ETGljLELIq71g5iXVJOYa1SWSRLzeGCgGzPxM36RAZF9VYcgZ/019hmtT2QNcS8cNLtuQ4yJyq+cDQzNIUj67g==} @@ -817,154 +817,154 @@ packages: engines: {node: '>=18.18'} '@img/colour@1.1.0': - resolution: {integrity: sha1-sMLC+mYa33Xv/WtJZEl82AAQu50=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/colour/-/colour-1.1.0.tgz} + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} '@img/sharp-darwin-arm64@0.34.5': - resolution: {integrity: sha1-bgcy3K3hJrZnCveqFwYLkmg16oY=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz} + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] '@img/sharp-darwin-x64@0.34.5': - resolution: {integrity: sha1-Gbwd1uum1alig0mLnJ9AEYDunHs=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz} + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] '@img/sharp-libvips-darwin-arm64@1.2.4': - resolution: {integrity: sha1-KJTAy4fUInbDiJlC6OLbUXpJLEM=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz} + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} cpu: [arm64] os: [darwin] '@img/sharp-libvips-darwin-x64@1.2.4': - resolution: {integrity: sha1-5jaB9FOalK+c0XJG7YiBc0OG+Mw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz} + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} cpu: [x64] os: [darwin] '@img/sharp-libvips-linux-arm64@1.2.4': - resolution: {integrity: sha1-sbKIs2hks7zlRa2R+m2tzxpK0xg=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz} + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] libc: [glibc] '@img/sharp-libvips-linux-arm@1.2.4': - resolution: {integrity: sha1-uSYN0evm+eO9vL3KydKsEl81hS0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz} + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.2.4': - resolution: {integrity: sha1-S4Ps8qgpBXIis4hIx7Ai57TQeqc=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz} + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] libc: [glibc] '@img/sharp-libvips-linux-riscv64@1.2.4': - resolution: {integrity: sha1-iAtGeACeWiCArxkjMrALCq+KSN4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz} + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} cpu: [riscv64] os: [linux] libc: [glibc] '@img/sharp-libvips-linux-s390x@1.2.4': - resolution: {integrity: sha1-dPNDyOEPrYIbOPdc7TBIiTncWew=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz} + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] libc: [glibc] '@img/sharp-libvips-linux-x64@1.2.4': - resolution: {integrity: sha1-30GD6L2EEPfWG2aFmjXt6rClMc4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz} + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - resolution: {integrity: sha1-yNa0ghHfZxN1QQB+6NG3sfjKjgY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz} + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.2.4': - resolution: {integrity: sha1-vhHHW+5bCAy+4xoVOod5RI+Rn3U=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz} + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] libc: [musl] '@img/sharp-linux-arm64@0.34.5': - resolution: {integrity: sha1-eqd2TvnAAfFeYQVG1C/OVpEXkMw=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz} + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] libc: [glibc] '@img/sharp-linux-arm@0.34.5': - resolution: {integrity: sha1-X7DDaV3RJSLTnD/3pryBZGF4Cg0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz} + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] libc: [glibc] '@img/sharp-linux-ppc64@0.34.5': - resolution: {integrity: sha1-nCE6gVIKIMr2aXjz1MB0Vv8uCBM=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz} + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] libc: [glibc] '@img/sharp-linux-riscv64@0.34.5': - resolution: {integrity: sha1-zdKBgndOrb4E9iZ1oWqrvMuDP2A=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz} + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [riscv64] os: [linux] libc: [glibc] '@img/sharp-linux-s390x@0.34.5': - resolution: {integrity: sha1-k+rGAbnzKbsnkX4OGQmMci1jDfc=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz} + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] libc: [glibc] '@img/sharp-linux-x64@0.34.5': - resolution: {integrity: sha1-VavHzXVP/KUAK2wrcZq9/IRoGag=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz} + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.5': - resolution: {integrity: sha1-1lFe6XG7YvcwAaSCm52GWhG3cIY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz} + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] libc: [musl] '@img/sharp-linuxmusl-x64@0.34.5': - resolution: {integrity: sha1-2Xl4rsfFIS+ZlxTy9bc2RX4S7p8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz} + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] libc: [musl] '@img/sharp-wasm32@0.34.5': - resolution: {integrity: sha1-LxWAOqYm+MWd18nQu8dm8atSz6A=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz} + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] '@img/sharp-win32-arm64@0.34.5': - resolution: {integrity: sha1-Nwbp46w1/d/ByH+U6Enxt1MHzgo=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz} + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [win32] '@img/sharp-win32-ia32@0.34.5': - resolution: {integrity: sha1-C3EWZZmwSeAy8IX7kmPgL05HiN4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz} + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] '@img/sharp-win32-x64@0.34.5': - resolution: {integrity: sha1-qB/7AOaSZ80KHWJurtuKhDCysvg=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz} + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] @@ -1052,7 +1052,7 @@ packages: engines: {node: '>=14'} '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@pkgjs/parseargs/-/parseargs-0.11.0.tgz} + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} '@pkgr/core@0.3.6': @@ -1095,140 +1095,140 @@ packages: optional: true '@rollup/rollup-android-arm-eabi@4.62.0': - resolution: {integrity: sha1-Y0sCWMxQG+8jU87gmoh7Q0gm6B8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz} + resolution: {integrity: sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==} cpu: [arm] os: [android] '@rollup/rollup-android-arm64@4.62.0': - resolution: {integrity: sha1-14BP+cMcK458Udlm/trGWkyChXg=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz} + resolution: {integrity: sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==} cpu: [arm64] os: [android] '@rollup/rollup-darwin-arm64@4.62.0': - resolution: {integrity: sha1-8m0DIo5IyL1V/2voRyQjCNv9tQ0=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz} + resolution: {integrity: sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==} cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-x64@4.62.0': - resolution: {integrity: sha1-bpA3zPyAanSaoESwYyVqJq0yM50=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz} + resolution: {integrity: sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==} cpu: [x64] os: [darwin] '@rollup/rollup-freebsd-arm64@4.62.0': - resolution: {integrity: sha1-/0SGBbNsxHNqb+qJvQ63RlPwnLw=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz} + resolution: {integrity: sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==} cpu: [arm64] os: [freebsd] '@rollup/rollup-freebsd-x64@4.62.0': - resolution: {integrity: sha1-ow/gCoZRtXeWYCLR2x+xvWd2EF4=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz} + resolution: {integrity: sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==} cpu: [x64] os: [freebsd] '@rollup/rollup-linux-arm-gnueabihf@4.62.0': - resolution: {integrity: sha1-C6hbY4k+sX4RBSvSH+KAmvxHWoI=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz} + resolution: {integrity: sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==} cpu: [arm] os: [linux] libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.62.0': - resolution: {integrity: sha1-mCvyP8/k6OEwApEtQHP1ai7qKjk=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz} + resolution: {integrity: sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==} cpu: [arm] os: [linux] libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.62.0': - resolution: {integrity: sha1-yU0ei9EW6itWmqs33QSmzKt08as=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz} + resolution: {integrity: sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==} cpu: [arm64] os: [linux] libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.62.0': - resolution: {integrity: sha1-p9eQFLo8XdLRQDCXMDZdQTl22yQ=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz} + resolution: {integrity: sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==} cpu: [arm64] os: [linux] libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.62.0': - resolution: {integrity: sha1-XdlDxYvaVdiyaUJr1gpH3Zwnd24=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz} + resolution: {integrity: sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==} cpu: [loong64] os: [linux] libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.62.0': - resolution: {integrity: sha1-CLG502LGSEcwb+qXm5Nek6JZDE4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz} + resolution: {integrity: sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==} cpu: [loong64] os: [linux] libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.62.0': - resolution: {integrity: sha1-HF3laJZtEQkSgbIrx2Tuet+SZns=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz} + resolution: {integrity: sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==} cpu: [ppc64] os: [linux] libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.62.0': - resolution: {integrity: sha1-Td4cm5QXSOpJ4Hz8lsZLGCNiJc0=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz} + resolution: {integrity: sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==} cpu: [ppc64] os: [linux] libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.62.0': - resolution: {integrity: sha1-Id0QFAM7lw3SMYnR1NPNq0Xef5o=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz} + resolution: {integrity: sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==} cpu: [riscv64] os: [linux] libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.62.0': - resolution: {integrity: sha1-RmTguuIFo6GOtkB8EAVMS43X84E=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz} + resolution: {integrity: sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==} cpu: [riscv64] os: [linux] libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.62.0': - resolution: {integrity: sha1-sFprOvag08m5976cJT608QGmeEg=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz} + resolution: {integrity: sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==} cpu: [s390x] os: [linux] libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.62.0': - resolution: {integrity: sha1-hd2nKqCM3CVvgPRtiBsqmIuwzOI=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz} + resolution: {integrity: sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==} cpu: [x64] os: [linux] libc: [glibc] '@rollup/rollup-linux-x64-musl@4.62.0': - resolution: {integrity: sha1-159b5ipIS1io7E1a4jrPew6xqP8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz} + resolution: {integrity: sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==} cpu: [x64] os: [linux] libc: [musl] '@rollup/rollup-openbsd-x64@4.62.0': - resolution: {integrity: sha1-jrr+DWbN4cirCoZ82dzqieIu57E=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz} + resolution: {integrity: sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==} cpu: [x64] os: [openbsd] '@rollup/rollup-openharmony-arm64@4.62.0': - resolution: {integrity: sha1-EFU3vPyy/YJ5ZRgYTpla5Dlrt5I=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz} + resolution: {integrity: sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==} cpu: [arm64] os: [openharmony] '@rollup/rollup-win32-arm64-msvc@4.62.0': - resolution: {integrity: sha1-COvPwBtbOxBq4HS642kulKY7USU=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz} + resolution: {integrity: sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==} cpu: [arm64] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.62.0': - resolution: {integrity: sha1-STAFyw/KsAnoZszbrTyXxRLCv0s=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz} + resolution: {integrity: sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==} cpu: [ia32] os: [win32] '@rollup/rollup-win32-x64-gnu@4.62.0': - resolution: {integrity: sha1-R7QClN7wNSaDKdX/1TZDR79ybl8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz} + resolution: {integrity: sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==} cpu: [x64] os: [win32] '@rollup/rollup-win32-x64-msvc@4.62.0': - resolution: {integrity: sha1-aFBDT9tpHpskCN7Ztl6jV7+DY20=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz} + resolution: {integrity: sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==} cpu: [x64] os: [win32] @@ -1384,7 +1384,7 @@ packages: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} '@types/ndarray@1.0.14': - resolution: {integrity: sha1-lrKMCaNYenbeOAJD+Hu3otY7SyM=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/ndarray/-/ndarray-1.0.14.tgz} + resolution: {integrity: sha512-oANmFZMnFQvb219SSBIhI1Ih/r4CvHDOzkWyJS/XRqkMrGH5/kaPSA1hQhdIBzouaE+5KpE/f5ylI9cujmckQg==} '@types/node-fetch@2.6.13': resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} @@ -1408,7 +1408,7 @@ packages: resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} '@types/trusted-types@2.0.7': - resolution: {integrity: sha1-usywepcLkXB986PoumiWxX6tLRE=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/trusted-types/-/trusted-types-2.0.7.tgz} + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -1750,7 +1750,7 @@ packages: optional: true babylonjs-gltf2interface@9.16.1: - resolution: {integrity: sha1-urdh0FeZowHAsYE457FAG4FAY0I=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/babylonjs-gltf2interface/-/babylonjs-gltf2interface-9.16.1.tgz} + resolution: {integrity: sha512-FC0mRwXlhj5acugKfYtV/y9OHUD06NgwdKQup9FxfhEcExYteFFAaTaw1x2hUgpROoyA+YWhV9Df+OfhlBozeA==} balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} @@ -2023,7 +2023,7 @@ packages: engines: {node: '>= 6'} cwise-compiler@1.1.3: - resolution: {integrity: sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/cwise-compiler/-/cwise-compiler-1.1.3.tgz} + resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} @@ -2089,7 +2089,7 @@ packages: engines: {node: '>=0.4.0'} detect-libc@2.1.2: - resolution: {integrity: sha1-aJxdzcGQDvVYOky59te0c3QgdK0=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/detect-libc/-/detect-libc-2.1.2.tgz} + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} detect-node@2.1.0: @@ -2206,7 +2206,7 @@ packages: hasBin: true esbuild-wasm@0.27.7: - resolution: {integrity: sha1-TnzakAyTgRX2bmOQV+0khRY0JUk=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/esbuild-wasm/-/esbuild-wasm-0.27.7.tgz} + resolution: {integrity: sha512-1k03e2/tGz+sLz3/xzoZmUsIqtaGIvJa8k4UqUeqCUry83nHmlxQYZUUES0WBFUYilSQUf7nDUGAciIIklljSg==} engines: {node: '>=18'} hasBin: true @@ -2364,11 +2364,11 @@ packages: fast-uri@4.0.0: resolution: {integrity: sha512-l90y339r2DkZs/ldcWQXcwTjkbp/NbuJDGYoQ3awBgaT3GXOFkm3OkVpz6Z86TywYcya0eVP2r1kTV90f3krGQ==} - fast-xml-builder@1.2.1: - resolution: {integrity: sha512-tPb5TTWfgfVx5BNSi2xV0eLr89POeXXn0dXIsCJ9m1narrWxeIyx6je9d7Rce/3NyXLbvuQmLkxq+RuxMWejvw==} + fast-xml-builder@1.3.0: + resolution: {integrity: sha512-F74cZEdCvuw9P41GAC3rod4X04jjWGM1JPEv/GWSqFTWLsdyMSBMBMlm9Hk3GLBgLBbdBNY8yee0pQh2RBVESQ==} - fast-xml-parser@5.9.3: - resolution: {integrity: sha512-brCNCeScma/kqa54J4PIDriSSSLssRkuYaUCpvHJulGc3HGI/xxKUCTDcYkAdqJsyb//ydpbxecjC3hB9+tb/g==} + fast-xml-parser@5.10.0: + resolution: {integrity: sha512-SLhnTEqE5QpJHq/6zl9bsmImEP2adv+y6Wy+cJa7nVTRzQh1OZfCe9k29M5xN74LWnu0xa1zrUrq3KnOKl92Fg==} hasBin: true fdir@6.5.0: @@ -2438,12 +2438,12 @@ packages: engines: {node: '>=14.14'} fsevents@2.3.2: - resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/fsevents/-/fsevents-2.3.2.tgz} + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] fsevents@2.3.3: - resolution: {integrity: sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/fsevents/-/fsevents-2.3.3.tgz} + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] @@ -2687,14 +2687,14 @@ packages: engines: {node: '>=10'} iota-array@1.0.0: - resolution: {integrity: sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/iota-array/-/iota-array-1.0.0.tgz} + resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==} ip-address@10.2.0: resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} engines: {node: '>= 12'} is-buffer@1.1.6: - resolution: {integrity: sha1-76ouqdqg16suoTqXsritUf776L4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/is-buffer/-/is-buffer-1.1.6.tgz} + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} @@ -2756,8 +2756,8 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-unsafe@1.0.1: - resolution: {integrity: sha512-CLK2+VdgERgD96EYm5lUQssZYlRg2tkZnbsxZoacmSiRxiFJ4Nk4SzjCl+Ur+v3kXIY9dTIdb3IH22y1mZ56LA==} + is-unsafe@2.0.0: + resolution: {integrity: sha512-2LdV822R+wmI86unXA93WCFpL6g+av8ynWk0nrHyJqGop5VoocYsSLFgN8jrfalT6iGeLNM4KXuVSsULP53kEA==} is-wsl@3.1.1: resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} @@ -2850,7 +2850,7 @@ packages: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} ktx-parse@1.1.0: - resolution: {integrity: sha1-EHfId3bdq/wy/AH2RPatj4iQq/g=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ktx-parse/-/ktx-parse-1.1.0.tgz} + resolution: {integrity: sha512-mKp3y+FaYgR7mXWAbyyzpa/r1zDWeaunH+INJO4fou3hb45XuNSwar+7llrRyvpMWafxSIi99RNFJ05MHedaJQ==} kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} @@ -3070,16 +3070,16 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} ndarray-lanczos@0.3.0: - resolution: {integrity: sha1-WQ89Iq8oHk79P1ea1Ooynf5kr8w=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray-lanczos/-/ndarray-lanczos-0.3.0.tgz} + resolution: {integrity: sha512-5kBmmG3Zvyj77qxIAC4QFLKuYdDIBJwCG+DukT6jQHNa1Ft74/hPH1z5mbQXeHBt8yvGPBGVrr3wEOdJPYYZYg==} ndarray-ops@1.2.2: - resolution: {integrity: sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray-ops/-/ndarray-ops-1.2.2.tgz} + resolution: {integrity: sha512-BppWAFRjMYF7N/r6Ie51q6D4fs0iiGmeXIACKY66fLpnwIui3Wc3CXiD/30mgLbDjPpSLrsqcp3Z62+IcHZsDw==} ndarray-pixels@5.0.1: - resolution: {integrity: sha1-YV4tN07mnitHJ6hnmclAVNcWmWY=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray-pixels/-/ndarray-pixels-5.0.1.tgz} + resolution: {integrity: sha512-IBtrpefpqlI8SPDCGjXk4v5NV5z7r3JSuCbfuEEXaM0vrOJtNGgYUa4C3Lt5H+qWdYF4BCPVFsnXhNC7QvZwkw==} ndarray@1.0.19: - resolution: {integrity: sha1-Z4W19d+li4PjGuWyoFjP0as/aU4=, tarball: https://ms-feed-12.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ndarray/-/ndarray-1.0.19.tgz} + resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==} neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -3219,8 +3219,8 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-expression-matcher@1.6.1: - resolution: {integrity: sha512-h7bxdzhHk8Knyc4Tj+jMaa7fEEoUJy7p1qtbVgkYg1Uhpe5Np5VuGXCRZnkZvU+Q42M1vStt0ifa3ueykRJPmQ==} + path-expression-matcher@1.6.2: + resolution: {integrity: sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==} engines: {node: '>=14.0.0'} path-key@3.1.1: @@ -3299,7 +3299,7 @@ packages: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} property-graph@4.1.0: - resolution: {integrity: sha1-uBuFn1ETuYDIrPKb8vDs9zktlTQ=, tarball: https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/property-graph/-/property-graph-4.1.0.tgz} + resolution: {integrity: sha512-AvPcP7XECNWy4LGmFQ77k7un4lSKM4eS29PTvW4ck95uYeLxXPWJM7hLuBqK91FaHqCcgJvIUCuNJjjxKE7VKQ==} proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -3471,7 +3471,7 @@ packages: engines: {node: '>=10'} sharp@0.34.5: - resolution: {integrity: sha1-tvFI5LjGHxeXveEanRz+u64sV7A=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/sharp/-/sharp-0.34.5.tgz} + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@2.0.0: @@ -3770,7 +3770,7 @@ packages: resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} uniq@1.0.1: - resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=, tarball: https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/uniq/-/uniq-1.0.1.tgz} + resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} @@ -3996,8 +3996,8 @@ packages: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} - xml-naming@0.1.0: - resolution: {integrity: sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==} + xml-naming@0.3.0: + resolution: {integrity: sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ==} engines: {node: '>=16.0.0'} y18n@5.0.8: @@ -6301,19 +6301,19 @@ snapshots: fast-uri@4.0.0: {} - fast-xml-builder@1.2.1: + fast-xml-builder@1.3.0: dependencies: - path-expression-matcher: 1.6.1 - xml-naming: 0.1.0 + path-expression-matcher: 1.6.2 + xml-naming: 0.3.0 - fast-xml-parser@5.9.3: + fast-xml-parser@5.10.0: dependencies: '@nodable/entities': 2.2.0 - fast-xml-builder: 1.2.1 - is-unsafe: 1.0.1 - path-expression-matcher: 1.6.1 + fast-xml-builder: 1.3.0 + is-unsafe: 2.0.0 + path-expression-matcher: 1.6.2 strnum: 2.4.1 - xml-naming: 0.1.0 + xml-naming: 0.3.0 fdir@6.5.0(picomatch@4.0.4): optionalDependencies: @@ -6751,7 +6751,7 @@ snapshots: is-typedarray@1.0.0: {} - is-unsafe@1.0.1: {} + is-unsafe@2.0.0: {} is-wsl@3.1.1: dependencies: @@ -6920,7 +6920,7 @@ snapshots: commander: 13.1.0 convert-source-map: 2.0.0 esbuild-wasm: 0.27.7 - fast-xml-parser: 5.9.3 + fast-xml-parser: 5.10.0 fflate: 0.8.2 magic-string: 0.30.21 @@ -7180,7 +7180,7 @@ snapshots: path-exists@4.0.0: {} - path-expression-matcher@1.6.1: {} + path-expression-matcher@1.6.2: {} path-key@3.1.1: {} @@ -8022,7 +8022,7 @@ snapshots: xdg-basedir@5.1.0: {} - xml-naming@0.1.0: {} + xml-naming@0.3.0: {} y18n@5.0.8: {}