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 a65f53f6ab..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,7 +18,16 @@ 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"; const SPLAT_URL = "https://cdn.jsdelivr.net/gh/CedricGuillemet/dump@master/Halo_Believe.splat"; diff --git a/lab/lite/src/bjs/scene128.ts b/lab/lite/src/bjs/scene128.ts index f9ad5aa470..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,7 +16,16 @@ 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"; const SPLAT_URL = "https://cdn.jsdelivr.net/gh/CedricGuillemet/dump@master/Halo_Believe.splat"; diff --git a/lab/lite/src/bjs/scene129.ts b/lab/lite/src/bjs/scene129.ts index d50067d101..353de0674f 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://cdn.jsdelivr.net/gh/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..991885728d 100644 --- a/lab/lite/src/bjs/scene140.ts +++ b/lab/lite/src/bjs/scene140.ts @@ -6,9 +6,12 @@ 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"; +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/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/scene146.ts b/lab/lite/src/bjs/scene146.ts index a8b5f0cd09..0cfad1da78 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/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/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/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/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..3834899f8d 100644 --- a/lab/lite/src/bjs/scene24.ts +++ b/lab/lite/src/bjs/scene24.ts @@ -3,6 +3,14 @@ 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"; +// 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/scene34.ts b/lab/lite/src/bjs/scene34.ts index b7e7b23d26..92ac126813 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/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/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..1307d57b14 100644 --- a/lab/lite/src/bjs/scene66.ts +++ b/lab/lite/src/bjs/scene66.ts @@ -7,9 +7,12 @@ 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"; +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/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/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 b957f0a385..a0f38fea5e 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.16.1", + "@babylonjs/core": "^9.16.1", + "@babylonjs/havok": "^1.3.13", + "@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.5.0", - "manifold-3d": "3.4.0", + "babylonjs-gltf2interface": "^9.16.1", + "manifold-3d": "3.5.1", "typescript": "^6.0.3", "vite": "^6.4.3" } diff --git a/lab/public/bundle/manifest/scene91.json b/lab/public/bundle/manifest/scene91.json index 828fb7c86c..108e718fde 100644 --- a/lab/public/bundle/manifest/scene91.json +++ b/lab/public/bundle/manifest/scene91.json @@ -1,10 +1,10 @@ { "rawKB": 58.3, "gzipKB": 23.2, - "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-DkAOv7tp.js", "scene91.js" ] diff --git a/packages/babylon-lite/package.json b/packages/babylon-lite/package.json index d86c3e81c2..90aabe6bd4 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 9a27e93fd4..f3c4cb10aa 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.16.1 + version: 9.16.1(@babylonjs/core@9.16.1) '@babylonjs/core': - specifier: ^9.5.0 - version: 9.5.0 + specifier: ^9.16.1 + version: 9.16.1 '@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.16.1 + version: 9.16.1(@babylonjs/core@9.16.1)(babylonjs-gltf2interface@9.16.1) '@babylonjs/materials': - specifier: ^9.5.0 - version: 9.10.1(@babylonjs/core@9.5.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,11 +143,11 @@ importers: specifier: ^0.1.52 version: 0.1.69 babylonjs-gltf2interface: - specifier: ^9.5.0 - version: 9.5.0 + specifier: ^9.16.1 + version: 9.16.1 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: ^6.0.3 version: 6.0.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@6.0.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.16.1': + resolution: {integrity: sha512-bKQlm/PAQvKdWuZUIh+JNAWuopM1ANoPzSEQU4T8mGfo5cDNoFkOdjwbV3qnW7sLnhhUZaTyz14by5EAsVxt0g==} peerDependencies: '@babylonjs/core': ^9.0.0 - '@babylonjs/core@9.5.0': - resolution: {integrity: sha512-DTqkOTueTp/xSw/VTVzrxLpBWjamVIKXbAbgqDHRR/V3Am5F5LRGscaWjWgPc5INv7HD2zTln/lyWdm47KQkgQ==} + '@babylonjs/core@9.16.1': + resolution: {integrity: sha512-5Qid4Id3xtDelNlDVoODpFgRkHMz6n+mKcaAI9oZ6wrpxhQ635doHU2hY+hSqY6JyMXxu6iARRxCYe8Y0cd1vQ==} - '@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.16.1': + resolution: {integrity: sha512-BGPhnEoScfXOFOJqvibroRvYSg0tkwlKtdkCTtyfrUR0I53eS+7JIAPMElOGkbLsxzTFGQLPKaxt++wYWdVwjg==} 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.16.1': + resolution: {integrity: sha512-8GLV6ZkHdZq33AXeQPmXiAcG4joggVHLEocn/iGuogOyLczl1ex0R42DpnqMMyvgZoRYrW4OMdBCWUP4jlhL6w==} peerDependencies: '@babylonjs/core': ^9.0.0 @@ -1033,6 +1033,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==} @@ -1703,6 +1706,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'} @@ -1743,8 +1749,8 @@ packages: react-native-b4a: optional: true - babylonjs-gltf2interface@9.5.0: - resolution: {integrity: sha512-kgq1xWYZSqIyZ+qTG9deXAnVjiDg3wMZHXm4zqzcFZclSmJDV2ACGMEh5C5Styzg59VS5XeukdYGjmBcJmCebA==} + babylonjs-gltf2interface@9.16.1: + resolution: {integrity: sha512-FC0mRwXlhj5acugKfYtV/y9OHUD06NgwdKQup9FxfhEcExYteFFAaTaw1x2hUgpROoyA+YWhV9Df+OfhlBozeA==} balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} @@ -2358,6 +2364,13 @@ packages: fast-uri@4.0.0: resolution: {integrity: sha512-l90y339r2DkZs/ldcWQXcwTjkbp/NbuJDGYoQ3awBgaT3GXOFkm3OkVpz6Z86TywYcya0eVP2r1kTV90f3krGQ==} + fast-xml-builder@1.3.0: + resolution: {integrity: sha512-F74cZEdCvuw9P41GAC3rod4X04jjWGM1JPEv/GWSqFTWLsdyMSBMBMlm9Hk3GLBgLBbdBNY8yee0pQh2RBVESQ==} + + fast-xml-parser@5.10.0: + resolution: {integrity: sha512-SLhnTEqE5QpJHq/6zl9bsmImEP2adv+y6Wy+cJa7nVTRzQh1OZfCe9k29M5xN74LWnu0xa1zrUrq3KnOKl92Fg==} + hasBin: true + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -2743,6 +2756,9 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-unsafe@2.0.0: + resolution: {integrity: sha512-2LdV822R+wmI86unXA93WCFpL6g+av8ynWk0nrHyJqGop5VoocYsSLFgN8jrfalT6iGeLNM4KXuVSsULP53kEA==} + is-wsl@3.1.1: resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} @@ -2899,9 +2915,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 @@ -3204,6 +3219,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-expression-matcher@1.6.2: + resolution: {integrity: sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==} + engines: {node: '>=14.0.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3592,6 +3611,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==} @@ -3974,6 +3996,10 @@ packages: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} + xml-naming@0.3.0: + resolution: {integrity: sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ==} + engines: {node: '>=16.0.0'} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -4260,24 +4286,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.16.1(@babylonjs/core@9.16.1)': dependencies: - '@babylonjs/core': 9.5.0 + '@babylonjs/core': 9.16.1 - '@babylonjs/core@9.5.0': {} + '@babylonjs/core@9.16.1': {} - '@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.16.1(@babylonjs/core@9.16.1)(babylonjs-gltf2interface@9.16.1)': dependencies: - '@babylonjs/core': 9.5.0 - babylonjs-gltf2interface: 9.5.0 + '@babylonjs/core': 9.16.1 + babylonjs-gltf2interface: 9.16.1 - '@babylonjs/materials@9.10.1(@babylonjs/core@9.5.0)': + '@babylonjs/materials@9.16.1(@babylonjs/core@9.16.1)': dependencies: - '@babylonjs/core': 9.5.0 + '@babylonjs/core': 9.16.1 '@colors/colors@1.6.0': {} @@ -4786,6 +4812,8 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} + '@nodable/entities@2.2.0': {} + '@open-draft/until@1.0.3': {} '@percy/appium-app@2.1.0': @@ -5515,6 +5543,8 @@ snapshots: ansi-styles@6.2.3: {} + anynum@1.0.1: {} + archiver-utils@5.0.2: dependencies: glob: 10.5.0 @@ -5559,7 +5589,7 @@ snapshots: b4a@1.8.0: {} - babylonjs-gltf2interface@9.5.0: {} + babylonjs-gltf2interface@9.16.1: {} balanced-match@4.0.4: {} @@ -6271,6 +6301,20 @@ snapshots: fast-uri@4.0.0: {} + fast-xml-builder@1.3.0: + dependencies: + path-expression-matcher: 1.6.2 + xml-naming: 0.3.0 + + fast-xml-parser@5.10.0: + dependencies: + '@nodable/entities': 2.2.0 + fast-xml-builder: 1.3.0 + is-unsafe: 2.0.0 + path-expression-matcher: 1.6.2 + strnum: 2.4.1 + xml-naming: 0.3.0 + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: picomatch: 4.0.4 @@ -6707,6 +6751,8 @@ snapshots: is-typedarray@1.0.0: {} + is-unsafe@2.0.0: {} + is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 @@ -6863,7 +6909,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 @@ -6874,6 +6920,7 @@ snapshots: commander: 13.1.0 convert-source-map: 2.0.0 esbuild-wasm: 0.27.7 + fast-xml-parser: 5.10.0 fflate: 0.8.2 magic-string: 0.30.21 @@ -7133,6 +7180,8 @@ snapshots: path-exists@4.0.0: {} + path-expression-matcher@1.6.2: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -7574,6 +7623,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: @@ -7969,6 +8022,8 @@ snapshots: xdg-basedir@5.1.0: {} + xml-naming@0.3.0: {} + y18n@5.0.8: {} yaml@2.9.0: {}