Browse Source

Merge pull request #8417 from BabylonJS/master

Deploy
sebavan 5 years ago
parent
commit
f1aaba75a4
100 changed files with 43872 additions and 38635 deletions
  1. 7 1
      Playground/js/main.js
  2. 8 6
      Viewer/README.md
  3. 3 3
      Viewer/src/configuration/interfaces/templateConfiguration.ts
  4. 0 0
      __assets__to_deleted/_headers
  5. 0 0
      __assets__to_deleted/environments/backgroundGround.png
  6. 0 0
      __assets__to_deleted/environments/backgroundSkybox.dds
  7. 0 0
      __assets__to_deleted/environments/correlatedBRDF.dds
  8. 0 0
      __assets__to_deleted/environments/correlatedBRDF_RGBD.png
  9. 0 0
      __assets__to_deleted/environments/correlatedMSBRDF.dds
  10. 0 0
      __assets__to_deleted/environments/correlatedMSBRDF_RGBD.png
  11. 0 0
      __assets__to_deleted/environments/environmentSpecular.dds
  12. 0 0
      __assets__to_deleted/environments/environmentSpecular.env
  13. 0 0
      __assets__to_deleted/environments/fullFloatEnvironmentBrdf.dds
  14. 0 0
      __assets__to_deleted/environments/studio.env
  15. 0 0
      __assets__to_deleted/environments/uncorrelatedBRDF.dds
  16. 0 0
      __assets__to_deleted/environments/uncorrelatedBRDF_RGBD.png
  17. 0 0
      __assets__to_deleted/meshes/controllers/_headers
  18. 0 0
      __assets__to_deleted/meshes/controllers/_redirects
  19. 0 0
      __assets__to_deleted/meshes/controllers/generic/generic.babylon
  20. 0 0
      __assets__to_deleted/meshes/controllers/generic/vr_controller_01_mrhat.png
  21. 0 0
      __assets__to_deleted/meshes/controllers/generic/vr_controller_01_mrhat_MetallicGlossMap.png
  22. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/045E-065B/LICENSE
  23. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/045E-065B/left.glb
  24. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/045E-065B/right.glb
  25. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/045E-065D/left.glb
  26. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/045E-065D/right.glb
  27. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/default/LICENSE
  28. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/default/left.glb
  29. 0 0
      __assets__to_deleted/meshes/controllers/microsoft/default/right.glb
  30. 0 0
      __assets__to_deleted/meshes/controllers/oculus/external_controller01_col.png
  31. 0 0
      __assets__to_deleted/meshes/controllers/oculus/external_controller01_col_MetallicGlossMap.png
  32. 0 0
      __assets__to_deleted/meshes/controllers/oculus/left.babylon
  33. 0 0
      __assets__to_deleted/meshes/controllers/oculus/right.babylon
  34. 0 0
      __assets__to_deleted/meshes/controllers/oculusQuest/OculusQuestTouchControllerTexture.png
  35. 0 0
      __assets__to_deleted/meshes/controllers/oculusQuest/left.babylon
  36. 0 0
      __assets__to_deleted/meshes/controllers/oculusQuest/right.babylon
  37. 0 0
      __assets__to_deleted/meshes/controllers/vive/onepointfive_texture.png
  38. 0 0
      __assets__to_deleted/meshes/controllers/vive/onepointfive_texture_MetallicGlossMap.png
  39. 0 0
      __assets__to_deleted/meshes/controllers/vive/wand.babylon
  40. 0 0
      __assets__to_deleted/nme/currentScreenPostProcess.png
  41. 0 0
      __assets__to_deleted/particles/systems/explosion.json
  42. 0 0
      __assets__to_deleted/particles/systems/fire.json
  43. 0 0
      __assets__to_deleted/particles/systems/rain.json
  44. 0 0
      __assets__to_deleted/particles/systems/smoke.json
  45. 0 0
      __assets__to_deleted/particles/systems/sun.json
  46. 0 0
      __assets__to_deleted/particles/textures/explosion/FlameBlastSpriteSheet.png
  47. 0 0
      __assets__to_deleted/particles/textures/explosion/Flare.png
  48. 0 0
      __assets__to_deleted/particles/textures/explosion/FlashParticle.png
  49. 0 0
      __assets__to_deleted/particles/textures/explosion/Smoke_SpriteSheet_8x8.png
  50. 0 0
      __assets__to_deleted/particles/textures/fire/Fire_SpriteSheet1_8x8.png
  51. 0 0
      __assets__to_deleted/particles/textures/fire/Fire_SpriteSheet2_8x8.png
  52. 0 0
      __assets__to_deleted/particles/textures/fire/Fire_SpriteSheet3_8x8.png
  53. 0 0
      __assets__to_deleted/particles/textures/fire/sparks.png
  54. 0 0
      __assets__to_deleted/particles/textures/rain/Rain.png
  55. 0 0
      __assets__to_deleted/particles/textures/smoke/Smoke_SpriteSheet_8x8.png
  56. 0 0
      __assets__to_deleted/particles/textures/sun/T_Star.png
  57. 0 0
      __assets__to_deleted/particles/textures/sun/T_SunFlare.png
  58. 0 0
      __assets__to_deleted/particles/textures/sun/T_SunSurface.png
  59. 12 10
      contributing.md
  60. 831 494
      dist/preview release/babylon.d.ts
  61. 12 12
      dist/preview release/babylon.js
  62. 3661 4744
      dist/preview release/babylon.max.js
  63. 1 1
      dist/preview release/babylon.max.js.map
  64. 1711 998
      dist/preview release/babylon.module.d.ts
  65. 882 545
      dist/preview release/documentation.d.ts
  66. 51 51
      dist/preview release/gui/babylon.gui.d.ts
  67. 443 409
      dist/preview release/gui/babylon.gui.js
  68. 1 1
      dist/preview release/gui/babylon.gui.js.map
  69. 11 11
      dist/preview release/gui/babylon.gui.min.js
  70. 102 102
      dist/preview release/gui/babylon.gui.module.d.ts
  71. 20 24
      dist/preview release/inspector/babylon.inspector.bundle.js
  72. 35334 30785
      dist/preview release/inspector/babylon.inspector.bundle.max.js
  73. 1 1
      dist/preview release/inspector/babylon.inspector.bundle.max.js.map
  74. 44 21
      dist/preview release/inspector/babylon.inspector.d.ts
  75. 110 56
      dist/preview release/inspector/babylon.inspector.module.d.ts
  76. 70 36
      dist/preview release/loaders/babylon.glTF1FileLoader.js
  77. 1 1
      dist/preview release/loaders/babylon.glTF1FileLoader.js.map
  78. 12 12
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  79. 64 43
      dist/preview release/loaders/babylon.glTF2FileLoader.js
  80. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.js.map
  81. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  82. 121 66
      dist/preview release/loaders/babylon.glTFFileLoader.js
  83. 1 1
      dist/preview release/loaders/babylon.glTFFileLoader.js.map
  84. 12 12
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  85. 2 2
      dist/preview release/loaders/babylon.objFileLoader.js
  86. 1 1
      dist/preview release/loaders/babylon.objFileLoader.min.js
  87. 1 1
      dist/preview release/loaders/babylon.stlFileLoader.min.js
  88. 123 68
      dist/preview release/loaders/babylonjs.loaders.js
  89. 1 1
      dist/preview release/loaders/babylonjs.loaders.js.map
  90. 12 12
      dist/preview release/loaders/babylonjs.loaders.min.js
  91. 56 22
      dist/preview release/materialsLibrary/babylon.cellMaterial.js
  92. 1 1
      dist/preview release/materialsLibrary/babylon.cellMaterial.js.map
  93. 11 11
      dist/preview release/materialsLibrary/babylon.cellMaterial.min.js
  94. 56 22
      dist/preview release/materialsLibrary/babylon.customMaterial.js
  95. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.js.map
  96. 11 11
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  97. 56 22
      dist/preview release/materialsLibrary/babylon.fireMaterial.js
  98. 1 1
      dist/preview release/materialsLibrary/babylon.fireMaterial.js.map
  99. 11 11
      dist/preview release/materialsLibrary/babylon.fireMaterial.min.js
  100. 0 0
      dist/preview release/materialsLibrary/babylon.furMaterial.js

+ 7 - 1
Playground/js/main.js

@@ -693,7 +693,9 @@ class Main {
                                         newPG = "";
                                         newPG = "";
                                         break;
                                         break;
                                 }
                                 }
-                                window.location.href = location.protocol + "//" + location.host + location.pathname + "#" + newPG;
+                                // reset pathname if it is a 'pg/' location
+                                const pathname = location.pathname.match(/\/pg\//) ? '/' : location.pathname;
+                                window.location.href = location.protocol + "//" + location.host + pathname + "#" + newPG;
                             } else if (query.indexOf("=") === -1) {
                             } else if (query.indexOf("=") === -1) {
                                 this.loadScript("scripts/" + query + ".js", query);
                                 this.loadScript("scripts/" + query + ".js", query);
                             } else if (query.indexOf('pg=') === -1 && !location.pathname.match(/\/pg\//)) {
                             } else if (query.indexOf('pg=') === -1 && !location.pathname.match(/\/pg\//)) {
@@ -717,6 +719,10 @@ class Main {
         // Check if safe mode is on, and ask if it is
         // Check if safe mode is on, and ask if it is
         if (!this.checkSafeMode("Are you sure you want to create a new playground?")) return;
         if (!this.checkSafeMode("Are you sure you want to create a new playground?")) return;
         location.hash = "";
         location.hash = "";
+        if(location.pathname.indexOf('pg/') !== -1) {
+            // reload to create a new pg if in full-path playground mode.
+            window.location.pathname = '';
+        }
         this.currentSnippetToken = null;
         this.currentSnippetToken = null;
         this.currentSnippetTitle = null;
         this.currentSnippetTitle = null;
         this.currentSnippetDescription = null;
         this.currentSnippetDescription = null;

+ 8 - 6
Viewer/README.md

@@ -2,7 +2,7 @@
 
 
 This project is a 3d model viewer using babylonjs.
 This project is a 3d model viewer using babylonjs.
 
 
-Please note that this is an *initial release*. The API and project structure could (and probably SHOULD) be changed, so please don't rely on this yet in a productive environment.
+Please note that this is an _initial release_. The API and project structure could (and probably SHOULD) be changed, so please don't rely on this yet in a productive environment.
 
 
 The viewer is using the latest Babylon from npm (3.1 alpha).
 The viewer is using the latest Babylon from npm (3.1 alpha).
 
 
@@ -15,21 +15,23 @@ See `basicExample.html` in `/dist`.
 Basically, all that is needed is an html tag, and the viewer.js, which includes everything needed to render a Scene:
 Basically, all that is needed is an html tag, and the viewer.js, which includes everything needed to render a Scene:
 
 
 ```html
 ```html
-<babylon model="https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/BoomBox/glTF/BoomBox.gltf" default-viewer="true"></babylon>
+<babylon
+  model="https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/BoomBox/glTF/BoomBox.gltf"
+  default-viewer="true"
+></babylon>
 <script src="viewer.js"></script>
 <script src="viewer.js"></script>
-``` 
+```
 
 
 This will create a (default) viewer and will load the model in this URL using the gltf loader.
 This will create a (default) viewer and will load the model in this URL using the gltf loader.
 
 
-The `babylon` tag will be automatically initialized. 
+The `babylon` tag will be automatically initialized.
 
 
 ## Configuration
 ## Configuration
 
 
-Configuration can be provided using html attributes or a JSON (at the moment). A configuration Mapper can be registered to create new configuration readers. 
+Configuration can be provided using html attributes or a JSON (at the moment). A configuration Mapper can be registered to create new configuration readers.
 
 
 Before I finish a full documentation, take a look at `configuration.ts`
 Before I finish a full documentation, take a look at `configuration.ts`
 
 
 ## Templating
 ## Templating
 
 
 The default templates are integrated in the viewer.js file. The current templates are located in `/assets/templates/default/` . Those templates can be extended and registered using the configuration file.
 The default templates are integrated in the viewer.js file. The current templates are located in `/assets/templates/default/` . Those templates can be extended and registered using the configuration file.
-

+ 3 - 3
Viewer/src/configuration/interfaces/templateConfiguration.ts

@@ -4,12 +4,12 @@
 export interface ITemplateConfiguration {
 export interface ITemplateConfiguration {
     /**
     /**
      * can be either the id of the template's html element or a URL.
      * can be either the id of the template's html element or a URL.
-     * See - http://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
+     * See - https://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
      */
      */
     location?: string; // #template-id OR http://example.com/loading.html
     location?: string; // #template-id OR http://example.com/loading.html
     /**
     /**
      * If no location is provided you can provide here the raw html of this template.
      * If no location is provided you can provide here the raw html of this template.
-     * See http://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
+     * See https://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
      */
      */
     html?: string; // raw html string
     html?: string; // raw html string
     id?: string;
     id?: string;
@@ -22,7 +22,7 @@ export interface ITemplateConfiguration {
      * event name is the key. the value can either be a boolean (attach to the parent element)
      * event name is the key. the value can either be a boolean (attach to the parent element)
      * or a map of html id elements.
      * or a map of html id elements.
      *
      *
-     * See - http://doc.babylonjs.com/extensions/the_templating_system#event-binding
+     * See - https://doc.babylonjs.com/extensions/the_templating_system#event-binding
      */
      */
     events?: {
     events?: {
         // pointer events
         // pointer events

assets/meshes/controllers/_headers → __assets__to_deleted/_headers


assets/environments/backgroundGround.png → __assets__to_deleted/environments/backgroundGround.png


assets/environments/backgroundSkybox.dds → __assets__to_deleted/environments/backgroundSkybox.dds


assets/environments/correlatedBRDF.dds → __assets__to_deleted/environments/correlatedBRDF.dds


assets/environments/correlatedBRDF_RGBD.png → __assets__to_deleted/environments/correlatedBRDF_RGBD.png


assets/environments/correlatedMSBRDF.dds → __assets__to_deleted/environments/correlatedMSBRDF.dds


assets/environments/correlatedMSBRDF_RGBD.png → __assets__to_deleted/environments/correlatedMSBRDF_RGBD.png


assets/environments/environmentSpecular.dds → __assets__to_deleted/environments/environmentSpecular.dds


assets/environments/environmentSpecular.env → __assets__to_deleted/environments/environmentSpecular.env


assets/environments/fullFloatEnvironmentBrdf.dds → __assets__to_deleted/environments/fullFloatEnvironmentBrdf.dds


assets/environments/studio.env → __assets__to_deleted/environments/studio.env


assets/environments/uncorrelatedBRDF.dds → __assets__to_deleted/environments/uncorrelatedBRDF.dds


assets/environments/uncorrelatedBRDF_RGBD.png → __assets__to_deleted/environments/uncorrelatedBRDF_RGBD.png


assets/_headers → __assets__to_deleted/meshes/controllers/_headers


assets/meshes/controllers/_redirects → __assets__to_deleted/meshes/controllers/_redirects


assets/meshes/controllers/generic/generic.babylon → __assets__to_deleted/meshes/controllers/generic/generic.babylon


assets/meshes/controllers/generic/vr_controller_01_mrhat.png → __assets__to_deleted/meshes/controllers/generic/vr_controller_01_mrhat.png


assets/meshes/controllers/generic/vr_controller_01_mrhat_MetallicGlossMap.png → __assets__to_deleted/meshes/controllers/generic/vr_controller_01_mrhat_MetallicGlossMap.png


assets/meshes/controllers/microsoft/default/LICENSE → __assets__to_deleted/meshes/controllers/microsoft/045E-065B/LICENSE


assets/meshes/controllers/microsoft/default/left.glb → __assets__to_deleted/meshes/controllers/microsoft/045E-065B/left.glb


assets/meshes/controllers/microsoft/default/right.glb → __assets__to_deleted/meshes/controllers/microsoft/045E-065B/right.glb


assets/meshes/controllers/microsoft/045E-065D/left.glb → __assets__to_deleted/meshes/controllers/microsoft/045E-065D/left.glb


assets/meshes/controllers/microsoft/045E-065D/right.glb → __assets__to_deleted/meshes/controllers/microsoft/045E-065D/right.glb


assets/meshes/controllers/microsoft/045E-065B/LICENSE → __assets__to_deleted/meshes/controllers/microsoft/default/LICENSE


assets/meshes/controllers/microsoft/045E-065B/left.glb → __assets__to_deleted/meshes/controllers/microsoft/default/left.glb


assets/meshes/controllers/microsoft/045E-065B/right.glb → __assets__to_deleted/meshes/controllers/microsoft/default/right.glb


assets/meshes/controllers/oculus/external_controller01_col.png → __assets__to_deleted/meshes/controllers/oculus/external_controller01_col.png


assets/meshes/controllers/oculus/external_controller01_col_MetallicGlossMap.png → __assets__to_deleted/meshes/controllers/oculus/external_controller01_col_MetallicGlossMap.png


assets/meshes/controllers/oculus/left.babylon → __assets__to_deleted/meshes/controllers/oculus/left.babylon


assets/meshes/controllers/oculus/right.babylon → __assets__to_deleted/meshes/controllers/oculus/right.babylon


assets/meshes/controllers/oculusQuest/OculusQuestTouchControllerTexture.png → __assets__to_deleted/meshes/controllers/oculusQuest/OculusQuestTouchControllerTexture.png


assets/meshes/controllers/oculusQuest/left.babylon → __assets__to_deleted/meshes/controllers/oculusQuest/left.babylon


assets/meshes/controllers/oculusQuest/right.babylon → __assets__to_deleted/meshes/controllers/oculusQuest/right.babylon


assets/meshes/controllers/vive/onepointfive_texture.png → __assets__to_deleted/meshes/controllers/vive/onepointfive_texture.png


assets/meshes/controllers/vive/onepointfive_texture_MetallicGlossMap.png → __assets__to_deleted/meshes/controllers/vive/onepointfive_texture_MetallicGlossMap.png


assets/meshes/controllers/vive/wand.babylon → __assets__to_deleted/meshes/controllers/vive/wand.babylon


assets/nme/currentScreenPostProcess.png → __assets__to_deleted/nme/currentScreenPostProcess.png


assets/particles/systems/explosion.json → __assets__to_deleted/particles/systems/explosion.json


assets/particles/systems/fire.json → __assets__to_deleted/particles/systems/fire.json


assets/particles/systems/rain.json → __assets__to_deleted/particles/systems/rain.json


assets/particles/systems/smoke.json → __assets__to_deleted/particles/systems/smoke.json


assets/particles/systems/sun.json → __assets__to_deleted/particles/systems/sun.json


assets/particles/textures/explosion/FlameBlastSpriteSheet.png → __assets__to_deleted/particles/textures/explosion/FlameBlastSpriteSheet.png


assets/particles/textures/explosion/Flare.png → __assets__to_deleted/particles/textures/explosion/Flare.png


assets/particles/textures/explosion/FlashParticle.png → __assets__to_deleted/particles/textures/explosion/FlashParticle.png


assets/particles/textures/explosion/Smoke_SpriteSheet_8x8.png → __assets__to_deleted/particles/textures/explosion/Smoke_SpriteSheet_8x8.png


assets/particles/textures/fire/Fire_SpriteSheet1_8x8.png → __assets__to_deleted/particles/textures/fire/Fire_SpriteSheet1_8x8.png


assets/particles/textures/fire/Fire_SpriteSheet2_8x8.png → __assets__to_deleted/particles/textures/fire/Fire_SpriteSheet2_8x8.png


assets/particles/textures/fire/Fire_SpriteSheet3_8x8.png → __assets__to_deleted/particles/textures/fire/Fire_SpriteSheet3_8x8.png


assets/particles/textures/fire/sparks.png → __assets__to_deleted/particles/textures/fire/sparks.png


assets/particles/textures/rain/Rain.png → __assets__to_deleted/particles/textures/rain/Rain.png


assets/particles/textures/smoke/Smoke_SpriteSheet_8x8.png → __assets__to_deleted/particles/textures/smoke/Smoke_SpriteSheet_8x8.png


assets/particles/textures/sun/T_Star.png → __assets__to_deleted/particles/textures/sun/T_Star.png


assets/particles/textures/sun/T_SunFlare.png → __assets__to_deleted/particles/textures/sun/T_SunFlare.png


assets/particles/textures/sun/T_SunSurface.png → __assets__to_deleted/particles/textures/sun/T_SunSurface.png


+ 12 - 10
contributing.md

@@ -18,18 +18,18 @@ Babylon.js is a 3D rendering engine. So every piece of code has to be scrutinize
 
 
 ### Simplicity
 ### Simplicity
 
 
-A developer should be able to quickly and easily learn to use the API. 
+A developer should be able to quickly and easily learn to use the API.
 
 
-Simplicity and a low barrier to entry are must-have features of every API. If you have any second thoughts about the complexity of a design, it is almost always much better to cut the feature from the current release and spend more time to get the design right for the next release. 
+Simplicity and a low barrier to entry are must-have features of every API. If you have any second thoughts about the complexity of a design, it is almost always much better to cut the feature from the current release and spend more time to get the design right for the next release.
 
 
 You can always add to an API, you cannot ever remove anything from one. If the design does not feel right, and you ship it anyway, you are likely to regret having done so.
 You can always add to an API, you cannot ever remove anything from one. If the design does not feel right, and you ship it anyway, you are likely to regret having done so.
 
 
 ## Forum and Github issues
 ## Forum and Github issues
 
 
-Since the very beginning, Babylon.js relies on a great forum and a tremendous community: https://forum.babylonjs.com/.
-Please use the forum for **ANY questions you may have**.
+Since the very beginning, Babylon.js relies on a great forum and a tremendous community: [https://forum.babylonjs.com/](https://forum.babylonjs.com/). Please use the forum for **ANY questions you may have**.
 
 
 Please use the Github issues (after discussing them on the forum) **only** for:
 Please use the Github issues (after discussing them on the forum) **only** for:
+
 - Bugs
 - Bugs
 - Feature requests
 - Feature requests
 
 
@@ -49,19 +49,21 @@ so that you can start straight away.
 
 
 ## Pull requests
 ## Pull requests
 
 
-We are not complicated people, but we still have some [coding guidelines](http://doc.babylonjs.com/how_to/approved_naming_conventions)
-Before submitting your PR, just check that everything goes well by [creating the minified version](http://doc.babylonjs.com/resources/creating_the_mini-fied_version)
+We are not complicated people, but we still have some [coding guidelines](https://doc.babylonjs.com/how_to/approved_naming_conventions)
+Before submitting your PR, just check that everything goes well by [creating the minified version](https://doc.babylonjs.com/resources/creating_the_mini-fied_version)
+
+You should read the [how to contribute documentation](https://doc.babylonjs.com/how_to/how_to_start) before working on your PR.
 
 
-You should read the [how to contribute documentation](http://doc.babylonjs.com/how_to/how_to_start) before working on your PR.
-  
 To validate your PR, please follow these steps:
 To validate your PR, please follow these steps:
+
 - Run "gulp" locally and make sure that no error is generated
 - Run "gulp" locally and make sure that no error is generated
 - Make sure that all public functions and classes are commented using JSDoc syntax
 - Make sure that all public functions and classes are commented using JSDoc syntax
 - Make sure to add a line about your PR in the [what's new](https://github.com/BabylonJS/Babylon.js/blob/master/dist/preview%20release/what's%20new.md)
 - Make sure to add a line about your PR in the [what's new](https://github.com/BabylonJS/Babylon.js/blob/master/dist/preview%20release/what's%20new.md)
-  
- ## What should go where?
+
+## What should go where
 
 
 In order to not bloat the core engine with unwanted or unnecessary features (that we will need to maintain forever), here is a list of questions you could ask yourself before submitting a new feature (or feature request) for Babylon.js core engine:
 In order to not bloat the core engine with unwanted or unnecessary features (that we will need to maintain forever), here is a list of questions you could ask yourself before submitting a new feature (or feature request) for Babylon.js core engine:
+
 - Does my feature belong to a framework library?
 - Does my feature belong to a framework library?
 - Can my feature be used by multiple different applications?
 - Can my feature be used by multiple different applications?
 - Is there a general use case for this feature?
 - Is there a general use case for this feature?

File diff suppressed because it is too large
+ 831 - 494
dist/preview release/babylon.d.ts


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


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


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


File diff suppressed because it is too large
+ 1711 - 998
dist/preview release/babylon.module.d.ts


File diff suppressed because it is too large
+ 882 - 545
dist/preview release/documentation.d.ts


+ 51 - 51
dist/preview release/gui/babylon.gui.d.ts

@@ -11,7 +11,7 @@ declare module BABYLON.GUI {
         private _originalUnit;
         private _originalUnit;
         /**
         /**
          * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
          * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
-         * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
          */
          */
         ignoreAdaptiveScaling: boolean;
         ignoreAdaptiveScaling: boolean;
         /**
         /**
@@ -323,7 +323,7 @@ declare module BABYLON.GUI {
     }
     }
     /**
     /**
     * Class used to create texture to support 2D GUI elements
     * Class used to create texture to support 2D GUI elements
-    * @see http://doc.babylonjs.com/how_to/gui
+    * @see https://doc.babylonjs.com/how_to/gui
     */
     */
     export class AdvancedDynamicTexture extends BABYLON.DynamicTexture {
     export class AdvancedDynamicTexture extends BABYLON.DynamicTexture {
         private _isDirty;
         private _isDirty;
@@ -421,32 +421,32 @@ declare module BABYLON.GUI {
         /**
         /**
         * Gets or sets the ideal width used to design controls.
         * Gets or sets the ideal width used to design controls.
         * The GUI will then rescale everything accordingly
         * The GUI will then rescale everything accordingly
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get idealWidth(): number;
         get idealWidth(): number;
         set idealWidth(value: number);
         set idealWidth(value: number);
         /**
         /**
         * Gets or sets the ideal height used to design controls.
         * Gets or sets the ideal height used to design controls.
         * The GUI will then rescale everything accordingly
         * The GUI will then rescale everything accordingly
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get idealHeight(): number;
         get idealHeight(): number;
         set idealHeight(value: number);
         set idealHeight(value: number);
         /**
         /**
         * Gets or sets a boolean indicating if the smallest ideal value must be used if idealWidth and idealHeight are both set
         * Gets or sets a boolean indicating if the smallest ideal value must be used if idealWidth and idealHeight are both set
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get useSmallestIdeal(): boolean;
         get useSmallestIdeal(): boolean;
         set useSmallestIdeal(value: boolean);
         set useSmallestIdeal(value: boolean);
         /**
         /**
         * Gets or sets a boolean indicating if adaptive scaling must be used
         * Gets or sets a boolean indicating if adaptive scaling must be used
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get renderAtIdealSize(): boolean;
         get renderAtIdealSize(): boolean;
         set renderAtIdealSize(value: boolean);
         set renderAtIdealSize(value: boolean);
         /**
         /**
          * Gets the ratio used when in "ideal mode"
          * Gets the ratio used when in "ideal mode"
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
          * */
          * */
         get idealRatio(): number;
         get idealRatio(): number;
         /**
         /**
@@ -528,7 +528,7 @@ declare module BABYLON.GUI {
         /**
         /**
         * Helper function used to create a new style
         * Helper function used to create a new style
         * @returns a new style
         * @returns a new style
-        * @see http://doc.babylonjs.com/how_to/gui#styles
+        * @see https://doc.babylonjs.com/how_to/gui#styles
         */
         */
         createStyle(): Style;
         createStyle(): Style;
         /**
         /**
@@ -628,7 +628,7 @@ declare module BABYLON.GUI {
 declare module BABYLON.GUI {
 declare module BABYLON.GUI {
     /**
     /**
      * Root class used for all 2D controls
      * Root class used for all 2D controls
-     * @see http://doc.babylonjs.com/how_to/gui#controls
+     * @see https://doc.babylonjs.com/how_to/gui#controls
      */
      */
     export class Control {
     export class Control {
         /** defines the name of the control */
         /** defines the name of the control */
@@ -849,63 +849,63 @@ declare module BABYLON.GUI {
         get isHighlighted(): boolean;
         get isHighlighted(): boolean;
         set isHighlighted(value: boolean);
         set isHighlighted(value: boolean);
         /** Gets or sets a value indicating the scale factor on X axis (1 by default)
         /** Gets or sets a value indicating the scale factor on X axis (1 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get scaleX(): number;
         get scaleX(): number;
         set scaleX(value: number);
         set scaleX(value: number);
         /** Gets or sets a value indicating the scale factor on Y axis (1 by default)
         /** Gets or sets a value indicating the scale factor on Y axis (1 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get scaleY(): number;
         get scaleY(): number;
         set scaleY(value: number);
         set scaleY(value: number);
         /** Gets or sets the rotation angle (0 by default)
         /** Gets or sets the rotation angle (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get rotation(): number;
         get rotation(): number;
         set rotation(value: number);
         set rotation(value: number);
         /** Gets or sets the transformation center on Y axis (0 by default)
         /** Gets or sets the transformation center on Y axis (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get transformCenterY(): number;
         get transformCenterY(): number;
         set transformCenterY(value: number);
         set transformCenterY(value: number);
         /** Gets or sets the transformation center on X axis (0 by default)
         /** Gets or sets the transformation center on X axis (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get transformCenterX(): number;
         get transformCenterX(): number;
         set transformCenterX(value: number);
         set transformCenterX(value: number);
         /**
         /**
          * Gets or sets the horizontal alignment
          * Gets or sets the horizontal alignment
-         * @see http://doc.babylonjs.com/how_to/gui#alignments
+         * @see https://doc.babylonjs.com/how_to/gui#alignments
          */
          */
         get horizontalAlignment(): number;
         get horizontalAlignment(): number;
         set horizontalAlignment(value: number);
         set horizontalAlignment(value: number);
         /**
         /**
          * Gets or sets the vertical alignment
          * Gets or sets the vertical alignment
-         * @see http://doc.babylonjs.com/how_to/gui#alignments
+         * @see https://doc.babylonjs.com/how_to/gui#alignments
          */
          */
         get verticalAlignment(): number;
         get verticalAlignment(): number;
         set verticalAlignment(value: number);
         set verticalAlignment(value: number);
         /**
         /**
          * Gets or sets control width
          * Gets or sets control width
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get width(): string | number;
         get width(): string | number;
         set width(value: string | number);
         set width(value: string | number);
         /**
         /**
          * Gets or sets the control width in pixel
          * Gets or sets the control width in pixel
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get widthInPixels(): number;
         get widthInPixels(): number;
         set widthInPixels(value: number);
         set widthInPixels(value: number);
         /**
         /**
          * Gets or sets control height
          * Gets or sets control height
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get height(): string | number;
         get height(): string | number;
         set height(value: string | number);
         set height(value: string | number);
         /**
         /**
          * Gets or sets control height in pixel
          * Gets or sets control height in pixel
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get heightInPixels(): number;
         get heightInPixels(): number;
         set heightInPixels(value: number);
         set heightInPixels(value: number);
@@ -920,7 +920,7 @@ declare module BABYLON.GUI {
         set fontWeight(value: string);
         set fontWeight(value: string);
         /**
         /**
          * Gets or sets style
          * Gets or sets style
-         * @see http://doc.babylonjs.com/how_to/gui#styles
+         * @see https://doc.babylonjs.com/how_to/gui#styles
          */
          */
         get style(): BABYLON.Nullable<Style>;
         get style(): BABYLON.Nullable<Style>;
         set style(value: BABYLON.Nullable<Style>);
         set style(value: BABYLON.Nullable<Style>);
@@ -952,97 +952,97 @@ declare module BABYLON.GUI {
         get linkedMesh(): BABYLON.Nullable<BABYLON.AbstractMesh>;
         get linkedMesh(): BABYLON.Nullable<BABYLON.AbstractMesh>;
         /**
         /**
          * Gets or sets a value indicating the padding to use on the left of the control
          * Gets or sets a value indicating the padding to use on the left of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingLeft(): string | number;
         get paddingLeft(): string | number;
         set paddingLeft(value: string | number);
         set paddingLeft(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the left of the control
          * Gets or sets a value indicating the padding in pixels to use on the left of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingLeftInPixels(): number;
         get paddingLeftInPixels(): number;
         set paddingLeftInPixels(value: number);
         set paddingLeftInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the right of the control
          * Gets or sets a value indicating the padding to use on the right of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingRight(): string | number;
         get paddingRight(): string | number;
         set paddingRight(value: string | number);
         set paddingRight(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the right of the control
          * Gets or sets a value indicating the padding in pixels to use on the right of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingRightInPixels(): number;
         get paddingRightInPixels(): number;
         set paddingRightInPixels(value: number);
         set paddingRightInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the top of the control
          * Gets or sets a value indicating the padding to use on the top of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingTop(): string | number;
         get paddingTop(): string | number;
         set paddingTop(value: string | number);
         set paddingTop(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the top of the control
          * Gets or sets a value indicating the padding in pixels to use on the top of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingTopInPixels(): number;
         get paddingTopInPixels(): number;
         set paddingTopInPixels(value: number);
         set paddingTopInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the bottom of the control
          * Gets or sets a value indicating the padding to use on the bottom of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingBottom(): string | number;
         get paddingBottom(): string | number;
         set paddingBottom(value: string | number);
         set paddingBottom(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the bottom of the control
          * Gets or sets a value indicating the padding in pixels to use on the bottom of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingBottomInPixels(): number;
         get paddingBottomInPixels(): number;
         set paddingBottomInPixels(value: number);
         set paddingBottomInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the left coordinate of the control
          * Gets or sets a value indicating the left coordinate of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get left(): string | number;
         get left(): string | number;
         set left(value: string | number);
         set left(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the left coordinate in pixels of the control
          * Gets or sets a value indicating the left coordinate in pixels of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get leftInPixels(): number;
         get leftInPixels(): number;
         set leftInPixels(value: number);
         set leftInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the top coordinate of the control
          * Gets or sets a value indicating the top coordinate of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get top(): string | number;
         get top(): string | number;
         set top(value: string | number);
         set top(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the top coordinate in pixels of the control
          * Gets or sets a value indicating the top coordinate in pixels of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get topInPixels(): number;
         get topInPixels(): number;
         set topInPixels(value: number);
         set topInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the offset on X axis to the linked mesh
          * Gets or sets a value indicating the offset on X axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetX(): string | number;
         get linkOffsetX(): string | number;
         set linkOffsetX(value: string | number);
         set linkOffsetX(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the offset in pixels on X axis to the linked mesh
          * Gets or sets a value indicating the offset in pixels on X axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetXInPixels(): number;
         get linkOffsetXInPixels(): number;
         set linkOffsetXInPixels(value: number);
         set linkOffsetXInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the offset on Y axis to the linked mesh
          * Gets or sets a value indicating the offset on Y axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetY(): string | number;
         get linkOffsetY(): string | number;
         set linkOffsetY(value: string | number);
         set linkOffsetY(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the offset in pixels on Y axis to the linked mesh
          * Gets or sets a value indicating the offset in pixels on Y axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetYInPixels(): number;
         get linkOffsetYInPixels(): number;
         set linkOffsetYInPixels(value: number);
         set linkOffsetYInPixels(value: number);
@@ -1124,7 +1124,7 @@ declare module BABYLON.GUI {
         /**
         /**
          * Link current control with a target mesh
          * Link current control with a target mesh
          * @param mesh defines the mesh to link with
          * @param mesh defines the mesh to link with
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         linkWithMesh(mesh: BABYLON.Nullable<BABYLON.AbstractMesh>): void;
         linkWithMesh(mesh: BABYLON.Nullable<BABYLON.AbstractMesh>): void;
         /** @hidden */
         /** @hidden */
@@ -1251,7 +1251,7 @@ declare module BABYLON.GUI {
 declare module BABYLON.GUI {
 declare module BABYLON.GUI {
     /**
     /**
      * Root class for 2D containers
      * Root class for 2D containers
-     * @see http://doc.babylonjs.com/how_to/gui#containers
+     * @see https://doc.babylonjs.com/how_to/gui#containers
      */
      */
     export class Container extends Control {
     export class Container extends Control {
         name?: string | undefined;
         name?: string | undefined;
@@ -1623,7 +1623,7 @@ declare module BABYLON.GUI {
         get svgAttributesComputationCompleted(): boolean;
         get svgAttributesComputationCompleted(): boolean;
         /**
         /**
          * Gets or sets a boolean indicating if the image can force its container to adapt its size
          * Gets or sets a boolean indicating if the image can force its container to adapt its size
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get autoScale(): boolean;
         get autoScale(): boolean;
         set autoScale(value: boolean);
         set autoScale(value: boolean);
@@ -1656,19 +1656,19 @@ declare module BABYLON.GUI {
         private _getSVGAttribs;
         private _getSVGAttribs;
         /**
         /**
          * Gets or sets the cell width to use when animation sheet is enabled
          * Gets or sets the cell width to use when animation sheet is enabled
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellWidth(): number;
         get cellWidth(): number;
         set cellWidth(value: number);
         set cellWidth(value: number);
         /**
         /**
          * Gets or sets the cell height to use when animation sheet is enabled
          * Gets or sets the cell height to use when animation sheet is enabled
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellHeight(): number;
         get cellHeight(): number;
         set cellHeight(value: number);
         set cellHeight(value: number);
         /**
         /**
          * Gets or sets the cell id to use (this will turn on the animation sheet mode)
          * Gets or sets the cell id to use (this will turn on the animation sheet mode)
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellId(): number;
         get cellId(): number;
         set cellId(value: number);
         set cellId(value: number);
@@ -2280,13 +2280,13 @@ declare module BABYLON.GUI {
         set value(value: BABYLON.Color3);
         set value(value: BABYLON.Color3);
         /**
         /**
          * Gets or sets control width
          * Gets or sets control width
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get width(): string | number;
         get width(): string | number;
         set width(value: string | number);
         set width(value: string | number);
         /**
         /**
          * Gets or sets control height
          * Gets or sets control height
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get height(): string | number;
         get height(): string | number;
         /** Gets or sets control height */
         /** Gets or sets control height */
@@ -2791,7 +2791,7 @@ declare module BABYLON.GUI {
         _setSelectorButtonBackground(selectorNb: number, color: string): void;
         _setSelectorButtonBackground(selectorNb: number, color: string): void;
     }
     }
     /** Class used to hold the controls for the checkboxes, radio buttons and sliders
     /** Class used to hold the controls for the checkboxes, radio buttons and sliders
-     * @see http://doc.babylonjs.com/how_to/selector
+     * @see https://doc.babylonjs.com/how_to/selector
     */
     */
     export class SelectionPanel extends Rectangle {
     export class SelectionPanel extends Rectangle {
         /** name of SelectionPanel */
         /** name of SelectionPanel */
@@ -3468,7 +3468,7 @@ declare module BABYLON.GUI {
 declare module BABYLON.GUI {
 declare module BABYLON.GUI {
     /**
     /**
      * Class used to manage 3D user interface
      * Class used to manage 3D user interface
-     * @see http://doc.babylonjs.com/how_to/gui3d
+     * @see https://doc.babylonjs.com/how_to/gui3d
      */
      */
     export class GUI3DManager implements BABYLON.IDisposable {
     export class GUI3DManager implements BABYLON.IDisposable {
         private _scene;
         private _scene;
@@ -3610,19 +3610,19 @@ declare module BABYLON.GUI {
         private _behaviors;
         private _behaviors;
         /**
         /**
          * Gets the list of attached behaviors
          * Gets the list of attached behaviors
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          */
          */
         get behaviors(): BABYLON.Behavior<Control3D>[];
         get behaviors(): BABYLON.Behavior<Control3D>[];
         /**
         /**
          * Attach a behavior to the control
          * Attach a behavior to the control
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @param behavior defines the behavior to attach
          * @param behavior defines the behavior to attach
          * @returns the current control
          * @returns the current control
          */
          */
         addBehavior(behavior: BABYLON.Behavior<Control3D>): Control3D;
         addBehavior(behavior: BABYLON.Behavior<Control3D>): Control3D;
         /**
         /**
          * Remove an attached behavior
          * Remove an attached behavior
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @param behavior defines the behavior to attach
          * @param behavior defines the behavior to attach
          * @returns the current control
          * @returns the current control
          */
          */
@@ -3630,7 +3630,7 @@ declare module BABYLON.GUI {
         /**
         /**
          * Gets an attached behavior by name
          * Gets an attached behavior by name
          * @param name defines the name of the behavior to look for
          * @param name defines the name of the behavior to look for
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @returns null if behavior was not found else the requested behavior
          * @returns null if behavior was not found else the requested behavior
          */
          */
         getBehaviorByName(name: string): BABYLON.Nullable<BABYLON.Behavior<Control3D>>;
         getBehaviorByName(name: string): BABYLON.Nullable<BABYLON.Behavior<Control3D>>;

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


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
+ 11 - 11
dist/preview release/gui/babylon.gui.min.js


+ 102 - 102
dist/preview release/gui/babylon.gui.module.d.ts

@@ -12,7 +12,7 @@ declare module "babylonjs-gui/2D/valueAndUnit" {
         private _originalUnit;
         private _originalUnit;
         /**
         /**
          * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
          * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
-         * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
          */
          */
         ignoreAdaptiveScaling: boolean;
         ignoreAdaptiveScaling: boolean;
         /**
         /**
@@ -343,7 +343,7 @@ declare module "babylonjs-gui/2D/advancedDynamicTexture" {
     }
     }
     /**
     /**
     * Class used to create texture to support 2D GUI elements
     * Class used to create texture to support 2D GUI elements
-    * @see http://doc.babylonjs.com/how_to/gui
+    * @see https://doc.babylonjs.com/how_to/gui
     */
     */
     export class AdvancedDynamicTexture extends DynamicTexture {
     export class AdvancedDynamicTexture extends DynamicTexture {
         private _isDirty;
         private _isDirty;
@@ -441,32 +441,32 @@ declare module "babylonjs-gui/2D/advancedDynamicTexture" {
         /**
         /**
         * Gets or sets the ideal width used to design controls.
         * Gets or sets the ideal width used to design controls.
         * The GUI will then rescale everything accordingly
         * The GUI will then rescale everything accordingly
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get idealWidth(): number;
         get idealWidth(): number;
         set idealWidth(value: number);
         set idealWidth(value: number);
         /**
         /**
         * Gets or sets the ideal height used to design controls.
         * Gets or sets the ideal height used to design controls.
         * The GUI will then rescale everything accordingly
         * The GUI will then rescale everything accordingly
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get idealHeight(): number;
         get idealHeight(): number;
         set idealHeight(value: number);
         set idealHeight(value: number);
         /**
         /**
         * Gets or sets a boolean indicating if the smallest ideal value must be used if idealWidth and idealHeight are both set
         * Gets or sets a boolean indicating if the smallest ideal value must be used if idealWidth and idealHeight are both set
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get useSmallestIdeal(): boolean;
         get useSmallestIdeal(): boolean;
         set useSmallestIdeal(value: boolean);
         set useSmallestIdeal(value: boolean);
         /**
         /**
         * Gets or sets a boolean indicating if adaptive scaling must be used
         * Gets or sets a boolean indicating if adaptive scaling must be used
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get renderAtIdealSize(): boolean;
         get renderAtIdealSize(): boolean;
         set renderAtIdealSize(value: boolean);
         set renderAtIdealSize(value: boolean);
         /**
         /**
          * Gets the ratio used when in "ideal mode"
          * Gets the ratio used when in "ideal mode"
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
          * */
          * */
         get idealRatio(): number;
         get idealRatio(): number;
         /**
         /**
@@ -548,7 +548,7 @@ declare module "babylonjs-gui/2D/advancedDynamicTexture" {
         /**
         /**
         * Helper function used to create a new style
         * Helper function used to create a new style
         * @returns a new style
         * @returns a new style
-        * @see http://doc.babylonjs.com/how_to/gui#styles
+        * @see https://doc.babylonjs.com/how_to/gui#styles
         */
         */
         createStyle(): Style;
         createStyle(): Style;
         /**
         /**
@@ -659,7 +659,7 @@ declare module "babylonjs-gui/2D/controls/control" {
     import { Matrix2D, Vector2WithInfo } from "babylonjs-gui/2D/math2D";
     import { Matrix2D, Vector2WithInfo } from "babylonjs-gui/2D/math2D";
     /**
     /**
      * Root class used for all 2D controls
      * Root class used for all 2D controls
-     * @see http://doc.babylonjs.com/how_to/gui#controls
+     * @see https://doc.babylonjs.com/how_to/gui#controls
      */
      */
     export class Control {
     export class Control {
         /** defines the name of the control */
         /** defines the name of the control */
@@ -880,63 +880,63 @@ declare module "babylonjs-gui/2D/controls/control" {
         get isHighlighted(): boolean;
         get isHighlighted(): boolean;
         set isHighlighted(value: boolean);
         set isHighlighted(value: boolean);
         /** Gets or sets a value indicating the scale factor on X axis (1 by default)
         /** Gets or sets a value indicating the scale factor on X axis (1 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get scaleX(): number;
         get scaleX(): number;
         set scaleX(value: number);
         set scaleX(value: number);
         /** Gets or sets a value indicating the scale factor on Y axis (1 by default)
         /** Gets or sets a value indicating the scale factor on Y axis (1 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get scaleY(): number;
         get scaleY(): number;
         set scaleY(value: number);
         set scaleY(value: number);
         /** Gets or sets the rotation angle (0 by default)
         /** Gets or sets the rotation angle (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get rotation(): number;
         get rotation(): number;
         set rotation(value: number);
         set rotation(value: number);
         /** Gets or sets the transformation center on Y axis (0 by default)
         /** Gets or sets the transformation center on Y axis (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get transformCenterY(): number;
         get transformCenterY(): number;
         set transformCenterY(value: number);
         set transformCenterY(value: number);
         /** Gets or sets the transformation center on X axis (0 by default)
         /** Gets or sets the transformation center on X axis (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get transformCenterX(): number;
         get transformCenterX(): number;
         set transformCenterX(value: number);
         set transformCenterX(value: number);
         /**
         /**
          * Gets or sets the horizontal alignment
          * Gets or sets the horizontal alignment
-         * @see http://doc.babylonjs.com/how_to/gui#alignments
+         * @see https://doc.babylonjs.com/how_to/gui#alignments
          */
          */
         get horizontalAlignment(): number;
         get horizontalAlignment(): number;
         set horizontalAlignment(value: number);
         set horizontalAlignment(value: number);
         /**
         /**
          * Gets or sets the vertical alignment
          * Gets or sets the vertical alignment
-         * @see http://doc.babylonjs.com/how_to/gui#alignments
+         * @see https://doc.babylonjs.com/how_to/gui#alignments
          */
          */
         get verticalAlignment(): number;
         get verticalAlignment(): number;
         set verticalAlignment(value: number);
         set verticalAlignment(value: number);
         /**
         /**
          * Gets or sets control width
          * Gets or sets control width
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get width(): string | number;
         get width(): string | number;
         set width(value: string | number);
         set width(value: string | number);
         /**
         /**
          * Gets or sets the control width in pixel
          * Gets or sets the control width in pixel
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get widthInPixels(): number;
         get widthInPixels(): number;
         set widthInPixels(value: number);
         set widthInPixels(value: number);
         /**
         /**
          * Gets or sets control height
          * Gets or sets control height
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get height(): string | number;
         get height(): string | number;
         set height(value: string | number);
         set height(value: string | number);
         /**
         /**
          * Gets or sets control height in pixel
          * Gets or sets control height in pixel
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get heightInPixels(): number;
         get heightInPixels(): number;
         set heightInPixels(value: number);
         set heightInPixels(value: number);
@@ -951,7 +951,7 @@ declare module "babylonjs-gui/2D/controls/control" {
         set fontWeight(value: string);
         set fontWeight(value: string);
         /**
         /**
          * Gets or sets style
          * Gets or sets style
-         * @see http://doc.babylonjs.com/how_to/gui#styles
+         * @see https://doc.babylonjs.com/how_to/gui#styles
          */
          */
         get style(): Nullable<Style>;
         get style(): Nullable<Style>;
         set style(value: Nullable<Style>);
         set style(value: Nullable<Style>);
@@ -983,97 +983,97 @@ declare module "babylonjs-gui/2D/controls/control" {
         get linkedMesh(): Nullable<AbstractMesh>;
         get linkedMesh(): Nullable<AbstractMesh>;
         /**
         /**
          * Gets or sets a value indicating the padding to use on the left of the control
          * Gets or sets a value indicating the padding to use on the left of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingLeft(): string | number;
         get paddingLeft(): string | number;
         set paddingLeft(value: string | number);
         set paddingLeft(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the left of the control
          * Gets or sets a value indicating the padding in pixels to use on the left of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingLeftInPixels(): number;
         get paddingLeftInPixels(): number;
         set paddingLeftInPixels(value: number);
         set paddingLeftInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the right of the control
          * Gets or sets a value indicating the padding to use on the right of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingRight(): string | number;
         get paddingRight(): string | number;
         set paddingRight(value: string | number);
         set paddingRight(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the right of the control
          * Gets or sets a value indicating the padding in pixels to use on the right of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingRightInPixels(): number;
         get paddingRightInPixels(): number;
         set paddingRightInPixels(value: number);
         set paddingRightInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the top of the control
          * Gets or sets a value indicating the padding to use on the top of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingTop(): string | number;
         get paddingTop(): string | number;
         set paddingTop(value: string | number);
         set paddingTop(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the top of the control
          * Gets or sets a value indicating the padding in pixels to use on the top of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingTopInPixels(): number;
         get paddingTopInPixels(): number;
         set paddingTopInPixels(value: number);
         set paddingTopInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the bottom of the control
          * Gets or sets a value indicating the padding to use on the bottom of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingBottom(): string | number;
         get paddingBottom(): string | number;
         set paddingBottom(value: string | number);
         set paddingBottom(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the bottom of the control
          * Gets or sets a value indicating the padding in pixels to use on the bottom of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingBottomInPixels(): number;
         get paddingBottomInPixels(): number;
         set paddingBottomInPixels(value: number);
         set paddingBottomInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the left coordinate of the control
          * Gets or sets a value indicating the left coordinate of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get left(): string | number;
         get left(): string | number;
         set left(value: string | number);
         set left(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the left coordinate in pixels of the control
          * Gets or sets a value indicating the left coordinate in pixels of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get leftInPixels(): number;
         get leftInPixels(): number;
         set leftInPixels(value: number);
         set leftInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the top coordinate of the control
          * Gets or sets a value indicating the top coordinate of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get top(): string | number;
         get top(): string | number;
         set top(value: string | number);
         set top(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the top coordinate in pixels of the control
          * Gets or sets a value indicating the top coordinate in pixels of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get topInPixels(): number;
         get topInPixels(): number;
         set topInPixels(value: number);
         set topInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the offset on X axis to the linked mesh
          * Gets or sets a value indicating the offset on X axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetX(): string | number;
         get linkOffsetX(): string | number;
         set linkOffsetX(value: string | number);
         set linkOffsetX(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the offset in pixels on X axis to the linked mesh
          * Gets or sets a value indicating the offset in pixels on X axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetXInPixels(): number;
         get linkOffsetXInPixels(): number;
         set linkOffsetXInPixels(value: number);
         set linkOffsetXInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the offset on Y axis to the linked mesh
          * Gets or sets a value indicating the offset on Y axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetY(): string | number;
         get linkOffsetY(): string | number;
         set linkOffsetY(value: string | number);
         set linkOffsetY(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the offset in pixels on Y axis to the linked mesh
          * Gets or sets a value indicating the offset in pixels on Y axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetYInPixels(): number;
         get linkOffsetYInPixels(): number;
         set linkOffsetYInPixels(value: number);
         set linkOffsetYInPixels(value: number);
@@ -1155,7 +1155,7 @@ declare module "babylonjs-gui/2D/controls/control" {
         /**
         /**
          * Link current control with a target mesh
          * Link current control with a target mesh
          * @param mesh defines the mesh to link with
          * @param mesh defines the mesh to link with
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         linkWithMesh(mesh: Nullable<AbstractMesh>): void;
         linkWithMesh(mesh: Nullable<AbstractMesh>): void;
         /** @hidden */
         /** @hidden */
@@ -1286,7 +1286,7 @@ declare module "babylonjs-gui/2D/controls/container" {
     import { AdvancedDynamicTexture } from "babylonjs-gui/2D/advancedDynamicTexture";
     import { AdvancedDynamicTexture } from "babylonjs-gui/2D/advancedDynamicTexture";
     /**
     /**
      * Root class for 2D containers
      * Root class for 2D containers
-     * @see http://doc.babylonjs.com/how_to/gui#containers
+     * @see https://doc.babylonjs.com/how_to/gui#containers
      */
      */
     export class Container extends Control {
     export class Container extends Control {
         name?: string | undefined;
         name?: string | undefined;
@@ -1668,7 +1668,7 @@ declare module "babylonjs-gui/2D/controls/image" {
         get svgAttributesComputationCompleted(): boolean;
         get svgAttributesComputationCompleted(): boolean;
         /**
         /**
          * Gets or sets a boolean indicating if the image can force its container to adapt its size
          * Gets or sets a boolean indicating if the image can force its container to adapt its size
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get autoScale(): boolean;
         get autoScale(): boolean;
         set autoScale(value: boolean);
         set autoScale(value: boolean);
@@ -1701,19 +1701,19 @@ declare module "babylonjs-gui/2D/controls/image" {
         private _getSVGAttribs;
         private _getSVGAttribs;
         /**
         /**
          * Gets or sets the cell width to use when animation sheet is enabled
          * Gets or sets the cell width to use when animation sheet is enabled
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellWidth(): number;
         get cellWidth(): number;
         set cellWidth(value: number);
         set cellWidth(value: number);
         /**
         /**
          * Gets or sets the cell height to use when animation sheet is enabled
          * Gets or sets the cell height to use when animation sheet is enabled
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellHeight(): number;
         get cellHeight(): number;
         set cellHeight(value: number);
         set cellHeight(value: number);
         /**
         /**
          * Gets or sets the cell id to use (this will turn on the animation sheet mode)
          * Gets or sets the cell id to use (this will turn on the animation sheet mode)
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellId(): number;
         get cellId(): number;
         set cellId(value: number);
         set cellId(value: number);
@@ -2361,13 +2361,13 @@ declare module "babylonjs-gui/2D/controls/colorpicker" {
         set value(value: Color3);
         set value(value: Color3);
         /**
         /**
          * Gets or sets control width
          * Gets or sets control width
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get width(): string | number;
         get width(): string | number;
         set width(value: string | number);
         set width(value: string | number);
         /**
         /**
          * Gets or sets control height
          * Gets or sets control height
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get height(): string | number;
         get height(): string | number;
         /** Gets or sets control height */
         /** Gets or sets control height */
@@ -2902,7 +2902,7 @@ declare module "babylonjs-gui/2D/controls/selector" {
         _setSelectorButtonBackground(selectorNb: number, color: string): void;
         _setSelectorButtonBackground(selectorNb: number, color: string): void;
     }
     }
     /** Class used to hold the controls for the checkboxes, radio buttons and sliders
     /** Class used to hold the controls for the checkboxes, radio buttons and sliders
-     * @see http://doc.babylonjs.com/how_to/selector
+     * @see https://doc.babylonjs.com/how_to/selector
     */
     */
     export class SelectionPanel extends Rectangle {
     export class SelectionPanel extends Rectangle {
         /** name of SelectionPanel */
         /** name of SelectionPanel */
@@ -3659,7 +3659,7 @@ declare module "babylonjs-gui/3D/gui3DManager" {
     import { Control3D } from "babylonjs-gui/3D/controls/control3D";
     import { Control3D } from "babylonjs-gui/3D/controls/control3D";
     /**
     /**
      * Class used to manage 3D user interface
      * Class used to manage 3D user interface
-     * @see http://doc.babylonjs.com/how_to/gui3d
+     * @see https://doc.babylonjs.com/how_to/gui3d
      */
      */
     export class GUI3DManager implements IDisposable {
     export class GUI3DManager implements IDisposable {
         private _scene;
         private _scene;
@@ -3812,19 +3812,19 @@ declare module "babylonjs-gui/3D/controls/control3D" {
         private _behaviors;
         private _behaviors;
         /**
         /**
          * Gets the list of attached behaviors
          * Gets the list of attached behaviors
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          */
          */
         get behaviors(): Behavior<Control3D>[];
         get behaviors(): Behavior<Control3D>[];
         /**
         /**
          * Attach a behavior to the control
          * Attach a behavior to the control
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @param behavior defines the behavior to attach
          * @param behavior defines the behavior to attach
          * @returns the current control
          * @returns the current control
          */
          */
         addBehavior(behavior: Behavior<Control3D>): Control3D;
         addBehavior(behavior: Behavior<Control3D>): Control3D;
         /**
         /**
          * Remove an attached behavior
          * Remove an attached behavior
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @param behavior defines the behavior to attach
          * @param behavior defines the behavior to attach
          * @returns the current control
          * @returns the current control
          */
          */
@@ -3832,7 +3832,7 @@ declare module "babylonjs-gui/3D/controls/control3D" {
         /**
         /**
          * Gets an attached behavior by name
          * Gets an attached behavior by name
          * @param name defines the name of the behavior to look for
          * @param name defines the name of the behavior to look for
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @returns null if behavior was not found else the requested behavior
          * @returns null if behavior was not found else the requested behavior
          */
          */
         getBehaviorByName(name: string): Nullable<Behavior<Control3D>>;
         getBehaviorByName(name: string): Nullable<Behavior<Control3D>>;
@@ -4390,7 +4390,7 @@ declare module BABYLON.GUI {
         private _originalUnit;
         private _originalUnit;
         /**
         /**
          * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
          * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
-         * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
          */
          */
         ignoreAdaptiveScaling: boolean;
         ignoreAdaptiveScaling: boolean;
         /**
         /**
@@ -4702,7 +4702,7 @@ declare module BABYLON.GUI {
     }
     }
     /**
     /**
     * Class used to create texture to support 2D GUI elements
     * Class used to create texture to support 2D GUI elements
-    * @see http://doc.babylonjs.com/how_to/gui
+    * @see https://doc.babylonjs.com/how_to/gui
     */
     */
     export class AdvancedDynamicTexture extends BABYLON.DynamicTexture {
     export class AdvancedDynamicTexture extends BABYLON.DynamicTexture {
         private _isDirty;
         private _isDirty;
@@ -4800,32 +4800,32 @@ declare module BABYLON.GUI {
         /**
         /**
         * Gets or sets the ideal width used to design controls.
         * Gets or sets the ideal width used to design controls.
         * The GUI will then rescale everything accordingly
         * The GUI will then rescale everything accordingly
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get idealWidth(): number;
         get idealWidth(): number;
         set idealWidth(value: number);
         set idealWidth(value: number);
         /**
         /**
         * Gets or sets the ideal height used to design controls.
         * Gets or sets the ideal height used to design controls.
         * The GUI will then rescale everything accordingly
         * The GUI will then rescale everything accordingly
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get idealHeight(): number;
         get idealHeight(): number;
         set idealHeight(value: number);
         set idealHeight(value: number);
         /**
         /**
         * Gets or sets a boolean indicating if the smallest ideal value must be used if idealWidth and idealHeight are both set
         * Gets or sets a boolean indicating if the smallest ideal value must be used if idealWidth and idealHeight are both set
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get useSmallestIdeal(): boolean;
         get useSmallestIdeal(): boolean;
         set useSmallestIdeal(value: boolean);
         set useSmallestIdeal(value: boolean);
         /**
         /**
         * Gets or sets a boolean indicating if adaptive scaling must be used
         * Gets or sets a boolean indicating if adaptive scaling must be used
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
         */
         */
         get renderAtIdealSize(): boolean;
         get renderAtIdealSize(): boolean;
         set renderAtIdealSize(value: boolean);
         set renderAtIdealSize(value: boolean);
         /**
         /**
          * Gets the ratio used when in "ideal mode"
          * Gets the ratio used when in "ideal mode"
-        * @see http://doc.babylonjs.com/how_to/gui#adaptive-scaling
+        * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
          * */
          * */
         get idealRatio(): number;
         get idealRatio(): number;
         /**
         /**
@@ -4907,7 +4907,7 @@ declare module BABYLON.GUI {
         /**
         /**
         * Helper function used to create a new style
         * Helper function used to create a new style
         * @returns a new style
         * @returns a new style
-        * @see http://doc.babylonjs.com/how_to/gui#styles
+        * @see https://doc.babylonjs.com/how_to/gui#styles
         */
         */
         createStyle(): Style;
         createStyle(): Style;
         /**
         /**
@@ -5007,7 +5007,7 @@ declare module BABYLON.GUI {
 declare module BABYLON.GUI {
 declare module BABYLON.GUI {
     /**
     /**
      * Root class used for all 2D controls
      * Root class used for all 2D controls
-     * @see http://doc.babylonjs.com/how_to/gui#controls
+     * @see https://doc.babylonjs.com/how_to/gui#controls
      */
      */
     export class Control {
     export class Control {
         /** defines the name of the control */
         /** defines the name of the control */
@@ -5228,63 +5228,63 @@ declare module BABYLON.GUI {
         get isHighlighted(): boolean;
         get isHighlighted(): boolean;
         set isHighlighted(value: boolean);
         set isHighlighted(value: boolean);
         /** Gets or sets a value indicating the scale factor on X axis (1 by default)
         /** Gets or sets a value indicating the scale factor on X axis (1 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get scaleX(): number;
         get scaleX(): number;
         set scaleX(value: number);
         set scaleX(value: number);
         /** Gets or sets a value indicating the scale factor on Y axis (1 by default)
         /** Gets or sets a value indicating the scale factor on Y axis (1 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get scaleY(): number;
         get scaleY(): number;
         set scaleY(value: number);
         set scaleY(value: number);
         /** Gets or sets the rotation angle (0 by default)
         /** Gets or sets the rotation angle (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get rotation(): number;
         get rotation(): number;
         set rotation(value: number);
         set rotation(value: number);
         /** Gets or sets the transformation center on Y axis (0 by default)
         /** Gets or sets the transformation center on Y axis (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get transformCenterY(): number;
         get transformCenterY(): number;
         set transformCenterY(value: number);
         set transformCenterY(value: number);
         /** Gets or sets the transformation center on X axis (0 by default)
         /** Gets or sets the transformation center on X axis (0 by default)
-         * @see http://doc.babylonjs.com/how_to/gui#rotation-and-scaling
+         * @see https://doc.babylonjs.com/how_to/gui#rotation-and-scaling
         */
         */
         get transformCenterX(): number;
         get transformCenterX(): number;
         set transformCenterX(value: number);
         set transformCenterX(value: number);
         /**
         /**
          * Gets or sets the horizontal alignment
          * Gets or sets the horizontal alignment
-         * @see http://doc.babylonjs.com/how_to/gui#alignments
+         * @see https://doc.babylonjs.com/how_to/gui#alignments
          */
          */
         get horizontalAlignment(): number;
         get horizontalAlignment(): number;
         set horizontalAlignment(value: number);
         set horizontalAlignment(value: number);
         /**
         /**
          * Gets or sets the vertical alignment
          * Gets or sets the vertical alignment
-         * @see http://doc.babylonjs.com/how_to/gui#alignments
+         * @see https://doc.babylonjs.com/how_to/gui#alignments
          */
          */
         get verticalAlignment(): number;
         get verticalAlignment(): number;
         set verticalAlignment(value: number);
         set verticalAlignment(value: number);
         /**
         /**
          * Gets or sets control width
          * Gets or sets control width
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get width(): string | number;
         get width(): string | number;
         set width(value: string | number);
         set width(value: string | number);
         /**
         /**
          * Gets or sets the control width in pixel
          * Gets or sets the control width in pixel
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get widthInPixels(): number;
         get widthInPixels(): number;
         set widthInPixels(value: number);
         set widthInPixels(value: number);
         /**
         /**
          * Gets or sets control height
          * Gets or sets control height
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get height(): string | number;
         get height(): string | number;
         set height(value: string | number);
         set height(value: string | number);
         /**
         /**
          * Gets or sets control height in pixel
          * Gets or sets control height in pixel
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get heightInPixels(): number;
         get heightInPixels(): number;
         set heightInPixels(value: number);
         set heightInPixels(value: number);
@@ -5299,7 +5299,7 @@ declare module BABYLON.GUI {
         set fontWeight(value: string);
         set fontWeight(value: string);
         /**
         /**
          * Gets or sets style
          * Gets or sets style
-         * @see http://doc.babylonjs.com/how_to/gui#styles
+         * @see https://doc.babylonjs.com/how_to/gui#styles
          */
          */
         get style(): BABYLON.Nullable<Style>;
         get style(): BABYLON.Nullable<Style>;
         set style(value: BABYLON.Nullable<Style>);
         set style(value: BABYLON.Nullable<Style>);
@@ -5331,97 +5331,97 @@ declare module BABYLON.GUI {
         get linkedMesh(): BABYLON.Nullable<BABYLON.AbstractMesh>;
         get linkedMesh(): BABYLON.Nullable<BABYLON.AbstractMesh>;
         /**
         /**
          * Gets or sets a value indicating the padding to use on the left of the control
          * Gets or sets a value indicating the padding to use on the left of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingLeft(): string | number;
         get paddingLeft(): string | number;
         set paddingLeft(value: string | number);
         set paddingLeft(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the left of the control
          * Gets or sets a value indicating the padding in pixels to use on the left of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingLeftInPixels(): number;
         get paddingLeftInPixels(): number;
         set paddingLeftInPixels(value: number);
         set paddingLeftInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the right of the control
          * Gets or sets a value indicating the padding to use on the right of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingRight(): string | number;
         get paddingRight(): string | number;
         set paddingRight(value: string | number);
         set paddingRight(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the right of the control
          * Gets or sets a value indicating the padding in pixels to use on the right of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingRightInPixels(): number;
         get paddingRightInPixels(): number;
         set paddingRightInPixels(value: number);
         set paddingRightInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the top of the control
          * Gets or sets a value indicating the padding to use on the top of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingTop(): string | number;
         get paddingTop(): string | number;
         set paddingTop(value: string | number);
         set paddingTop(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the top of the control
          * Gets or sets a value indicating the padding in pixels to use on the top of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingTopInPixels(): number;
         get paddingTopInPixels(): number;
         set paddingTopInPixels(value: number);
         set paddingTopInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the padding to use on the bottom of the control
          * Gets or sets a value indicating the padding to use on the bottom of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingBottom(): string | number;
         get paddingBottom(): string | number;
         set paddingBottom(value: string | number);
         set paddingBottom(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the padding in pixels to use on the bottom of the control
          * Gets or sets a value indicating the padding in pixels to use on the bottom of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get paddingBottomInPixels(): number;
         get paddingBottomInPixels(): number;
         set paddingBottomInPixels(value: number);
         set paddingBottomInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the left coordinate of the control
          * Gets or sets a value indicating the left coordinate of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get left(): string | number;
         get left(): string | number;
         set left(value: string | number);
         set left(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the left coordinate in pixels of the control
          * Gets or sets a value indicating the left coordinate in pixels of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get leftInPixels(): number;
         get leftInPixels(): number;
         set leftInPixels(value: number);
         set leftInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the top coordinate of the control
          * Gets or sets a value indicating the top coordinate of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get top(): string | number;
         get top(): string | number;
         set top(value: string | number);
         set top(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the top coordinate in pixels of the control
          * Gets or sets a value indicating the top coordinate in pixels of the control
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get topInPixels(): number;
         get topInPixels(): number;
         set topInPixels(value: number);
         set topInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the offset on X axis to the linked mesh
          * Gets or sets a value indicating the offset on X axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetX(): string | number;
         get linkOffsetX(): string | number;
         set linkOffsetX(value: string | number);
         set linkOffsetX(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the offset in pixels on X axis to the linked mesh
          * Gets or sets a value indicating the offset in pixels on X axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetXInPixels(): number;
         get linkOffsetXInPixels(): number;
         set linkOffsetXInPixels(value: number);
         set linkOffsetXInPixels(value: number);
         /**
         /**
          * Gets or sets a value indicating the offset on Y axis to the linked mesh
          * Gets or sets a value indicating the offset on Y axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetY(): string | number;
         get linkOffsetY(): string | number;
         set linkOffsetY(value: string | number);
         set linkOffsetY(value: string | number);
         /**
         /**
          * Gets or sets a value indicating the offset in pixels on Y axis to the linked mesh
          * Gets or sets a value indicating the offset in pixels on Y axis to the linked mesh
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         get linkOffsetYInPixels(): number;
         get linkOffsetYInPixels(): number;
         set linkOffsetYInPixels(value: number);
         set linkOffsetYInPixels(value: number);
@@ -5503,7 +5503,7 @@ declare module BABYLON.GUI {
         /**
         /**
          * Link current control with a target mesh
          * Link current control with a target mesh
          * @param mesh defines the mesh to link with
          * @param mesh defines the mesh to link with
-         * @see http://doc.babylonjs.com/how_to/gui#tracking-positions
+         * @see https://doc.babylonjs.com/how_to/gui#tracking-positions
          */
          */
         linkWithMesh(mesh: BABYLON.Nullable<BABYLON.AbstractMesh>): void;
         linkWithMesh(mesh: BABYLON.Nullable<BABYLON.AbstractMesh>): void;
         /** @hidden */
         /** @hidden */
@@ -5630,7 +5630,7 @@ declare module BABYLON.GUI {
 declare module BABYLON.GUI {
 declare module BABYLON.GUI {
     /**
     /**
      * Root class for 2D containers
      * Root class for 2D containers
-     * @see http://doc.babylonjs.com/how_to/gui#containers
+     * @see https://doc.babylonjs.com/how_to/gui#containers
      */
      */
     export class Container extends Control {
     export class Container extends Control {
         name?: string | undefined;
         name?: string | undefined;
@@ -6002,7 +6002,7 @@ declare module BABYLON.GUI {
         get svgAttributesComputationCompleted(): boolean;
         get svgAttributesComputationCompleted(): boolean;
         /**
         /**
          * Gets or sets a boolean indicating if the image can force its container to adapt its size
          * Gets or sets a boolean indicating if the image can force its container to adapt its size
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get autoScale(): boolean;
         get autoScale(): boolean;
         set autoScale(value: boolean);
         set autoScale(value: boolean);
@@ -6035,19 +6035,19 @@ declare module BABYLON.GUI {
         private _getSVGAttribs;
         private _getSVGAttribs;
         /**
         /**
          * Gets or sets the cell width to use when animation sheet is enabled
          * Gets or sets the cell width to use when animation sheet is enabled
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellWidth(): number;
         get cellWidth(): number;
         set cellWidth(value: number);
         set cellWidth(value: number);
         /**
         /**
          * Gets or sets the cell height to use when animation sheet is enabled
          * Gets or sets the cell height to use when animation sheet is enabled
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellHeight(): number;
         get cellHeight(): number;
         set cellHeight(value: number);
         set cellHeight(value: number);
         /**
         /**
          * Gets or sets the cell id to use (this will turn on the animation sheet mode)
          * Gets or sets the cell id to use (this will turn on the animation sheet mode)
-         * @see http://doc.babylonjs.com/how_to/gui#image
+         * @see https://doc.babylonjs.com/how_to/gui#image
          */
          */
         get cellId(): number;
         get cellId(): number;
         set cellId(value: number);
         set cellId(value: number);
@@ -6659,13 +6659,13 @@ declare module BABYLON.GUI {
         set value(value: BABYLON.Color3);
         set value(value: BABYLON.Color3);
         /**
         /**
          * Gets or sets control width
          * Gets or sets control width
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get width(): string | number;
         get width(): string | number;
         set width(value: string | number);
         set width(value: string | number);
         /**
         /**
          * Gets or sets control height
          * Gets or sets control height
-         * @see http://doc.babylonjs.com/how_to/gui#position-and-size
+         * @see https://doc.babylonjs.com/how_to/gui#position-and-size
          */
          */
         get height(): string | number;
         get height(): string | number;
         /** Gets or sets control height */
         /** Gets or sets control height */
@@ -7170,7 +7170,7 @@ declare module BABYLON.GUI {
         _setSelectorButtonBackground(selectorNb: number, color: string): void;
         _setSelectorButtonBackground(selectorNb: number, color: string): void;
     }
     }
     /** Class used to hold the controls for the checkboxes, radio buttons and sliders
     /** Class used to hold the controls for the checkboxes, radio buttons and sliders
-     * @see http://doc.babylonjs.com/how_to/selector
+     * @see https://doc.babylonjs.com/how_to/selector
     */
     */
     export class SelectionPanel extends Rectangle {
     export class SelectionPanel extends Rectangle {
         /** name of SelectionPanel */
         /** name of SelectionPanel */
@@ -7847,7 +7847,7 @@ declare module BABYLON.GUI {
 declare module BABYLON.GUI {
 declare module BABYLON.GUI {
     /**
     /**
      * Class used to manage 3D user interface
      * Class used to manage 3D user interface
-     * @see http://doc.babylonjs.com/how_to/gui3d
+     * @see https://doc.babylonjs.com/how_to/gui3d
      */
      */
     export class GUI3DManager implements BABYLON.IDisposable {
     export class GUI3DManager implements BABYLON.IDisposable {
         private _scene;
         private _scene;
@@ -7989,19 +7989,19 @@ declare module BABYLON.GUI {
         private _behaviors;
         private _behaviors;
         /**
         /**
          * Gets the list of attached behaviors
          * Gets the list of attached behaviors
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          */
          */
         get behaviors(): BABYLON.Behavior<Control3D>[];
         get behaviors(): BABYLON.Behavior<Control3D>[];
         /**
         /**
          * Attach a behavior to the control
          * Attach a behavior to the control
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @param behavior defines the behavior to attach
          * @param behavior defines the behavior to attach
          * @returns the current control
          * @returns the current control
          */
          */
         addBehavior(behavior: BABYLON.Behavior<Control3D>): Control3D;
         addBehavior(behavior: BABYLON.Behavior<Control3D>): Control3D;
         /**
         /**
          * Remove an attached behavior
          * Remove an attached behavior
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @param behavior defines the behavior to attach
          * @param behavior defines the behavior to attach
          * @returns the current control
          * @returns the current control
          */
          */
@@ -8009,7 +8009,7 @@ declare module BABYLON.GUI {
         /**
         /**
          * Gets an attached behavior by name
          * Gets an attached behavior by name
          * @param name defines the name of the behavior to look for
          * @param name defines the name of the behavior to look for
-         * @see http://doc.babylonjs.com/features/behaviour
+         * @see https://doc.babylonjs.com/features/behaviour
          * @returns null if behavior was not found else the requested behavior
          * @returns null if behavior was not found else the requested behavior
          */
          */
         getBehaviorByName(name: string): BABYLON.Nullable<BABYLON.Behavior<Control3D>>;
         getBehaviorByName(name: string): BABYLON.Nullable<BABYLON.Behavior<Control3D>>;

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


File diff suppressed because it is too large
+ 35334 - 30785
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


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

@@ -787,13 +787,13 @@ declare module INSPECTOR {
         height = 1
         height = 1
     }
     }
     export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
     export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
-        list: Item[];
         selectedCoordinate: SelectedCoordinate;
         selectedCoordinate: SelectedCoordinate;
         selectedAnimation: number;
         selectedAnimation: number;
     }> {
     }> {
+        private _list;
         constructor(props: IAnimationListTreeProps);
         constructor(props: IAnimationListTreeProps);
         deleteAnimation(): void;
         deleteAnimation(): void;
-        generateList(): void;
+        generateList(): Item[] | null;
         editAnimation(): void;
         editAnimation(): void;
         toggleProperty(index: number): void;
         toggleProperty(index: number): void;
         setSelectedCoordinate(animation: BABYLON.Animation, coordinate: SelectedCoordinate, index: number): void;
         setSelectedCoordinate(animation: BABYLON.Animation, coordinate: SelectedCoordinate, index: number): void;
@@ -802,25 +802,55 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
+    interface IFileButtonLineComponentProps {
+        label: string;
+        onClick: (file: File) => void;
+        accept: string;
+    }
+    export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
+        private static _IDGenerator;
+        private _id;
+        private uploadInputRef;
+        constructor(props: IFileButtonLineComponentProps);
+        onChange(evt: any): void;
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     interface ILoadSnippetProps {
     interface ILoadSnippetProps {
         animations: BABYLON.Animation[];
         animations: BABYLON.Animation[];
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
+        snippetServer: string;
+        setSnippetId: (id: string) => void;
+        entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
+        setNotificationMessage: (message: string) => void;
+        animationsLoaded: (numberOfAnimations: number) => void;
     }
     }
     export class LoadSnippet extends React.Component<ILoadSnippetProps, {
     export class LoadSnippet extends React.Component<ILoadSnippetProps, {
-        server: string;
+        snippetId: string;
     }> {
     }> {
         private _serverAddress;
         private _serverAddress;
         constructor(props: ILoadSnippetProps);
         constructor(props: ILoadSnippetProps);
         change(value: string): void;
         change(value: string): void;
+        loadFromFile(file: File): void;
+        loadFromSnippet(): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
     interface ISaveSnippetProps {
     interface ISaveSnippetProps {
-        animations: any[];
+        animations: BABYLON.Nullable<BABYLON.Animation[]>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
+        snippetServer: string;
+        snippetId: string;
+    }
+    export interface Snippet {
+        url: string;
+        id: string;
     }
     }
     interface SelectedAnimation {
     interface SelectedAnimation {
         id: string;
         id: string;
@@ -831,9 +861,11 @@ declare module INSPECTOR {
     export class SaveSnippet extends React.Component<ISaveSnippetProps, {
     export class SaveSnippet extends React.Component<ISaveSnippetProps, {
         selectedAnimations: SelectedAnimation[];
         selectedAnimations: SelectedAnimation[];
     }> {
     }> {
-        private _serverAddress;
         constructor(props: ISaveSnippetProps);
         constructor(props: ISaveSnippetProps);
         handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
         handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
+        stringifySelectedAnimations(): string;
+        saveToFile(): void;
+        saveToSnippet(): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
@@ -846,6 +878,8 @@ declare module INSPECTOR {
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         setNotificationMessage: (message: string) => void;
         setNotificationMessage: (message: string) => void;
         selectAnimation: (selected: BABYLON.Animation, axis?: SelectedCoordinate) => void;
         selectAnimation: (selected: BABYLON.Animation, axis?: SelectedCoordinate) => void;
+        globalState: GlobalState;
+        snippetServer: string;
     }
     }
     export class EditorControls extends React.Component<IEditorControlsProps, {
     export class EditorControls extends React.Component<IEditorControlsProps, {
         isAnimationTabOpen: boolean;
         isAnimationTabOpen: boolean;
@@ -855,6 +889,7 @@ declare module INSPECTOR {
         isLoopActive: boolean;
         isLoopActive: boolean;
         animationsCount: number;
         animationsCount: number;
         framesPerSecond: number;
         framesPerSecond: number;
+        snippetId: string;
     }> {
     }> {
         constructor(props: IEditorControlsProps);
         constructor(props: IEditorControlsProps);
         animationAdded(): void;
         animationAdded(): void;
@@ -862,6 +897,7 @@ declare module INSPECTOR {
         handleTabs(tab: number): void;
         handleTabs(tab: number): void;
         handleChangeFps(fps: number): void;
         handleChangeFps(fps: number): void;
         emptiedList(): void;
         emptiedList(): void;
+        animationsLoaded(numberOfAnimations: number): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
@@ -872,6 +908,7 @@ declare module INSPECTOR {
         scene: BABYLON.Scene;
         scene: BABYLON.Scene;
         entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
         entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
     }
     }
     interface ICanvasAxis {
     interface ICanvasAxis {
         value: number;
         value: number;
@@ -905,6 +942,7 @@ declare module INSPECTOR {
         selectedPathData: ICurveData[] | undefined;
         selectedPathData: ICurveData[] | undefined;
         selectedCoordinate: number;
         selectedCoordinate: number;
     }> {
     }> {
+        private _snippetUrl;
         private _heightScale;
         private _heightScale;
         readonly _entityName: string;
         readonly _entityName: string;
         readonly _canvasLength: number;
         readonly _canvasLength: number;
@@ -959,7 +997,7 @@ declare module INSPECTOR {
         linearInterpolation(keyframes: BABYLON.IAnimationKey[], data: string, middle: number): string;
         linearInterpolation(keyframes: BABYLON.IAnimationKey[], data: string, middle: number): string;
         setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
         setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
         flatTangents(keyframes: BABYLON.IAnimationKey[], dataType: number): BABYLON.IAnimationKey[];
         flatTangents(keyframes: BABYLON.IAnimationKey[], dataType: number): BABYLON.IAnimationKey[];
-        returnZero(dataType: number): number | BABYLON.Vector3 | BABYLON.Vector2 | undefined;
+        returnZero(dataType: number): number | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size | undefined;
         getValueAsArray(valueType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion): number[];
         getValueAsArray(valueType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion): number[];
         getPathData(animation: BABYLON.Animation | null): ICurveData[] | undefined;
         getPathData(animation: BABYLON.Animation | null): ICurveData[] | undefined;
         getAnimationData(animation: BABYLON.Animation): {
         getAnimationData(animation: BABYLON.Animation): {
@@ -1079,21 +1117,6 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
-    interface IFileButtonLineComponentProps {
-        label: string;
-        onClick: (file: File) => void;
-        accept: string;
-    }
-    export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
-        private static _IDGenerator;
-        private _id;
-        private uploadInputRef;
-        constructor(props: IFileButtonLineComponentProps);
-        onChange(evt: any): void;
-        render(): JSX.Element;
-    }
-}
-declare module INSPECTOR {
     export interface ITextureLinkLineComponentProps {
     export interface ITextureLinkLineComponentProps {
         label: string;
         label: string;
         texture: BABYLON.Nullable<BABYLON.BaseTexture>;
         texture: BABYLON.Nullable<BABYLON.BaseTexture>;

+ 110 - 56
dist/preview release/inspector/babylon.inspector.module.d.ts

@@ -635,7 +635,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
     }
     }
 }
 }
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/svgDraggableArea" {
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/svgDraggableArea" {
-    import * as React from "react";
+    import * as React from 'react';
     import { Vector2 } from 'babylonjs/Maths/math.vector';
     import { Vector2 } from 'babylonjs/Maths/math.vector';
     import { IKeyframeSvgPoint } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint";
     import { IKeyframeSvgPoint } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/keyframeSvgPoint";
     interface ISvgDraggableAreaProps {
     interface ISvgDraggableAreaProps {
@@ -848,10 +848,10 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
     }
     }
 }
 }
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree" {
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree" {
-    import * as React from "react";
+    import * as React from 'react';
     import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
     import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
-    import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
-    import { Observable } from "babylonjs/Misc/observable";
+    import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
+    import { Observable } from 'babylonjs/Misc/observable';
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
     import { Animation } from 'babylonjs/Animations/animation';
     import { Animation } from 'babylonjs/Animations/animation';
     interface IAnimationListTreeProps {
     interface IAnimationListTreeProps {
@@ -882,13 +882,13 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         height = 1
         height = 1
     }
     }
     export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
     export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
-        list: Item[];
         selectedCoordinate: SelectedCoordinate;
         selectedCoordinate: SelectedCoordinate;
         selectedAnimation: number;
         selectedAnimation: number;
     }> {
     }> {
+        private _list;
         constructor(props: IAnimationListTreeProps);
         constructor(props: IAnimationListTreeProps);
         deleteAnimation(): void;
         deleteAnimation(): void;
-        generateList(): void;
+        generateList(): Item[] | null;
         editAnimation(): void;
         editAnimation(): void;
         toggleProperty(index: number): void;
         toggleProperty(index: number): void;
         setSelectedCoordinate(animation: Animation, coordinate: SelectedCoordinate, index: number): void;
         setSelectedCoordinate(animation: Animation, coordinate: SelectedCoordinate, index: number): void;
@@ -896,35 +896,72 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
-declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/loadsnippet" {
+declare module "babylonjs-inspector/components/actionTabs/lines/fileButtonLineComponent" {
     import * as React from "react";
     import * as React from "react";
-    import { Observable } from "babylonjs/Misc/observable";
+    interface IFileButtonLineComponentProps {
+        label: string;
+        onClick: (file: File) => void;
+        accept: string;
+    }
+    export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
+        private static _IDGenerator;
+        private _id;
+        private uploadInputRef;
+        constructor(props: IFileButtonLineComponentProps);
+        onChange(evt: any): void;
+        render(): JSX.Element;
+    }
+}
+declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/loadsnippet" {
+    import * as React from 'react';
+    import { Observable } from 'babylonjs/Misc/observable';
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
-    import { Animation } from "babylonjs/Animations/animation";
+    import { Animation } from 'babylonjs/Animations/animation';
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
+    import { GlobalState } from "babylonjs-inspector/components/globalState";
+    import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
+    import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
     interface ILoadSnippetProps {
     interface ILoadSnippetProps {
         animations: Animation[];
         animations: Animation[];
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
+        snippetServer: string;
+        setSnippetId: (id: string) => void;
+        entity: IAnimatable | TargetedAnimation;
+        setNotificationMessage: (message: string) => void;
+        animationsLoaded: (numberOfAnimations: number) => void;
     }
     }
     export class LoadSnippet extends React.Component<ILoadSnippetProps, {
     export class LoadSnippet extends React.Component<ILoadSnippetProps, {
-        server: string;
+        snippetId: string;
     }> {
     }> {
         private _serverAddress;
         private _serverAddress;
         constructor(props: ILoadSnippetProps);
         constructor(props: ILoadSnippetProps);
         change(value: string): void;
         change(value: string): void;
+        loadFromFile(file: File): void;
+        loadFromSnippet(): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/saveSnippet" {
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/saveSnippet" {
-    import * as React from "react";
-    import { Observable } from "babylonjs/Misc/observable";
+    import * as React from 'react';
+    import { Observable } from 'babylonjs/Misc/observable';
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
+    import { Animation } from 'babylonjs/Animations/animation';
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
+    import { Nullable } from 'babylonjs/types';
+    import { GlobalState } from "babylonjs-inspector/components/globalState";
     interface ISaveSnippetProps {
     interface ISaveSnippetProps {
-        animations: any[];
+        animations: Nullable<Animation[]>;
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
+        snippetServer: string;
+        snippetId: string;
+    }
+    export interface Snippet {
+        url: string;
+        id: string;
     }
     }
     interface SelectedAnimation {
     interface SelectedAnimation {
         id: string;
         id: string;
@@ -935,9 +972,11 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
     export class SaveSnippet extends React.Component<ISaveSnippetProps, {
     export class SaveSnippet extends React.Component<ISaveSnippetProps, {
         selectedAnimations: SelectedAnimation[];
         selectedAnimations: SelectedAnimation[];
     }> {
     }> {
-        private _serverAddress;
         constructor(props: ISaveSnippetProps);
         constructor(props: ISaveSnippetProps);
         handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
         handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
+        stringifySelectedAnimations(): string;
+        saveToFile(): void;
+        saveToSnippet(): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
@@ -950,6 +989,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
     import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
     import { IAnimatable } from 'babylonjs/Animations/animatable.interface';
     import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
     import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
+    import { GlobalState } from "babylonjs-inspector/components/globalState";
     interface IEditorControlsProps {
     interface IEditorControlsProps {
         isTargetedAnimation: boolean;
         isTargetedAnimation: boolean;
         entity: IAnimatable | TargetedAnimation;
         entity: IAnimatable | TargetedAnimation;
@@ -958,6 +998,8 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
         setNotificationMessage: (message: string) => void;
         setNotificationMessage: (message: string) => void;
         selectAnimation: (selected: Animation, axis?: SelectedCoordinate) => void;
         selectAnimation: (selected: Animation, axis?: SelectedCoordinate) => void;
+        globalState: GlobalState;
+        snippetServer: string;
     }
     }
     export class EditorControls extends React.Component<IEditorControlsProps, {
     export class EditorControls extends React.Component<IEditorControlsProps, {
         isAnimationTabOpen: boolean;
         isAnimationTabOpen: boolean;
@@ -967,6 +1009,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         isLoopActive: boolean;
         isLoopActive: boolean;
         animationsCount: number;
         animationsCount: number;
         framesPerSecond: number;
         framesPerSecond: number;
+        snippetId: string;
     }> {
     }> {
         constructor(props: IEditorControlsProps);
         constructor(props: IEditorControlsProps);
         animationAdded(): void;
         animationAdded(): void;
@@ -974,6 +1017,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         handleTabs(tab: number): void;
         handleTabs(tab: number): void;
         handleChangeFps(fps: number): void;
         handleChangeFps(fps: number): void;
         emptiedList(): void;
         emptiedList(): void;
+        animationsLoaded(numberOfAnimations: number): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
@@ -991,12 +1035,14 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
     import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
     import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
     import { SelectedCoordinate } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree";
     import { SelectedCoordinate } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/animationListTree";
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
+    import { GlobalState } from "babylonjs-inspector/components/globalState";
     interface IAnimationCurveEditorComponentProps {
     interface IAnimationCurveEditorComponentProps {
         close: (event: any) => void;
         close: (event: any) => void;
         playOrPause?: () => void;
         playOrPause?: () => void;
         scene: Scene;
         scene: Scene;
         entity: IAnimatable | TargetedAnimation;
         entity: IAnimatable | TargetedAnimation;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
     }
     }
     interface ICanvasAxis {
     interface ICanvasAxis {
         value: number;
         value: number;
@@ -1030,6 +1076,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         selectedPathData: ICurveData[] | undefined;
         selectedPathData: ICurveData[] | undefined;
         selectedCoordinate: number;
         selectedCoordinate: number;
     }> {
     }> {
+        private _snippetUrl;
         private _heightScale;
         private _heightScale;
         readonly _entityName: string;
         readonly _entityName: string;
         readonly _canvasLength: number;
         readonly _canvasLength: number;
@@ -1084,7 +1131,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         linearInterpolation(keyframes: IAnimationKey[], data: string, middle: number): string;
         linearInterpolation(keyframes: IAnimationKey[], data: string, middle: number): string;
         setKeyframePointLinear(point: Vector2, index: number): void;
         setKeyframePointLinear(point: Vector2, index: number): void;
         flatTangents(keyframes: IAnimationKey[], dataType: number): IAnimationKey[];
         flatTangents(keyframes: IAnimationKey[], dataType: number): IAnimationKey[];
-        returnZero(dataType: number): number | Vector3 | Vector2 | undefined;
+        returnZero(dataType: number): number | Vector3 | Quaternion | Color3 | Color4 | Vector2 | Size | undefined;
         getValueAsArray(valueType: number, value: number | Vector2 | Vector3 | Color3 | Color4 | Size | Quaternion): number[];
         getValueAsArray(valueType: number, value: number | Vector2 | Vector3 | Color3 | Color4 | Size | Quaternion): number[];
         getPathData(animation: Animation | null): ICurveData[] | undefined;
         getPathData(animation: Animation | null): ICurveData[] | undefined;
         getAnimationData(animation: Animation): {
         getAnimationData(animation: Animation): {
@@ -1223,22 +1270,6 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/mat
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
-declare module "babylonjs-inspector/components/actionTabs/lines/fileButtonLineComponent" {
-    import * as React from "react";
-    interface IFileButtonLineComponentProps {
-        label: string;
-        onClick: (file: File) => void;
-        accept: string;
-    }
-    export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
-        private static _IDGenerator;
-        private _id;
-        private uploadInputRef;
-        constructor(props: IFileButtonLineComponentProps);
-        onChange(evt: any): void;
-        render(): JSX.Element;
-    }
-}
 declare module "babylonjs-inspector/components/actionTabs/lines/textureLinkLineComponent" {
 declare module "babylonjs-inspector/components/actionTabs/lines/textureLinkLineComponent" {
     import * as React from "react";
     import * as React from "react";
     import { Nullable } from "babylonjs/types";
     import { Nullable } from "babylonjs/types";
@@ -2800,10 +2831,10 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/spr
     }
     }
 }
 }
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/targetedAnimationPropertyGridComponent" {
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/targetedAnimationPropertyGridComponent" {
-    import * as React from "react";
-    import { Observable } from "babylonjs/Misc/observable";
-    import { TargetedAnimation } from "babylonjs/Animations/animationGroup";
-    import { Scene } from "babylonjs/scene";
+    import * as React from 'react';
+    import { Observable } from 'babylonjs/Misc/observable';
+    import { TargetedAnimation } from 'babylonjs/Animations/animationGroup';
+    import { Scene } from 'babylonjs/scene';
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
     import { PropertyChangedEvent } from "babylonjs-inspector/components/propertyChangedEvent";
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
     import { LockObject } from "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/lockObject";
     import { GlobalState } from "babylonjs-inspector/components/globalState";
     import { GlobalState } from "babylonjs-inspector/components/globalState";
@@ -4331,13 +4362,13 @@ declare module INSPECTOR {
         height = 1
         height = 1
     }
     }
     export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
     export class AnimationListTree extends React.Component<IAnimationListTreeProps, {
-        list: Item[];
         selectedCoordinate: SelectedCoordinate;
         selectedCoordinate: SelectedCoordinate;
         selectedAnimation: number;
         selectedAnimation: number;
     }> {
     }> {
+        private _list;
         constructor(props: IAnimationListTreeProps);
         constructor(props: IAnimationListTreeProps);
         deleteAnimation(): void;
         deleteAnimation(): void;
-        generateList(): void;
+        generateList(): Item[] | null;
         editAnimation(): void;
         editAnimation(): void;
         toggleProperty(index: number): void;
         toggleProperty(index: number): void;
         setSelectedCoordinate(animation: BABYLON.Animation, coordinate: SelectedCoordinate, index: number): void;
         setSelectedCoordinate(animation: BABYLON.Animation, coordinate: SelectedCoordinate, index: number): void;
@@ -4346,25 +4377,55 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
+    interface IFileButtonLineComponentProps {
+        label: string;
+        onClick: (file: File) => void;
+        accept: string;
+    }
+    export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
+        private static _IDGenerator;
+        private _id;
+        private uploadInputRef;
+        constructor(props: IFileButtonLineComponentProps);
+        onChange(evt: any): void;
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     interface ILoadSnippetProps {
     interface ILoadSnippetProps {
         animations: BABYLON.Animation[];
         animations: BABYLON.Animation[];
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
+        snippetServer: string;
+        setSnippetId: (id: string) => void;
+        entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
+        setNotificationMessage: (message: string) => void;
+        animationsLoaded: (numberOfAnimations: number) => void;
     }
     }
     export class LoadSnippet extends React.Component<ILoadSnippetProps, {
     export class LoadSnippet extends React.Component<ILoadSnippetProps, {
-        server: string;
+        snippetId: string;
     }> {
     }> {
         private _serverAddress;
         private _serverAddress;
         constructor(props: ILoadSnippetProps);
         constructor(props: ILoadSnippetProps);
         change(value: string): void;
         change(value: string): void;
+        loadFromFile(file: File): void;
+        loadFromSnippet(): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
     interface ISaveSnippetProps {
     interface ISaveSnippetProps {
-        animations: any[];
+        animations: BABYLON.Nullable<BABYLON.Animation[]>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
+        snippetServer: string;
+        snippetId: string;
+    }
+    export interface Snippet {
+        url: string;
+        id: string;
     }
     }
     interface SelectedAnimation {
     interface SelectedAnimation {
         id: string;
         id: string;
@@ -4375,9 +4436,11 @@ declare module INSPECTOR {
     export class SaveSnippet extends React.Component<ISaveSnippetProps, {
     export class SaveSnippet extends React.Component<ISaveSnippetProps, {
         selectedAnimations: SelectedAnimation[];
         selectedAnimations: SelectedAnimation[];
     }> {
     }> {
-        private _serverAddress;
         constructor(props: ISaveSnippetProps);
         constructor(props: ISaveSnippetProps);
         handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
         handleCheckboxChange(e: React.ChangeEvent<HTMLInputElement>): void;
+        stringifySelectedAnimations(): string;
+        saveToFile(): void;
+        saveToSnippet(): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
@@ -4390,6 +4453,8 @@ declare module INSPECTOR {
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         onPropertyChangedObservable?: BABYLON.Observable<PropertyChangedEvent>;
         setNotificationMessage: (message: string) => void;
         setNotificationMessage: (message: string) => void;
         selectAnimation: (selected: BABYLON.Animation, axis?: SelectedCoordinate) => void;
         selectAnimation: (selected: BABYLON.Animation, axis?: SelectedCoordinate) => void;
+        globalState: GlobalState;
+        snippetServer: string;
     }
     }
     export class EditorControls extends React.Component<IEditorControlsProps, {
     export class EditorControls extends React.Component<IEditorControlsProps, {
         isAnimationTabOpen: boolean;
         isAnimationTabOpen: boolean;
@@ -4399,6 +4464,7 @@ declare module INSPECTOR {
         isLoopActive: boolean;
         isLoopActive: boolean;
         animationsCount: number;
         animationsCount: number;
         framesPerSecond: number;
         framesPerSecond: number;
+        snippetId: string;
     }> {
     }> {
         constructor(props: IEditorControlsProps);
         constructor(props: IEditorControlsProps);
         animationAdded(): void;
         animationAdded(): void;
@@ -4406,6 +4472,7 @@ declare module INSPECTOR {
         handleTabs(tab: number): void;
         handleTabs(tab: number): void;
         handleChangeFps(fps: number): void;
         handleChangeFps(fps: number): void;
         emptiedList(): void;
         emptiedList(): void;
+        animationsLoaded(numberOfAnimations: number): void;
         render(): JSX.Element;
         render(): JSX.Element;
     }
     }
 }
 }
@@ -4416,6 +4483,7 @@ declare module INSPECTOR {
         scene: BABYLON.Scene;
         scene: BABYLON.Scene;
         entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
         entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
         lockObject: LockObject;
         lockObject: LockObject;
+        globalState: GlobalState;
     }
     }
     interface ICanvasAxis {
     interface ICanvasAxis {
         value: number;
         value: number;
@@ -4449,6 +4517,7 @@ declare module INSPECTOR {
         selectedPathData: ICurveData[] | undefined;
         selectedPathData: ICurveData[] | undefined;
         selectedCoordinate: number;
         selectedCoordinate: number;
     }> {
     }> {
+        private _snippetUrl;
         private _heightScale;
         private _heightScale;
         readonly _entityName: string;
         readonly _entityName: string;
         readonly _canvasLength: number;
         readonly _canvasLength: number;
@@ -4503,7 +4572,7 @@ declare module INSPECTOR {
         linearInterpolation(keyframes: BABYLON.IAnimationKey[], data: string, middle: number): string;
         linearInterpolation(keyframes: BABYLON.IAnimationKey[], data: string, middle: number): string;
         setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
         setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
         flatTangents(keyframes: BABYLON.IAnimationKey[], dataType: number): BABYLON.IAnimationKey[];
         flatTangents(keyframes: BABYLON.IAnimationKey[], dataType: number): BABYLON.IAnimationKey[];
-        returnZero(dataType: number): number | BABYLON.Vector3 | BABYLON.Vector2 | undefined;
+        returnZero(dataType: number): number | BABYLON.Vector3 | BABYLON.Quaternion | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Vector2 | BABYLON.Size | undefined;
         getValueAsArray(valueType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion): number[];
         getValueAsArray(valueType: number, value: number | BABYLON.Vector2 | BABYLON.Vector3 | BABYLON.Color3 | BABYLON.Color4 | BABYLON.Size | BABYLON.Quaternion): number[];
         getPathData(animation: BABYLON.Animation | null): ICurveData[] | undefined;
         getPathData(animation: BABYLON.Animation | null): ICurveData[] | undefined;
         getAnimationData(animation: BABYLON.Animation): {
         getAnimationData(animation: BABYLON.Animation): {
@@ -4623,21 +4692,6 @@ declare module INSPECTOR {
     }
     }
 }
 }
 declare module INSPECTOR {
 declare module INSPECTOR {
-    interface IFileButtonLineComponentProps {
-        label: string;
-        onClick: (file: File) => void;
-        accept: string;
-    }
-    export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
-        private static _IDGenerator;
-        private _id;
-        private uploadInputRef;
-        constructor(props: IFileButtonLineComponentProps);
-        onChange(evt: any): void;
-        render(): JSX.Element;
-    }
-}
-declare module INSPECTOR {
     export interface ITextureLinkLineComponentProps {
     export interface ITextureLinkLineComponentProps {
         label: string;
         label: string;
         texture: BABYLON.Nullable<BABYLON.BaseTexture>;
         texture: BABYLON.Nullable<BABYLON.BaseTexture>;

+ 70 - 36
dist/preview release/loaders/babylon.glTF1FileLoader.js

@@ -97,10 +97,10 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** D:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/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 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -113,6 +113,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
@@ -125,19 +126,21 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; });
 /*! *****************************************************************************
 /*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
 ***************************************************************************** */
 ***************************************************************************** */
 /* global Reflect, Promise */
 /* global Reflect, Promise */
 
 
@@ -193,10 +196,11 @@ function __metadata(metadataKey, metadataValue) {
 }
 }
 
 
 function __awaiter(thisArg, _arguments, P, generator) {
 function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
     return new (P || (P = Promise))(function (resolve, reject) {
     return new (P || (P = Promise))(function (resolve, reject) {
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
     });
 }
 }
@@ -229,19 +233,28 @@ function __generator(thisArg, body) {
     }
     }
 }
 }
 
 
+var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
 function __exportStar(m, exports) {
 function __exportStar(m, exports) {
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
-    var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
     if (m) return m.call(o);
     if (m) return m.call(o);
-    return {
+    if (o && typeof o.length === "number") return {
         next: function () {
         next: function () {
             if (o && i >= o.length) o = void 0;
             if (o && i >= o.length) o = void 0;
             return { value: o && o[i++], done: !o };
             return { value: o && o[i++], done: !o };
         }
         }
     };
     };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 }
 }
 
 
 function __read(o, n) {
 function __read(o, n) {
@@ -310,17 +323,38 @@ function __makeTemplateObject(cooked, raw) {
     return cooked;
     return cooked;
 };
 };
 
 
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = 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)) result[k] = mod[k];
-    result.default = mod;
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }
 
 
 function __importDefault(mod) {
 function __importDefault(mod) {
     return (mod && mod.__esModule) ? mod : { default: mod };
     return (mod && mod.__esModule) ? mod : { default: mod };
 }
 }
+
+function __classPrivateFieldGet(receiver, privateMap) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to get private field on non-instance");
+    }
+    return privateMap.get(receiver);
+}
+
+function __classPrivateFieldSet(receiver, privateMap, value) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to set private field on non-instance");
+    }
+    privateMap.set(receiver, value);
+    return value;
+}
 
 
 
 
 /***/ }),
 /***/ }),
@@ -2011,7 +2045,7 @@ var GLTFLoaderExtension = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._name;
             return this._name;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -2909,7 +2943,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onParsedObserver = this.onParsedObservable.add(callback);
             this._onParsedObserver = this.onParsedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
@@ -2922,7 +2956,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
@@ -2935,7 +2969,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
@@ -2948,7 +2982,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
@@ -2961,7 +2995,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
@@ -2976,7 +3010,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
@@ -2989,7 +3023,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onErrorObserver = this.onErrorObservable.add(callback);
             this._onErrorObserver = this.onErrorObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
@@ -3002,7 +3036,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
@@ -3015,7 +3049,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
@@ -3037,7 +3071,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._log = this._logDisabled;
                 this._log = this._logDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
@@ -3061,7 +3095,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
@@ -3074,7 +3108,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -3244,7 +3278,7 @@ var GLTFFileLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._loader ? this._loader.state : null;
             return this._loader ? this._loader.state : null;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**

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
+ 12 - 12
dist/preview release/loaders/babylon.glTF1FileLoader.min.js


+ 64 - 43
dist/preview release/loaders/babylon.glTF2FileLoader.js

@@ -1105,7 +1105,9 @@ var KHR_materials_transmission = /** @class */ (function () {
             pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
             pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
         }
         }
         else {
         else {
-            pbrMaterial.subSurface.refractionIntensity = 1.0;
+            pbrMaterial.subSurface.refractionIntensity = 0.0;
+            pbrMaterial.subSurface.isRefractionEnabled = false;
+            return Promise.resolve();
         }
         }
         if (extension.transmissionTexture) {
         if (extension.transmissionTexture) {
             return this._loader.loadTextureInfoAsync(context, extension.transmissionTexture)
             return this._loader.loadTextureInfoAsync(context, extension.transmissionTexture)
@@ -2484,7 +2486,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._state;
             return this._state;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "gltf", {
     Object.defineProperty(GLTFLoader.prototype, "gltf", {
@@ -2494,7 +2496,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._gltf;
             return this._gltf;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "bin", {
     Object.defineProperty(GLTFLoader.prototype, "bin", {
@@ -2504,7 +2506,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._bin;
             return this._bin;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "parent", {
     Object.defineProperty(GLTFLoader.prototype, "parent", {
@@ -2514,7 +2516,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._parent;
             return this._parent;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "babylonScene", {
     Object.defineProperty(GLTFLoader.prototype, "babylonScene", {
@@ -2524,7 +2526,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._babylonScene;
             return this._babylonScene;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "rootBabylonMesh", {
     Object.defineProperty(GLTFLoader.prototype, "rootBabylonMesh", {
@@ -2534,7 +2536,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._rootBabylonMesh;
             return this._rootBabylonMesh;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /** @hidden */
     /** @hidden */
@@ -4461,6 +4463,17 @@ _glTFFileLoader__WEBPACK_IMPORTED_MODULE_1__["GLTFFileLoader"]._CreateGLTF2Loade
 
 
 /***/ }),
 /***/ }),
 
 
+/***/ "./glTF/2.0/glTFLoaderExtension.ts":
+/*!*****************************************!*\
+  !*** ./glTF/2.0/glTFLoaderExtension.ts ***!
+  \*****************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+
+
+/***/ }),
+
 /***/ "./glTF/2.0/glTFLoaderInterfaces.ts":
 /***/ "./glTF/2.0/glTFLoaderInterfaces.ts":
 /*!******************************************!*\
 /*!******************************************!*\
   !*** ./glTF/2.0/glTFLoaderInterfaces.ts ***!
   !*** ./glTF/2.0/glTFLoaderInterfaces.ts ***!
@@ -4476,7 +4489,7 @@ _glTFFileLoader__WEBPACK_IMPORTED_MODULE_1__["GLTFFileLoader"]._CreateGLTF2Loade
 /*!***************************!*\
 /*!***************************!*\
   !*** ./glTF/2.0/index.ts ***!
   !*** ./glTF/2.0/index.ts ***!
   \***************************/
   \***************************/
-/*! exports provided: ArrayItem, GLTFLoader, EXT_lights_image_based, EXT_mesh_gpu_instancing, KHR_draco_mesh_compression, KHR_lights, KHR_materials_pbrSpecularGlossiness, KHR_materials_unlit, KHR_materials_clearcoat, KHR_materials_sheen, KHR_materials_specular, KHR_materials_ior, KHR_materials_variants, KHR_materials_transmission, KHR_mesh_quantization, KHR_texture_basisu, KHR_texture_transform, KHR_xmp, MSFT_audio_emitter, MSFT_lod, MSFT_minecraftMesh, MSFT_sRGBFactors, ExtrasAsMetadata */
+/*! no static exports found */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -4486,51 +4499,59 @@ __webpack_require__.r(__webpack_exports__);
 
 
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GLTFLoader", function() { return _glTFLoader__WEBPACK_IMPORTED_MODULE_0__["GLTFLoader"]; });
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GLTFLoader", function() { return _glTFLoader__WEBPACK_IMPORTED_MODULE_0__["GLTFLoader"]; });
 
 
-/* harmony import */ var _Extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Extensions */ "./glTF/2.0/Extensions/index.ts");
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_lights_image_based", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["EXT_lights_image_based"]; });
+/* harmony import */ var _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./glTFLoaderExtension */ "./glTF/2.0/glTFLoaderExtension.ts");
+/* harmony import */ var _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__) if(["ArrayItem","GLTFLoader","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+/* harmony import */ var _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./glTFLoaderInterfaces */ "./glTF/2.0/glTFLoaderInterfaces.ts");
+/* harmony import */ var _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__) if(["ArrayItem","GLTFLoader","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+/* harmony import */ var _Extensions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Extensions */ "./glTF/2.0/Extensions/index.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_lights_image_based", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["EXT_lights_image_based"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_mesh_gpu_instancing", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["EXT_mesh_gpu_instancing"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_mesh_gpu_instancing", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["EXT_mesh_gpu_instancing"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_draco_mesh_compression", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_draco_mesh_compression"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_draco_mesh_compression", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_draco_mesh_compression"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_lights", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_lights"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_lights", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_lights"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_pbrSpecularGlossiness", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_pbrSpecularGlossiness"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_pbrSpecularGlossiness", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_pbrSpecularGlossiness"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_unlit", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_unlit"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_unlit", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_unlit"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_clearcoat", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_clearcoat"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_clearcoat", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_clearcoat"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_sheen", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_sheen"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_sheen", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_sheen"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_specular", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_specular"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_specular", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_specular"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_ior", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_ior"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_ior", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_ior"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_variants", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_variants"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_variants", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_variants"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_transmission", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_transmission"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_transmission", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_transmission"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_mesh_quantization", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_mesh_quantization"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_mesh_quantization", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_mesh_quantization"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_basisu", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_texture_basisu"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_basisu", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_texture_basisu"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_transform", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_texture_transform"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_transform", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_texture_transform"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_xmp", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_xmp"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_xmp", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_xmp"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_audio_emitter", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_audio_emitter"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_audio_emitter", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_audio_emitter"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_lod", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_lod"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_lod", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_lod"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_minecraftMesh", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_minecraftMesh"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_minecraftMesh", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_minecraftMesh"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_sRGBFactors", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_sRGBFactors"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_sRGBFactors", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_sRGBFactors"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ExtrasAsMetadata", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["ExtrasAsMetadata"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ExtrasAsMetadata", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["ExtrasAsMetadata"]; });
 
 
 
 
 
 
+
+
 
 
 
 
 /***/ }),
 /***/ }),
@@ -4737,7 +4758,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onParsedObserver = this.onParsedObservable.add(callback);
             this._onParsedObserver = this.onParsedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
@@ -4750,7 +4771,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
@@ -4763,7 +4784,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
@@ -4776,7 +4797,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
@@ -4789,7 +4810,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
@@ -4804,7 +4825,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
@@ -4817,7 +4838,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onErrorObserver = this.onErrorObservable.add(callback);
             this._onErrorObserver = this.onErrorObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
@@ -4830,7 +4851,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
@@ -4843,7 +4864,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
@@ -4865,7 +4886,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._log = this._logDisabled;
                 this._log = this._logDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
@@ -4889,7 +4910,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
@@ -4902,7 +4923,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -5072,7 +5093,7 @@ var GLTFFileLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._loader ? this._loader.state : null;
             return this._loader ? this._loader.state : null;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**

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


+ 121 - 66
dist/preview release/loaders/babylon.glTFFileLoader.js

@@ -97,10 +97,10 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** D:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/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 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -113,6 +113,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
@@ -125,19 +126,21 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; });
 /*! *****************************************************************************
 /*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
 ***************************************************************************** */
 ***************************************************************************** */
 /* global Reflect, Promise */
 /* global Reflect, Promise */
 
 
@@ -193,10 +196,11 @@ function __metadata(metadataKey, metadataValue) {
 }
 }
 
 
 function __awaiter(thisArg, _arguments, P, generator) {
 function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
     return new (P || (P = Promise))(function (resolve, reject) {
     return new (P || (P = Promise))(function (resolve, reject) {
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
     });
 }
 }
@@ -229,19 +233,28 @@ function __generator(thisArg, body) {
     }
     }
 }
 }
 
 
+var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
 function __exportStar(m, exports) {
 function __exportStar(m, exports) {
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
-    var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
     if (m) return m.call(o);
     if (m) return m.call(o);
-    return {
+    if (o && typeof o.length === "number") return {
         next: function () {
         next: function () {
             if (o && i >= o.length) o = void 0;
             if (o && i >= o.length) o = void 0;
             return { value: o && o[i++], done: !o };
             return { value: o && o[i++], done: !o };
         }
         }
     };
     };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 }
 }
 
 
 function __read(o, n) {
 function __read(o, n) {
@@ -310,17 +323,38 @@ function __makeTemplateObject(cooked, raw) {
     return cooked;
     return cooked;
 };
 };
 
 
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = 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)) result[k] = mod[k];
-    result.default = mod;
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }
 
 
 function __importDefault(mod) {
 function __importDefault(mod) {
     return (mod && mod.__esModule) ? mod : { default: mod };
     return (mod && mod.__esModule) ? mod : { default: mod };
 }
 }
+
+function __classPrivateFieldGet(receiver, privateMap) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to get private field on non-instance");
+    }
+    return privateMap.get(receiver);
+}
+
+function __classPrivateFieldSet(receiver, privateMap, value) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to set private field on non-instance");
+    }
+    privateMap.set(receiver, value);
+    return value;
+}
 
 
 
 
 /***/ }),
 /***/ }),
@@ -2011,7 +2045,7 @@ var GLTFLoaderExtension = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._name;
             return this._name;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -3685,7 +3719,9 @@ var KHR_materials_transmission = /** @class */ (function () {
             pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
             pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
         }
         }
         else {
         else {
-            pbrMaterial.subSurface.refractionIntensity = 1.0;
+            pbrMaterial.subSurface.refractionIntensity = 0.0;
+            pbrMaterial.subSurface.isRefractionEnabled = false;
+            return Promise.resolve();
         }
         }
         if (extension.transmissionTexture) {
         if (extension.transmissionTexture) {
             return this._loader.loadTextureInfoAsync(context, extension.transmissionTexture)
             return this._loader.loadTextureInfoAsync(context, extension.transmissionTexture)
@@ -5064,7 +5100,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._state;
             return this._state;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "gltf", {
     Object.defineProperty(GLTFLoader.prototype, "gltf", {
@@ -5074,7 +5110,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._gltf;
             return this._gltf;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "bin", {
     Object.defineProperty(GLTFLoader.prototype, "bin", {
@@ -5084,7 +5120,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._bin;
             return this._bin;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "parent", {
     Object.defineProperty(GLTFLoader.prototype, "parent", {
@@ -5094,7 +5130,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._parent;
             return this._parent;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "babylonScene", {
     Object.defineProperty(GLTFLoader.prototype, "babylonScene", {
@@ -5104,7 +5140,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._babylonScene;
             return this._babylonScene;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "rootBabylonMesh", {
     Object.defineProperty(GLTFLoader.prototype, "rootBabylonMesh", {
@@ -5114,7 +5150,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._rootBabylonMesh;
             return this._rootBabylonMesh;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /** @hidden */
     /** @hidden */
@@ -7041,6 +7077,17 @@ _glTFFileLoader__WEBPACK_IMPORTED_MODULE_1__["GLTFFileLoader"]._CreateGLTF2Loade
 
 
 /***/ }),
 /***/ }),
 
 
+/***/ "./glTF/2.0/glTFLoaderExtension.ts":
+/*!*****************************************!*\
+  !*** ./glTF/2.0/glTFLoaderExtension.ts ***!
+  \*****************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+
+
+/***/ }),
+
 /***/ "./glTF/2.0/glTFLoaderInterfaces.ts":
 /***/ "./glTF/2.0/glTFLoaderInterfaces.ts":
 /*!******************************************!*\
 /*!******************************************!*\
   !*** ./glTF/2.0/glTFLoaderInterfaces.ts ***!
   !*** ./glTF/2.0/glTFLoaderInterfaces.ts ***!
@@ -7056,7 +7103,7 @@ _glTFFileLoader__WEBPACK_IMPORTED_MODULE_1__["GLTFFileLoader"]._CreateGLTF2Loade
 /*!***************************!*\
 /*!***************************!*\
   !*** ./glTF/2.0/index.ts ***!
   !*** ./glTF/2.0/index.ts ***!
   \***************************/
   \***************************/
-/*! exports provided: ArrayItem, GLTFLoader, EXT_lights_image_based, EXT_mesh_gpu_instancing, KHR_draco_mesh_compression, KHR_lights, KHR_materials_pbrSpecularGlossiness, KHR_materials_unlit, KHR_materials_clearcoat, KHR_materials_sheen, KHR_materials_specular, KHR_materials_ior, KHR_materials_variants, KHR_materials_transmission, KHR_mesh_quantization, KHR_texture_basisu, KHR_texture_transform, KHR_xmp, MSFT_audio_emitter, MSFT_lod, MSFT_minecraftMesh, MSFT_sRGBFactors, ExtrasAsMetadata */
+/*! no static exports found */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -7066,51 +7113,59 @@ __webpack_require__.r(__webpack_exports__);
 
 
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GLTFLoader", function() { return _glTFLoader__WEBPACK_IMPORTED_MODULE_0__["GLTFLoader"]; });
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GLTFLoader", function() { return _glTFLoader__WEBPACK_IMPORTED_MODULE_0__["GLTFLoader"]; });
 
 
-/* harmony import */ var _Extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Extensions */ "./glTF/2.0/Extensions/index.ts");
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_lights_image_based", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["EXT_lights_image_based"]; });
+/* harmony import */ var _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./glTFLoaderExtension */ "./glTF/2.0/glTFLoaderExtension.ts");
+/* harmony import */ var _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__) if(["ArrayItem","GLTFLoader","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+/* harmony import */ var _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./glTFLoaderInterfaces */ "./glTF/2.0/glTFLoaderInterfaces.ts");
+/* harmony import */ var _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__) if(["ArrayItem","GLTFLoader","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+/* harmony import */ var _Extensions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Extensions */ "./glTF/2.0/Extensions/index.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_lights_image_based", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["EXT_lights_image_based"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_mesh_gpu_instancing", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["EXT_mesh_gpu_instancing"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_mesh_gpu_instancing", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["EXT_mesh_gpu_instancing"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_draco_mesh_compression", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_draco_mesh_compression"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_draco_mesh_compression", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_draco_mesh_compression"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_lights", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_lights"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_lights", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_lights"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_pbrSpecularGlossiness", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_pbrSpecularGlossiness"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_pbrSpecularGlossiness", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_pbrSpecularGlossiness"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_unlit", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_unlit"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_unlit", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_unlit"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_clearcoat", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_clearcoat"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_clearcoat", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_clearcoat"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_sheen", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_sheen"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_sheen", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_sheen"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_specular", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_specular"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_specular", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_specular"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_ior", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_ior"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_ior", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_ior"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_variants", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_variants"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_variants", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_variants"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_transmission", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_transmission"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_transmission", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_transmission"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_mesh_quantization", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_mesh_quantization"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_mesh_quantization", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_mesh_quantization"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_basisu", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_texture_basisu"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_basisu", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_texture_basisu"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_transform", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_texture_transform"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_transform", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_texture_transform"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_xmp", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_xmp"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_xmp", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_xmp"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_audio_emitter", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_audio_emitter"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_audio_emitter", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_audio_emitter"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_lod", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_lod"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_lod", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_lod"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_minecraftMesh", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_minecraftMesh"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_minecraftMesh", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_minecraftMesh"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_sRGBFactors", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_sRGBFactors"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_sRGBFactors", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_sRGBFactors"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ExtrasAsMetadata", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["ExtrasAsMetadata"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ExtrasAsMetadata", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["ExtrasAsMetadata"]; });
 
 
 
 
 
 
+
+
 
 
 
 
 /***/ }),
 /***/ }),
@@ -7317,7 +7372,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onParsedObserver = this.onParsedObservable.add(callback);
             this._onParsedObserver = this.onParsedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
@@ -7330,7 +7385,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
@@ -7343,7 +7398,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
@@ -7356,7 +7411,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
@@ -7369,7 +7424,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
@@ -7384,7 +7439,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
@@ -7397,7 +7452,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onErrorObserver = this.onErrorObservable.add(callback);
             this._onErrorObserver = this.onErrorObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
@@ -7410,7 +7465,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
@@ -7423,7 +7478,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
@@ -7445,7 +7500,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._log = this._logDisabled;
                 this._log = this._logDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
@@ -7469,7 +7524,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
@@ -7482,7 +7537,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -7652,7 +7707,7 @@ var GLTFFileLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._loader ? this._loader.state : null;
             return this._loader ? this._loader.state : null;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**

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
+ 12 - 12
dist/preview release/loaders/babylon.glTFFileLoader.min.js


+ 2 - 2
dist/preview release/loaders/babylon.objFileLoader.js

@@ -471,7 +471,7 @@ var OBJFileLoader = /** @class */ (function () {
         set: function (value) {
         set: function (value) {
             _mtlFileLoader__WEBPACK_IMPORTED_MODULE_1__["MTLFileLoader"].INVERT_TEXTURE_Y = value;
             _mtlFileLoader__WEBPACK_IMPORTED_MODULE_1__["MTLFileLoader"].INVERT_TEXTURE_Y = value;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(OBJFileLoader, "currentMeshLoadOptions", {
     Object.defineProperty(OBJFileLoader, "currentMeshLoadOptions", {
@@ -487,7 +487,7 @@ var OBJFileLoader = /** @class */ (function () {
                 SkipMaterials: OBJFileLoader.SKIP_MATERIALS
                 SkipMaterials: OBJFileLoader.SKIP_MATERIALS
             };
             };
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**

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


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


+ 123 - 68
dist/preview release/loaders/babylonjs.loaders.js

@@ -97,10 +97,10 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** D:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/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 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -113,6 +113,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
@@ -125,19 +126,21 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; });
 /*! *****************************************************************************
 /*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
 ***************************************************************************** */
 ***************************************************************************** */
 /* global Reflect, Promise */
 /* global Reflect, Promise */
 
 
@@ -193,10 +196,11 @@ function __metadata(metadataKey, metadataValue) {
 }
 }
 
 
 function __awaiter(thisArg, _arguments, P, generator) {
 function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
     return new (P || (P = Promise))(function (resolve, reject) {
     return new (P || (P = Promise))(function (resolve, reject) {
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
     });
 }
 }
@@ -229,19 +233,28 @@ function __generator(thisArg, body) {
     }
     }
 }
 }
 
 
+var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
 function __exportStar(m, exports) {
 function __exportStar(m, exports) {
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
-    var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
     if (m) return m.call(o);
     if (m) return m.call(o);
-    return {
+    if (o && typeof o.length === "number") return {
         next: function () {
         next: function () {
             if (o && i >= o.length) o = void 0;
             if (o && i >= o.length) o = void 0;
             return { value: o && o[i++], done: !o };
             return { value: o && o[i++], done: !o };
         }
         }
     };
     };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 }
 }
 
 
 function __read(o, n) {
 function __read(o, n) {
@@ -310,17 +323,38 @@ function __makeTemplateObject(cooked, raw) {
     return cooked;
     return cooked;
 };
 };
 
 
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = 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)) result[k] = mod[k];
-    result.default = mod;
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }
 
 
 function __importDefault(mod) {
 function __importDefault(mod) {
     return (mod && mod.__esModule) ? mod : { default: mod };
     return (mod && mod.__esModule) ? mod : { default: mod };
 }
 }
+
+function __classPrivateFieldGet(receiver, privateMap) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to get private field on non-instance");
+    }
+    return privateMap.get(receiver);
+}
+
+function __classPrivateFieldSet(receiver, privateMap, value) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to set private field on non-instance");
+    }
+    privateMap.set(receiver, value);
+    return value;
+}
 
 
 
 
 /***/ }),
 /***/ }),
@@ -700,7 +734,7 @@ var OBJFileLoader = /** @class */ (function () {
         set: function (value) {
         set: function (value) {
             _mtlFileLoader__WEBPACK_IMPORTED_MODULE_1__["MTLFileLoader"].INVERT_TEXTURE_Y = value;
             _mtlFileLoader__WEBPACK_IMPORTED_MODULE_1__["MTLFileLoader"].INVERT_TEXTURE_Y = value;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(OBJFileLoader, "currentMeshLoadOptions", {
     Object.defineProperty(OBJFileLoader, "currentMeshLoadOptions", {
@@ -716,7 +750,7 @@ var OBJFileLoader = /** @class */ (function () {
                 SkipMaterials: OBJFileLoader.SKIP_MATERIALS
                 SkipMaterials: OBJFileLoader.SKIP_MATERIALS
             };
             };
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -3391,7 +3425,7 @@ var GLTFLoaderExtension = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._name;
             return this._name;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -5065,7 +5099,9 @@ var KHR_materials_transmission = /** @class */ (function () {
             pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
             pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
         }
         }
         else {
         else {
-            pbrMaterial.subSurface.refractionIntensity = 1.0;
+            pbrMaterial.subSurface.refractionIntensity = 0.0;
+            pbrMaterial.subSurface.isRefractionEnabled = false;
+            return Promise.resolve();
         }
         }
         if (extension.transmissionTexture) {
         if (extension.transmissionTexture) {
             return this._loader.loadTextureInfoAsync(context, extension.transmissionTexture)
             return this._loader.loadTextureInfoAsync(context, extension.transmissionTexture)
@@ -6444,7 +6480,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._state;
             return this._state;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "gltf", {
     Object.defineProperty(GLTFLoader.prototype, "gltf", {
@@ -6454,7 +6490,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._gltf;
             return this._gltf;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "bin", {
     Object.defineProperty(GLTFLoader.prototype, "bin", {
@@ -6464,7 +6500,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._bin;
             return this._bin;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "parent", {
     Object.defineProperty(GLTFLoader.prototype, "parent", {
@@ -6474,7 +6510,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._parent;
             return this._parent;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "babylonScene", {
     Object.defineProperty(GLTFLoader.prototype, "babylonScene", {
@@ -6484,7 +6520,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._babylonScene;
             return this._babylonScene;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFLoader.prototype, "rootBabylonMesh", {
     Object.defineProperty(GLTFLoader.prototype, "rootBabylonMesh", {
@@ -6494,7 +6530,7 @@ var GLTFLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._rootBabylonMesh;
             return this._rootBabylonMesh;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /** @hidden */
     /** @hidden */
@@ -8421,6 +8457,17 @@ _glTFFileLoader__WEBPACK_IMPORTED_MODULE_1__["GLTFFileLoader"]._CreateGLTF2Loade
 
 
 /***/ }),
 /***/ }),
 
 
+/***/ "./glTF/2.0/glTFLoaderExtension.ts":
+/*!*****************************************!*\
+  !*** ./glTF/2.0/glTFLoaderExtension.ts ***!
+  \*****************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+
+
+/***/ }),
+
 /***/ "./glTF/2.0/glTFLoaderInterfaces.ts":
 /***/ "./glTF/2.0/glTFLoaderInterfaces.ts":
 /*!******************************************!*\
 /*!******************************************!*\
   !*** ./glTF/2.0/glTFLoaderInterfaces.ts ***!
   !*** ./glTF/2.0/glTFLoaderInterfaces.ts ***!
@@ -8436,7 +8483,7 @@ _glTFFileLoader__WEBPACK_IMPORTED_MODULE_1__["GLTFFileLoader"]._CreateGLTF2Loade
 /*!***************************!*\
 /*!***************************!*\
   !*** ./glTF/2.0/index.ts ***!
   !*** ./glTF/2.0/index.ts ***!
   \***************************/
   \***************************/
-/*! exports provided: ArrayItem, GLTFLoader, EXT_lights_image_based, EXT_mesh_gpu_instancing, KHR_draco_mesh_compression, KHR_lights, KHR_materials_pbrSpecularGlossiness, KHR_materials_unlit, KHR_materials_clearcoat, KHR_materials_sheen, KHR_materials_specular, KHR_materials_ior, KHR_materials_variants, KHR_materials_transmission, KHR_mesh_quantization, KHR_texture_basisu, KHR_texture_transform, KHR_xmp, MSFT_audio_emitter, MSFT_lod, MSFT_minecraftMesh, MSFT_sRGBFactors, ExtrasAsMetadata */
+/*! no static exports found */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -8446,51 +8493,59 @@ __webpack_require__.r(__webpack_exports__);
 
 
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GLTFLoader", function() { return _glTFLoader__WEBPACK_IMPORTED_MODULE_0__["GLTFLoader"]; });
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GLTFLoader", function() { return _glTFLoader__WEBPACK_IMPORTED_MODULE_0__["GLTFLoader"]; });
 
 
-/* harmony import */ var _Extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Extensions */ "./glTF/2.0/Extensions/index.ts");
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_lights_image_based", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["EXT_lights_image_based"]; });
+/* harmony import */ var _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./glTFLoaderExtension */ "./glTF/2.0/glTFLoaderExtension.ts");
+/* harmony import */ var _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__) if(["ArrayItem","GLTFLoader","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _glTFLoaderExtension__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+/* harmony import */ var _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./glTFLoaderInterfaces */ "./glTF/2.0/glTFLoaderInterfaces.ts");
+/* harmony import */ var _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__) if(["ArrayItem","GLTFLoader","default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _glTFLoaderInterfaces__WEBPACK_IMPORTED_MODULE_2__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+/* harmony import */ var _Extensions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Extensions */ "./glTF/2.0/Extensions/index.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_lights_image_based", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["EXT_lights_image_based"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_mesh_gpu_instancing", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["EXT_mesh_gpu_instancing"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EXT_mesh_gpu_instancing", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["EXT_mesh_gpu_instancing"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_draco_mesh_compression", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_draco_mesh_compression"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_draco_mesh_compression", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_draco_mesh_compression"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_lights", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_lights"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_lights", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_lights"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_pbrSpecularGlossiness", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_pbrSpecularGlossiness"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_pbrSpecularGlossiness", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_pbrSpecularGlossiness"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_unlit", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_unlit"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_unlit", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_unlit"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_clearcoat", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_clearcoat"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_clearcoat", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_clearcoat"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_sheen", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_sheen"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_sheen", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_sheen"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_specular", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_specular"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_specular", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_specular"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_ior", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_ior"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_ior", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_ior"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_variants", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_variants"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_variants", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_variants"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_transmission", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_materials_transmission"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_materials_transmission", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_materials_transmission"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_mesh_quantization", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_mesh_quantization"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_mesh_quantization", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_mesh_quantization"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_basisu", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_texture_basisu"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_basisu", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_texture_basisu"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_transform", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_texture_transform"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_texture_transform", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_texture_transform"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_xmp", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["KHR_xmp"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "KHR_xmp", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["KHR_xmp"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_audio_emitter", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_audio_emitter"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_audio_emitter", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_audio_emitter"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_lod", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_lod"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_lod", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_lod"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_minecraftMesh", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_minecraftMesh"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_minecraftMesh", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_minecraftMesh"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_sRGBFactors", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["MSFT_sRGBFactors"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MSFT_sRGBFactors", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["MSFT_sRGBFactors"]; });
 
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ExtrasAsMetadata", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_1__["ExtrasAsMetadata"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ExtrasAsMetadata", function() { return _Extensions__WEBPACK_IMPORTED_MODULE_3__["ExtrasAsMetadata"]; });
 
 
 
 
 
 
+
+
 
 
 
 
 /***/ }),
 /***/ }),
@@ -8697,7 +8752,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onParsedObserver = this.onParsedObservable.add(callback);
             this._onParsedObserver = this.onParsedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMeshLoaded", {
@@ -8710,7 +8765,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
             this._onMeshLoadedObserver = this.onMeshLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onTextureLoaded", {
@@ -8723,7 +8778,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
             this._onTextureLoadedObserver = this.onTextureLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onMaterialLoaded", {
@@ -8736,7 +8791,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
             this._onMaterialLoadedObserver = this.onMaterialLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onCameraLoaded", {
@@ -8749,7 +8804,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
             this._onCameraLoadedObserver = this.onCameraLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
     Object.defineProperty(GLTFFileLoader.prototype, "onComplete", {
@@ -8764,7 +8819,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
             this._onCompleteObserver = this.onCompleteObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
     Object.defineProperty(GLTFFileLoader.prototype, "onError", {
@@ -8777,7 +8832,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onErrorObserver = this.onErrorObservable.add(callback);
             this._onErrorObserver = this.onErrorObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
     Object.defineProperty(GLTFFileLoader.prototype, "onDispose", {
@@ -8790,7 +8845,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
             this._onDisposeObserver = this.onDisposeObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
     Object.defineProperty(GLTFFileLoader.prototype, "onExtensionLoaded", {
@@ -8803,7 +8858,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
             this._onExtensionLoadedObserver = this.onExtensionLoadedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
     Object.defineProperty(GLTFFileLoader.prototype, "loggingEnabled", {
@@ -8825,7 +8880,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._log = this._logDisabled;
                 this._log = this._logDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
     Object.defineProperty(GLTFFileLoader.prototype, "capturePerformanceCounters", {
@@ -8849,7 +8904,7 @@ var GLTFFileLoader = /** @class */ (function () {
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
                 this._endPerformanceCounter = this._endPerformanceCounterDisabled;
             }
             }
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
     Object.defineProperty(GLTFFileLoader.prototype, "onValidated", {
@@ -8862,7 +8917,7 @@ var GLTFFileLoader = /** @class */ (function () {
             }
             }
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
             this._onValidatedObserver = this.onValidatedObservable.add(callback);
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**
@@ -9032,7 +9087,7 @@ var GLTFFileLoader = /** @class */ (function () {
         get: function () {
         get: function () {
             return this._loader ? this._loader.state : null;
             return this._loader ? this._loader.state : null;
         },
         },
-        enumerable: true,
+        enumerable: false,
         configurable: true
         configurable: true
     });
     });
     /**
     /**

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
+ 12 - 12
dist/preview release/loaders/babylonjs.loaders.min.js


+ 56 - 22
dist/preview release/materialsLibrary/babylon.cellMaterial.js

@@ -97,10 +97,10 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** D:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/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 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -113,6 +113,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
@@ -125,19 +126,21 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; });
 /*! *****************************************************************************
 /*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
 ***************************************************************************** */
 ***************************************************************************** */
 /* global Reflect, Promise */
 /* global Reflect, Promise */
 
 
@@ -193,10 +196,11 @@ function __metadata(metadataKey, metadataValue) {
 }
 }
 
 
 function __awaiter(thisArg, _arguments, P, generator) {
 function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
     return new (P || (P = Promise))(function (resolve, reject) {
     return new (P || (P = Promise))(function (resolve, reject) {
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
     });
 }
 }
@@ -229,19 +233,28 @@ function __generator(thisArg, body) {
     }
     }
 }
 }
 
 
+var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
 function __exportStar(m, exports) {
 function __exportStar(m, exports) {
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
-    var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
     if (m) return m.call(o);
     if (m) return m.call(o);
-    return {
+    if (o && typeof o.length === "number") return {
         next: function () {
         next: function () {
             if (o && i >= o.length) o = void 0;
             if (o && i >= o.length) o = void 0;
             return { value: o && o[i++], done: !o };
             return { value: o && o[i++], done: !o };
         }
         }
     };
     };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 }
 }
 
 
 function __read(o, n) {
 function __read(o, n) {
@@ -310,17 +323,38 @@ function __makeTemplateObject(cooked, raw) {
     return cooked;
     return cooked;
 };
 };
 
 
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = 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)) result[k] = mod[k];
-    result.default = mod;
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }
 
 
 function __importDefault(mod) {
 function __importDefault(mod) {
     return (mod && mod.__esModule) ? mod : { default: mod };
     return (mod && mod.__esModule) ? mod : { default: mod };
 }
 }
+
+function __classPrivateFieldGet(receiver, privateMap) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to get private field on non-instance");
+    }
+    return privateMap.get(receiver);
+}
+
+function __classPrivateFieldSet(receiver, privateMap, value) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to set private field on non-instance");
+    }
+    privateMap.set(receiver, value);
+    return value;
+}
 
 
 
 
 /***/ }),
 /***/ }),

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
+ 11 - 11
dist/preview release/materialsLibrary/babylon.cellMaterial.min.js


+ 56 - 22
dist/preview release/materialsLibrary/babylon.customMaterial.js

@@ -97,10 +97,10 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** D:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/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 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -113,6 +113,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
@@ -125,19 +126,21 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; });
 /*! *****************************************************************************
 /*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
 ***************************************************************************** */
 ***************************************************************************** */
 /* global Reflect, Promise */
 /* global Reflect, Promise */
 
 
@@ -193,10 +196,11 @@ function __metadata(metadataKey, metadataValue) {
 }
 }
 
 
 function __awaiter(thisArg, _arguments, P, generator) {
 function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
     return new (P || (P = Promise))(function (resolve, reject) {
     return new (P || (P = Promise))(function (resolve, reject) {
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
     });
 }
 }
@@ -229,19 +233,28 @@ function __generator(thisArg, body) {
     }
     }
 }
 }
 
 
+var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
 function __exportStar(m, exports) {
 function __exportStar(m, exports) {
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
-    var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
     if (m) return m.call(o);
     if (m) return m.call(o);
-    return {
+    if (o && typeof o.length === "number") return {
         next: function () {
         next: function () {
             if (o && i >= o.length) o = void 0;
             if (o && i >= o.length) o = void 0;
             return { value: o && o[i++], done: !o };
             return { value: o && o[i++], done: !o };
         }
         }
     };
     };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 }
 }
 
 
 function __read(o, n) {
 function __read(o, n) {
@@ -310,17 +323,38 @@ function __makeTemplateObject(cooked, raw) {
     return cooked;
     return cooked;
 };
 };
 
 
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = 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)) result[k] = mod[k];
-    result.default = mod;
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }
 
 
 function __importDefault(mod) {
 function __importDefault(mod) {
     return (mod && mod.__esModule) ? mod : { default: mod };
     return (mod && mod.__esModule) ? mod : { default: mod };
 }
 }
+
+function __classPrivateFieldGet(receiver, privateMap) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to get private field on non-instance");
+    }
+    return privateMap.get(receiver);
+}
+
+function __classPrivateFieldSet(receiver, privateMap, value) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to set private field on non-instance");
+    }
+    privateMap.set(receiver, value);
+    return value;
+}
 
 
 
 
 /***/ }),
 /***/ }),

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
+ 11 - 11
dist/preview release/materialsLibrary/babylon.customMaterial.min.js


+ 56 - 22
dist/preview release/materialsLibrary/babylon.fireMaterial.js

@@ -97,10 +97,10 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 /******/ ({
 
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!***********************************************************!*\
-  !*** D:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \***********************************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
+/*!*****************************************************************!*\
+  !*** C:/Dev/Babylon/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 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 "use strict";
 "use strict";
@@ -113,6 +113,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
@@ -125,19 +126,21 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; });
 /*! *****************************************************************************
 /*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
 ***************************************************************************** */
 ***************************************************************************** */
 /* global Reflect, Promise */
 /* global Reflect, Promise */
 
 
@@ -193,10 +196,11 @@ function __metadata(metadataKey, metadataValue) {
 }
 }
 
 
 function __awaiter(thisArg, _arguments, P, generator) {
 function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
     return new (P || (P = Promise))(function (resolve, reject) {
     return new (P || (P = Promise))(function (resolve, reject) {
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
     });
 }
 }
@@ -229,19 +233,28 @@ function __generator(thisArg, body) {
     }
     }
 }
 }
 
 
+var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
 function __exportStar(m, exports) {
 function __exportStar(m, exports) {
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+    for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
 }
 }
 
 
 function __values(o) {
 function __values(o) {
-    var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
     if (m) return m.call(o);
     if (m) return m.call(o);
-    return {
+    if (o && typeof o.length === "number") return {
         next: function () {
         next: function () {
             if (o && i >= o.length) o = void 0;
             if (o && i >= o.length) o = void 0;
             return { value: o && o[i++], done: !o };
             return { value: o && o[i++], done: !o };
         }
         }
     };
     };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 }
 }
 
 
 function __read(o, n) {
 function __read(o, n) {
@@ -310,17 +323,38 @@ function __makeTemplateObject(cooked, raw) {
     return cooked;
     return cooked;
 };
 };
 
 
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = 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)) result[k] = mod[k];
-    result.default = mod;
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
     return result;
     return result;
 }
 }
 
 
 function __importDefault(mod) {
 function __importDefault(mod) {
     return (mod && mod.__esModule) ? mod : { default: mod };
     return (mod && mod.__esModule) ? mod : { default: mod };
 }
 }
+
+function __classPrivateFieldGet(receiver, privateMap) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to get private field on non-instance");
+    }
+    return privateMap.get(receiver);
+}
+
+function __classPrivateFieldSet(receiver, privateMap, value) {
+    if (!privateMap.has(receiver)) {
+        throw new TypeError("attempted to set private field on non-instance");
+    }
+    privateMap.set(receiver, value);
+    return value;
+}
 
 
 
 
 /***/ }),
 /***/ }),

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
+ 11 - 11
dist/preview release/materialsLibrary/babylon.fireMaterial.min.js


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


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