@babylonjs/core 7.27.3 → 7.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/Culling/ray.core.d.ts +13 -0
  2. package/Culling/ray.core.js +16 -11
  3. package/Culling/ray.core.js.map +1 -1
  4. package/Engines/WebGPU/Extensions/engine.debugging.js +24 -0
  5. package/Engines/WebGPU/Extensions/engine.debugging.js.map +1 -1
  6. package/Engines/WebGPU/webgpuBufferManager.js +3 -2
  7. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  8. package/Engines/WebGPU/webgpuPipelineContext.js +1 -0
  9. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  10. package/Engines/abstractEngine.js +2 -2
  11. package/Engines/abstractEngine.js.map +1 -1
  12. package/Engines/index.d.ts +2 -0
  13. package/Engines/index.js +2 -0
  14. package/Engines/index.js.map +1 -1
  15. package/Engines/webgpuEngine.js +1 -1
  16. package/Engines/webgpuEngine.js.map +1 -1
  17. package/Inputs/scene.inputManager.js +2 -1
  18. package/Inputs/scene.inputManager.js.map +1 -1
  19. package/Lights/Shadows/shadowGenerator.js +1 -1
  20. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  21. package/Loading/Plugins/babylonFileLoader.js +34 -18
  22. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  23. package/Materials/Textures/renderTargetTexture.js +1 -2
  24. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  25. package/Meshes/Builders/greasedLineBuilder.d.ts +0 -16
  26. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  27. package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +17 -1
  28. package/Meshes/GreasedLine/greasedLineBaseMesh.js +3 -2
  29. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
  30. package/Meshes/Node/Blocks/Set/setPositionsBlock.js +11 -4
  31. package/Meshes/Node/Blocks/Set/setPositionsBlock.js.map +1 -1
  32. package/Meshes/Node/Blocks/geometryInterceptorBlock.d.ts +36 -0
  33. package/Meshes/Node/Blocks/geometryInterceptorBlock.js +60 -0
  34. package/Meshes/Node/Blocks/geometryInterceptorBlock.js.map +1 -0
  35. package/Meshes/Node/index.d.ts +1 -0
  36. package/Meshes/Node/index.js +1 -0
  37. package/Meshes/Node/index.js.map +1 -1
  38. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +3 -1
  39. package/Meshes/WebGPU/webgpuDataBuffer.js +6 -1
  40. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  41. package/Meshes/abstractMesh.d.ts +2 -0
  42. package/Meshes/abstractMesh.hotSpot.d.ts +30 -0
  43. package/Meshes/abstractMesh.hotSpot.js +84 -0
  44. package/Meshes/abstractMesh.hotSpot.js.map +1 -0
  45. package/Meshes/abstractMesh.js +2 -0
  46. package/Meshes/abstractMesh.js.map +1 -1
  47. package/Meshes/index.d.ts +2 -0
  48. package/Meshes/index.js +2 -0
  49. package/Meshes/index.js.map +1 -1
  50. package/Meshes/lattice.d.ts +93 -0
  51. package/Meshes/lattice.js +196 -0
  52. package/Meshes/lattice.js.map +1 -0
  53. package/Meshes/mesh.js +1 -1
  54. package/Meshes/mesh.js.map +1 -1
  55. package/Misc/greasedLineTools.d.ts +1 -2
  56. package/Misc/greasedLineTools.js.map +1 -1
  57. package/Misc/index.d.ts +1 -0
  58. package/Misc/index.js +1 -0
  59. package/Misc/index.js.map +1 -1
  60. package/Misc/snapshotRenderingHelper.d.ts +63 -0
  61. package/Misc/snapshotRenderingHelper.js +182 -0
  62. package/Misc/snapshotRenderingHelper.js.map +1 -0
  63. package/Morph/morphTargetManager.js +0 -1
  64. package/Morph/morphTargetManager.js.map +1 -1
  65. package/Shaders/spriteMap.fragment.d.ts +4 -0
  66. package/Shaders/spriteMap.fragment.js +16 -3
  67. package/Shaders/spriteMap.fragment.js.map +1 -1
  68. package/Shaders/spriteMap.vertex.d.ts +3 -0
  69. package/Shaders/spriteMap.vertex.js +14 -2
  70. package/Shaders/spriteMap.vertex.js.map +1 -1
  71. package/ShadersWGSL/bilateralBlurQuality.fragment.js +1 -1
  72. package/ShadersWGSL/bilateralBlurQuality.fragment.js.map +1 -1
  73. package/ShadersWGSL/geometry.fragment.js +2 -2
  74. package/ShadersWGSL/geometry.fragment.js.map +1 -1
  75. package/ShadersWGSL/geometry.vertex.js +2 -2
  76. package/ShadersWGSL/geometry.vertex.js.map +1 -1
  77. package/ShadersWGSL/rsmFullGlobalIllumination.fragment.js +1 -1
  78. package/ShadersWGSL/rsmFullGlobalIllumination.fragment.js.map +1 -1
  79. package/Sprites/spriteMap.d.ts +7 -0
  80. package/Sprites/spriteMap.js +29 -1
  81. package/Sprites/spriteMap.js.map +1 -1
  82. package/import.helper.d.ts +5 -0
  83. package/import.helper.js +6 -0
  84. package/import.helper.js.map +1 -0
  85. package/package.json +1 -1
  86. package/scene.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/Node/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC","sourcesContent":["export * from \"./nodeGeometry\";\r\nexport * from \"./nodeGeometryBlock\";\r\nexport * from \"./nodeGeometryBlockConnectionPoint\";\r\nexport * from \"./nodeGeometryBuildState\";\r\nexport * from \"./Interfaces/nodeGeometryExecutionContext\";\r\nexport * from \"./Enums/nodeGeometryConnectionPointTypes\";\r\nexport * from \"./Enums/nodeGeometryContextualSources\";\r\nexport * from \"./Blocks/geometryOptimizeBlock\";\r\nexport * from \"./Blocks/geometryOutputBlock\";\r\nexport * from \"./Blocks/geometryInputBlock\";\r\nexport * from \"./Blocks/Sources/planeBlock\";\r\nexport * from \"./Blocks/Sources/boxBlock\";\r\nexport * from \"./Blocks/Sources/meshBlock\";\r\nexport * from \"./Blocks/Sources/icoSphereBlock\";\r\nexport * from \"./Blocks/Sources/sphereBlock\";\r\nexport * from \"./Blocks/Sources/gridBlock\";\r\nexport * from \"./Blocks/Sources/torusBlock\";\r\nexport * from \"./Blocks/Sources/cylinderBlock\";\r\nexport * from \"./Blocks/Sources/capsuleBlock\";\r\nexport * from \"./Blocks/Sources/discBlock\";\r\nexport * from \"./Blocks/Sources/nullBlock\";\r\nexport * from \"./Blocks/Set/setPositionsBlock\";\r\nexport * from \"./Blocks/Set/setNormalsBlock\";\r\nexport * from \"./Blocks/Set/setUVsBlock\";\r\nexport * from \"./Blocks/Set/setColorsBlock\";\r\nexport * from \"./Blocks/Set/setTangentsBlock\";\r\nexport * from \"./Blocks/mathBlock\";\r\nexport * from \"./Blocks/mapRangeBlock\";\r\nexport * from \"./Blocks/conditionBlock\";\r\nexport * from \"./Blocks/randomBlock\";\r\nexport * from \"./Blocks/noiseBlock\";\r\nexport * from \"./Blocks/mergeGeometryBlock\";\r\nexport * from \"./Blocks/geometryCollectionBlock\";\r\nexport * from \"./Blocks/geometryElbowBlock\";\r\nexport * from \"./Blocks/computeNormalsBlock\";\r\nexport * from \"./Blocks/vectorConverterBlock\";\r\nexport * from \"./Blocks/normalizeVectorBlock\";\r\nexport * from \"./Blocks/Set/setMaterialIDBlock\";\r\nexport * from \"./Blocks/geometryTrigonometryBlock\";\r\nexport * from \"./Blocks/geometryTransformBlock\";\r\nexport * from \"./Blocks/Matrices/rotationXBlock\";\r\nexport * from \"./Blocks/Matrices/rotationYBlock\";\r\nexport * from \"./Blocks/Matrices/rotationZBlock\";\r\nexport * from \"./Blocks/Matrices/scalingBlock\";\r\nexport * from \"./Blocks/Matrices/alignBlock\";\r\nexport * from \"./Blocks/Matrices/translationBlock\";\r\nexport * from \"./Blocks/Instances/instantiateOnVerticesBlock\";\r\nexport * from \"./Blocks/Instances/instantiateOnFacesBlock\";\r\nexport * from \"./Blocks/Instances/instantiateOnVolumeBlock\";\r\nexport * from \"./Blocks/Instances/instantiateBlock\";\r\nexport * from \"./Blocks/Instances/instantiateLinearBlock\";\r\nexport * from \"./Blocks/Instances/instantiateRadialBlock\";\r\nexport * from \"./Blocks/intFloatConverterBlock\";\r\nexport * from \"./Blocks/debugBlock\";\r\nexport * from \"./Blocks/geometryInfoBlock\";\r\nexport * from \"./Blocks/mappingBlock\";\r\nexport * from \"./Blocks/matrixComposeBlock\";\r\nexport * from \"./Blocks/Teleport/teleportInBlock\";\r\nexport * from \"./Blocks/Teleport/teleportOutBlock\";\r\nexport * from \"./Blocks/Textures/geometryTextureBlock\";\r\nexport * from \"./Blocks/Textures/geometryTextureFetchBlock\";\r\nexport * from \"./Blocks/boundingBlock\";\r\nexport * from \"./Blocks/booleanGeometryBlock\";\r\nexport * from \"./Blocks/geometryArcTan2Block\";\r\nexport * from \"./Blocks/geometryLerpBlock\";\r\nexport * from \"./Blocks/geometryNLerpBlock\";\r\nexport * from \"./Blocks/geometryStepBlock\";\r\nexport * from \"./Blocks/geometrySmoothStepBlock\";\r\nexport * from \"./Blocks/geometryModBlock\";\r\nexport * from \"./Blocks/geometryPowBlock\";\r\nexport * from \"./Blocks/geometryClampBlock\";\r\nexport * from \"./Blocks/geometryCrossBlock\";\r\nexport * from \"./Blocks/geometryCurveBlock\";\r\nexport * from \"./Blocks/geometryDesaturateBlock\";\r\nexport * from \"./Blocks/geometryPosterizeBlock\";\r\nexport * from \"./Blocks/geometryReplaceColorBlock\";\r\nexport * from \"./Blocks/geometryDistanceBlock\";\r\nexport * from \"./Blocks/geometryDotBlock\";\r\nexport * from \"./Blocks/geometryLengthBlock\";\r\nexport * from \"./Blocks/geometryRotate2dBlock\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/Node/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC","sourcesContent":["export * from \"./nodeGeometry\";\r\nexport * from \"./nodeGeometryBlock\";\r\nexport * from \"./nodeGeometryBlockConnectionPoint\";\r\nexport * from \"./nodeGeometryBuildState\";\r\nexport * from \"./Interfaces/nodeGeometryExecutionContext\";\r\nexport * from \"./Enums/nodeGeometryConnectionPointTypes\";\r\nexport * from \"./Enums/nodeGeometryContextualSources\";\r\nexport * from \"./Blocks/geometryOptimizeBlock\";\r\nexport * from \"./Blocks/geometryOutputBlock\";\r\nexport * from \"./Blocks/geometryInputBlock\";\r\nexport * from \"./Blocks/Sources/planeBlock\";\r\nexport * from \"./Blocks/Sources/boxBlock\";\r\nexport * from \"./Blocks/Sources/meshBlock\";\r\nexport * from \"./Blocks/Sources/icoSphereBlock\";\r\nexport * from \"./Blocks/Sources/sphereBlock\";\r\nexport * from \"./Blocks/Sources/gridBlock\";\r\nexport * from \"./Blocks/Sources/torusBlock\";\r\nexport * from \"./Blocks/Sources/cylinderBlock\";\r\nexport * from \"./Blocks/Sources/capsuleBlock\";\r\nexport * from \"./Blocks/Sources/discBlock\";\r\nexport * from \"./Blocks/Sources/nullBlock\";\r\nexport * from \"./Blocks/Set/setPositionsBlock\";\r\nexport * from \"./Blocks/Set/setNormalsBlock\";\r\nexport * from \"./Blocks/Set/setUVsBlock\";\r\nexport * from \"./Blocks/Set/setColorsBlock\";\r\nexport * from \"./Blocks/Set/setTangentsBlock\";\r\nexport * from \"./Blocks/mathBlock\";\r\nexport * from \"./Blocks/mapRangeBlock\";\r\nexport * from \"./Blocks/conditionBlock\";\r\nexport * from \"./Blocks/randomBlock\";\r\nexport * from \"./Blocks/noiseBlock\";\r\nexport * from \"./Blocks/mergeGeometryBlock\";\r\nexport * from \"./Blocks/geometryCollectionBlock\";\r\nexport * from \"./Blocks/geometryElbowBlock\";\r\nexport * from \"./Blocks/computeNormalsBlock\";\r\nexport * from \"./Blocks/vectorConverterBlock\";\r\nexport * from \"./Blocks/normalizeVectorBlock\";\r\nexport * from \"./Blocks/Set/setMaterialIDBlock\";\r\nexport * from \"./Blocks/geometryTrigonometryBlock\";\r\nexport * from \"./Blocks/geometryTransformBlock\";\r\nexport * from \"./Blocks/Matrices/rotationXBlock\";\r\nexport * from \"./Blocks/Matrices/rotationYBlock\";\r\nexport * from \"./Blocks/Matrices/rotationZBlock\";\r\nexport * from \"./Blocks/Matrices/scalingBlock\";\r\nexport * from \"./Blocks/Matrices/alignBlock\";\r\nexport * from \"./Blocks/Matrices/translationBlock\";\r\nexport * from \"./Blocks/Instances/instantiateOnVerticesBlock\";\r\nexport * from \"./Blocks/Instances/instantiateOnFacesBlock\";\r\nexport * from \"./Blocks/Instances/instantiateOnVolumeBlock\";\r\nexport * from \"./Blocks/Instances/instantiateBlock\";\r\nexport * from \"./Blocks/Instances/instantiateLinearBlock\";\r\nexport * from \"./Blocks/Instances/instantiateRadialBlock\";\r\nexport * from \"./Blocks/intFloatConverterBlock\";\r\nexport * from \"./Blocks/debugBlock\";\r\nexport * from \"./Blocks/geometryInfoBlock\";\r\nexport * from \"./Blocks/mappingBlock\";\r\nexport * from \"./Blocks/matrixComposeBlock\";\r\nexport * from \"./Blocks/Teleport/teleportInBlock\";\r\nexport * from \"./Blocks/Teleport/teleportOutBlock\";\r\nexport * from \"./Blocks/Textures/geometryTextureBlock\";\r\nexport * from \"./Blocks/Textures/geometryTextureFetchBlock\";\r\nexport * from \"./Blocks/boundingBlock\";\r\nexport * from \"./Blocks/booleanGeometryBlock\";\r\nexport * from \"./Blocks/geometryArcTan2Block\";\r\nexport * from \"./Blocks/geometryLerpBlock\";\r\nexport * from \"./Blocks/geometryNLerpBlock\";\r\nexport * from \"./Blocks/geometryStepBlock\";\r\nexport * from \"./Blocks/geometrySmoothStepBlock\";\r\nexport * from \"./Blocks/geometryModBlock\";\r\nexport * from \"./Blocks/geometryPowBlock\";\r\nexport * from \"./Blocks/geometryClampBlock\";\r\nexport * from \"./Blocks/geometryCrossBlock\";\r\nexport * from \"./Blocks/geometryCurveBlock\";\r\nexport * from \"./Blocks/geometryDesaturateBlock\";\r\nexport * from \"./Blocks/geometryPosterizeBlock\";\r\nexport * from \"./Blocks/geometryReplaceColorBlock\";\r\nexport * from \"./Blocks/geometryDistanceBlock\";\r\nexport * from \"./Blocks/geometryDotBlock\";\r\nexport * from \"./Blocks/geometryLengthBlock\";\r\nexport * from \"./Blocks/geometryRotate2dBlock\";\r\nexport * from \"./Blocks/geometryInterceptorBlock\";\r\n"]}
@@ -1,8 +1,10 @@
1
1
  import { DataBuffer } from "../../Buffers/dataBuffer";
2
+ import type { Nullable } from "../../types";
2
3
  /** @internal */
3
4
  export declare class WebGPUDataBuffer extends DataBuffer {
4
5
  private _buffer;
5
6
  engineId: number;
6
- constructor(resource: GPUBuffer, capacity?: number);
7
+ set buffer(buffer: Nullable<GPUBuffer>);
8
+ constructor(resource?: GPUBuffer, capacity?: number);
7
9
  get underlyingResource(): any;
8
10
  }
@@ -1,12 +1,17 @@
1
1
  import { DataBuffer } from "../../Buffers/dataBuffer.js";
2
2
  /** @internal */
3
3
  export class WebGPUDataBuffer extends DataBuffer {
4
+ set buffer(buffer) {
5
+ this._buffer = buffer;
6
+ }
4
7
  constructor(resource, capacity = 0) {
5
8
  super();
6
9
  // Used to make sure the buffer is not recreated twice after a context loss/restoration
7
10
  this.engineId = -1;
8
11
  this.capacity = capacity;
9
- this._buffer = resource;
12
+ if (resource) {
13
+ this._buffer = resource;
14
+ }
10
15
  }
11
16
  get underlyingResource() {
12
17
  return this._buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"webgpuDataBuffer.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/WebGPU/webgpuDataBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,gBAAgB;AAChB,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAM5C,YAAmB,QAAmB,EAAE,QAAQ,GAAG,CAAC;QAChD,KAAK,EAAE,CAAC;QAJZ,uFAAuF;QAChF,aAAQ,GAAG,CAAC,CAAC,CAAC;QAIjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAoB,kBAAkB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { DataBuffer } from \"../../Buffers/dataBuffer\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/** @internal */\r\nexport class WebGPUDataBuffer extends DataBuffer {\r\n private _buffer: Nullable<GPUBuffer>;\r\n\r\n // Used to make sure the buffer is not recreated twice after a context loss/restoration\r\n public engineId = -1;\r\n\r\n public constructor(resource: GPUBuffer, capacity = 0) {\r\n super();\r\n this.capacity = capacity;\r\n this._buffer = resource;\r\n }\r\n\r\n public override get underlyingResource(): any {\r\n return this._buffer;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"webgpuDataBuffer.js","sourceRoot":"","sources":["../../../../../dev/core/src/Meshes/WebGPU/webgpuDataBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,gBAAgB;AAChB,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAM5C,IAAW,MAAM,CAAC,MAA2B;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,YAAmB,QAAoB,EAAE,QAAQ,GAAG,CAAC;QACjD,KAAK,EAAE,CAAC;QARZ,uFAAuF;QAChF,aAAQ,GAAG,CAAC,CAAC,CAAC;QAQjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;SAC3B;IACL,CAAC;IAED,IAAoB,kBAAkB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { DataBuffer } from \"../../Buffers/dataBuffer\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/** @internal */\r\nexport class WebGPUDataBuffer extends DataBuffer {\r\n private _buffer: Nullable<GPUBuffer>;\r\n\r\n // Used to make sure the buffer is not recreated twice after a context loss/restoration\r\n public engineId = -1;\r\n\r\n public set buffer(buffer: Nullable<GPUBuffer>) {\r\n this._buffer = buffer;\r\n }\r\n\r\n public constructor(resource?: GPUBuffer, capacity = 0) {\r\n super();\r\n this.capacity = capacity;\r\n if (resource) {\r\n this._buffer = resource;\r\n }\r\n }\r\n\r\n public override get underlyingResource(): any {\r\n return this._buffer;\r\n }\r\n}\r\n"]}
@@ -204,6 +204,8 @@ export declare abstract class AbstractMesh extends TransformNode implements IDis
204
204
  _internalAbstractMeshDataInfo: _InternalAbstractMeshDataInfo;
205
205
  /** @internal */
206
206
  _waitingMaterialId: Nullable<string>;
207
+ /** @internal */
208
+ _waitingMorphTargetManagerId: Nullable<number>;
207
209
  /**
208
210
  * The culling strategy to use to check whether the mesh must be rendered or not.
209
211
  * This value can be changed at any time and will be used on the next render mesh selection.
@@ -0,0 +1,30 @@
1
+ import { Vector3 } from "../Maths/math.vector";
2
+ import type { AbstractMesh } from "./abstractMesh";
3
+ /**
4
+ * Data for mesh hotspot computation
5
+ */
6
+ export type HotSpotQuery = {
7
+ /**
8
+ * 3 point indices
9
+ */
10
+ pointIndex: [number, number, number];
11
+ /**
12
+ * 3 barycentric coordinates
13
+ */
14
+ barycentric: [number, number, number];
15
+ };
16
+ /**
17
+ * Return a transformed local position from a mesh and vertex index
18
+ * @param mesh mesh used to get vertex array from
19
+ * @param index vertex index
20
+ * @param res resulting local position
21
+ * @returns false if it was not possible to compute the position for that vertex
22
+ */
23
+ export declare function GetTransformedPosition(mesh: AbstractMesh, index: number, res: Vector3): boolean;
24
+ /**
25
+ * Compute a world space hotspot position
26
+ * @param mesh mesh used to get hotspot from
27
+ * @param hotSpotQuery point indices and barycentric
28
+ * @param res output world position
29
+ */
30
+ export declare function GetHotSpotToRef(mesh: AbstractMesh, hotSpotQuery: HotSpotQuery, res: Vector3): void;
@@ -0,0 +1,84 @@
1
+ import { Vector3, TmpVectors, Matrix } from "../Maths/math.vector.js";
2
+ import { VertexBuffer } from "../Buffers/buffer.js";
3
+ /**
4
+ * Return a transformed local position from a mesh and vertex index
5
+ * @param mesh mesh used to get vertex array from
6
+ * @param index vertex index
7
+ * @param res resulting local position
8
+ * @returns false if it was not possible to compute the position for that vertex
9
+ */
10
+ export function GetTransformedPosition(mesh, index, res) {
11
+ const data = mesh.getVerticesData(VertexBuffer.PositionKind);
12
+ if (!data) {
13
+ return false;
14
+ }
15
+ const base = index * 3;
16
+ const values = [data[base + 0], data[base + 1], data[base + 2]];
17
+ if (mesh.morphTargetManager) {
18
+ for (let component = 0; component < 3; component++) {
19
+ let value = values[component];
20
+ for (let targetCount = 0; targetCount < mesh.morphTargetManager.numTargets; targetCount++) {
21
+ const target = mesh.morphTargetManager.getTarget(targetCount);
22
+ const influence = target.influence;
23
+ if (influence !== 0) {
24
+ const targetData = target.getPositions();
25
+ if (targetData) {
26
+ value += (targetData[base + component] - data[base + component]) * influence;
27
+ }
28
+ }
29
+ }
30
+ values[component] = value;
31
+ }
32
+ }
33
+ res.fromArray(values);
34
+ if (mesh.skeleton) {
35
+ const matricesIndicesData = mesh.getVerticesData(VertexBuffer.MatricesIndicesKind);
36
+ const matricesWeightsData = mesh.getVerticesData(VertexBuffer.MatricesWeightsKind);
37
+ if (matricesWeightsData && matricesIndicesData) {
38
+ const needExtras = mesh.numBoneInfluencers > 4;
39
+ const matricesIndicesExtraData = needExtras ? mesh.getVerticesData(VertexBuffer.MatricesIndicesExtraKind) : null;
40
+ const matricesWeightsExtraData = needExtras ? mesh.getVerticesData(VertexBuffer.MatricesWeightsExtraKind) : null;
41
+ const skeletonMatrices = mesh.skeleton.getTransformMatrices(mesh);
42
+ const finalMatrix = TmpVectors.Matrix[0];
43
+ const tempMatrix = TmpVectors.Matrix[1];
44
+ finalMatrix.reset();
45
+ const matWeightIdx = index * 4;
46
+ let inf;
47
+ let weight;
48
+ for (inf = 0; inf < 4; inf++) {
49
+ weight = matricesWeightsData[matWeightIdx + inf];
50
+ if (weight > 0) {
51
+ Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesData[matWeightIdx + inf] * 16), weight, tempMatrix);
52
+ finalMatrix.addToSelf(tempMatrix);
53
+ }
54
+ }
55
+ if (matricesIndicesExtraData && matricesWeightsExtraData) {
56
+ for (inf = 0; inf < 4; inf++) {
57
+ weight = matricesWeightsExtraData[matWeightIdx + inf];
58
+ if (weight > 0) {
59
+ Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesExtraData[matWeightIdx + inf] * 16), weight, tempMatrix);
60
+ finalMatrix.addToSelf(tempMatrix);
61
+ }
62
+ }
63
+ }
64
+ Vector3.TransformCoordinatesFromFloatsToRef(values[0], values[1], values[2], finalMatrix, res);
65
+ }
66
+ }
67
+ return true;
68
+ }
69
+ /**
70
+ * Compute a world space hotspot position
71
+ * @param mesh mesh used to get hotspot from
72
+ * @param hotSpotQuery point indices and barycentric
73
+ * @param res output world position
74
+ */
75
+ export function GetHotSpotToRef(mesh, hotSpotQuery, res) {
76
+ res.set(0, 0, 0);
77
+ for (let i = 0; i < 3; i++) {
78
+ const index = hotSpotQuery.pointIndex[i];
79
+ GetTransformedPosition(mesh, index, TmpVectors.Vector3[0]);
80
+ TmpVectors.Vector3[0].scaleInPlace(hotSpotQuery.barycentric[i]);
81
+ res.addInPlace(TmpVectors.Vector3[0]);
82
+ }
83
+ }
84
+ //# sourceMappingURL=abstractMesh.hotSpot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractMesh.hotSpot.js","sourceRoot":"","sources":["../../../../dev/core/src/Meshes/abstractMesh.hotSpot.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3, TmpVectors, Matrix } from \"../Maths/math.vector\";\r\nimport type { AbstractMesh } from \"./abstractMesh\";\r\nimport { VertexBuffer } from \"../Buffers/buffer\";\r\n\r\n/**\r\n * Data for mesh hotspot computation\r\n */\r\nexport type HotSpotQuery = {\r\n /**\r\n * 3 point indices\r\n */\r\n pointIndex: [number, number, number];\r\n /**\r\n * 3 barycentric coordinates\r\n */\r\n barycentric: [number, number, number];\r\n};\r\n\r\n/**\r\n * Return a transformed local position from a mesh and vertex index\r\n * @param mesh mesh used to get vertex array from\r\n * @param index vertex index\r\n * @param res resulting local position\r\n * @returns false if it was not possible to compute the position for that vertex\r\n */\r\nexport function GetTransformedPosition(mesh: AbstractMesh, index: number, res: Vector3): boolean {\r\n const data = mesh.getVerticesData(VertexBuffer.PositionKind);\r\n if (!data) {\r\n return false;\r\n }\r\n const base = index * 3;\r\n const values = [data[base + 0], data[base + 1], data[base + 2]];\r\n if (mesh.morphTargetManager) {\r\n for (let component = 0; component < 3; component++) {\r\n let value = values[component];\r\n for (let targetCount = 0; targetCount < mesh.morphTargetManager.numTargets; targetCount++) {\r\n const target = mesh.morphTargetManager.getTarget(targetCount);\r\n const influence = target.influence;\r\n if (influence !== 0) {\r\n const targetData = target.getPositions();\r\n if (targetData) {\r\n value += (targetData[base + component] - data[base + component]) * influence;\r\n }\r\n }\r\n }\r\n values[component] = value;\r\n }\r\n }\r\n res.fromArray(values);\r\n if (mesh.skeleton) {\r\n const matricesIndicesData = mesh.getVerticesData(VertexBuffer.MatricesIndicesKind);\r\n const matricesWeightsData = mesh.getVerticesData(VertexBuffer.MatricesWeightsKind);\r\n if (matricesWeightsData && matricesIndicesData) {\r\n const needExtras = mesh.numBoneInfluencers > 4;\r\n const matricesIndicesExtraData = needExtras ? mesh.getVerticesData(VertexBuffer.MatricesIndicesExtraKind) : null;\r\n const matricesWeightsExtraData = needExtras ? mesh.getVerticesData(VertexBuffer.MatricesWeightsExtraKind) : null;\r\n const skeletonMatrices = mesh.skeleton.getTransformMatrices(mesh);\r\n\r\n const finalMatrix = TmpVectors.Matrix[0];\r\n const tempMatrix = TmpVectors.Matrix[1];\r\n\r\n finalMatrix.reset();\r\n const matWeightIdx = index * 4;\r\n\r\n let inf: number;\r\n let weight: number;\r\n for (inf = 0; inf < 4; inf++) {\r\n weight = matricesWeightsData[matWeightIdx + inf];\r\n if (weight > 0) {\r\n Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesData[matWeightIdx + inf] * 16), weight, tempMatrix);\r\n finalMatrix.addToSelf(tempMatrix);\r\n }\r\n }\r\n if (matricesIndicesExtraData && matricesWeightsExtraData) {\r\n for (inf = 0; inf < 4; inf++) {\r\n weight = matricesWeightsExtraData[matWeightIdx + inf];\r\n if (weight > 0) {\r\n Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesExtraData[matWeightIdx + inf] * 16), weight, tempMatrix);\r\n finalMatrix.addToSelf(tempMatrix);\r\n }\r\n }\r\n }\r\n\r\n Vector3.TransformCoordinatesFromFloatsToRef(values[0], values[1], values[2], finalMatrix, res);\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * Compute a world space hotspot position\r\n * @param mesh mesh used to get hotspot from\r\n * @param hotSpotQuery point indices and barycentric\r\n * @param res output world position\r\n */\r\nexport function GetHotSpotToRef(mesh: AbstractMesh, hotSpotQuery: HotSpotQuery, res: Vector3): void {\r\n res.set(0, 0, 0);\r\n for (let i = 0; i < 3; i++) {\r\n const index = hotSpotQuery.pointIndex[i];\r\n GetTransformedPosition(mesh, index, TmpVectors.Vector3[0]);\r\n TmpVectors.Vector3[0].scaleInPlace(hotSpotQuery.barycentric[i]);\r\n res.addInPlace(TmpVectors.Vector3[0]);\r\n }\r\n}\r\n"]}
@@ -614,6 +614,8 @@ export class AbstractMesh extends TransformNode {
614
614
  this._internalAbstractMeshDataInfo = new _InternalAbstractMeshDataInfo();
615
615
  /** @internal */
616
616
  this._waitingMaterialId = null;
617
+ /** @internal */
618
+ this._waitingMorphTargetManagerId = null;
617
619
  /**
618
620
  * The culling strategy to use to check whether the mesh must be rendered or not.
619
621
  * This value can be changed at any time and will be used on the next render mesh selection.