Browse Source

Merge branch 'master' into curve-editor-comments

Alejandro Toledo 4 years ago
parent
commit
ab29c377ca
100 changed files with 3394 additions and 2833 deletions
  1. 69 30
      dist/preview release/babylon.d.ts
  2. 1 1
      dist/preview release/babylon.js
  3. 1 1
      dist/preview release/babylon.ktx2Decoder.js
  4. 315 162
      dist/preview release/babylon.max.js
  5. 1 1
      dist/preview release/babylon.max.js.map
  6. 142 66
      dist/preview release/babylon.module.d.ts
  7. 69 30
      dist/preview release/documentation.d.ts
  8. 1 1
      dist/preview release/glTF2Interface/package.json
  9. 7 7
      dist/preview release/gui/babylon.gui.js
  10. 1 1
      dist/preview release/gui/babylon.gui.js.map
  11. 1 1
      dist/preview release/gui/babylon.gui.min.js
  12. 2 2
      dist/preview release/gui/package.json
  13. 8 3
      dist/preview release/inspector/babylon.inspector.bundle.js
  14. 1063 961
      dist/preview release/inspector/babylon.inspector.bundle.max.js
  15. 1 1
      dist/preview release/inspector/babylon.inspector.bundle.max.js.map
  16. 47 44
      dist/preview release/inspector/babylon.inspector.d.ts
  17. 98 92
      dist/preview release/inspector/babylon.inspector.module.d.ts
  18. 7 7
      dist/preview release/inspector/package.json
  19. 7 7
      dist/preview release/loaders/babylon.glTF1FileLoader.js
  20. 1 1
      dist/preview release/loaders/babylon.glTF1FileLoader.js.map
  21. 1 1
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  22. 7 7
      dist/preview release/loaders/babylon.glTF2FileLoader.js
  23. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.js.map
  24. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  25. 7 7
      dist/preview release/loaders/babylon.glTFFileLoader.js
  26. 1 1
      dist/preview release/loaders/babylon.glTFFileLoader.js.map
  27. 1 1
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  28. 7 7
      dist/preview release/loaders/babylonjs.loaders.js
  29. 1 1
      dist/preview release/loaders/babylonjs.loaders.js.map
  30. 1 1
      dist/preview release/loaders/babylonjs.loaders.min.js
  31. 3 3
      dist/preview release/loaders/package.json
  32. 7 7
      dist/preview release/materialsLibrary/babylon.cellMaterial.js
  33. 1 1
      dist/preview release/materialsLibrary/babylon.cellMaterial.js.map
  34. 1 1
      dist/preview release/materialsLibrary/babylon.cellMaterial.min.js
  35. 7 7
      dist/preview release/materialsLibrary/babylon.customMaterial.js
  36. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.js.map
  37. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  38. 7 7
      dist/preview release/materialsLibrary/babylon.fireMaterial.js
  39. 1 1
      dist/preview release/materialsLibrary/babylon.fireMaterial.js.map
  40. 1 1
      dist/preview release/materialsLibrary/babylon.fireMaterial.min.js
  41. 7 7
      dist/preview release/materialsLibrary/babylon.furMaterial.js
  42. 1 1
      dist/preview release/materialsLibrary/babylon.furMaterial.js.map
  43. 1 1
      dist/preview release/materialsLibrary/babylon.furMaterial.min.js
  44. 7 7
      dist/preview release/materialsLibrary/babylon.gradientMaterial.js
  45. 1 1
      dist/preview release/materialsLibrary/babylon.gradientMaterial.js.map
  46. 1 1
      dist/preview release/materialsLibrary/babylon.gradientMaterial.min.js
  47. 7 7
      dist/preview release/materialsLibrary/babylon.gridMaterial.js
  48. 1 1
      dist/preview release/materialsLibrary/babylon.gridMaterial.js.map
  49. 1 1
      dist/preview release/materialsLibrary/babylon.gridMaterial.min.js
  50. 7 7
      dist/preview release/materialsLibrary/babylon.lavaMaterial.js
  51. 1 1
      dist/preview release/materialsLibrary/babylon.lavaMaterial.js.map
  52. 1 1
      dist/preview release/materialsLibrary/babylon.lavaMaterial.min.js
  53. 7 7
      dist/preview release/materialsLibrary/babylon.mixMaterial.js
  54. 1 1
      dist/preview release/materialsLibrary/babylon.mixMaterial.js.map
  55. 1 1
      dist/preview release/materialsLibrary/babylon.mixMaterial.min.js
  56. 7 7
      dist/preview release/materialsLibrary/babylon.normalMaterial.js
  57. 1 1
      dist/preview release/materialsLibrary/babylon.normalMaterial.js.map
  58. 1 1
      dist/preview release/materialsLibrary/babylon.normalMaterial.min.js
  59. 7 7
      dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.js
  60. 1 1
      dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.js.map
  61. 1 1
      dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.min.js
  62. 7 7
      dist/preview release/materialsLibrary/babylon.simpleMaterial.js
  63. 1 1
      dist/preview release/materialsLibrary/babylon.simpleMaterial.js.map
  64. 1 1
      dist/preview release/materialsLibrary/babylon.simpleMaterial.min.js
  65. 7 7
      dist/preview release/materialsLibrary/babylon.skyMaterial.js
  66. 1 1
      dist/preview release/materialsLibrary/babylon.skyMaterial.js.map
  67. 1 1
      dist/preview release/materialsLibrary/babylon.skyMaterial.min.js
  68. 7 7
      dist/preview release/materialsLibrary/babylon.terrainMaterial.js
  69. 1 1
      dist/preview release/materialsLibrary/babylon.terrainMaterial.js.map
  70. 1 1
      dist/preview release/materialsLibrary/babylon.terrainMaterial.min.js
  71. 7 7
      dist/preview release/materialsLibrary/babylon.triPlanarMaterial.js
  72. 1 1
      dist/preview release/materialsLibrary/babylon.triPlanarMaterial.js.map
  73. 1 1
      dist/preview release/materialsLibrary/babylon.triPlanarMaterial.min.js
  74. 7 7
      dist/preview release/materialsLibrary/babylon.waterMaterial.js
  75. 1 1
      dist/preview release/materialsLibrary/babylon.waterMaterial.js.map
  76. 1 1
      dist/preview release/materialsLibrary/babylon.waterMaterial.min.js
  77. 7 7
      dist/preview release/materialsLibrary/babylonjs.materials.js
  78. 1 1
      dist/preview release/materialsLibrary/babylonjs.materials.js.map
  79. 1 1
      dist/preview release/materialsLibrary/babylonjs.materials.min.js
  80. 2 2
      dist/preview release/materialsLibrary/package.json
  81. 1 1
      dist/preview release/nodeEditor/babylon.nodeEditor.d.ts
  82. 9 4
      dist/preview release/nodeEditor/babylon.nodeEditor.js
  83. 1322 1189
      dist/preview release/nodeEditor/babylon.nodeEditor.max.js
  84. 1 1
      dist/preview release/nodeEditor/babylon.nodeEditor.max.js.map
  85. 2 2
      dist/preview release/nodeEditor/babylon.nodeEditor.module.d.ts
  86. 2 2
      dist/preview release/nodeEditor/package.json
  87. 1 1
      dist/preview release/package.json
  88. 7 7
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.js
  89. 1 1
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.js.map
  90. 1 1
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js
  91. 7 7
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.js
  92. 1 1
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.js.map
  93. 1 1
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js
  94. 7 7
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.js
  95. 1 1
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.js.map
  96. 1 1
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js
  97. 2 2
      dist/preview release/postProcessesLibrary/package.json
  98. 7 7
      dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.js
  99. 1 1
      dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.js.map
  100. 0 0
      dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.min.js

+ 69 - 30
dist/preview release/babylon.d.ts

@@ -11798,6 +11798,10 @@ declare module BABYLON {
         groupInInspector: string;
         groupInInspector: string;
         /** Gets an observable raised when the value is changed */
         /** Gets an observable raised when the value is changed */
         onValueChangedObservable: Observable<InputBlock>;
         onValueChangedObservable: Observable<InputBlock>;
+        /** Gets or sets a boolean indicating if content needs to be converted to gamma space (for color3/4 only) */
+        convertToGammaSpace: boolean;
+        /** Gets or sets a boolean indicating if content needs to be converted to linear space (for color3/4 only) */
+        convertToLinearSpace: boolean;
         /**
         /**
          * Gets or sets the connection point type (default is float)
          * Gets or sets the connection point type (default is float)
          */
          */
@@ -23145,27 +23149,6 @@ declare module BABYLON {
     }
     }
 }
 }
 declare module BABYLON {
 declare module BABYLON {
-    /** @hidden */
-    export var imageProcessingCompatibility: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
-    /** @hidden */
-    export var spritesPixelShader: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
-    /** @hidden */
-    export var spritesVertexShader: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
     /**
     /**
      * ThinSprite Class used to represent a thin sprite
      * ThinSprite Class used to represent a thin sprite
      * This is the base class for sprites but can also directly be used with ThinEngine
      * This is the base class for sprites but can also directly be used with ThinEngine
@@ -23213,10 +23196,10 @@ declare module BABYLON {
         /** @hidden */
         /** @hidden */
         _ySize: number;
         _ySize: number;
         private _animationStarted;
         private _animationStarted;
-        private _loopAnimation;
-        private _fromIndex;
-        private _toIndex;
-        private _delay;
+        protected _loopAnimation: boolean;
+        protected _fromIndex: number;
+        protected _toIndex: number;
+        protected _delay: number;
         private _direction;
         private _direction;
         private _time;
         private _time;
         private _onBaseAnimationEnd;
         private _onBaseAnimationEnd;
@@ -23240,6 +23223,27 @@ declare module BABYLON {
     }
     }
 }
 }
 declare module BABYLON {
 declare module BABYLON {
+    /** @hidden */
+    export var imageProcessingCompatibility: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var spritesPixelShader: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var spritesVertexShader: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
     /**
     /**
      * Class used to render sprites.
      * Class used to render sprites.
      *
      *
@@ -23601,12 +23605,16 @@ declare module BABYLON {
          */
          */
         getClassName(): string;
         getClassName(): string;
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
+        get fromIndex(): number;
         set fromIndex(value: number);
         set fromIndex(value: number);
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
+        get toIndex(): number;
         set toIndex(value: number);
         set toIndex(value: number);
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
+        get loopAnimation(): boolean;
         set loopAnimation(value: boolean);
         set loopAnimation(value: boolean);
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
+        get delay(): number;
         set delay(value: number);
         set delay(value: number);
         /**
         /**
          * Starts an animation
          * Starts an animation
@@ -53103,6 +53111,14 @@ declare module BABYLON {
          * Meshes that the teleportation ray cannot go through
          * Meshes that the teleportation ray cannot go through
          */
          */
         pickBlockerMeshes?: AbstractMesh[];
         pickBlockerMeshes?: AbstractMesh[];
+        /**
+         * Should teleport work only on a specific hand?
+         */
+        forceHandedness?: XRHandedness;
+        /**
+         * If provided, this function will be used to generate the ray mesh instead of the lines mesh being used per default
+         */
+        generateRayPathMesh?: (points: Vector3[]) => AbstractMesh;
     }
     }
     /**
     /**
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
@@ -53153,14 +53169,29 @@ declare module BABYLON {
          */
          */
         parabolicRayEnabled: boolean;
         parabolicRayEnabled: boolean;
         /**
         /**
+         * The second type of ray - straight line.
+         * Should it be enabled or should the parabolic line be the only one.
+         */
+        straightRayEnabled: boolean;
+        /**
          * How much rotation should be applied when rotating right and left
          * How much rotation should be applied when rotating right and left
          */
          */
         rotationAngle: number;
         rotationAngle: number;
+        private _rotationEnabled;
         /**
         /**
          * Is rotation enabled when moving forward?
          * Is rotation enabled when moving forward?
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          */
          */
-        rotationEnabled: boolean;
+        get rotationEnabled(): boolean;
+        /**
+         * Sets wether rotation is enabled or not
+         * @param enabled is rotation enabled when teleportation is shown
+         */
+        set rotationEnabled(enabled: boolean);
+        /**
+         * Exposes the currently set teleportation target mesh.
+         */
+        get teleportationTargetMesh(): Nullable<AbstractMesh>;
         /**
         /**
          * constructs a new anchor system
          * constructs a new anchor system
          * @param _xrSessionManager an instance of WebXRSessionManager
          * @param _xrSessionManager an instance of WebXRSessionManager
@@ -76103,6 +76134,10 @@ declare module BABYLON {
          * if defined, this object will be constantly updated by the anchor's position and rotation
          * if defined, this object will be constantly updated by the anchor's position and rotation
          */
          */
         attachedNode?: TransformNode;
         attachedNode?: TransformNode;
+        /**
+         * Remove this anchor from the scene
+         */
+        remove(): void;
     }
     }
     /**
     /**
      * An implementation of the anchor system for WebXR.
      * An implementation of the anchor system for WebXR.
@@ -76159,9 +76194,9 @@ declare module BABYLON {
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param position an optional position offset for this anchor
          * @param position an optional position offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
          */
          */
-        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<XRAnchor>;
+        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<IWebXRAnchor>;
         /**
         /**
          * Add a new anchor at a specific position and rotation
          * Add a new anchor at a specific position and rotation
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
@@ -76172,9 +76207,13 @@ declare module BABYLON {
          * @param position the position in which to add an anchor
          * @param position the position in which to add an anchor
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
+         */
+        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<IWebXRAnchor>;
+        /**
+         * Get the list of anchors currently being tracked by the system
          */
          */
-        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<XRAnchor>;
+        get anchors(): IWebXRAnchor[];
         /**
         /**
          * detach this feature.
          * detach this feature.
          * Will usually be called by the features manager
          * Will usually be called by the features manager

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.ktx2Decoder.js


+ 315 - 162
dist/preview release/babylon.max.js

@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }
@@ -4908,7 +4908,7 @@ var AnimationGroup = /** @class */ (function () {
                 var newKey = {
                 var newKey = {
                     frame: endFrame,
                     frame: endFrame,
                     value: endKey.value,
                     value: endKey.value,
-                    inTangent: endKey.outTangent,
+                    inTangent: endKey.inTangent,
                     outTangent: endKey.outTangent,
                     outTangent: endKey.outTangent,
                     interpolation: endKey.interpolation
                     interpolation: endKey.interpolation
                 };
                 };
@@ -40715,7 +40715,7 @@ var ThinEngine = /** @class */ (function () {
          */
          */
         // Not mixed with Version for tooling purpose.
         // Not mixed with Version for tooling purpose.
         get: function () {
         get: function () {
-            return "babylonjs@4.2.0-beta.17";
+            return "babylonjs@4.2.0-beta.18";
         },
         },
         enumerable: false,
         enumerable: false,
         configurable: true
         configurable: true
@@ -40725,7 +40725,7 @@ var ThinEngine = /** @class */ (function () {
          * Returns the current version of the framework
          * Returns the current version of the framework
          */
          */
         get: function () {
         get: function () {
-            return "4.2.0-beta.17";
+            return "4.2.0-beta.18";
         },
         },
         enumerable: false,
         enumerable: false,
         configurable: true
         configurable: true
@@ -48329,16 +48329,10 @@ var AxisScaleGizmo = /** @class */ (function (_super) {
         var linePosition = arrowTail.position.clone();
         var linePosition = arrowTail.position.clone();
         var lineScale = arrowTail.scaling.clone();
         var lineScale = arrowTail.scaling.clone();
         var increaseGizmoMesh = function (dragDistance) {
         var increaseGizmoMesh = function (dragDistance) {
-            var dragStrength = _this.sensitivity * dragDistance * ((_this.scaleRatio * 3) / _this._rootMesh.scaling.length());
-            var scalar = 1; // This will increase the rate of gizmo size on drag
-            var originalScale = arrowTail.scaling.y;
-            var newScale = originalScale + dragStrength * scalar;
-            var newMeshPosition = arrowMesh.position.z + ((newScale - originalScale) / 4);
-            if (newMeshPosition >= 0) {
-                arrowMesh.position.z = newMeshPosition;
-                arrowTail.scaling.y = newScale;
-                arrowTail.position.z = arrowMesh.position.z / 2;
-            }
+            var dragStrength = (dragDistance * (3 / _this._rootMesh.scaling.length())) * 6;
+            arrowMesh.position.z += dragStrength / 3.5;
+            arrowTail.scaling.y += dragStrength;
+            arrowTail.position.z = arrowMesh.position.z / 2;
         };
         };
         var resetGizmoMesh = function () {
         var resetGizmoMesh = function () {
             arrowMesh.position.set(nodePosition.x, nodePosition.y, nodePosition.z);
             arrowMesh.position.set(nodePosition.x, nodePosition.y, nodePosition.z);
@@ -70403,6 +70397,10 @@ var InputBlock = /** @class */ (function (_super) {
         _this.groupInInspector = "";
         _this.groupInInspector = "";
         /** Gets an observable raised when the value is changed */
         /** Gets an observable raised when the value is changed */
         _this.onValueChangedObservable = new _Misc_observable__WEBPACK_IMPORTED_MODULE_10__["Observable"]();
         _this.onValueChangedObservable = new _Misc_observable__WEBPACK_IMPORTED_MODULE_10__["Observable"]();
+        /** Gets or sets a boolean indicating if content needs to be converted to gamma space (for color3/4 only) */
+        _this.convertToGammaSpace = false;
+        /** Gets or sets a boolean indicating if content needs to be converted to linear space (for color3/4 only) */
+        _this.convertToLinearSpace = false;
         _this._type = type;
         _this._type = type;
         _this.setDefaultValue();
         _this.setDefaultValue();
         _this.registerOutput("output", type);
         _this.registerOutput("output", type);
@@ -70753,9 +70751,23 @@ var InputBlock = /** @class */ (function (_super) {
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Vector4:
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Vector4:
                 return "vec4(" + this.value.x + ", " + this.value.y + ", " + this.value.z + ", " + this.value.w + ")";
                 return "vec4(" + this.value.x + ", " + this.value.y + ", " + this.value.z + ", " + this.value.w + ")";
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color3:
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color3:
-                return "vec3(" + this.value.r + ", " + this.value.g + ", " + this.value.b + ")";
+                _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].set(this.value.r, this.value.g, this.value.b);
+                if (this.convertToGammaSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].toGammaSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0]);
+                }
+                if (this.convertToLinearSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].toLinearSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0]);
+                }
+                return "vec3(" + _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].r + ", " + _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].g + ", " + _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].b + ")";
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color4:
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color4:
-                return "vec4(" + this.value.r + ", " + this.value.g + ", " + this.value.b + ", " + this.value.a + ")";
+                _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].set(this.value.r, this.value.g, this.value.b, this.value.a);
+                if (this.convertToGammaSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].toGammaSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0]);
+                }
+                if (this.convertToLinearSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].toLinearSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0]);
+                }
+                return "vec4(" + _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].r + ", " + _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].g + ", " + _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].b + ", " + _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].a + ")";
         }
         }
         return "";
         return "";
     };
     };
@@ -70914,10 +70926,24 @@ var InputBlock = /** @class */ (function (_super) {
                 effect.setInt(variableName, value);
                 effect.setInt(variableName, value);
                 break;
                 break;
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color3:
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color3:
-                effect.setColor3(variableName, value);
+                _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].set(this.value.r, this.value.g, this.value.b);
+                if (this.convertToGammaSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].toGammaSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0]);
+                }
+                if (this.convertToLinearSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0].toLinearSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0]);
+                }
+                effect.setColor3(variableName, _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color3[0]);
                 break;
                 break;
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color4:
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color4:
-                effect.setDirectColor4(variableName, value);
+                _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].set(this.value.r, this.value.g, this.value.b, this.value.a);
+                if (this.convertToGammaSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].toGammaSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0]);
+                }
+                if (this.convertToLinearSpace) {
+                    _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0].toLinearSpaceToRef(_Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0]);
+                }
+                effect.setDirectColor4(variableName, _Maths_math__WEBPACK_IMPORTED_MODULE_8__["TmpColors"].Color4[0]);
                 break;
                 break;
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Vector2:
             case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Vector2:
                 effect.setVector2(variableName, value);
                 effect.setVector2(variableName, value);
@@ -70966,9 +70992,21 @@ var InputBlock = /** @class */ (function (_super) {
                     break;
                     break;
                 case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color3:
                 case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color3:
                     valueString = "new BABYLON.Color3(" + this.value.r + ", " + this.value.g + ", " + this.value.b + ")";
                     valueString = "new BABYLON.Color3(" + this.value.r + ", " + this.value.g + ", " + this.value.b + ")";
+                    if (this.convertToGammaSpace) {
+                        valueString += ".toGammaSpace()";
+                    }
+                    if (this.convertToLinearSpace) {
+                        valueString += ".toLinearSpace()";
+                    }
                     break;
                     break;
                 case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color4:
                 case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Color4:
                     valueString = "new BABYLON.Color4(" + this.value.r + ", " + this.value.g + ", " + this.value.b + ", " + this.value.a + ")";
                     valueString = "new BABYLON.Color4(" + this.value.r + ", " + this.value.g + ", " + this.value.b + ", " + this.value.a + ")";
+                    if (this.convertToGammaSpace) {
+                        valueString += ".toGammaSpace()";
+                    }
+                    if (this.convertToLinearSpace) {
+                        valueString += ".toLinearSpace()";
+                    }
                     break;
                     break;
                 case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Matrix:
                 case _Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialBlockConnectionPointTypes"].Matrix:
                     valueString = "BABYLON.Matrix.FromArray([" + this.value.m + "])";
                     valueString = "BABYLON.Matrix.FromArray([" + this.value.m + "])";
@@ -71003,6 +71041,8 @@ var InputBlock = /** @class */ (function (_super) {
         serializationObject.matrixMode = this.matrixMode;
         serializationObject.matrixMode = this.matrixMode;
         serializationObject.isConstant = this.isConstant;
         serializationObject.isConstant = this.isConstant;
         serializationObject.groupInInspector = this.groupInInspector;
         serializationObject.groupInInspector = this.groupInInspector;
+        serializationObject.convertToGammaSpace = this.convertToGammaSpace;
+        serializationObject.convertToLinearSpace = this.convertToLinearSpace;
         if (this._storedValue != null && this._mode === _Enums_nodeMaterialBlockConnectionPointMode__WEBPACK_IMPORTED_MODULE_3__["NodeMaterialBlockConnectionPointMode"].Uniform) {
         if (this._storedValue != null && this._mode === _Enums_nodeMaterialBlockConnectionPointMode__WEBPACK_IMPORTED_MODULE_3__["NodeMaterialBlockConnectionPointMode"].Uniform) {
             if (this._storedValue.asArray) {
             if (this._storedValue.asArray) {
                 serializationObject.valueType = "BABYLON." + this._storedValue.getClassName();
                 serializationObject.valueType = "BABYLON." + this._storedValue.getClassName();
@@ -71027,6 +71067,8 @@ var InputBlock = /** @class */ (function (_super) {
         this.matrixMode = serializationObject.matrixMode || 0;
         this.matrixMode = serializationObject.matrixMode || 0;
         this.isConstant = !!serializationObject.isConstant;
         this.isConstant = !!serializationObject.isConstant;
         this.groupInInspector = serializationObject.groupInInspector || "";
         this.groupInInspector = serializationObject.groupInInspector || "";
+        this.convertToGammaSpace = !!serializationObject.convertToGammaSpace;
+        this.convertToLinearSpace = !!serializationObject.convertToLinearSpace;
         if (!serializationObject.valueType) {
         if (!serializationObject.valueType) {
             return;
             return;
         }
         }
@@ -92674,29 +92716,23 @@ var BaseTexture = /** @class */ (function (_super) {
             callback();
             callback();
             return;
             return;
         }
         }
-        var _loop_1 = function () {
-            texture = textures[i];
+        for (var i = 0; i < textures.length; i++) {
+            var texture = textures[i];
             if (texture.isReady()) {
             if (texture.isReady()) {
                 if (--numRemaining === 0) {
                 if (--numRemaining === 0) {
                     callback();
                     callback();
                 }
                 }
             }
             }
             else {
             else {
-                onLoadObservable = texture.onLoadObservable;
+                var onLoadObservable = texture.onLoadObservable;
                 if (onLoadObservable) {
                 if (onLoadObservable) {
-                    var onLoadCallback_1 = function () {
-                        onLoadObservable.removeCallback(onLoadCallback_1);
+                    onLoadObservable.addOnce(function () {
                         if (--numRemaining === 0) {
                         if (--numRemaining === 0) {
                             callback();
                             callback();
                         }
                         }
-                    };
-                    onLoadObservable.add(onLoadCallback_1);
+                    });
                 }
                 }
             }
             }
-        };
-        var texture, onLoadObservable;
-        for (var i = 0; i < textures.length; i++) {
-            _loop_1();
         }
         }
     };
     };
     BaseTexture._isScene = function (sceneOrEngine) {
     BaseTexture._isScene = function (sceneOrEngine) {
@@ -126361,6 +126397,10 @@ var Geometry = /** @class */ (function () {
      */
      */
     Geometry.prototype.setVerticesData = function (kind, data, updatable, stride) {
     Geometry.prototype.setVerticesData = function (kind, data, updatable, stride) {
         if (updatable === void 0) { updatable = false; }
         if (updatable === void 0) { updatable = false; }
+        if (updatable && Array.isArray(data)) {
+            // to avoid converting to Float32Array at each draw call in engine.updateDynamicVertexBuffer, we make the conversion a single time here
+            data = new Float32Array(data);
+        }
         var buffer = new _Meshes_buffer__WEBPACK_IMPORTED_MODULE_3__["VertexBuffer"](this._engine, data, kind, updatable, this._meshes.length === 0, stride);
         var buffer = new _Meshes_buffer__WEBPACK_IMPORTED_MODULE_3__["VertexBuffer"](this._engine, data, kind, updatable, this._meshes.length === 0, stride);
         this.setVerticesBuffer(buffer);
         this.setVerticesBuffer(buffer);
     };
     };
@@ -135448,11 +135488,9 @@ var PolygonPoints = /** @class */ (function () {
         var _this = this;
         var _this = this;
         var result = new Array();
         var result = new Array();
         originalPoints.forEach(function (point) {
         originalPoints.forEach(function (point) {
-            if (result.length === 0 || !point.equalsWithEpsilon(result[0])) {
-                var newPoint = new IndexedVector2(point, _this.elements.length);
-                result.push(newPoint);
-                _this.elements.push(newPoint);
-            }
+            var newPoint = new IndexedVector2(point, _this.elements.length);
+            result.push(newPoint);
+            _this.elements.push(newPoint);
         });
         });
         return result;
         return result;
     };
     };
@@ -188548,32 +188586,44 @@ var Sprite = /** @class */ (function (_super) {
     };
     };
     Object.defineProperty(Sprite.prototype, "fromIndex", {
     Object.defineProperty(Sprite.prototype, "fromIndex", {
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
+        get: function () {
+            return this._fromIndex;
+        },
         set: function (value) {
         set: function (value) {
-            this.playAnimation(value, this.toIndex, this.loopAnimation, this.delay, this._onAnimationEnd);
+            this.playAnimation(value, this._toIndex, this._loopAnimation, this._delay, this._onAnimationEnd);
         },
         },
         enumerable: false,
         enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(Sprite.prototype, "toIndex", {
     Object.defineProperty(Sprite.prototype, "toIndex", {
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
+        get: function () {
+            return this._toIndex;
+        },
         set: function (value) {
         set: function (value) {
-            this.playAnimation(this.fromIndex, value, this.loopAnimation, this.delay, this._onAnimationEnd);
+            this.playAnimation(this._fromIndex, value, this._loopAnimation, this._delay, this._onAnimationEnd);
         },
         },
         enumerable: false,
         enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(Sprite.prototype, "loopAnimation", {
     Object.defineProperty(Sprite.prototype, "loopAnimation", {
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
+        get: function () {
+            return this._loopAnimation;
+        },
         set: function (value) {
         set: function (value) {
-            this.playAnimation(this.fromIndex, this.toIndex, value, this.delay, this._onAnimationEnd);
+            this.playAnimation(this._fromIndex, this._toIndex, value, this._delay, this._onAnimationEnd);
         },
         },
         enumerable: false,
         enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(Sprite.prototype, "delay", {
     Object.defineProperty(Sprite.prototype, "delay", {
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
+        get: function () {
+            return Math.max(this._delay, 1);
+        },
         set: function (value) {
         set: function (value) {
-            this.playAnimation(this.fromIndex, this.toIndex, this.loopAnimation, value, this._onAnimationEnd);
+            this.playAnimation(this._fromIndex, this._toIndex, this._loopAnimation, value, this._onAnimationEnd);
         },
         },
         enumerable: false,
         enumerable: false,
         configurable: true
         configurable: true
@@ -188684,13 +188734,9 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony import */ var _Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Materials/Textures/texture */ "./Materials/Textures/texture.ts");
 /* harmony import */ var _Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Materials/Textures/texture */ "./Materials/Textures/texture.ts");
 /* harmony import */ var _sceneComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../sceneComponent */ "./sceneComponent.ts");
 /* harmony import */ var _sceneComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../sceneComponent */ "./sceneComponent.ts");
 /* harmony import */ var _Misc_logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Misc/logger */ "./Misc/logger.ts");
 /* harmony import */ var _Misc_logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Misc/logger */ "./Misc/logger.ts");
-/* harmony import */ var _Shaders_sprites_fragment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Shaders/sprites.fragment */ "./Shaders/sprites.fragment.ts");
-/* harmony import */ var _Shaders_sprites_vertex__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Shaders/sprites.vertex */ "./Shaders/sprites.vertex.ts");
-/* harmony import */ var _Engines_engine__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Engines/engine */ "./Engines/engine.ts");
-/* harmony import */ var _Misc_webRequest__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Misc/webRequest */ "./Misc/webRequest.ts");
-/* harmony import */ var _spriteRenderer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./spriteRenderer */ "./Sprites/spriteRenderer.ts");
-
-
+/* harmony import */ var _Engines_engine__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Engines/engine */ "./Engines/engine.ts");
+/* harmony import */ var _Misc_webRequest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Misc/webRequest */ "./Misc/webRequest.ts");
+/* harmony import */ var _spriteRenderer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./spriteRenderer */ "./Sprites/spriteRenderer.ts");
 
 
 
 
 
 
@@ -188761,7 +188807,7 @@ var SpriteManager = /** @class */ (function () {
             sprite._ySize = _this._cellData[sprite.cellRef].frame.h;
             sprite._ySize = _this._cellData[sprite.cellRef].frame.h;
         };
         };
         if (!scene) {
         if (!scene) {
-            scene = _Engines_engine__WEBPACK_IMPORTED_MODULE_10__["Engine"].LastCreatedScene;
+            scene = _Engines_engine__WEBPACK_IMPORTED_MODULE_8__["Engine"].LastCreatedScene;
         }
         }
         if (!scene._getComponent(_sceneComponent__WEBPACK_IMPORTED_MODULE_6__["SceneComponentConstants"].NAME_SPRITE)) {
         if (!scene._getComponent(_sceneComponent__WEBPACK_IMPORTED_MODULE_6__["SceneComponentConstants"].NAME_SPRITE)) {
             scene._addComponent(new _spriteSceneComponent__WEBPACK_IMPORTED_MODULE_3__["SpriteSceneComponent"](scene));
             scene._addComponent(new _spriteSceneComponent__WEBPACK_IMPORTED_MODULE_3__["SpriteSceneComponent"](scene));
@@ -188769,7 +188815,7 @@ var SpriteManager = /** @class */ (function () {
         this._fromPacked = fromPacked;
         this._fromPacked = fromPacked;
         this._scene = scene;
         this._scene = scene;
         var engine = this._scene.getEngine();
         var engine = this._scene.getEngine();
-        this._spriteRenderer = new _spriteRenderer__WEBPACK_IMPORTED_MODULE_12__["SpriteRenderer"](engine, capacity, epsilon, scene);
+        this._spriteRenderer = new _spriteRenderer__WEBPACK_IMPORTED_MODULE_10__["SpriteRenderer"](engine, capacity, epsilon, scene);
         if (cellSize.width && cellSize.height) {
         if (cellSize.width && cellSize.height) {
             this.cellWidth = cellSize.width;
             this.cellWidth = cellSize.width;
             this.cellHeight = cellSize.height;
             this.cellHeight = cellSize.height;
@@ -188785,7 +188831,7 @@ var SpriteManager = /** @class */ (function () {
         this._scene.spriteManagers.push(this);
         this._scene.spriteManagers.push(this);
         this.uniqueId = this.scene.getUniqueId();
         this.uniqueId = this.scene.getUniqueId();
         if (imgUrl) {
         if (imgUrl) {
-            this._spriteRenderer.texture = new _Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_5__["Texture"](imgUrl, scene, true, false, samplingMode);
+            this.texture = new _Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_5__["Texture"](imgUrl, scene, true, false, samplingMode);
         }
         }
         if (this._fromPacked) {
         if (this._fromPacked) {
             this._makePacked(imgUrl, spriteJSON);
             this._makePacked(imgUrl, spriteJSON);
@@ -189211,12 +189257,12 @@ var SpriteManager = /** @class */ (function () {
     SpriteManager.ParseFromFileAsync = function (name, url, scene, rootUrl) {
     SpriteManager.ParseFromFileAsync = function (name, url, scene, rootUrl) {
         if (rootUrl === void 0) { rootUrl = ""; }
         if (rootUrl === void 0) { rootUrl = ""; }
         return new Promise(function (resolve, reject) {
         return new Promise(function (resolve, reject) {
-            var request = new _Misc_webRequest__WEBPACK_IMPORTED_MODULE_11__["WebRequest"]();
+            var request = new _Misc_webRequest__WEBPACK_IMPORTED_MODULE_9__["WebRequest"]();
             request.addEventListener("readystatechange", function () {
             request.addEventListener("readystatechange", function () {
                 if (request.readyState == 4) {
                 if (request.readyState == 4) {
                     if (request.status == 200) {
                     if (request.status == 200) {
                         var serializationObject = JSON.parse(request.responseText);
                         var serializationObject = JSON.parse(request.responseText);
-                        var output = SpriteManager.Parse(serializationObject, scene || _Engines_engine__WEBPACK_IMPORTED_MODULE_10__["Engine"].LastCreatedScene, rootUrl);
+                        var output = SpriteManager.Parse(serializationObject, scene || _Engines_engine__WEBPACK_IMPORTED_MODULE_8__["Engine"].LastCreatedScene, rootUrl);
                         if (name) {
                         if (name) {
                             output.name = name;
                             output.name = name;
                         }
                         }
@@ -189245,13 +189291,13 @@ var SpriteManager = /** @class */ (function () {
             return Promise.resolve(new SpriteManager("Default sprite manager", "//playground.babylonjs.com/textures/player.png", 500, 64, scene));
             return Promise.resolve(new SpriteManager("Default sprite manager", "//playground.babylonjs.com/textures/player.png", 500, 64, scene));
         }
         }
         return new Promise(function (resolve, reject) {
         return new Promise(function (resolve, reject) {
-            var request = new _Misc_webRequest__WEBPACK_IMPORTED_MODULE_11__["WebRequest"]();
+            var request = new _Misc_webRequest__WEBPACK_IMPORTED_MODULE_9__["WebRequest"]();
             request.addEventListener("readystatechange", function () {
             request.addEventListener("readystatechange", function () {
                 if (request.readyState == 4) {
                 if (request.readyState == 4) {
                     if (request.status == 200) {
                     if (request.status == 200) {
                         var snippet = JSON.parse(JSON.parse(request.responseText).jsonPayload);
                         var snippet = JSON.parse(JSON.parse(request.responseText).jsonPayload);
                         var serializationObject = JSON.parse(snippet.spriteManager);
                         var serializationObject = JSON.parse(snippet.spriteManager);
-                        var output = SpriteManager.Parse(serializationObject, scene || _Engines_engine__WEBPACK_IMPORTED_MODULE_10__["Engine"].LastCreatedScene, rootUrl);
+                        var output = SpriteManager.Parse(serializationObject, scene || _Engines_engine__WEBPACK_IMPORTED_MODULE_8__["Engine"].LastCreatedScene, rootUrl);
                         output.snippetId = snippetId;
                         output.snippetId = snippetId;
                         resolve(output);
                         resolve(output);
                     }
                     }
@@ -190028,6 +190074,9 @@ var SpriteRenderer = /** @class */ (function () {
             customSpriteUpdate(sprite, baseSize);
             customSpriteUpdate(sprite, baseSize);
         }
         }
         else {
         else {
+            if (!sprite.cellIndex) {
+                sprite.cellIndex = 0;
+            }
             var rowSize = baseSize.width / this.cellWidth;
             var rowSize = baseSize.width / this.cellWidth;
             var offset = (sprite.cellIndex / rowSize) >> 0;
             var offset = (sprite.cellIndex / rowSize) >> 0;
             sprite._xOffset = (sprite.cellIndex - offset * rowSize) * this.cellWidth / baseSize.width;
             sprite._xOffset = (sprite.cellIndex - offset * rowSize) * this.cellWidth / baseSize.width;
@@ -190392,8 +190441,6 @@ var ThinSprite = /** @class */ (function () {
      * Creates a new Thin Sprite
      * Creates a new Thin Sprite
      */
      */
     function ThinSprite() {
     function ThinSprite() {
-        /** Gets or sets the cell index in the sprite sheet */
-        this.cellIndex = 0;
         /** Gets or sets the width */
         /** Gets or sets the width */
         this.width = 1.0;
         this.width = 1.0;
         /** Gets or sets the height */
         /** Gets or sets the height */
@@ -191307,30 +191354,43 @@ var WebXRAnchorSystem = /** @class */ (function (_super) {
      * @param hitTestResult The hit test result to use for this anchor creation
      * @param hitTestResult The hit test result to use for this anchor creation
      * @param position an optional position offset for this anchor
      * @param position an optional position offset for this anchor
      * @param rotationQuaternion an optional rotation offset for this anchor
      * @param rotationQuaternion an optional rotation offset for this anchor
-     * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+     * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
      */
      */
     WebXRAnchorSystem.prototype.addAnchorPointUsingHitTestResultAsync = function (hitTestResult, position, rotationQuaternion) {
     WebXRAnchorSystem.prototype.addAnchorPointUsingHitTestResultAsync = function (hitTestResult, position, rotationQuaternion) {
         if (position === void 0) { position = new _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"](); }
         if (position === void 0) { position = new _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"](); }
         if (rotationQuaternion === void 0) { rotationQuaternion = new _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Quaternion"](); }
         if (rotationQuaternion === void 0) { rotationQuaternion = new _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Quaternion"](); }
         return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
         return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
-            var m;
+            var m, nativeAnchor_1, error_1;
+            var _this = this;
             return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
             return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
-                // convert to XR space (right handed) if needed
-                this._populateTmpTransformation(position, rotationQuaternion);
-                m = new XRRigidTransform({ x: this._tmpVector.x, y: this._tmpVector.y, z: this._tmpVector.z }, { x: this._tmpQuaternion.x, y: this._tmpQuaternion.y, z: this._tmpQuaternion.z, w: this._tmpQuaternion.w });
-                if (!hitTestResult.xrHitResult.createAnchor) {
-                    this.detach();
-                    throw new Error('Anchors not enabled in this environment/browser');
-                }
-                else {
-                    try {
-                        return [2 /*return*/, hitTestResult.xrHitResult.createAnchor(m)];
-                    }
-                    catch (error) {
-                        throw new Error(error);
-                    }
+                switch (_a.label) {
+                    case 0:
+                        // convert to XR space (right handed) if needed
+                        this._populateTmpTransformation(position, rotationQuaternion);
+                        m = new XRRigidTransform({ x: this._tmpVector.x, y: this._tmpVector.y, z: this._tmpVector.z }, { x: this._tmpQuaternion.x, y: this._tmpQuaternion.y, z: this._tmpQuaternion.z, w: this._tmpQuaternion.w });
+                        if (!!hitTestResult.xrHitResult.createAnchor) return [3 /*break*/, 1];
+                        this.detach();
+                        throw new Error("Anchors not enabled in this environment/browser");
+                    case 1:
+                        _a.trys.push([1, 3, , 4]);
+                        return [4 /*yield*/, hitTestResult.xrHitResult.createAnchor(m)];
+                    case 2:
+                        nativeAnchor_1 = _a.sent();
+                        return [2 /*return*/, new Promise(function (resolve, reject) {
+                                _this._futureAnchors.push({
+                                    nativeAnchor: nativeAnchor_1,
+                                    resolved: false,
+                                    submitted: true,
+                                    xrTransformation: m,
+                                    resolve: resolve,
+                                    reject: reject,
+                                });
+                            })];
+                    case 3:
+                        error_1 = _a.sent();
+                        throw new Error(error_1);
+                    case 4: return [2 /*return*/];
                 }
                 }
-                return [2 /*return*/];
             });
             });
         });
         });
     };
     };
@@ -191344,30 +191404,55 @@ var WebXRAnchorSystem = /** @class */ (function (_super) {
      * @param position the position in which to add an anchor
      * @param position the position in which to add an anchor
      * @param rotationQuaternion an optional rotation for the anchor transformation
      * @param rotationQuaternion an optional rotation for the anchor transformation
      * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
      * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
-     * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+     * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
      */
      */
     WebXRAnchorSystem.prototype.addAnchorAtPositionAndRotationAsync = function (position, rotationQuaternion, forceCreateInCurrentFrame) {
     WebXRAnchorSystem.prototype.addAnchorAtPositionAndRotationAsync = function (position, rotationQuaternion, forceCreateInCurrentFrame) {
-        var _this = this;
         if (rotationQuaternion === void 0) { rotationQuaternion = new _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Quaternion"](); }
         if (rotationQuaternion === void 0) { rotationQuaternion = new _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Quaternion"](); }
         if (forceCreateInCurrentFrame === void 0) { forceCreateInCurrentFrame = false; }
         if (forceCreateInCurrentFrame === void 0) { forceCreateInCurrentFrame = false; }
-        // convert to XR space (right handed) if needed
-        this._populateTmpTransformation(position, rotationQuaternion);
-        // the matrix that we'll use
-        var xrTransformation = new XRRigidTransform({ x: this._tmpVector.x, y: this._tmpVector.y, z: this._tmpVector.z }, { x: this._tmpQuaternion.x, y: this._tmpQuaternion.y, z: this._tmpQuaternion.z, w: this._tmpQuaternion.w });
-        if (forceCreateInCurrentFrame && this.attached && this._xrSessionManager.currentFrame) {
-            return this._createAnchorAtTransformation(xrTransformation, this._xrSessionManager.currentFrame);
-        }
-        else {
-            // add the transformation to the future anchors list
-            return new Promise(function (resolve, reject) {
-                _this._futureAnchors.push({
-                    xrTransformation: xrTransformation,
-                    resolve: resolve,
-                    reject: reject,
-                });
+        return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
+            var xrTransformation, xrAnchor, _a;
+            var _this = this;
+            return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
+                switch (_b.label) {
+                    case 0:
+                        // convert to XR space (right handed) if needed
+                        this._populateTmpTransformation(position, rotationQuaternion);
+                        xrTransformation = new XRRigidTransform({ x: this._tmpVector.x, y: this._tmpVector.y, z: this._tmpVector.z }, { x: this._tmpQuaternion.x, y: this._tmpQuaternion.y, z: this._tmpQuaternion.z, w: this._tmpQuaternion.w });
+                        if (!(forceCreateInCurrentFrame && this.attached && this._xrSessionManager.currentFrame)) return [3 /*break*/, 2];
+                        return [4 /*yield*/, this._createAnchorAtTransformation(xrTransformation, this._xrSessionManager.currentFrame)];
+                    case 1:
+                        _a = _b.sent();
+                        return [3 /*break*/, 3];
+                    case 2:
+                        _a = undefined;
+                        _b.label = 3;
+                    case 3:
+                        xrAnchor = _a;
+                        // add the transformation to the future anchors list
+                        return [2 /*return*/, new Promise(function (resolve, reject) {
+                                _this._futureAnchors.push({
+                                    nativeAnchor: xrAnchor,
+                                    resolved: false,
+                                    submitted: false,
+                                    xrTransformation: xrTransformation,
+                                    resolve: resolve,
+                                    reject: reject,
+                                });
+                            })];
+                }
             });
             });
-        }
+        });
     };
     };
+    Object.defineProperty(WebXRAnchorSystem.prototype, "anchors", {
+        /**
+         * Get the list of anchors currently being tracked by the system
+         */
+        get: function () {
+            return this._trackedAnchors;
+        },
+        enumerable: false,
+        configurable: true
+    });
     /**
     /**
      * detach this feature.
      * detach this feature.
      * Will usually be called by the features manager
      * Will usually be called by the features manager
@@ -191382,6 +191467,14 @@ var WebXRAnchorSystem = /** @class */ (function (_super) {
             while (this._trackedAnchors.length) {
             while (this._trackedAnchors.length) {
                 var toRemove = this._trackedAnchors.pop();
                 var toRemove = this._trackedAnchors.pop();
                 if (toRemove) {
                 if (toRemove) {
+                    try {
+                        // try to natively remove it as well
+                        toRemove.remove();
+                    }
+                    catch (e) {
+                        // no-op
+                    }
+                    // as the xr frame loop is removed, we need to notify manually
                     this.onAnchorRemovedObservable.notifyObservers(toRemove);
                     this.onAnchorRemovedObservable.notifyObservers(toRemove);
                 }
                 }
             }
             }
@@ -191392,6 +191485,7 @@ var WebXRAnchorSystem = /** @class */ (function (_super) {
      * Dispose this feature and all of the resources attached
      * Dispose this feature and all of the resources attached
      */
      */
     WebXRAnchorSystem.prototype.dispose = function () {
     WebXRAnchorSystem.prototype.dispose = function () {
+        this._futureAnchors.length = 0;
         _super.prototype.dispose.call(this);
         _super.prototype.dispose.call(this);
         this.onAnchorAddedObservable.clear();
         this.onAnchorAddedObservable.clear();
         this.onAnchorRemovedObservable.clear();
         this.onAnchorRemovedObservable.clear();
@@ -191414,7 +191508,7 @@ var WebXRAnchorSystem = /** @class */ (function (_super) {
             toRemove.forEach(function (index) {
             toRemove.forEach(function (index) {
                 var anchor = _this._trackedAnchors.splice(index - idxTracker_1, 1)[0];
                 var anchor = _this._trackedAnchors.splice(index - idxTracker_1, 1)[0];
                 _this.onAnchorRemovedObservable.notifyObservers(anchor);
                 _this.onAnchorRemovedObservable.notifyObservers(anchor);
-                idxTracker_1--;
+                idxTracker_1++;
             });
             });
             // now check for new ones
             // now check for new ones
             trackedAnchors.forEach(function (xrAnchor) {
             trackedAnchors.forEach(function (xrAnchor) {
@@ -191422,10 +191516,18 @@ var WebXRAnchorSystem = /** @class */ (function (_super) {
                     var newAnchor = {
                     var newAnchor = {
                         id: anchorIdProvider++,
                         id: anchorIdProvider++,
                         xrAnchor: xrAnchor,
                         xrAnchor: xrAnchor,
+                        remove: xrAnchor.delete,
                     };
                     };
                     var anchor = _this._updateAnchorWithXRFrame(xrAnchor, newAnchor, frame);
                     var anchor = _this._updateAnchorWithXRFrame(xrAnchor, newAnchor, frame);
                     _this._trackedAnchors.push(anchor);
                     _this._trackedAnchors.push(anchor);
                     _this.onAnchorAddedObservable.notifyObservers(anchor);
                     _this.onAnchorAddedObservable.notifyObservers(anchor);
+                    // search for the future anchor promise that matches this
+                    var results = _this._futureAnchors.filter(function (futureAnchor) { return futureAnchor.nativeAnchor === xrAnchor; });
+                    var result = results[0];
+                    if (result) {
+                        result.resolve(anchor);
+                        result.resolved = true;
+                    }
                 }
                 }
                 else {
                 else {
                     var index = _this._findIndexInAnchorArray(xrAnchor);
                     var index = _this._findIndexInAnchorArray(xrAnchor);
@@ -191447,16 +191549,17 @@ var WebXRAnchorSystem = /** @class */ (function (_super) {
             this._lastFrameDetected = trackedAnchors;
             this._lastFrameDetected = trackedAnchors;
         }
         }
         // process future anchors
         // process future anchors
-        while (this._futureAnchors.length) {
-            var futureAnchor = this._futureAnchors.pop();
-            if (!futureAnchor) {
-                return;
-            }
-            if (!frame.createAnchor) {
-                futureAnchor.reject("Anchors not enabled in this browser");
+        this._futureAnchors.forEach(function (futureAnchor) {
+            if (!futureAnchor.resolved && !futureAnchor.submitted) {
+                _this._createAnchorAtTransformation(futureAnchor.xrTransformation, frame).then(function (nativeAnchor) {
+                    futureAnchor.nativeAnchor = nativeAnchor;
+                }, function (error) {
+                    futureAnchor.resolved = true;
+                    futureAnchor.reject(error);
+                });
+                futureAnchor.submitted = true;
             }
             }
-            this._createAnchorAtTransformation(futureAnchor.xrTransformation, frame).then(futureAnchor.resolve, futureAnchor.reject);
-        }
+        });
     };
     };
     /**
     /**
      * avoiding using Array.find for global support.
      * avoiding using Array.find for global support.
@@ -192621,16 +192724,17 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
          */
          */
         _this.parabolicRayEnabled = true;
         _this.parabolicRayEnabled = true;
         /**
         /**
-         * How much rotation should be applied when rotating right and left
+         * The second type of ray - straight line.
+         * Should it be enabled or should the parabolic line be the only one.
          */
          */
-        _this.rotationAngle = Math.PI / 8;
+        _this.straightRayEnabled = true;
         /**
         /**
-         * Is rotation enabled when moving forward?
-         * Disabling this feature will prevent the user from deciding the direction when teleporting
+         * How much rotation should be applied when rotating right and left
          */
          */
-        _this.rotationEnabled = true;
+        _this.rotationAngle = Math.PI / 8;
+        _this._rotationEnabled = true;
         _this._attachController = function (xrController) {
         _this._attachController = function (xrController) {
-            if (_this._controllers[xrController.uniqueId]) {
+            if (_this._controllers[xrController.uniqueId] || (_this._options.forceHandedness && xrController.inputSource.handedness !== _this._options.forceHandedness)) {
                 // already attached
                 // already attached
                 return;
                 return;
             }
             }
@@ -192648,7 +192752,7 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
             // motion controller only available to gamepad-enabled input sources.
             // motion controller only available to gamepad-enabled input sources.
             if (controllerData.xrController.inputSource.targetRayMode === "tracked-pointer" && controllerData.xrController.inputSource.gamepad) {
             if (controllerData.xrController.inputSource.targetRayMode === "tracked-pointer" && controllerData.xrController.inputSource.gamepad) {
                 // motion controller support
                 // motion controller support
-                xrController.onMotionControllerInitObservable.addOnce(function () {
+                var initMotionController_1 = function () {
                     if (xrController.motionController) {
                     if (xrController.motionController) {
                         var movementController = xrController.motionController.getComponentOfType(_motionController_webXRControllerComponent__WEBPACK_IMPORTED_MODULE_2__["WebXRControllerComponent"].THUMBSTICK_TYPE) || xrController.motionController.getComponentOfType(_motionController_webXRControllerComponent__WEBPACK_IMPORTED_MODULE_2__["WebXRControllerComponent"].TOUCHPAD_TYPE);
                         var movementController = xrController.motionController.getComponentOfType(_motionController_webXRControllerComponent__WEBPACK_IMPORTED_MODULE_2__["WebXRControllerComponent"].THUMBSTICK_TYPE) || xrController.motionController.getComponentOfType(_motionController_webXRControllerComponent__WEBPACK_IMPORTED_MODULE_2__["WebXRControllerComponent"].TOUCHPAD_TYPE);
                         if (!movementController || _this._options.useMainComponentOnly) {
                         if (!movementController || _this._options.useMainComponentOnly) {
@@ -192657,6 +192761,7 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
                             if (!mainComponent_1) {
                             if (!mainComponent_1) {
                                 return;
                                 return;
                             }
                             }
+                            controllerData.teleportationComponent = mainComponent_1;
                             controllerData.onButtonChangedObserver = mainComponent_1.onButtonStateChangedObservable.add(function () {
                             controllerData.onButtonChangedObserver = mainComponent_1.onButtonStateChangedObservable.add(function () {
                                 // did "pressed" changed?
                                 // did "pressed" changed?
                                 if (mainComponent_1.changes.pressed) {
                                 if (mainComponent_1.changes.pressed) {
@@ -192686,6 +192791,7 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
                             });
                             });
                         }
                         }
                         else {
                         else {
+                            controllerData.teleportationComponent = movementController;
                             // use thumbstick (or touchpad if thumbstick not available)
                             // use thumbstick (or touchpad if thumbstick not available)
                             controllerData.onAxisChangedObserver = movementController.onAxisValueChangedObservable.add(function (axesData) {
                             controllerData.onAxisChangedObserver = movementController.onAxisValueChangedObservable.add(function (axesData) {
                                 if (axesData.y <= 0.7 && controllerData.teleportationState.backwards) {
                                 if (axesData.y <= 0.7 && controllerData.teleportationState.backwards) {
@@ -192764,7 +192870,15 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
                             });
                             });
                         }
                         }
                     }
                     }
-                });
+                };
+                if (xrController.motionController) {
+                    initMotionController_1();
+                }
+                else {
+                    xrController.onMotionControllerInitObservable.addOnce(function () {
+                        initMotionController_1();
+                    });
+                }
             }
             }
             else {
             else {
                 _this._xrSessionManager.scene.onPointerObservable.add(function (pointerInfo) {
                 _this._xrSessionManager.scene.onPointerObservable.add(function (pointerInfo) {
@@ -192800,6 +192914,40 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
         _this._setTargetMeshVisibility(false);
         _this._setTargetMeshVisibility(false);
         return _this;
         return _this;
     }
     }
+    Object.defineProperty(WebXRMotionControllerTeleportation.prototype, "rotationEnabled", {
+        /**
+         * Is rotation enabled when moving forward?
+         * Disabling this feature will prevent the user from deciding the direction when teleporting
+         */
+        get: function () {
+            return this._rotationEnabled;
+        },
+        /**
+         * Sets wether rotation is enabled or not
+         * @param enabled is rotation enabled when teleportation is shown
+         */
+        set: function (enabled) {
+            this._rotationEnabled = enabled;
+            if (this._options.teleportationTargetMesh) {
+                var children = this._options.teleportationTargetMesh.getChildMeshes(false, function (node) { return node.name === "rotationCone"; });
+                if (children[0]) {
+                    children[0].setEnabled(enabled);
+                }
+            }
+        },
+        enumerable: false,
+        configurable: true
+    });
+    Object.defineProperty(WebXRMotionControllerTeleportation.prototype, "teleportationTargetMesh", {
+        /**
+         * Exposes the currently set teleportation target mesh.
+         */
+        get: function () {
+            return this._options.teleportationTargetMesh || null;
+        },
+        enumerable: false,
+        configurable: true
+    });
     Object.defineProperty(WebXRMotionControllerTeleportation.prototype, "snapPointsOnly", {
     Object.defineProperty(WebXRMotionControllerTeleportation.prototype, "snapPointsOnly", {
         /**
         /**
          * Get the snapPointsOnly flag
          * Get the snapPointsOnly flag
@@ -192856,6 +193004,7 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
         });
         });
         this._setTargetMeshVisibility(false);
         this._setTargetMeshVisibility(false);
         this._currentTeleportationControllerId = "";
         this._currentTeleportationControllerId = "";
+        this._controllers = {};
         return true;
         return true;
     };
     };
     WebXRMotionControllerTeleportation.prototype.dispose = function () {
     WebXRMotionControllerTeleportation.prototype.dispose = function () {
@@ -192936,57 +193085,58 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
                 _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Quaternion"].RotationYawPitchRollToRef(controllerData.teleportationState.currentRotation + controllerData.teleportationState.baseRotation, 0, 0, targetMesh.rotationQuaternion);
                 _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Quaternion"].RotationYawPitchRollToRef(controllerData.teleportationState.currentRotation + controllerData.teleportationState.baseRotation, 0, 0, targetMesh.rotationQuaternion);
                 // set the ray and position
                 // set the ray and position
                 var hitPossible = false;
                 var hitPossible = false;
-                // first check if direct ray possible
                 controllerData.xrController.getWorldPointerRayToRef(this._tmpRay);
                 controllerData.xrController.getWorldPointerRayToRef(this._tmpRay);
-                // pick grounds that are LOWER only. upper will use parabolic path
-                var pick = scene.pickWithRay(this._tmpRay, function (o) {
-                    // check for mesh-blockers
-                    if (_this._options.pickBlockerMeshes && _this._options.pickBlockerMeshes.indexOf(o) !== -1) {
-                        return true;
-                    }
-                    var index = _this._floorMeshes.indexOf(o);
-                    if (index === -1) {
-                        return false;
-                    }
-                    return _this._floorMeshes[index].absolutePosition.y < _this._options.xrInput.xrCamera.position.y;
-                });
-                if (pick && pick.pickedMesh && this._options.pickBlockerMeshes && this._options.pickBlockerMeshes.indexOf(pick.pickedMesh) !== -1) {
-                    return;
-                }
-                else if (pick && pick.pickedPoint) {
-                    hitPossible = true;
-                    this._setTargetMeshPosition(pick.pickedPoint);
-                    this._setTargetMeshVisibility(true);
-                    this._showParabolicPath(pick);
-                }
-                else {
-                    if (this.parabolicRayEnabled) {
-                        // radius compensation according to pointer rotation around X
-                        var xRotation = controllerData.xrController.pointer.rotationQuaternion.toEulerAngles().x;
-                        var compensation = 1 + (Math.PI / 2 - Math.abs(xRotation));
-                        // check parabolic ray
-                        var radius = this.parabolicCheckRadius * compensation;
-                        this._tmpRay.origin.addToRef(this._tmpRay.direction.scale(radius * 2), this._tmpVector);
-                        this._tmpVector.y = this._tmpRay.origin.y;
-                        this._tmpRay.origin.addInPlace(this._tmpRay.direction.scale(radius));
-                        this._tmpVector.subtractToRef(this._tmpRay.origin, this._tmpRay.direction);
-                        this._tmpRay.direction.normalize();
-                        var pick_1 = scene.pickWithRay(this._tmpRay, function (o) {
-                            // check for mesh-blockers
-                            if (_this._options.pickBlockerMeshes && _this._options.pickBlockerMeshes.indexOf(o) !== -1) {
-                                return true;
-                            }
-                            return _this._floorMeshes.indexOf(o) !== -1;
-                        });
-                        if (pick_1 && pick_1.pickedMesh && this._options.pickBlockerMeshes && this._options.pickBlockerMeshes.indexOf(pick_1.pickedMesh) !== -1) {
-                            return;
+                if (this.straightRayEnabled) {
+                    // first check if direct ray possible
+                    // pick grounds that are LOWER only. upper will use parabolic path
+                    var pick = scene.pickWithRay(this._tmpRay, function (o) {
+                        // check for mesh-blockers
+                        if (_this._options.pickBlockerMeshes && _this._options.pickBlockerMeshes.indexOf(o) !== -1) {
+                            return true;
                         }
                         }
-                        else if (pick_1 && pick_1.pickedPoint) {
-                            hitPossible = true;
-                            this._setTargetMeshPosition(pick_1.pickedPoint);
-                            this._setTargetMeshVisibility(true);
-                            this._showParabolicPath(pick_1);
+                        var index = _this._floorMeshes.indexOf(o);
+                        if (index === -1) {
+                            return false;
                         }
                         }
+                        return _this._floorMeshes[index].absolutePosition.y < _this._options.xrInput.xrCamera.position.y;
+                    });
+                    if (pick && pick.pickedMesh && this._options.pickBlockerMeshes && this._options.pickBlockerMeshes.indexOf(pick.pickedMesh) !== -1) {
+                        return;
+                    }
+                    else if (pick && pick.pickedPoint) {
+                        hitPossible = true;
+                        this._setTargetMeshPosition(pick.pickedPoint);
+                        this._setTargetMeshVisibility(true);
+                        this._showParabolicPath(pick);
+                    }
+                }
+                // straight ray is still the main ray, but disabling the straight line will force parabolic line.
+                if (this.parabolicRayEnabled && !hitPossible) {
+                    // radius compensation according to pointer rotation around X
+                    var xRotation = controllerData.xrController.pointer.rotationQuaternion.toEulerAngles().x;
+                    var compensation = 1 + (Math.PI / 2 - Math.abs(xRotation));
+                    // check parabolic ray
+                    var radius = this.parabolicCheckRadius * compensation;
+                    this._tmpRay.origin.addToRef(this._tmpRay.direction.scale(radius * 2), this._tmpVector);
+                    this._tmpVector.y = this._tmpRay.origin.y;
+                    this._tmpRay.origin.addInPlace(this._tmpRay.direction.scale(radius));
+                    this._tmpVector.subtractToRef(this._tmpRay.origin, this._tmpRay.direction);
+                    this._tmpRay.direction.normalize();
+                    var pick = scene.pickWithRay(this._tmpRay, function (o) {
+                        // check for mesh-blockers
+                        if (_this._options.pickBlockerMeshes && _this._options.pickBlockerMeshes.indexOf(o) !== -1) {
+                            return true;
+                        }
+                        return _this._floorMeshes.indexOf(o) !== -1;
+                    });
+                    if (pick && pick.pickedMesh && this._options.pickBlockerMeshes && this._options.pickBlockerMeshes.indexOf(pick.pickedMesh) !== -1) {
+                        return;
+                    }
+                    else if (pick && pick.pickedPoint) {
+                        hitPossible = true;
+                        this._setTargetMeshPosition(pick.pickedPoint);
+                        this._setTargetMeshVisibility(true);
+                        this._showParabolicPath(pick);
                     }
                     }
                 }
                 }
                 // if needed, set visible:
                 // if needed, set visible:
@@ -193055,7 +193205,7 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
             torus.animations.push(animationInnerCircle);
             torus.animations.push(animationInnerCircle);
             sceneToRenderTo.beginAnimation(torus, 0, 60, true);
             sceneToRenderTo.beginAnimation(torus, 0, 60, true);
         }
         }
-        var cone = _Meshes_Builders_cylinderBuilder__WEBPACK_IMPORTED_MODULE_6__["CylinderBuilder"].CreateCylinder("cone", { diameterTop: 0, tessellation: 4 }, sceneToRenderTo);
+        var cone = _Meshes_Builders_cylinderBuilder__WEBPACK_IMPORTED_MODULE_6__["CylinderBuilder"].CreateCylinder("rotationCone", { diameterTop: 0, tessellation: 4 }, sceneToRenderTo);
         cone.isPickable = false;
         cone.isPickable = false;
         cone.scaling.set(0.5, 0.12, 0.2);
         cone.scaling.set(0.5, 0.12, 0.2);
         cone.rotate(_Maths_math_axis__WEBPACK_IMPORTED_MODULE_9__["Axis"].X, Math.PI / 2);
         cone.rotate(_Maths_math_axis__WEBPACK_IMPORTED_MODULE_9__["Axis"].X, Math.PI / 2);
@@ -193147,6 +193297,7 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
         if (!visible) {
         if (!visible) {
             if (this._quadraticBezierCurve) {
             if (this._quadraticBezierCurve) {
                 this._quadraticBezierCurve.dispose();
                 this._quadraticBezierCurve.dispose();
+                this._quadraticBezierCurve = null;
             }
             }
             if (this._selectionFeature) {
             if (this._selectionFeature) {
                 this._selectionFeature.attach();
                 this._selectionFeature.attach();
@@ -193164,10 +193315,12 @@ var WebXRMotionControllerTeleportation = /** @class */ (function (_super) {
         }
         }
         var controllerData = this._controllers[this._currentTeleportationControllerId];
         var controllerData = this._controllers[this._currentTeleportationControllerId];
         var quadraticBezierVectors = _Maths_math_path__WEBPACK_IMPORTED_MODULE_13__["Curve3"].CreateQuadraticBezier(controllerData.xrController.pointer.absolutePosition, pickInfo.ray.origin, pickInfo.pickedPoint, 25);
         var quadraticBezierVectors = _Maths_math_path__WEBPACK_IMPORTED_MODULE_13__["Curve3"].CreateQuadraticBezier(controllerData.xrController.pointer.absolutePosition, pickInfo.ray.origin, pickInfo.pickedPoint, 25);
-        if (this._quadraticBezierCurve) {
-            this._quadraticBezierCurve.dispose();
+        if (!this._options.generateRayPathMesh) {
+            this._quadraticBezierCurve = _Meshes_Builders_linesBuilder__WEBPACK_IMPORTED_MODULE_14__["LinesBuilder"].CreateLines("teleportation path line", { points: quadraticBezierVectors.getPoints(), instance: this._quadraticBezierCurve, updatable: true });
+        }
+        else {
+            this._quadraticBezierCurve = this._options.generateRayPathMesh(quadraticBezierVectors.getPoints());
         }
         }
-        this._quadraticBezierCurve = _Meshes_Builders_linesBuilder__WEBPACK_IMPORTED_MODULE_14__["LinesBuilder"].CreateLines("path line", { points: quadraticBezierVectors.getPoints() });
         this._quadraticBezierCurve.isPickable = false;
         this._quadraticBezierCurve.isPickable = false;
     };
     };
     WebXRMotionControllerTeleportation.prototype._teleportForward = function (controllerId) {
     WebXRMotionControllerTeleportation.prototype._teleportForward = function (controllerId) {

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/babylon.max.js.map


+ 142 - 66
dist/preview release/babylon.module.d.ts

@@ -12026,6 +12026,10 @@ declare module "babylonjs/Materials/Node/Blocks/Input/inputBlock" {
         groupInInspector: string;
         groupInInspector: string;
         /** Gets an observable raised when the value is changed */
         /** Gets an observable raised when the value is changed */
         onValueChangedObservable: Observable<InputBlock>;
         onValueChangedObservable: Observable<InputBlock>;
+        /** Gets or sets a boolean indicating if content needs to be converted to gamma space (for color3/4 only) */
+        convertToGammaSpace: boolean;
+        /** Gets or sets a boolean indicating if content needs to be converted to linear space (for color3/4 only) */
+        convertToLinearSpace: boolean;
         /**
         /**
          * Gets or sets the connection point type (default is float)
          * Gets or sets the connection point type (default is float)
          */
          */
@@ -24021,31 +24025,6 @@ declare module "babylonjs/Materials/Textures/texture" {
         static LoadFromDataString(name: string, buffer: any, scene: Scene, deleteBuffer?: boolean, noMipmap?: boolean, invertY?: boolean, samplingMode?: number, onLoad?: Nullable<() => void>, onError?: Nullable<(message?: string, exception?: any) => void>, format?: number): Texture;
         static LoadFromDataString(name: string, buffer: any, scene: Scene, deleteBuffer?: boolean, noMipmap?: boolean, invertY?: boolean, samplingMode?: number, onLoad?: Nullable<() => void>, onError?: Nullable<(message?: string, exception?: any) => void>, format?: number): Texture;
     }
     }
 }
 }
-declare module "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility" {
-    /** @hidden */
-    export var imageProcessingCompatibility: {
-        name: string;
-        shader: string;
-    };
-}
-declare module "babylonjs/Shaders/sprites.fragment" {
-    import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
-    import "babylonjs/Shaders/ShadersInclude/fogFragment";
-    import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
-    /** @hidden */
-    export var spritesPixelShader: {
-        name: string;
-        shader: string;
-    };
-}
-declare module "babylonjs/Shaders/sprites.vertex" {
-    import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
-    /** @hidden */
-    export var spritesVertexShader: {
-        name: string;
-        shader: string;
-    };
-}
 declare module "babylonjs/Sprites/thinSprite" {
 declare module "babylonjs/Sprites/thinSprite" {
     import { IVector3Like, IColor4Like } from "babylonjs/Maths/math.like";
     import { IVector3Like, IColor4Like } from "babylonjs/Maths/math.like";
     import { Nullable } from "babylonjs/types";
     import { Nullable } from "babylonjs/types";
@@ -24096,10 +24075,10 @@ declare module "babylonjs/Sprites/thinSprite" {
         /** @hidden */
         /** @hidden */
         _ySize: number;
         _ySize: number;
         private _animationStarted;
         private _animationStarted;
-        private _loopAnimation;
-        private _fromIndex;
-        private _toIndex;
-        private _delay;
+        protected _loopAnimation: boolean;
+        protected _fromIndex: number;
+        protected _toIndex: number;
+        protected _delay: number;
         private _direction;
         private _direction;
         private _time;
         private _time;
         private _onBaseAnimationEnd;
         private _onBaseAnimationEnd;
@@ -24122,6 +24101,31 @@ declare module "babylonjs/Sprites/thinSprite" {
         _animate(deltaTime: number): void;
         _animate(deltaTime: number): void;
     }
     }
 }
 }
+declare module "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility" {
+    /** @hidden */
+    export var imageProcessingCompatibility: {
+        name: string;
+        shader: string;
+    };
+}
+declare module "babylonjs/Shaders/sprites.fragment" {
+    import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
+    import "babylonjs/Shaders/ShadersInclude/fogFragment";
+    import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
+    /** @hidden */
+    export var spritesPixelShader: {
+        name: string;
+        shader: string;
+    };
+}
+declare module "babylonjs/Shaders/sprites.vertex" {
+    import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
+    /** @hidden */
+    export var spritesVertexShader: {
+        name: string;
+        shader: string;
+    };
+}
 declare module "babylonjs/Sprites/spriteRenderer" {
 declare module "babylonjs/Sprites/spriteRenderer" {
     import { Nullable } from "babylonjs/types";
     import { Nullable } from "babylonjs/types";
     import { IMatrixLike } from "babylonjs/Maths/math.like";
     import { IMatrixLike } from "babylonjs/Maths/math.like";
@@ -24224,8 +24228,6 @@ declare module "babylonjs/Sprites/spriteManager" {
     import { PickingInfo } from "babylonjs/Collisions/pickingInfo";
     import { PickingInfo } from "babylonjs/Collisions/pickingInfo";
     import { Camera } from "babylonjs/Cameras/camera";
     import { Camera } from "babylonjs/Cameras/camera";
     import { Texture } from "babylonjs/Materials/Textures/texture";
     import { Texture } from "babylonjs/Materials/Textures/texture";
-    import "babylonjs/Shaders/sprites.fragment";
-    import "babylonjs/Shaders/sprites.vertex";
     import { Ray } from "babylonjs/Culling/ray";
     import { Ray } from "babylonjs/Culling/ray";
     /**
     /**
      * Defines the minimum interface to fullfil in order to be a sprite manager.
      * Defines the minimum interface to fullfil in order to be a sprite manager.
@@ -24514,12 +24516,16 @@ declare module "babylonjs/Sprites/sprite" {
          */
          */
         getClassName(): string;
         getClassName(): string;
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
+        get fromIndex(): number;
         set fromIndex(value: number);
         set fromIndex(value: number);
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
+        get toIndex(): number;
         set toIndex(value: number);
         set toIndex(value: number);
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
+        get loopAnimation(): boolean;
         set loopAnimation(value: boolean);
         set loopAnimation(value: boolean);
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
+        get delay(): number;
         set delay(value: number);
         set delay(value: number);
         /**
         /**
          * Starts an animation
          * Starts an animation
@@ -55194,6 +55200,14 @@ declare module "babylonjs/XR/features/WebXRControllerTeleportation" {
          * Meshes that the teleportation ray cannot go through
          * Meshes that the teleportation ray cannot go through
          */
          */
         pickBlockerMeshes?: AbstractMesh[];
         pickBlockerMeshes?: AbstractMesh[];
+        /**
+         * Should teleport work only on a specific hand?
+         */
+        forceHandedness?: XRHandedness;
+        /**
+         * If provided, this function will be used to generate the ray mesh instead of the lines mesh being used per default
+         */
+        generateRayPathMesh?: (points: Vector3[]) => AbstractMesh;
     }
     }
     /**
     /**
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
@@ -55244,14 +55258,29 @@ declare module "babylonjs/XR/features/WebXRControllerTeleportation" {
          */
          */
         parabolicRayEnabled: boolean;
         parabolicRayEnabled: boolean;
         /**
         /**
+         * The second type of ray - straight line.
+         * Should it be enabled or should the parabolic line be the only one.
+         */
+        straightRayEnabled: boolean;
+        /**
          * How much rotation should be applied when rotating right and left
          * How much rotation should be applied when rotating right and left
          */
          */
         rotationAngle: number;
         rotationAngle: number;
+        private _rotationEnabled;
         /**
         /**
          * Is rotation enabled when moving forward?
          * Is rotation enabled when moving forward?
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          */
          */
-        rotationEnabled: boolean;
+        get rotationEnabled(): boolean;
+        /**
+         * Sets wether rotation is enabled or not
+         * @param enabled is rotation enabled when teleportation is shown
+         */
+        set rotationEnabled(enabled: boolean);
+        /**
+         * Exposes the currently set teleportation target mesh.
+         */
+        get teleportationTargetMesh(): Nullable<AbstractMesh>;
         /**
         /**
          * constructs a new anchor system
          * constructs a new anchor system
          * @param _xrSessionManager an instance of WebXRSessionManager
          * @param _xrSessionManager an instance of WebXRSessionManager
@@ -80334,6 +80363,10 @@ declare module "babylonjs/XR/features/WebXRAnchorSystem" {
          * if defined, this object will be constantly updated by the anchor's position and rotation
          * if defined, this object will be constantly updated by the anchor's position and rotation
          */
          */
         attachedNode?: TransformNode;
         attachedNode?: TransformNode;
+        /**
+         * Remove this anchor from the scene
+         */
+        remove(): void;
     }
     }
     /**
     /**
      * An implementation of the anchor system for WebXR.
      * An implementation of the anchor system for WebXR.
@@ -80390,9 +80423,9 @@ declare module "babylonjs/XR/features/WebXRAnchorSystem" {
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param position an optional position offset for this anchor
          * @param position an optional position offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
          */
          */
-        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<XRAnchor>;
+        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<IWebXRAnchor>;
         /**
         /**
          * Add a new anchor at a specific position and rotation
          * Add a new anchor at a specific position and rotation
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
@@ -80403,9 +80436,13 @@ declare module "babylonjs/XR/features/WebXRAnchorSystem" {
          * @param position the position in which to add an anchor
          * @param position the position in which to add an anchor
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
+         */
+        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<IWebXRAnchor>;
+        /**
+         * Get the list of anchors currently being tracked by the system
          */
          */
-        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<XRAnchor>;
+        get anchors(): IWebXRAnchor[];
         /**
         /**
          * detach this feature.
          * detach this feature.
          * Will usually be called by the features manager
          * Will usually be called by the features manager
@@ -93232,6 +93269,10 @@ declare module BABYLON {
         groupInInspector: string;
         groupInInspector: string;
         /** Gets an observable raised when the value is changed */
         /** Gets an observable raised when the value is changed */
         onValueChangedObservable: Observable<InputBlock>;
         onValueChangedObservable: Observable<InputBlock>;
+        /** Gets or sets a boolean indicating if content needs to be converted to gamma space (for color3/4 only) */
+        convertToGammaSpace: boolean;
+        /** Gets or sets a boolean indicating if content needs to be converted to linear space (for color3/4 only) */
+        convertToLinearSpace: boolean;
         /**
         /**
          * Gets or sets the connection point type (default is float)
          * Gets or sets the connection point type (default is float)
          */
          */
@@ -104579,27 +104620,6 @@ declare module BABYLON {
     }
     }
 }
 }
 declare module BABYLON {
 declare module BABYLON {
-    /** @hidden */
-    export var imageProcessingCompatibility: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
-    /** @hidden */
-    export var spritesPixelShader: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
-    /** @hidden */
-    export var spritesVertexShader: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
     /**
     /**
      * ThinSprite Class used to represent a thin sprite
      * ThinSprite Class used to represent a thin sprite
      * This is the base class for sprites but can also directly be used with ThinEngine
      * This is the base class for sprites but can also directly be used with ThinEngine
@@ -104647,10 +104667,10 @@ declare module BABYLON {
         /** @hidden */
         /** @hidden */
         _ySize: number;
         _ySize: number;
         private _animationStarted;
         private _animationStarted;
-        private _loopAnimation;
-        private _fromIndex;
-        private _toIndex;
-        private _delay;
+        protected _loopAnimation: boolean;
+        protected _fromIndex: number;
+        protected _toIndex: number;
+        protected _delay: number;
         private _direction;
         private _direction;
         private _time;
         private _time;
         private _onBaseAnimationEnd;
         private _onBaseAnimationEnd;
@@ -104674,6 +104694,27 @@ declare module BABYLON {
     }
     }
 }
 }
 declare module BABYLON {
 declare module BABYLON {
+    /** @hidden */
+    export var imageProcessingCompatibility: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var spritesPixelShader: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var spritesVertexShader: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
     /**
     /**
      * Class used to render sprites.
      * Class used to render sprites.
      *
      *
@@ -105035,12 +105076,16 @@ declare module BABYLON {
          */
          */
         getClassName(): string;
         getClassName(): string;
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
+        get fromIndex(): number;
         set fromIndex(value: number);
         set fromIndex(value: number);
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
+        get toIndex(): number;
         set toIndex(value: number);
         set toIndex(value: number);
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
+        get loopAnimation(): boolean;
         set loopAnimation(value: boolean);
         set loopAnimation(value: boolean);
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
+        get delay(): number;
         set delay(value: number);
         set delay(value: number);
         /**
         /**
          * Starts an animation
          * Starts an animation
@@ -134537,6 +134582,14 @@ declare module BABYLON {
          * Meshes that the teleportation ray cannot go through
          * Meshes that the teleportation ray cannot go through
          */
          */
         pickBlockerMeshes?: AbstractMesh[];
         pickBlockerMeshes?: AbstractMesh[];
+        /**
+         * Should teleport work only on a specific hand?
+         */
+        forceHandedness?: XRHandedness;
+        /**
+         * If provided, this function will be used to generate the ray mesh instead of the lines mesh being used per default
+         */
+        generateRayPathMesh?: (points: Vector3[]) => AbstractMesh;
     }
     }
     /**
     /**
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
@@ -134587,14 +134640,29 @@ declare module BABYLON {
          */
          */
         parabolicRayEnabled: boolean;
         parabolicRayEnabled: boolean;
         /**
         /**
+         * The second type of ray - straight line.
+         * Should it be enabled or should the parabolic line be the only one.
+         */
+        straightRayEnabled: boolean;
+        /**
          * How much rotation should be applied when rotating right and left
          * How much rotation should be applied when rotating right and left
          */
          */
         rotationAngle: number;
         rotationAngle: number;
+        private _rotationEnabled;
         /**
         /**
          * Is rotation enabled when moving forward?
          * Is rotation enabled when moving forward?
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          */
          */
-        rotationEnabled: boolean;
+        get rotationEnabled(): boolean;
+        /**
+         * Sets wether rotation is enabled or not
+         * @param enabled is rotation enabled when teleportation is shown
+         */
+        set rotationEnabled(enabled: boolean);
+        /**
+         * Exposes the currently set teleportation target mesh.
+         */
+        get teleportationTargetMesh(): Nullable<AbstractMesh>;
         /**
         /**
          * constructs a new anchor system
          * constructs a new anchor system
          * @param _xrSessionManager an instance of WebXRSessionManager
          * @param _xrSessionManager an instance of WebXRSessionManager
@@ -157537,6 +157605,10 @@ declare module BABYLON {
          * if defined, this object will be constantly updated by the anchor's position and rotation
          * if defined, this object will be constantly updated by the anchor's position and rotation
          */
          */
         attachedNode?: TransformNode;
         attachedNode?: TransformNode;
+        /**
+         * Remove this anchor from the scene
+         */
+        remove(): void;
     }
     }
     /**
     /**
      * An implementation of the anchor system for WebXR.
      * An implementation of the anchor system for WebXR.
@@ -157593,9 +157665,9 @@ declare module BABYLON {
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param position an optional position offset for this anchor
          * @param position an optional position offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
          */
          */
-        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<XRAnchor>;
+        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<IWebXRAnchor>;
         /**
         /**
          * Add a new anchor at a specific position and rotation
          * Add a new anchor at a specific position and rotation
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
@@ -157606,9 +157678,13 @@ declare module BABYLON {
          * @param position the position in which to add an anchor
          * @param position the position in which to add an anchor
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
+         */
+        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<IWebXRAnchor>;
+        /**
+         * Get the list of anchors currently being tracked by the system
          */
          */
-        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<XRAnchor>;
+        get anchors(): IWebXRAnchor[];
         /**
         /**
          * detach this feature.
          * detach this feature.
          * Will usually be called by the features manager
          * Will usually be called by the features manager

+ 69 - 30
dist/preview release/documentation.d.ts

@@ -11798,6 +11798,10 @@ declare module BABYLON {
         groupInInspector: string;
         groupInInspector: string;
         /** Gets an observable raised when the value is changed */
         /** Gets an observable raised when the value is changed */
         onValueChangedObservable: Observable<InputBlock>;
         onValueChangedObservable: Observable<InputBlock>;
+        /** Gets or sets a boolean indicating if content needs to be converted to gamma space (for color3/4 only) */
+        convertToGammaSpace: boolean;
+        /** Gets or sets a boolean indicating if content needs to be converted to linear space (for color3/4 only) */
+        convertToLinearSpace: boolean;
         /**
         /**
          * Gets or sets the connection point type (default is float)
          * Gets or sets the connection point type (default is float)
          */
          */
@@ -23145,27 +23149,6 @@ declare module BABYLON {
     }
     }
 }
 }
 declare module BABYLON {
 declare module BABYLON {
-    /** @hidden */
-    export var imageProcessingCompatibility: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
-    /** @hidden */
-    export var spritesPixelShader: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
-    /** @hidden */
-    export var spritesVertexShader: {
-        name: string;
-        shader: string;
-    };
-}
-declare module BABYLON {
     /**
     /**
      * ThinSprite Class used to represent a thin sprite
      * ThinSprite Class used to represent a thin sprite
      * This is the base class for sprites but can also directly be used with ThinEngine
      * This is the base class for sprites but can also directly be used with ThinEngine
@@ -23213,10 +23196,10 @@ declare module BABYLON {
         /** @hidden */
         /** @hidden */
         _ySize: number;
         _ySize: number;
         private _animationStarted;
         private _animationStarted;
-        private _loopAnimation;
-        private _fromIndex;
-        private _toIndex;
-        private _delay;
+        protected _loopAnimation: boolean;
+        protected _fromIndex: number;
+        protected _toIndex: number;
+        protected _delay: number;
         private _direction;
         private _direction;
         private _time;
         private _time;
         private _onBaseAnimationEnd;
         private _onBaseAnimationEnd;
@@ -23240,6 +23223,27 @@ declare module BABYLON {
     }
     }
 }
 }
 declare module BABYLON {
 declare module BABYLON {
+    /** @hidden */
+    export var imageProcessingCompatibility: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var spritesPixelShader: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
+    /** @hidden */
+    export var spritesVertexShader: {
+        name: string;
+        shader: string;
+    };
+}
+declare module BABYLON {
     /**
     /**
      * Class used to render sprites.
      * Class used to render sprites.
      *
      *
@@ -23601,12 +23605,16 @@ declare module BABYLON {
          */
          */
         getClassName(): string;
         getClassName(): string;
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
         /** Gets or sets the initial key for the animation (setting it will restart the animation)  */
+        get fromIndex(): number;
         set fromIndex(value: number);
         set fromIndex(value: number);
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
         /** Gets or sets the end key for the animation (setting it will restart the animation)  */
+        get toIndex(): number;
         set toIndex(value: number);
         set toIndex(value: number);
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
         /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation)  */
+        get loopAnimation(): boolean;
         set loopAnimation(value: boolean);
         set loopAnimation(value: boolean);
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
         /** Gets or sets the delay between cell changes (setting it will restart the animation)  */
+        get delay(): number;
         set delay(value: number);
         set delay(value: number);
         /**
         /**
          * Starts an animation
          * Starts an animation
@@ -53103,6 +53111,14 @@ declare module BABYLON {
          * Meshes that the teleportation ray cannot go through
          * Meshes that the teleportation ray cannot go through
          */
          */
         pickBlockerMeshes?: AbstractMesh[];
         pickBlockerMeshes?: AbstractMesh[];
+        /**
+         * Should teleport work only on a specific hand?
+         */
+        forceHandedness?: XRHandedness;
+        /**
+         * If provided, this function will be used to generate the ray mesh instead of the lines mesh being used per default
+         */
+        generateRayPathMesh?: (points: Vector3[]) => AbstractMesh;
     }
     }
     /**
     /**
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
      * This is a teleportation feature to be used with WebXR-enabled motion controllers.
@@ -53153,14 +53169,29 @@ declare module BABYLON {
          */
          */
         parabolicRayEnabled: boolean;
         parabolicRayEnabled: boolean;
         /**
         /**
+         * The second type of ray - straight line.
+         * Should it be enabled or should the parabolic line be the only one.
+         */
+        straightRayEnabled: boolean;
+        /**
          * How much rotation should be applied when rotating right and left
          * How much rotation should be applied when rotating right and left
          */
          */
         rotationAngle: number;
         rotationAngle: number;
+        private _rotationEnabled;
         /**
         /**
          * Is rotation enabled when moving forward?
          * Is rotation enabled when moving forward?
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          * Disabling this feature will prevent the user from deciding the direction when teleporting
          */
          */
-        rotationEnabled: boolean;
+        get rotationEnabled(): boolean;
+        /**
+         * Sets wether rotation is enabled or not
+         * @param enabled is rotation enabled when teleportation is shown
+         */
+        set rotationEnabled(enabled: boolean);
+        /**
+         * Exposes the currently set teleportation target mesh.
+         */
+        get teleportationTargetMesh(): Nullable<AbstractMesh>;
         /**
         /**
          * constructs a new anchor system
          * constructs a new anchor system
          * @param _xrSessionManager an instance of WebXRSessionManager
          * @param _xrSessionManager an instance of WebXRSessionManager
@@ -76103,6 +76134,10 @@ declare module BABYLON {
          * if defined, this object will be constantly updated by the anchor's position and rotation
          * if defined, this object will be constantly updated by the anchor's position and rotation
          */
          */
         attachedNode?: TransformNode;
         attachedNode?: TransformNode;
+        /**
+         * Remove this anchor from the scene
+         */
+        remove(): void;
     }
     }
     /**
     /**
      * An implementation of the anchor system for WebXR.
      * An implementation of the anchor system for WebXR.
@@ -76159,9 +76194,9 @@ declare module BABYLON {
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param hitTestResult The hit test result to use for this anchor creation
          * @param position an optional position offset for this anchor
          * @param position an optional position offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
          * @param rotationQuaternion an optional rotation offset for this anchor
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
          */
          */
-        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<XRAnchor>;
+        addAnchorPointUsingHitTestResultAsync(hitTestResult: IWebXRHitResult, position?: Vector3, rotationQuaternion?: Quaternion): Promise<IWebXRAnchor>;
         /**
         /**
          * Add a new anchor at a specific position and rotation
          * Add a new anchor at a specific position and rotation
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
          * This function will add a new anchor per default in the next available frame. Unless forced, the createAnchor function
@@ -76172,9 +76207,13 @@ declare module BABYLON {
          * @param position the position in which to add an anchor
          * @param position the position in which to add an anchor
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param rotationQuaternion an optional rotation for the anchor transformation
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
          * @param forceCreateInCurrentFrame force the creation of this anchor in the current frame. Must be called inside xrFrame loop!
-         * @returns A promise that fulfills when the XR anchor was registered in the system (but not necessarily added to the tracked anchors)
+         * @returns A promise that fulfills when babylon has created the corresponding WebXRAnchor object and tracking has begun
+         */
+        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<IWebXRAnchor>;
+        /**
+         * Get the list of anchors currently being tracked by the system
          */
          */
-        addAnchorAtPositionAndRotationAsync(position: Vector3, rotationQuaternion?: Quaternion, forceCreateInCurrentFrame?: boolean): Promise<XRAnchor>;
+        get anchors(): IWebXRAnchor[];
         /**
         /**
          * detach this feature.
          * detach this feature.
          * Will usually be called by the features manager
          * Will usually be called by the features manager

+ 1 - 1
dist/preview release/glTF2Interface/package.json

@@ -1,7 +1,7 @@
 {
 {
     "name": "babylonjs-gltf2interface",
     "name": "babylonjs-gltf2interface",
     "description": "A typescript declaration of babylon's gltf2 inteface.",
     "description": "A typescript declaration of babylon's gltf2 inteface.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"

+ 7 - 7
dist/preview release/gui/babylon.gui.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/gui/babylon.gui.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/gui/babylon.gui.min.js


+ 2 - 2
dist/preview release/gui/package.json

@@ -4,7 +4,7 @@
     },
     },
     "name": "babylonjs-gui",
     "name": "babylonjs-gui",
     "description": "The Babylon.js GUI library is an extension you can use to generate interactive user interface. It is build on top of the DynamicTexture.",
     "description": "The Babylon.js GUI library is an extension you can use to generate interactive user interface. It is build on top of the DynamicTexture.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -28,7 +28,7 @@
     ],
     ],
     "license": "Apache-2.0",
     "license": "Apache-2.0",
     "dependencies": {
     "dependencies": {
-        "babylonjs": "4.2.0-beta.17"
+        "babylonjs": "4.2.0-beta.18"
     },
     },
     "engines": {
     "engines": {
         "node": "*"
         "node": "*"

File diff suppressed because it is too large
+ 8 - 3
dist/preview release/inspector/babylon.inspector.bundle.js


File diff suppressed because it is too large
+ 1063 - 961
dist/preview release/inspector/babylon.inspector.bundle.max.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/inspector/babylon.inspector.bundle.max.js.map


+ 47 - 44
dist/preview release/inspector/babylon.inspector.d.ts

@@ -209,6 +209,52 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
+    /**
+     * Class used to provide lock mechanism
+     */
+    export class LockObject {
+        /**
+         * Gets or set if the lock is engaged
+         */
+        lock: boolean;
+    }
+}
+declare module INSPECTOR {
+    interface IFloatLineComponentProps {
+        label: string;
+        target: any;
+        propertyName: string;
+        lockObject?: LockObject;
+        onChange?: (newValue: number) => void;
+        isInteger?: boolean;
+        onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
+        additionalClass?: string;
+        step?: string;
+        digits?: number;
+        useEuler?: boolean;
+        min?: number;
+        max?: number;
+        smallUI?: boolean;
+        onEnter?: (newValue: number) => void;
+    }
+    export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
+        value: string;
+    }> {
+        private _localChange;
+        private _store;
+        constructor(props: IFloatLineComponentProps);
+        componentWillUnmount(): void;
+        shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
+            value: string;
+        }): boolean;
+        raiseOnPropertyChanged(newValue: number, previousValue: number): void;
+        updateValue(valueString: string): void;
+        lock(): void;
+        unlock(): void;
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     interface ISliderLineComponentProps {
     interface ISliderLineComponentProps {
         label: string;
         label: string;
         target?: any;
         target?: any;
@@ -222,6 +268,7 @@ declare module INSPECTOR {
         onInput?: (value: number) => void;
         onInput?: (value: number) => void;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         decimalCount?: number;
         decimalCount?: number;
+        margin?: boolean;
     }
     }
     export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
     export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
         value: number;
         value: number;
@@ -271,17 +318,6 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
-    /**
-     * Class used to provide lock mechanism
-     */
-    export class LockObject {
-        /**
-         * Gets or set if the lock is engaged
-         */
-        lock: boolean;
-    }
-}
-declare module INSPECTOR {
     interface INumericInputComponentProps {
     interface INumericInputComponentProps {
         label: string;
         label: string;
         value: number;
         value: number;
@@ -478,39 +514,6 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
-    interface IFloatLineComponentProps {
-        label: string;
-        target: any;
-        propertyName: string;
-        lockObject?: LockObject;
-        onChange?: (newValue: number) => void;
-        isInteger?: boolean;
-        onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
-        additionalClass?: string;
-        step?: string;
-        digits?: number;
-        useEuler?: boolean;
-        min?: number;
-        max?: number;
-    }
-    export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
-        value: string;
-    }> {
-        private _localChange;
-        private _store;
-        constructor(props: IFloatLineComponentProps);
-        componentWillUnmount(): void;
-        shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
-            value: string;
-        }): boolean;
-        raiseOnPropertyChanged(newValue: number, previousValue: number): void;
-        updateValue(valueString: string): void;
-        lock(): void;
-        unlock(): void;
-        render(): JSX.Element;
-    }
-}
-declare module INSPECTOR {
     interface IAnchorSvgPointProps {
     interface IAnchorSvgPointProps {
         control: BABYLON.Vector2;
         control: BABYLON.Vector2;
         anchor: BABYLON.Vector2;
         anchor: BABYLON.Vector2;

+ 98 - 92
dist/preview release/inspector/babylon.inspector.module.d.ts

@@ -240,6 +240,56 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/debugTabComponent
         render(): JSX.Element | null;
         render(): JSX.Element | null;
     }
     }
 }
 }
+declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject" {
+    /**
+     * Class used to provide lock mechanism
+     */
+    export class LockObject {
+        /**
+         * Gets or set if the lock is engaged
+         */
+        lock: boolean;
+    }
+}
+declare module "babylonjs-inspector/components/actionTabs/lines/floatLineComponent" {
+    import * as React from "react";
+    import { Observable } from "babylonjs/Misc/observable";
+    import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
+    import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
+    interface IFloatLineComponentProps {
+        label: string;
+        target: any;
+        propertyName: string;
+        lockObject?: LockObject;
+        onChange?: (newValue: number) => void;
+        isInteger?: boolean;
+        onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
+        additionalClass?: string;
+        step?: string;
+        digits?: number;
+        useEuler?: boolean;
+        min?: number;
+        max?: number;
+        smallUI?: boolean;
+        onEnter?: (newValue: number) => void;
+    }
+    export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
+        value: string;
+    }> {
+        private _localChange;
+        private _store;
+        constructor(props: IFloatLineComponentProps);
+        componentWillUnmount(): void;
+        shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
+            value: string;
+        }): boolean;
+        raiseOnPropertyChanged(newValue: number, previousValue: number): void;
+        updateValue(valueString: string): void;
+        lock(): void;
+        unlock(): void;
+        render(): JSX.Element;
+    }
+}
 declare module "babylonjs-inspector/components/actionTabs/lines/sliderLineComponent" {
 declare module "babylonjs-inspector/components/actionTabs/lines/sliderLineComponent" {
     import * as React from "react";
     import * as React from "react";
     import { Observable } from "babylonjs/Misc/observable";
     import { Observable } from "babylonjs/Misc/observable";
@@ -257,6 +307,7 @@ declare module "babylonjs-inspector/components/actionTabs/lines/sliderLineCompon
         onInput?: (value: number) => void;
         onInput?: (value: number) => void;
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         decimalCount?: number;
         decimalCount?: number;
+        margin?: boolean;
     }
     }
     export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
     export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
         value: number;
         value: number;
@@ -308,17 +359,6 @@ declare module "babylonjs-inspector/components/actionTabs/lines/optionsLineCompo
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
-declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject" {
-    /**
-     * Class used to provide lock mechanism
-     */
-    export class LockObject {
-        /**
-         * Gets or set if the lock is engaged
-         */
-        lock: boolean;
-    }
-}
 declare module "babylonjs-inspector/components/actionTabs/lines/numericInputComponent" {
 declare module "babylonjs-inspector/components/actionTabs/lines/numericInputComponent" {
     import * as React from "react";
     import * as React from "react";
     interface INumericInputComponentProps {
     interface INumericInputComponentProps {
@@ -541,43 +581,6 @@ declare module "babylonjs-inspector/components/actionTabs/lines/buttonLineCompon
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
-declare module "babylonjs-inspector/components/actionTabs/lines/floatLineComponent" {
-    import * as React from "react";
-    import { Observable } from "babylonjs/Misc/observable";
-    import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
-    import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
-    interface IFloatLineComponentProps {
-        label: string;
-        target: any;
-        propertyName: string;
-        lockObject?: LockObject;
-        onChange?: (newValue: number) => void;
-        isInteger?: boolean;
-        onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
-        additionalClass?: string;
-        step?: string;
-        digits?: number;
-        useEuler?: boolean;
-        min?: number;
-        max?: number;
-    }
-    export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
-        value: string;
-    }> {
-        private _localChange;
-        private _store;
-        constructor(props: IFloatLineComponentProps);
-        componentWillUnmount(): void;
-        shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
-            value: string;
-        }): boolean;
-        raiseOnPropertyChanged(newValue: number, previousValue: number): void;
-        updateValue(valueString: string): void;
-        lock(): void;
-        unlock(): void;
-        render(): JSX.Element;
-    }
-}
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/anchorSvgPoint" {
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/anchorSvgPoint" {
     import * as React from "react";
     import * as React from "react";
     import { Vector2 } from "babylonjs/Maths/math.vector";
     import { Vector2 } from "babylonjs/Maths/math.vector";
@@ -4752,6 +4755,52 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
+    /**
+     * Class used to provide lock mechanism
+     */
+    export class LockObject {
+        /**
+         * Gets or set if the lock is engaged
+         */
+        lock: boolean;
+    }
+}
+declare module INSPECTOR {
+    interface IFloatLineComponentProps {
+        label: string;
+        target: any;
+        propertyName: string;
+        lockObject?: LockObject;
+        onChange?: (newValue: number) => void;
+        isInteger?: boolean;
+        onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
+        additionalClass?: string;
+        step?: string;
+        digits?: number;
+        useEuler?: boolean;
+        min?: number;
+        max?: number;
+        smallUI?: boolean;
+        onEnter?: (newValue: number) => void;
+    }
+    export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
+        value: string;
+    }> {
+        private _localChange;
+        private _store;
+        constructor(props: IFloatLineComponentProps);
+        componentWillUnmount(): void;
+        shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
+            value: string;
+        }): boolean;
+        raiseOnPropertyChanged(newValue: number, previousValue: number): void;
+        updateValue(valueString: string): void;
+        lock(): void;
+        unlock(): void;
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     interface ISliderLineComponentProps {
     interface ISliderLineComponentProps {
         label: string;
         label: string;
         target?: any;
         target?: any;
@@ -4765,6 +4814,7 @@ declare module INSPECTOR {
         onInput?: (value: number) => void;
         onInput?: (value: number) => void;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         decimalCount?: number;
         decimalCount?: number;
+        margin?: boolean;
     }
     }
     export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
     export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
         value: number;
         value: number;
@@ -4814,17 +4864,6 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
-    /**
-     * Class used to provide lock mechanism
-     */
-    export class LockObject {
-        /**
-         * Gets or set if the lock is engaged
-         */
-        lock: boolean;
-    }
-}
-declare module INSPECTOR {
     interface INumericInputComponentProps {
     interface INumericInputComponentProps {
         label: string;
         label: string;
         value: number;
         value: number;
@@ -5021,39 +5060,6 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
-    interface IFloatLineComponentProps {
-        label: string;
-        target: any;
-        propertyName: string;
-        lockObject?: LockObject;
-        onChange?: (newValue: number) => void;
-        isInteger?: boolean;
-        onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
-        additionalClass?: string;
-        step?: string;
-        digits?: number;
-        useEuler?: boolean;
-        min?: number;
-        max?: number;
-    }
-    export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
-        value: string;
-    }> {
-        private _localChange;
-        private _store;
-        constructor(props: IFloatLineComponentProps);
-        componentWillUnmount(): void;
-        shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
-            value: string;
-        }): boolean;
-        raiseOnPropertyChanged(newValue: number, previousValue: number): void;
-        updateValue(valueString: string): void;
-        lock(): void;
-        unlock(): void;
-        render(): JSX.Element;
-    }
-}
-declare module INSPECTOR {
     interface IAnchorSvgPointProps {
     interface IAnchorSvgPointProps {
         control: BABYLON.Vector2;
         control: BABYLON.Vector2;
         anchor: BABYLON.Vector2;
         anchor: BABYLON.Vector2;

+ 7 - 7
dist/preview release/inspector/package.json

@@ -4,7 +4,7 @@
     },
     },
     "name": "babylonjs-inspector",
     "name": "babylonjs-inspector",
     "description": "The Babylon.js inspector.",
     "description": "The Babylon.js inspector.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -29,12 +29,12 @@
     ],
     ],
     "license": "Apache-2.0",
     "license": "Apache-2.0",
     "dependencies": {
     "dependencies": {
-        "babylonjs": "4.2.0-beta.17",
-        "babylonjs-gui": "4.2.0-beta.17",
-        "babylonjs-loaders": "4.2.0-beta.17",
-        "babylonjs-materials": "4.2.0-beta.17",
-        "babylonjs-serializers": "4.2.0-beta.17",
-        "babylonjs-gltf2interface": "4.2.0-beta.17"
+        "babylonjs": "4.2.0-beta.18",
+        "babylonjs-gui": "4.2.0-beta.18",
+        "babylonjs-loaders": "4.2.0-beta.18",
+        "babylonjs-materials": "4.2.0-beta.18",
+        "babylonjs-serializers": "4.2.0-beta.18",
+        "babylonjs-gltf2interface": "4.2.0-beta.18"
     },
     },
     "peerDependencies": {
     "peerDependencies": {
         "@types/react": ">=16.7.3",
         "@types/react": ">=16.7.3",

+ 7 - 7
dist/preview release/loaders/babylon.glTF1FileLoader.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF1FileLoader.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF1FileLoader.min.js


+ 7 - 7
dist/preview release/loaders/babylon.glTF2FileLoader.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.min.js


+ 7 - 7
dist/preview release/loaders/babylon.glTFFileLoader.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTFFileLoader.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylon.glTFFileLoader.min.js


+ 7 - 7
dist/preview release/loaders/babylonjs.loaders.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylonjs.loaders.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/loaders/babylonjs.loaders.min.js


+ 3 - 3
dist/preview release/loaders/package.json

@@ -4,7 +4,7 @@
     },
     },
     "name": "babylonjs-loaders",
     "name": "babylonjs-loaders",
     "description": "The Babylon.js file loaders library is an extension you can use to load different 3D file types into a Babylon scene.",
     "description": "The Babylon.js file loaders library is an extension you can use to load different 3D file types into a Babylon scene.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -28,8 +28,8 @@
     ],
     ],
     "license": "Apache-2.0",
     "license": "Apache-2.0",
     "dependencies": {
     "dependencies": {
-        "babylonjs-gltf2interface": "4.2.0-beta.17",
-        "babylonjs": "4.2.0-beta.17"
+        "babylonjs-gltf2interface": "4.2.0-beta.18",
+        "babylonjs": "4.2.0-beta.18"
     },
     },
     "engines": {
     "engines": {
         "node": "*"
         "node": "*"

+ 7 - 7
dist/preview release/materialsLibrary/babylon.cellMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.cellMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.cellMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.customMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.customMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.customMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.fireMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.fireMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.fireMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.furMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.furMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.furMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.gradientMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gradientMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gradientMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.gridMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gridMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.gridMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.lavaMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.lavaMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.lavaMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.mixMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.mixMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.mixMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.normalMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.normalMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.normalMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.simpleMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.simpleMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.simpleMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.skyMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.skyMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.skyMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.terrainMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.terrainMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.terrainMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.triPlanarMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.triPlanarMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.triPlanarMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylon.waterMaterial.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.waterMaterial.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylon.waterMaterial.min.js


+ 7 - 7
dist/preview release/materialsLibrary/babylonjs.materials.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylonjs.materials.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/materialsLibrary/babylonjs.materials.min.js


+ 2 - 2
dist/preview release/materialsLibrary/package.json

@@ -4,7 +4,7 @@
     },
     },
     "name": "babylonjs-materials",
     "name": "babylonjs-materials",
     "description": "The Babylon.js materials library is a collection of advanced materials to be used in a Babylon.js scene.",
     "description": "The Babylon.js materials library is a collection of advanced materials to be used in a Babylon.js scene.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -28,7 +28,7 @@
     ],
     ],
     "license": "Apache-2.0",
     "license": "Apache-2.0",
     "dependencies": {
     "dependencies": {
-        "babylonjs": "4.2.0-beta.17"
+        "babylonjs": "4.2.0-beta.18"
     },
     },
     "engines": {
     "engines": {
         "node": "*"
         "node": "*"

+ 1 - 1
dist/preview release/nodeEditor/babylon.nodeEditor.d.ts

@@ -262,7 +262,7 @@ declare module NODEEDITOR {
         private _expandBottom;
         private _expandBottom;
         dispose(): void;
         dispose(): void;
         private serializePortData;
         private serializePortData;
-        serialize(): IFrameData;
+        serialize(saveCollapsedState: boolean): IFrameData;
         export(): void;
         export(): void;
         static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
         static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
             [key: number]: number;
             [key: number]: number;

File diff suppressed because it is too large
+ 9 - 4
dist/preview release/nodeEditor/babylon.nodeEditor.js


File diff suppressed because it is too large
+ 1322 - 1189
dist/preview release/nodeEditor/babylon.nodeEditor.max.js


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/nodeEditor/babylon.nodeEditor.max.js.map


+ 2 - 2
dist/preview release/nodeEditor/babylon.nodeEditor.module.d.ts

@@ -361,7 +361,7 @@ declare module "babylonjs-node-editor/diagram/graphFrame" {
         private _expandBottom;
         private _expandBottom;
         dispose(): void;
         dispose(): void;
         private serializePortData;
         private serializePortData;
-        serialize(): IFrameData;
+        serialize(saveCollapsedState: boolean): IFrameData;
         export(): void;
         export(): void;
         static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
         static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
             [key: number]: number;
             [key: number]: number;
@@ -2199,7 +2199,7 @@ declare module NODEEDITOR {
         private _expandBottom;
         private _expandBottom;
         dispose(): void;
         dispose(): void;
         private serializePortData;
         private serializePortData;
-        serialize(): IFrameData;
+        serialize(saveCollapsedState: boolean): IFrameData;
         export(): void;
         export(): void;
         static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
         static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
             [key: number]: number;
             [key: number]: number;

+ 2 - 2
dist/preview release/nodeEditor/package.json

@@ -4,14 +4,14 @@
     },
     },
     "name": "babylonjs-node-editor",
     "name": "babylonjs-node-editor",
     "description": "The Babylon.js node material editor.",
     "description": "The Babylon.js node material editor.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"
     },
     },
     "license": "Apache-2.0",
     "license": "Apache-2.0",
     "dependencies": {
     "dependencies": {
-        "babylonjs": "4.2.0-beta.17"
+        "babylonjs": "4.2.0-beta.18"
     },
     },
     "files": [
     "files": [
         "babylon.nodeEditor.max.js.map",
         "babylon.nodeEditor.max.js.map",

+ 1 - 1
dist/preview release/package.json

@@ -7,7 +7,7 @@
     ],
     ],
     "name": "babylonjs",
     "name": "babylonjs",
     "description": "Babylon.js is a JavaScript 3D engine based on webgl.",
     "description": "Babylon.js is a JavaScript 3D engine based on webgl.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"

+ 7 - 7
dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js


+ 7 - 7
dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js


+ 7 - 7
dist/preview release/postProcessesLibrary/babylonjs.postProcess.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/postProcessesLibrary/babylonjs.postProcess.js.map


File diff suppressed because it is too large
+ 1 - 1
dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js


+ 2 - 2
dist/preview release/postProcessesLibrary/package.json

@@ -4,7 +4,7 @@
     },
     },
     "name": "babylonjs-post-process",
     "name": "babylonjs-post-process",
     "description": "The Babylon.js materials library is a collection of advanced materials to be used in a Babylon.js scene.",
     "description": "The Babylon.js materials library is a collection of advanced materials to be used in a Babylon.js scene.",
-    "version": "4.2.0-beta.17",
+    "version": "4.2.0-beta.18",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"
         "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -28,7 +28,7 @@
     ],
     ],
     "license": "Apache-2.0",
     "license": "Apache-2.0",
     "dependencies": {
     "dependencies": {
-        "babylonjs": "4.2.0-beta.17"
+        "babylonjs": "4.2.0-beta.18"
     },
     },
     "engines": {
     "engines": {
         "node": "*"
         "node": "*"

+ 7 - 7
dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
@@ -147,7 +147,7 @@ PERFORMANCE OF THIS SOFTWARE.
 var extendStatics = function(d, b) {
 var extendStatics = function(d, b) {
     extendStatics = Object.setPrototypeOf ||
     extendStatics = Object.setPrototypeOf ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
     return extendStatics(d, b);
     return extendStatics(d, b);
 };
 };
 
 
@@ -241,8 +241,8 @@ var __createBinding = Object.create ? (function(o, m, k, k2) {
     o[k2] = m[k];
     o[k2] = m[k];
 });
 });
 
 
-function __exportStar(m, exports) {
-    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
+function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
@@ -332,7 +332,7 @@ var __setModuleDefault = Object.create ? (function(o, v) {
 function __importStar(mod) {
 function __importStar(mod) {
     if (mod && mod.__esModule) return mod;
     if (mod && mod.__esModule) return mod;
     var result = {};
     var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
     __setModuleDefault(result, mod);
     __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }

File diff suppressed because it is too large
+ 1 - 1
dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.js.map


+ 0 - 0
dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.min.js


Some files were not shown because too many files changed in this diff