@babylonjs/core 5.40.1 → 5.42.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 (80) hide show
  1. package/Actions/action.d.ts +2 -1
  2. package/Actions/action.js +3 -1
  3. package/Actions/action.js.map +1 -1
  4. package/Actions/actionManager.js +5 -7
  5. package/Actions/actionManager.js.map +1 -1
  6. package/Actions/directActions.js +2 -0
  7. package/Actions/directActions.js.map +1 -1
  8. package/Audio/sound.js +5 -5
  9. package/Audio/sound.js.map +1 -1
  10. package/Behaviors/Meshes/fadeInOutBehavior.d.ts +27 -4
  11. package/Behaviors/Meshes/fadeInOutBehavior.js +74 -9
  12. package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
  13. package/Behaviors/Meshes/pointerDragBehavior.d.ts +8 -1
  14. package/Behaviors/Meshes/pointerDragBehavior.js +8 -2
  15. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  16. package/Debug/physicsViewer.d.ts +12 -0
  17. package/Debug/physicsViewer.js +45 -0
  18. package/Debug/physicsViewer.js.map +1 -1
  19. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
  20. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  21. package/Engines/engine.js +25 -26
  22. package/Engines/engine.js.map +1 -1
  23. package/Engines/thinEngine.d.ts +5 -1
  24. package/Engines/thinEngine.js +19 -15
  25. package/Engines/thinEngine.js.map +1 -1
  26. package/Gizmos/axisDragGizmo.d.ts +13 -1
  27. package/Gizmos/axisDragGizmo.js +22 -12
  28. package/Gizmos/axisDragGizmo.js.map +1 -1
  29. package/Gizmos/axisScaleGizmo.d.ts +14 -4
  30. package/Gizmos/axisScaleGizmo.js +20 -10
  31. package/Gizmos/axisScaleGizmo.js.map +1 -1
  32. package/Gizmos/boundingBoxGizmo.d.ts +8 -0
  33. package/Gizmos/boundingBoxGizmo.js +10 -2
  34. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  35. package/Gizmos/gizmo.d.ts +1 -1
  36. package/Gizmos/gizmo.js +3 -3
  37. package/Gizmos/gizmo.js.map +1 -1
  38. package/Gizmos/planeDragGizmo.d.ts +12 -0
  39. package/Gizmos/planeDragGizmo.js +12 -0
  40. package/Gizmos/planeDragGizmo.js.map +1 -1
  41. package/Gizmos/planeRotationGizmo.d.ts +12 -0
  42. package/Gizmos/planeRotationGizmo.js +12 -0
  43. package/Gizmos/planeRotationGizmo.js.map +1 -1
  44. package/Gizmos/scaleGizmo.d.ts +12 -0
  45. package/Gizmos/scaleGizmo.js +12 -0
  46. package/Gizmos/scaleGizmo.js.map +1 -1
  47. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +2 -1
  48. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +2 -1
  49. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  50. package/Materials/Node/Blocks/Input/animatedInputBlockTypes.d.ts +4 -2
  51. package/Materials/Node/Blocks/Input/animatedInputBlockTypes.js +3 -1
  52. package/Materials/Node/Blocks/Input/animatedInputBlockTypes.js.map +1 -1
  53. package/Materials/Node/Blocks/Input/inputBlock.js +7 -0
  54. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  55. package/Materials/PBR/pbrBaseMaterial.js +1 -1
  56. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  57. package/Materials/Textures/baseTexture.d.ts +2 -0
  58. package/Materials/Textures/baseTexture.js.map +1 -1
  59. package/Materials/material.d.ts +4 -0
  60. package/Materials/material.js +4 -0
  61. package/Materials/material.js.map +1 -1
  62. package/Misc/tools.js +1 -1
  63. package/Misc/tools.js.map +1 -1
  64. package/Physics/v2/IPhysicsEnginePlugin.d.ts +7 -3
  65. package/Physics/v2/IPhysicsEnginePlugin.js +1 -0
  66. package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
  67. package/Physics/v2/physicsBody.d.ts +11 -1
  68. package/Physics/v2/physicsBody.js +23 -2
  69. package/Physics/v2/physicsBody.js.map +1 -1
  70. package/Physics/v2/physicsEngine.d.ts +15 -4
  71. package/Physics/v2/physicsEngine.js +23 -8
  72. package/Physics/v2/physicsEngine.js.map +1 -1
  73. package/Physics/v2/physicsShape.d.ts +1 -1
  74. package/Physics/v2/physicsShape.js +3 -3
  75. package/Physics/v2/physicsShape.js.map +1 -1
  76. package/XR/features/WebXRControllerTeleportation.js +2 -0
  77. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  78. package/node.d.ts +2 -0
  79. package/node.js.map +1 -1
  80. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"webGL2ShaderProcessors.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Engines/WebGL/webGL2ShaderProcessors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,gBAAgB;AAChB,MAAM,OAAO,qBAAqB;IAAlC;QACW,mBAAc,GAAG,cAAc,CAAC,IAAI,CAAC;IAoChD,CAAC;IAlCU,kBAAkB,CAAC,SAAiB;QACvC,OAAO,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,gBAAgB,CAAC,OAAe,EAAE,UAAmB;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAEM,aAAa,CAAC,IAAY,EAAE,OAAiB,EAAE,UAAmB;QACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,0CAA0C,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/F,oBAAoB;QACpB,MAAM,KAAK,GAAG,gJAAgJ,CAAC;QAC/J,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/B,uBAAuB;QACvB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE;YACZ,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;YAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;YAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,YAAY,CAAC,CAAC;SACxH;aAAM;YACH,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,qBAAqB,EAAE;gBACvB,OAAO,sEAAsE,GAAG,IAAI,CAAC;aACxF;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["import { ShaderLanguage } from \"../../Materials/shaderLanguage\";\r\nimport type { IShaderProcessor } from \"../Processors/iShaderProcessor\";\r\n\r\n/** @internal */\r\nexport class WebGL2ShaderProcessor implements IShaderProcessor {\r\n public shaderLanguage = ShaderLanguage.GLSL;\r\n\r\n public attributeProcessor(attribute: string) {\r\n return attribute.replace(\"attribute\", \"in\");\r\n }\r\n\r\n public varyingProcessor(varying: string, isFragment: boolean) {\r\n return varying.replace(\"varying\", isFragment ? \"in\" : \"out\");\r\n }\r\n\r\n public postProcessor(code: string, defines: string[], isFragment: boolean) {\r\n const hasDrawBuffersExtension = code.search(/#extension.+GL_EXT_draw_buffers.+require/) !== -1;\r\n\r\n // Remove extensions\r\n const regex = /#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g;\r\n code = code.replace(regex, \"\");\r\n\r\n // Replace instructions\r\n code = code.replace(/texture2D\\s*\\(/g, \"texture(\");\r\n if (isFragment) {\r\n code = code.replace(/texture2DLodEXT\\s*\\(/g, \"textureLod(\");\r\n code = code.replace(/textureCubeLodEXT\\s*\\(/g, \"textureLod(\");\r\n code = code.replace(/textureCube\\s*\\(/g, \"texture(\");\r\n code = code.replace(/gl_FragDepthEXT/g, \"gl_FragDepth\");\r\n code = code.replace(/gl_FragColor/g, \"glFragColor\");\r\n code = code.replace(/gl_FragData/g, \"glFragData\");\r\n code = code.replace(/void\\s+?main\\s*\\(/g, (hasDrawBuffersExtension ? \"\" : \"out vec4 glFragColor;\\n\") + \"void main(\");\r\n } else {\r\n const hasMultiviewExtension = defines.indexOf(\"#define MULTIVIEW\") !== -1;\r\n if (hasMultiviewExtension) {\r\n return \"#extension GL_OVR_multiview2 : require\\nlayout (num_views = 2) in;\\n\" + code;\r\n }\r\n }\r\n\r\n return code;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"webGL2ShaderProcessors.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Engines/WebGL/webGL2ShaderProcessors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,gBAAgB;AAChB,MAAM,OAAO,qBAAqB;IAAlC;QACW,mBAAc,GAAG,cAAc,CAAC,IAAI,CAAC;IAoChD,CAAC;IAlCU,kBAAkB,CAAC,SAAiB;QACvC,OAAO,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,gBAAgB,CAAC,OAAe,EAAE,UAAmB;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAEM,aAAa,CAAC,IAAY,EAAE,OAAiB,EAAE,UAAmB;QACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,0CAA0C,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/F,oBAAoB;QACpB,MAAM,KAAK,GAAG,gJAAgJ,CAAC;QAC/J,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/B,uBAAuB;QACvB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE;YACZ,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;YAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;YAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8CAA8C,CAAC,GAAG,YAAY,CAAC,CAAC;SAC7I;aAAM;YACH,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,IAAI,qBAAqB,EAAE;gBACvB,OAAO,sEAAsE,GAAG,IAAI,CAAC;aACxF;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["import { ShaderLanguage } from \"../../Materials/shaderLanguage\";\r\nimport type { IShaderProcessor } from \"../Processors/iShaderProcessor\";\r\n\r\n/** @internal */\r\nexport class WebGL2ShaderProcessor implements IShaderProcessor {\r\n public shaderLanguage = ShaderLanguage.GLSL;\r\n\r\n public attributeProcessor(attribute: string) {\r\n return attribute.replace(\"attribute\", \"in\");\r\n }\r\n\r\n public varyingProcessor(varying: string, isFragment: boolean) {\r\n return varying.replace(\"varying\", isFragment ? \"in\" : \"out\");\r\n }\r\n\r\n public postProcessor(code: string, defines: string[], isFragment: boolean) {\r\n const hasDrawBuffersExtension = code.search(/#extension.+GL_EXT_draw_buffers.+require/) !== -1;\r\n\r\n // Remove extensions\r\n const regex = /#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g;\r\n code = code.replace(regex, \"\");\r\n\r\n // Replace instructions\r\n code = code.replace(/texture2D\\s*\\(/g, \"texture(\");\r\n if (isFragment) {\r\n code = code.replace(/texture2DLodEXT\\s*\\(/g, \"textureLod(\");\r\n code = code.replace(/textureCubeLodEXT\\s*\\(/g, \"textureLod(\");\r\n code = code.replace(/textureCube\\s*\\(/g, \"texture(\");\r\n code = code.replace(/gl_FragDepthEXT/g, \"gl_FragDepth\");\r\n code = code.replace(/gl_FragColor/g, \"glFragColor\");\r\n code = code.replace(/gl_FragData/g, \"glFragData\");\r\n code = code.replace(/void\\s+?main\\s*\\(/g, (hasDrawBuffersExtension ? \"\" : \"layout(location = 0) out vec4 glFragColor;\\n\") + \"void main(\");\r\n } else {\r\n const hasMultiviewExtension = defines.indexOf(\"#define MULTIVIEW\") !== -1;\r\n if (hasMultiviewExtension) {\r\n return \"#extension GL_OVR_multiview2 : require\\nlayout (num_views = 2) in;\\n\" + code;\r\n }\r\n }\r\n\r\n return code;\r\n }\r\n}\r\n"]}
package/Engines/engine.js CHANGED
@@ -125,7 +125,7 @@ export class Engine extends ThinEngine {
125
125
  if (canvasOrContext.getContext) {
126
126
  const canvas = canvasOrContext;
127
127
  this._sharedInit(canvas, !!options.doNotHandleTouchAction, options.audioEngine);
128
- if (IsWindowObjectExist()) {
128
+ if (IsDocumentAvailable()) {
129
129
  // Fullscreen
130
130
  this._onFullscreenChange = () => {
131
131
  this.isFullscreen = !!document.fullscreenElement;
@@ -338,12 +338,10 @@ export class Engine extends ThinEngine {
338
338
  this.onCanvasPointerOutObservable.notifyObservers(ev);
339
339
  }
340
340
  };
341
- if (IsWindowObjectExist()) {
342
- const hostWindow = this.getHostWindow();
343
- if (hostWindow) {
344
- hostWindow.addEventListener("blur", this._onBlur);
345
- hostWindow.addEventListener("focus", this._onFocus);
346
- }
341
+ const hostWindow = this.getHostWindow(); // it calls IsWindowObjectExist()
342
+ if (hostWindow && typeof hostWindow.addEventListener === "function") {
343
+ hostWindow.addEventListener("blur", this._onBlur);
344
+ hostWindow.addEventListener("focus", this._onFocus);
347
345
  }
348
346
  canvas.addEventListener("pointerout", this._onCanvasPointerOut);
349
347
  if (!doNotHandleTouchAction) {
@@ -1332,25 +1330,26 @@ export class Engine extends ThinEngine {
1332
1330
  //WebVR
1333
1331
  this.disableVR();
1334
1332
  // Events
1335
- if (IsWindowObjectExist()) {
1336
- window.removeEventListener("blur", this._onBlur);
1337
- window.removeEventListener("focus", this._onFocus);
1338
- if (this._renderingCanvas) {
1339
- this._renderingCanvas.removeEventListener("focus", this._onCanvasFocus);
1340
- this._renderingCanvas.removeEventListener("blur", this._onCanvasBlur);
1341
- this._renderingCanvas.removeEventListener("pointerout", this._onCanvasPointerOut);
1342
- this._renderingCanvas.removeEventListener("contextmenu", this._onCanvasContextMenu);
1343
- }
1344
- if (IsDocumentAvailable()) {
1345
- document.removeEventListener("fullscreenchange", this._onFullscreenChange);
1346
- document.removeEventListener("mozfullscreenchange", this._onFullscreenChange);
1347
- document.removeEventListener("webkitfullscreenchange", this._onFullscreenChange);
1348
- document.removeEventListener("msfullscreenchange", this._onFullscreenChange);
1349
- document.removeEventListener("pointerlockchange", this._onPointerLockChange);
1350
- document.removeEventListener("mspointerlockchange", this._onPointerLockChange);
1351
- document.removeEventListener("mozpointerlockchange", this._onPointerLockChange);
1352
- document.removeEventListener("webkitpointerlockchange", this._onPointerLockChange);
1353
- }
1333
+ const hostWindow = this.getHostWindow(); // it calls IsWindowObjectExist()
1334
+ if (hostWindow && typeof hostWindow.removeEventListener === "function") {
1335
+ hostWindow.removeEventListener("blur", this._onBlur);
1336
+ hostWindow.removeEventListener("focus", this._onFocus);
1337
+ }
1338
+ if (this._renderingCanvas) {
1339
+ this._renderingCanvas.removeEventListener("focus", this._onCanvasFocus);
1340
+ this._renderingCanvas.removeEventListener("blur", this._onCanvasBlur);
1341
+ this._renderingCanvas.removeEventListener("pointerout", this._onCanvasPointerOut);
1342
+ this._renderingCanvas.removeEventListener("contextmenu", this._onCanvasContextMenu);
1343
+ }
1344
+ if (IsDocumentAvailable()) {
1345
+ document.removeEventListener("fullscreenchange", this._onFullscreenChange);
1346
+ document.removeEventListener("mozfullscreenchange", this._onFullscreenChange);
1347
+ document.removeEventListener("webkitfullscreenchange", this._onFullscreenChange);
1348
+ document.removeEventListener("msfullscreenchange", this._onFullscreenChange);
1349
+ document.removeEventListener("pointerlockchange", this._onPointerLockChange);
1350
+ document.removeEventListener("mspointerlockchange", this._onPointerLockChange);
1351
+ document.removeEventListener("mozpointerlockchange", this._onPointerLockChange);
1352
+ document.removeEventListener("webkitpointerlockchange", this._onPointerLockChange);
1354
1353
  }
1355
1354
  super.dispose();
1356
1355
  // Remove from Instances