@babylonjs/core 6.40.0 → 6.41.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 (123) hide show
  1. package/Animations/runtimeAnimation.js +2 -2
  2. package/Animations/runtimeAnimation.js.map +1 -1
  3. package/Debug/physicsViewer.js +2 -2
  4. package/Debug/physicsViewer.js.map +1 -1
  5. package/Engines/thinEngine.js +2 -3
  6. package/Engines/thinEngine.js.map +1 -1
  7. package/Materials/Background/backgroundMaterial.js +8 -7
  8. package/Materials/Background/backgroundMaterial.js.map +1 -1
  9. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +7 -6
  10. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  11. package/Materials/Node/nodeMaterial.js +9 -12
  12. package/Materials/Node/nodeMaterial.js.map +1 -1
  13. package/Materials/PBR/pbrBaseMaterial.js +8 -7
  14. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  15. package/Materials/drawWrapper.d.ts +15 -0
  16. package/Materials/drawWrapper.js +15 -0
  17. package/Materials/drawWrapper.js.map +1 -1
  18. package/Materials/effect.d.ts +0 -16
  19. package/Materials/effect.js +0 -16
  20. package/Materials/effect.js.map +1 -1
  21. package/Materials/effectRenderer.js +0 -1
  22. package/Materials/effectRenderer.js.map +1 -1
  23. package/Materials/material.d.ts +3 -2
  24. package/Materials/material.js +14 -12
  25. package/Materials/material.js.map +1 -1
  26. package/Materials/pushMaterial.d.ts +2 -2
  27. package/Materials/pushMaterial.js +9 -6
  28. package/Materials/pushMaterial.js.map +1 -1
  29. package/Materials/shaderMaterial.js +10 -16
  30. package/Materials/shaderMaterial.js.map +1 -1
  31. package/Materials/standardMaterial.js +8 -7
  32. package/Materials/standardMaterial.js.map +1 -1
  33. package/Meshes/Builders/boxBuilder.d.ts +0 -33
  34. package/Meshes/Builders/boxBuilder.js +0 -33
  35. package/Meshes/Builders/boxBuilder.js.map +1 -1
  36. package/Meshes/Builders/cylinderBuilder.d.ts +0 -31
  37. package/Meshes/Builders/cylinderBuilder.js +0 -31
  38. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  39. package/Meshes/Builders/decalBuilder.d.ts +0 -7
  40. package/Meshes/Builders/decalBuilder.js +0 -7
  41. package/Meshes/Builders/decalBuilder.js.map +1 -1
  42. package/Meshes/Builders/discBuilder.d.ts +0 -13
  43. package/Meshes/Builders/discBuilder.js +0 -13
  44. package/Meshes/Builders/discBuilder.js.map +1 -1
  45. package/Meshes/Builders/geodesicBuilder.d.ts +0 -13
  46. package/Meshes/Builders/geodesicBuilder.js +0 -13
  47. package/Meshes/Builders/geodesicBuilder.js.map +1 -1
  48. package/Meshes/Builders/hemisphereBuilder.d.ts +0 -3
  49. package/Meshes/Builders/hemisphereBuilder.js +0 -3
  50. package/Meshes/Builders/hemisphereBuilder.js.map +1 -1
  51. package/Meshes/Builders/icoSphereBuilder.d.ts +0 -19
  52. package/Meshes/Builders/icoSphereBuilder.js +0 -19
  53. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  54. package/Meshes/Builders/latheBuilder.d.ts +0 -12
  55. package/Meshes/Builders/latheBuilder.js +0 -12
  56. package/Meshes/Builders/latheBuilder.js.map +1 -1
  57. package/Meshes/Builders/linesBuilder.d.ts +0 -26
  58. package/Meshes/Builders/linesBuilder.js +0 -26
  59. package/Meshes/Builders/linesBuilder.js.map +1 -1
  60. package/Meshes/Builders/planeBuilder.d.ts +0 -14
  61. package/Meshes/Builders/planeBuilder.js +0 -14
  62. package/Meshes/Builders/planeBuilder.js.map +1 -1
  63. package/Meshes/Builders/polygonBuilder.d.ts +0 -21
  64. package/Meshes/Builders/polygonBuilder.js +0 -21
  65. package/Meshes/Builders/polygonBuilder.js.map +1 -1
  66. package/Meshes/Builders/polyhedronBuilder.d.ts +0 -25
  67. package/Meshes/Builders/polyhedronBuilder.js +0 -25
  68. package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
  69. package/Meshes/Builders/ribbonBuilder.d.ts +0 -22
  70. package/Meshes/Builders/ribbonBuilder.js +0 -22
  71. package/Meshes/Builders/ribbonBuilder.js.map +1 -1
  72. package/Meshes/Builders/shapeBuilder.d.ts +0 -32
  73. package/Meshes/Builders/shapeBuilder.js +0 -32
  74. package/Meshes/Builders/shapeBuilder.js.map +1 -1
  75. package/Meshes/Builders/sphereBuilder.d.ts +0 -22
  76. package/Meshes/Builders/sphereBuilder.js +0 -22
  77. package/Meshes/Builders/sphereBuilder.js.map +1 -1
  78. package/Meshes/Node/Blocks/geometryDesaturateBlock.d.ts +30 -0
  79. package/Meshes/Node/Blocks/geometryDesaturateBlock.js +62 -0
  80. package/Meshes/Node/Blocks/geometryDesaturateBlock.js.map +1 -0
  81. package/Meshes/Node/index.d.ts +1 -0
  82. package/Meshes/Node/index.js +1 -0
  83. package/Meshes/Node/index.js.map +1 -1
  84. package/Meshes/abstractMesh.js +1 -0
  85. package/Meshes/abstractMesh.js.map +1 -1
  86. package/Meshes/mesh.js +4 -4
  87. package/Meshes/mesh.js.map +1 -1
  88. package/Physics/castingResult.d.ts +66 -0
  89. package/Physics/castingResult.js +61 -0
  90. package/Physics/castingResult.js.map +1 -0
  91. package/Physics/index.d.ts +4 -0
  92. package/Physics/index.js +4 -0
  93. package/Physics/index.js.map +1 -1
  94. package/Physics/physicsPointProximityQuery.d.ts +28 -0
  95. package/Physics/physicsPointProximityQuery.js +2 -0
  96. package/Physics/physicsPointProximityQuery.js.map +1 -0
  97. package/Physics/physicsRaycastResult.d.ts +2 -44
  98. package/Physics/physicsRaycastResult.js +7 -38
  99. package/Physics/physicsRaycastResult.js.map +1 -1
  100. package/Physics/physicsShapeCastQuery.d.ts +32 -0
  101. package/Physics/physicsShapeCastQuery.js +2 -0
  102. package/Physics/physicsShapeCastQuery.js.map +1 -0
  103. package/Physics/physicsShapeProximityCastQuery.d.ts +32 -0
  104. package/Physics/physicsShapeProximityCastQuery.js +2 -0
  105. package/Physics/physicsShapeProximityCastQuery.js.map +1 -0
  106. package/Physics/proximityCastResult.d.ts +20 -0
  107. package/Physics/proximityCastResult.js +31 -0
  108. package/Physics/proximityCastResult.js.map +1 -0
  109. package/Physics/shapeCastResult.d.ts +16 -0
  110. package/Physics/shapeCastResult.js +24 -0
  111. package/Physics/shapeCastResult.js.map +1 -0
  112. package/Physics/v2/Plugins/havokPlugin.d.ts +28 -0
  113. package/Physics/v2/Plugins/havokPlugin.js +80 -11
  114. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  115. package/XR/features/WebXRHandTracking.d.ts +2 -2
  116. package/XR/features/WebXRHandTracking.js +4 -5
  117. package/XR/features/WebXRHandTracking.js.map +1 -1
  118. package/XR/features/WebXRNearInteraction.js +25 -15
  119. package/XR/features/WebXRNearInteraction.js.map +1 -1
  120. package/XR/webXRCamera.d.ts +1 -0
  121. package/XR/webXRCamera.js +19 -8
  122. package/XR/webXRCamera.js.map +1 -1
  123. package/package.json +1 -1
@@ -484,16 +484,9 @@ export class ShaderMaterial extends PushMaterial {
484
484
  var _a, _b, _c, _d;
485
485
  const storeEffectOnSubMeshes = subMesh && this._storeEffectOnSubMeshes;
486
486
  if (this.isFrozen) {
487
- if (storeEffectOnSubMeshes) {
488
- if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
489
- return true;
490
- }
491
- }
492
- else {
493
- const effect = this._drawWrapper.effect;
494
- if (effect && effect._wasPreviouslyReady && effect._wasPreviouslyUsingInstances === useInstances) {
495
- return true;
496
- }
487
+ const drawWrapper = storeEffectOnSubMeshes ? subMesh._drawWrapper : this._drawWrapper;
488
+ if (drawWrapper.effect && drawWrapper._wasPreviouslyReady && drawWrapper._wasPreviouslyUsingInstances === useInstances) {
489
+ return true;
497
490
  }
498
491
  }
499
492
  const scene = this.getScene();
@@ -665,7 +658,7 @@ export class ShaderMaterial extends PushMaterial {
665
658
  samplers = samplers.slice();
666
659
  shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines, attribs);
667
660
  }
668
- const drawWrapper = storeEffectOnSubMeshes ? subMesh._getDrawWrapper() : this._drawWrapper;
661
+ const drawWrapper = storeEffectOnSubMeshes ? subMesh._getDrawWrapper(undefined, true) : this._drawWrapper;
669
662
  const previousEffect = (_a = drawWrapper === null || drawWrapper === void 0 ? void 0 : drawWrapper.effect) !== null && _a !== void 0 ? _a : null;
670
663
  const previousDefines = (_b = drawWrapper === null || drawWrapper === void 0 ? void 0 : drawWrapper.defines) !== null && _b !== void 0 ? _b : null;
671
664
  const join = defines.join("\n");
@@ -695,14 +688,14 @@ export class ShaderMaterial extends PushMaterial {
695
688
  this._onEffectCreatedObservable.notifyObservers(onCreatedEffectParameters);
696
689
  }
697
690
  }
698
- effect._wasPreviouslyUsingInstances = !!useInstances;
691
+ drawWrapper._wasPreviouslyUsingInstances = !!useInstances;
699
692
  if ((_d = !(effect === null || effect === void 0 ? void 0 : effect.isReady())) !== null && _d !== void 0 ? _d : true) {
700
693
  return false;
701
694
  }
702
695
  if (previousEffect !== effect) {
703
696
  scene.resetCachedMaterial();
704
697
  }
705
- effect._wasPreviouslyReady = true;
698
+ drawWrapper._wasPreviouslyReady = true;
706
699
  return true;
707
700
  }
708
701
  /**
@@ -776,7 +769,7 @@ export class ShaderMaterial extends PushMaterial {
776
769
  }
777
770
  }
778
771
  }
779
- const mustRebind = mesh && storeEffectOnSubMeshes ? this._mustRebind(scene, effect, mesh.visibility) : scene.getCachedMaterial() !== this;
772
+ const mustRebind = mesh && storeEffectOnSubMeshes ? this._mustRebind(scene, effect, subMesh, mesh.visibility) : scene.getCachedMaterial() !== this;
780
773
  if (effect && mustRebind) {
781
774
  if (!useSceneUBO && this._options.uniforms.indexOf("view") !== -1) {
782
775
  effect.setMatrix("view", scene.getViewMatrix());
@@ -919,10 +912,11 @@ export class ShaderMaterial extends PushMaterial {
919
912
  }
920
913
  const bvaManager = mesh.bakedVertexAnimationManager;
921
914
  if (bvaManager && bvaManager.isEnabled) {
922
- (_a = mesh.bakedVertexAnimationManager) === null || _a === void 0 ? void 0 : _a.bind(effect, !!effect._wasPreviouslyUsingInstances);
915
+ const drawWrapper = storeEffectOnSubMeshes ? subMesh._drawWrapper : this._drawWrapper;
916
+ (_a = mesh.bakedVertexAnimationManager) === null || _a === void 0 ? void 0 : _a.bind(effect, !!drawWrapper._wasPreviouslyUsingInstances);
923
917
  }
924
918
  }
925
- this._afterBind(mesh, effect);
919
+ this._afterBind(mesh, effect, subMesh);
926
920
  }
927
921
  /**
928
922
  * Gets the active textures from the material