Explorar o código

Merge branch 'master' of https://github.com/BabylonJS/Babylon.js

Guide %!s(int64=6) %!d(string=hai) anos
pai
achega
1f9a7cab89
Modificáronse 100 ficheiros con 439185 adicións e 220738 borrados
  1. 1375 1282
      Playground/babylon.d.txt
  2. 41 34
      Playground/css/index.css
  3. 1 14
      Playground/frame.html
  4. 1 14
      Playground/full.html
  5. 9 3
      Playground/index-local.html
  6. 11 22
      Playground/index.html
  7. 3 14
      Playground/indexStable.html
  8. 1240 1240
      Playground/js/index.js
  9. 1 0
      Playground/spinner.svg
  10. 1 0
      Playground/v4.svg
  11. BIN=BIN
      Playground/waitlogo.png
  12. 2 2
      Tools/Gulp/package.json
  13. 2 2
      Tools/Gulp/readme.md
  14. 1 1
      Tools/Gulp/tasks/gulpTasks-intellisense.js
  15. BIN=BIN
      Viewer/assets/img/BabylonJS_Logo_Small.png
  16. BIN=BIN
      Viewer/assets/img/loading.png
  17. BIN=BIN
      Viewer/assets/img/spinner.png
  18. 1 1
      Viewer/assets/package.json
  19. 4 3
      Viewer/assets/templates/default/loadingScreen.html
  20. 1 0
      Viewer/assets/templates/default/navbar.html
  21. 2 1
      Viewer/src/assets/img.ts
  22. 2 1
      Viewer/src/configuration/types/default.ts
  23. BIN=BIN
      Viewer/tests/validation/LogoV3.png
  24. 2 12317
      dist/Oimo.js
  25. 666 0
      dist/ammo.js
  26. 57021 49542
      dist/babylon.d.ts
  27. 16 1
      dist/babylon.js
  28. 147812 118111
      dist/babylon.max.js
  29. 1 0
      dist/babylon.max.js.map
  30. 117273 0
      dist/babylon.module.d.ts
  31. 53 3
      dist/gltf2Interface/babylon.glTF2Interface.d.ts
  32. 25 0
      dist/gltf2Interface/package.json
  33. 3388 2415
      dist/gui/babylon.gui.d.ts
  34. 15718 2
      dist/gui/babylon.gui.js
  35. 1 0
      dist/gui/babylon.gui.js.map
  36. 16 2
      dist/gui/babylon.gui.min.js
  37. 7042 5039
      dist/gui/babylon.gui.module.d.ts
  38. 36 0
      dist/gui/package.json
  39. 31 0
      dist/gui/readme-es6.md
  40. 2 2
      dist/gui/readme.md
  41. 60 2
      dist/inspector/babylon.inspector.bundle.js
  42. 42262 0
      dist/inspector/babylon.inspector.bundle.max.js
  43. 1 0
      dist/inspector/babylon.inspector.bundle.max.js.map
  44. 1592 921
      dist/inspector/babylon.inspector.d.ts
  45. 3749 2230
      dist/inspector/babylon.inspector.module.d.ts
  46. 43 0
      dist/inspector/package.json
  47. 27 0
      dist/inspector/readme-es6.md
  48. 2 2
      dist/inspector/readme.md
  49. 3567 2956
      dist/loaders/babylon.glTF1FileLoader.js
  50. 1 0
      dist/loaders/babylon.glTF1FileLoader.js.map
  51. 16 1
      dist/loaders/babylon.glTF1FileLoader.min.js
  52. 4289 3691
      dist/loaders/babylon.glTF2FileLoader.js
  53. 1 0
      dist/loaders/babylon.glTF2FileLoader.js.map
  54. 1 1
      dist/loaders/babylon.glTF2FileLoader.min.js
  55. 6871 5898
      dist/loaders/babylon.glTFFileLoader.js
  56. 1 0
      dist/loaders/babylon.glTFFileLoader.js.map
  57. 16 1
      dist/loaders/babylon.glTFFileLoader.min.js
  58. 1267 885
      dist/loaders/babylon.objFileLoader.js
  59. 1 0
      dist/loaders/babylon.objFileLoader.js.map
  60. 1 1
      dist/loaders/babylon.objFileLoader.min.js
  61. 420 173
      dist/loaders/babylon.stlFileLoader.js
  62. 1 0
      dist/loaders/babylon.stlFileLoader.js.map
  63. 1 1
      dist/loaders/babylon.stlFileLoader.min.js
  64. 2056 1841
      dist/loaders/babylonjs.loaders.d.ts
  65. 8350 6963
      dist/loaders/babylonjs.loaders.js
  66. 1 0
      dist/loaders/babylonjs.loaders.js.map
  67. 16 1
      dist/loaders/babylonjs.loaders.min.js
  68. 4354 1845
      dist/loaders/babylonjs.loaders.module.d.ts
  69. 37 0
      dist/loaders/package.json
  70. 24 0
      dist/loaders/readme-es6.md
  71. 2 2
      dist/loaders/readme.md
  72. 777 299
      dist/materialsLibrary/babylon.cellMaterial.js
  73. 1 0
      dist/materialsLibrary/babylon.cellMaterial.js.map
  74. 16 1
      dist/materialsLibrary/babylon.cellMaterial.min.js
  75. 845 191
      dist/materialsLibrary/babylon.customMaterial.js
  76. 1 0
      dist/materialsLibrary/babylon.customMaterial.js.map
  77. 16 1
      dist/materialsLibrary/babylon.customMaterial.min.js
  78. 808 337
      dist/materialsLibrary/babylon.fireMaterial.js
  79. 1 0
      dist/materialsLibrary/babylon.fireMaterial.js.map
  80. 16 1
      dist/materialsLibrary/babylon.fireMaterial.min.js
  81. 966 485
      dist/materialsLibrary/babylon.furMaterial.js
  82. 1 0
      dist/materialsLibrary/babylon.furMaterial.js.map
  83. 16 1
      dist/materialsLibrary/babylon.furMaterial.min.js
  84. 746 309
      dist/materialsLibrary/babylon.gradientMaterial.js
  85. 1 0
      dist/materialsLibrary/babylon.gradientMaterial.js.map
  86. 16 1
      dist/materialsLibrary/babylon.gradientMaterial.min.js
  87. 713 214
      dist/materialsLibrary/babylon.gridMaterial.js
  88. 1 0
      dist/materialsLibrary/babylon.gridMaterial.js.map
  89. 16 1
      dist/materialsLibrary/babylon.gridMaterial.min.js
  90. 865 387
      dist/materialsLibrary/babylon.lavaMaterial.js
  91. 1 0
      dist/materialsLibrary/babylon.lavaMaterial.js.map
  92. 16 1
      dist/materialsLibrary/babylon.lavaMaterial.min.js
  93. 970 474
      dist/materialsLibrary/babylon.mixMaterial.js
  94. 1 0
      dist/materialsLibrary/babylon.mixMaterial.js.map
  95. 16 1
      dist/materialsLibrary/babylon.mixMaterial.min.js
  96. 810 331
      dist/materialsLibrary/babylon.normalMaterial.js
  97. 1 0
      dist/materialsLibrary/babylon.normalMaterial.js.map
  98. 16 1
      dist/materialsLibrary/babylon.normalMaterial.min.js
  99. 701 219
      dist/materialsLibrary/babylon.shadowOnlyMaterial.js
  100. 0 0
      dist/materialsLibrary/babylon.shadowOnlyMaterial.js.map

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1375 - 1282
Playground/babylon.d.txt


+ 41 - 34
Playground/css/index.css

@@ -1,5 +1,4 @@
-@import url("https://fonts.googleapis.com/css?family=Montserrat:300,400");
-@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css");
+@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css");
 html,
 body {
     width: 100%;
@@ -7,7 +6,7 @@ body {
     margin: 0;
     padding: 0;
     overflow: hidden;
-    font-family: sans-serif;
+    font-family: "acumin-pro";
 }
 #waitDiv {
     position: absolute;
@@ -24,12 +23,27 @@ body {
     flex-direction: column;
 }
 
+#logo-part {
+    width: 20vw;
+    display: grid;
+    grid-template-rows: 100%;
+    grid-template-columns: 100%;
+}
+
 #waitLogo {
-    -webkit-animation: spin1 2s infinite ease-in-out;
-    -moz-animation: spin1 2s infinite ease-in-out;
-    -o-animation: spin1 2s infinite ease-in-out;
-    -ms-animation: spin1 2s infinite ease-in-out;
-    animation: spin1 2s infinite ease-in-out;
+    grid-column: 1;
+    grid-row: 1;
+    margin: 25%;
+}
+
+#waitSpinner {
+    grid-column: 1;
+    grid-row: 1;
+    -webkit-animation: spin1 0.5s infinite linear;
+    -moz-animation: spin1 0.5s infinite linear;
+    -o-animation: spin1 0.5s infinite linear;
+    -ms-animation: spin1 0.5s infinite linear;
+    animation: spin1 0.5s infinite linear;
     -webkit-transform-origin: 50% 50%;
     -moz-transform-origin: 50% 50%;
     -o-transform-origin: 50% 50%;
@@ -60,7 +74,7 @@ body {
 #waitTitle {
     text-align: center;
     font-size: 38px;
-    color: #15A4FA;
+    color: #BB464B;
 }
 .wrapper {
     height: calc(100% - 40px - 30px); /* nvabar top and bottom*/
@@ -132,8 +146,7 @@ body {
     border-right: 1px solid #efefef;
 }
 #exampleList #exampleBanner {
-    background-image: url("../css/pattern_ban_1.png");
-    background-repeat: repeat;
+    background-color: #E0684B;
     text-align: center;
     padding: 10px 0;
     margin-left: 2px;
@@ -141,7 +154,7 @@ body {
 #exampleList #exampleBanner h1 {
     text-align: center;
     font-weight: 700;
-    color: #00aeef;
+    color: #BB464B;
     font-size: 2em;
     margin: .67em 0;
 }
@@ -149,7 +162,6 @@ body {
     width: 80%;
     height: 0;
     display: block;
-    border-top: 1px solid #00aeef;
     margin: 0 auto 20px auto;
 }
 #exampleList #filterBar {
@@ -215,7 +227,7 @@ body {
     bottom: 20px;
     font-size: 15px;
     text-decoration: underline;
-    color: #00aeef;
+    color: #BB464B;
 }
 #exampleList .categoryContainer .itemLine .itemContent .itemLinePGLink {
     display: none;
@@ -225,7 +237,7 @@ body {
     text-align: right;
     font-size: 15px;
     text-decoration: underline;
-    color: #00aeef;
+    color: #BB464B;
 }
 
 .wrapper #jsEditor {
@@ -255,18 +267,16 @@ body {
     top: 50px;
     cursor: default;
     z-index:10;
-    background-color: #7283a0;
+    background-color: #E0684B;
     color:white;
     padding:5px;
     border-radius: 3px;
-    font-family: 'Montserrat';
     pointer-events: none;
     user-select: none;
 }
 .navbar {
     height: 40px;
     width: 100%;
-    font-family: "Montserrat";
     font-weight: 400;
     -webkit-user-select: none;
     -moz-user-select: none;
@@ -287,13 +297,13 @@ body {
 .navbar .title {
     height: 40px;
     padding-left: 10px;
-    color: #15A4FA;
+    color: #BB464B;
     display: inline-block;
 }
 .navbar .version {
     height: 40px;
     display: inline-block;
-    color: #7283a0;
+    color: #E0684B;
     margin-right: 20px;
 }
 .navbar .category {
@@ -309,9 +319,9 @@ body {
 .button {
     display: inline-block;
     height: 25px;
-    line-height: 25px;
+    line-height: 23px;
     color: white;
-    background-color: #7283a0;
+    background-color: #E0684B;
     margin: 0 2px 0 2px;
     padding: 0 10px 0 10px;
     font-size: 0.85em;
@@ -323,12 +333,12 @@ body {
 }
 .button:hover {
     cursor: pointer;
-    background-color: #15A4FA;
+    background-color: #BB464B;
 }
 .navbar .button.run {
     height: 30px;
-    line-height: 30px;
-    background-color: #15A4FA;
+    line-height: 28px;
+    background-color: #BB464B;
     font-size: 1.0em;
 }
 .navbar .select {
@@ -343,7 +353,7 @@ body {
     content: "\00a0 \00a0 \00a0 \f078";
 }
 .navbar .select .toDisplay {
-    border: 1px solid #7283a0;
+    border: 1px solid #E0684B;
     position: absolute;
     z-index: 10;
     left: 0;
@@ -354,7 +364,7 @@ body {
 }
 
 .navbar .select .subSelect .toDisplaySub {
-    border: 1px solid #7283a0;
+    border: 1px solid #E0684B;
     position: absolute;
     z-index: 10;
     left: 100%;
@@ -384,7 +394,7 @@ body {
 }
 .navbar .select .toDisplay .option.light {
     background-color: white;
-    color: #7283a0;
+    color: #E0684B;
 }
 .navbar .select .toDisplay .option.dark:hover {
     cursor: pointer;
@@ -392,7 +402,7 @@ body {
 }
 
 .navbar .select .toDisplayBig {
-    border: 1px solid #7283a0;
+    border: 1px solid #E0684B;
     border-radius: 5px;
     position: absolute;
     z-index: 10;
@@ -409,7 +419,7 @@ body {
 
 .navbar .select .toDisplayBig.light {
     background-color: white;    
-    color: #15A4FA;
+    color: #BB464B;
 }
 
 .navbar .select .toDisplayBig.dark {
@@ -448,7 +458,7 @@ body {
 }
 
 .navbar .select .toDisplayBig a.light {
-    color: #7283a0;
+    color: #E0684B;
 }
 
 
@@ -497,7 +507,6 @@ body {
     width:100%;
     line-height:30px;
     position:relative;
-    font-family: 'Montserrat';
 }
 .navbarBottom.dark {
     background-color: #333;
@@ -567,7 +576,6 @@ body {
     background-color: rgba(27, 27, 27, 0.75);
     border-color: #252525;
     color: white;
-    font-family: "Montserrat";
     font-size: 14px;
 }
 .save-layer .save-form .separator {
@@ -582,7 +590,6 @@ body {
     width: 350px;
     margin:auto;
     margin-bottom: 20px;
-    font-family: "Montserrat";
     padding:5px;
 }
 

+ 1 - 14
Playground/frame.html

@@ -4,19 +4,6 @@
     <head>
         <title>Babylon.js Playground</title>
         <link rel="shortcut icon" href="https://www.babylonjs.com/img/favicon/favicon.ico">
-        <link rel="apple-touch-icon" sizes="57x57" href="https://www.babylonjs.com/img/favicon/apple-icon-57x57.png">
-        <link rel="apple-touch-icon" sizes="60x60" href="https://www.babylonjs.com/img/favicon/apple-icon-60x60.png">
-        <link rel="apple-touch-icon" sizes="72x72" href="https://www.babylonjs.com/img/favicon/apple-icon-72x72.png">
-        <link rel="apple-touch-icon" sizes="76x76" href="https://www.babylonjs.com/img/favicon/apple-icon-76x76.png">
-        <link rel="apple-touch-icon" sizes="114x114" href="https://www.babylonjs.com/img/favicon/apple-icon-114x114.png">
-        <link rel="apple-touch-icon" sizes="120x120" href="https://www.babylonjs.com/img/favicon/apple-icon-120x120.png">
-        <link rel="apple-touch-icon" sizes="144x144" href="https://www.babylonjs.com/img/favicon/apple-icon-144x144.png">
-        <link rel="apple-touch-icon" sizes="152x152" href="https://www.babylonjs.com/img/favicon/apple-icon-152x152.png">
-        <link rel="apple-touch-icon" sizes="180x180" href="https://www.babylonjs.com/img/favicon/apple-icon-180x180.png">
-        <link rel="icon" type="image/png" sizes="192x192" href="https://www.babylonjs.com/img/favicon/android-icon-192x192.png">
-        <link rel="icon" type="image/png" sizes="32x32" href="https://www.babylonjs.com/img/favicon/favicon-32x32.png">
-        <link rel="icon" type="image/png" sizes="96x96" href="https://www.babylonjs.com/img/favicon/favicon-96x96.png">
-        <link rel="icon" type="image/png" sizes="16x16" href="https://www.babylonjs.com/img/favicon/favicon-16x16.png">
         <link rel="manifest" href="https://www.babylonjs.com/img/favicon/manifest.json">
         <meta name="msapplication-TileColor" content="#ffffff">
         <meta name="msapplication-TileImage" content="https://www.babylonjs.com/img/favicon/ms-icon-144x144.png">
@@ -103,4 +90,4 @@
         </script>
     </body>
 
-</html>
+</html>

+ 1 - 14
Playground/full.html

@@ -4,19 +4,6 @@
     <head>
         <title>Babylon.js Playground</title>
         <link rel="shortcut icon" href="https://www.babylonjs.com/img/favicon/favicon.ico">
-        <link rel="apple-touch-icon" sizes="57x57" href="https://www.babylonjs.com/img/favicon/apple-icon-57x57.png">
-        <link rel="apple-touch-icon" sizes="60x60" href="https://www.babylonjs.com/img/favicon/apple-icon-60x60.png">
-        <link rel="apple-touch-icon" sizes="72x72" href="https://www.babylonjs.com/img/favicon/apple-icon-72x72.png">
-        <link rel="apple-touch-icon" sizes="76x76" href="https://www.babylonjs.com/img/favicon/apple-icon-76x76.png">
-        <link rel="apple-touch-icon" sizes="114x114" href="https://www.babylonjs.com/img/favicon/apple-icon-114x114.png">
-        <link rel="apple-touch-icon" sizes="120x120" href="https://www.babylonjs.com/img/favicon/apple-icon-120x120.png">
-        <link rel="apple-touch-icon" sizes="144x144" href="https://www.babylonjs.com/img/favicon/apple-icon-144x144.png">
-        <link rel="apple-touch-icon" sizes="152x152" href="https://www.babylonjs.com/img/favicon/apple-icon-152x152.png">
-        <link rel="apple-touch-icon" sizes="180x180" href="https://www.babylonjs.com/img/favicon/apple-icon-180x180.png">
-        <link rel="icon" type="image/png" sizes="192x192" href="https://www.babylonjs.com/img/favicon/android-icon-192x192.png">
-        <link rel="icon" type="image/png" sizes="32x32" href="https://www.babylonjs.com/img/favicon/favicon-32x32.png">
-        <link rel="icon" type="image/png" sizes="96x96" href="https://www.babylonjs.com/img/favicon/favicon-96x96.png">
-        <link rel="icon" type="image/png" sizes="16x16" href="https://www.babylonjs.com/img/favicon/favicon-16x16.png">
         <link rel="manifest" href="https://www.babylonjs.com/img/favicon/manifest.json">
         <meta name="msapplication-TileColor" content="#ffffff">
         <meta name="msapplication-TileImage" content="https://www.babylonjs.com/img/favicon/ms-icon-144x144.png">
@@ -66,4 +53,4 @@
         </script>
     </body>
 
-</html>
+</html>

+ 9 - 3
Playground/index-local.html

@@ -7,6 +7,8 @@
     <meta charset='utf-8' />
     <meta name="viewport" content="width=device-width, user-scalable=no">
     <script src="https://code.jquery.com/pep/0.4.2/pep.min.js"></script>
+    <link rel="stylesheet" href="https://use.typekit.net/cta4xsb.css">
+
     <!--For canvas/code separator-->
     <script src="js/libs/split.js"></script>
 
@@ -376,7 +378,8 @@
         </div>
         <div class="horizontalSeparator"></div>
         <input id="filterBar" type="text" placeholder="Filter examples...">
-        <img id="filterBarClear" src="https://d33wubrfki0l68.cloudfront.net/17ca450bae302631f4857cd8c3992234ec5dd9a7/057f9/img/ui/clear_button.png">
+        <img id="filterBarClear"
+            src="https://d33wubrfki0l68.cloudfront.net/17ca450bae302631f4857cd8c3992234ec5dd9a7/057f9/img/ui/clear_button.png">
     </div>
 
     <span class="label" id="fpsLabel">FPS</span>
@@ -433,7 +436,10 @@
             <BR>
             <BR>
         </span>
-        <img src="waitlogo.png" id="waitLogo" />
+        <div id="logo-part">
+            <img src="v4.svg" id="waitLogo" />
+            <img src="spinner.svg" id="waitSpinner" />
+        </div>
     </div>
 
     <script src="https://code.jquery.com/jquery.js"></script>
@@ -454,4 +460,4 @@
     </script>
 </body>
 
-</html>
+</html>

+ 11 - 22
Playground/index.html

@@ -5,25 +5,9 @@
     <title>Babylon.js Playground</title>
     <meta charset='utf-8' />
     <meta name="viewport" content="width=device-width, user-scalable=no">
-    <link rel="shortcut icon" href="https://www.babylonjs.com/img/favicon/favicon.ico">
-    <link rel="apple-touch-icon" sizes="57x57" href="https://www.babylonjs.com/img/favicon/apple-icon-57x57.png">
-    <link rel="apple-touch-icon" sizes="60x60" href="https://www.babylonjs.com/img/favicon/apple-icon-60x60.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="https://www.babylonjs.com/img/favicon/apple-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="76x76" href="https://www.babylonjs.com/img/favicon/apple-icon-76x76.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="https://www.babylonjs.com/img/favicon/apple-icon-114x114.png">
-    <link rel="apple-touch-icon" sizes="120x120" href="https://www.babylonjs.com/img/favicon/apple-icon-120x120.png">
-    <link rel="apple-touch-icon" sizes="144x144" href="https://www.babylonjs.com/img/favicon/apple-icon-144x144.png">
-    <link rel="apple-touch-icon" sizes="152x152" href="https://www.babylonjs.com/img/favicon/apple-icon-152x152.png">
-    <link rel="apple-touch-icon" sizes="180x180" href="https://www.babylonjs.com/img/favicon/apple-icon-180x180.png">
-    <link rel="icon" type="image/png" sizes="192x192" href="https://www.babylonjs.com/img/favicon/android-icon-192x192.png">
-    <link rel="icon" type="image/png" sizes="32x32" href="https://www.babylonjs.com/img/favicon/favicon-32x32.png">
-    <link rel="icon" type="image/png" sizes="96x96" href="https://www.babylonjs.com/img/favicon/favicon-96x96.png">
-    <link rel="icon" type="image/png" sizes="16x16" href="https://www.babylonjs.com/img/favicon/favicon-16x16.png">
-    <link rel="manifest" href="https://www.babylonjs.com/img/favicon/manifest.json">
-    <meta name="msapplication-TileColor" content="#ffffff">
-    <meta name="msapplication-TileImage" content="https://www.babylonjs.com/img/favicon/ms-icon-144x144.png">
-    <meta name="msapplication-config" content="https://www.babylonjs.com/img/favicon/browserconfig.xml">
-    <meta name="theme-color" content="#ffffff">
+    <link rel="shortcut icon" href="https://www.babylonjs.com/favicon.ico">
+
+    <link rel="stylesheet" href="https://use.typekit.net/cta4xsb.css">
 
     <script src="js/libs/pep.min.js"></script>
     <!--For canvas/code separator-->
@@ -54,7 +38,8 @@
 
     <!-- Extensions -->
     <script src="https://rawgit.com/BabylonJS/Extensions/master/ClonerSystem/src/babylonx.cloner.js" async></script>
-    <script src="https://rawgit.com/BabylonJS/Extensions/master/CompoundShader/src/babylonx.CompoundShader.js" async></script>
+    <script src="https://rawgit.com/BabylonJS/Extensions/master/CompoundShader/src/babylonx.CompoundShader.js"
+        async></script>
 
     <!-- Scene Manager -->
     <script src="https://mackeyk24.github.io/toolkit/babylon.manager.js"></script>
@@ -411,7 +396,8 @@
         </div>
         <div class="horizontalSeparator"></div>
         <input id="filterBar" type="text" placeholder="Filter examples...">
-        <img id="filterBarClear" src="https://d33wubrfki0l68.cloudfront.net/17ca450bae302631f4857cd8c3992234ec5dd9a7/057f9/img/ui/clear_button.png">
+        <img id="filterBarClear"
+            src="https://d33wubrfki0l68.cloudfront.net/17ca450bae302631f4857cd8c3992234ec5dd9a7/057f9/img/ui/clear_button.png">
     </div>
 
     <span class="label" id="fpsLabel">FPS</span>
@@ -468,7 +454,10 @@
             <BR>
             <BR>
         </span>
-        <img src="waitlogo.png" id="waitLogo" />
+        <div id="logo-part">
+            <img src="v4.svg" id="waitLogo" />
+            <img src="spinner.svg" id="waitSpinner" />
+        </div>
     </div>
 
     <script src="js/libs/jquery.min.js"></script>

+ 3 - 14
Playground/indexStable.html

@@ -6,24 +6,12 @@
     <meta charset='utf-8' />
     <meta name="viewport" content="width=device-width, user-scalable=no">
     <link rel="shortcut icon" href="https://www.babylonjs.com/img/favicon/favicon.ico">
-    <link rel="apple-touch-icon" sizes="57x57" href="https://www.babylonjs.com/img/favicon/apple-icon-57x57.png">
-    <link rel="apple-touch-icon" sizes="60x60" href="https://www.babylonjs.com/img/favicon/apple-icon-60x60.png">
-    <link rel="apple-touch-icon" sizes="72x72" href="https://www.babylonjs.com/img/favicon/apple-icon-72x72.png">
-    <link rel="apple-touch-icon" sizes="76x76" href="https://www.babylonjs.com/img/favicon/apple-icon-76x76.png">
-    <link rel="apple-touch-icon" sizes="114x114" href="https://www.babylonjs.com/img/favicon/apple-icon-114x114.png">
-    <link rel="apple-touch-icon" sizes="120x120" href="https://www.babylonjs.com/img/favicon/apple-icon-120x120.png">
-    <link rel="apple-touch-icon" sizes="144x144" href="https://www.babylonjs.com/img/favicon/apple-icon-144x144.png">
-    <link rel="apple-touch-icon" sizes="152x152" href="https://www.babylonjs.com/img/favicon/apple-icon-152x152.png">
-    <link rel="apple-touch-icon" sizes="180x180" href="https://www.babylonjs.com/img/favicon/apple-icon-180x180.png">
-    <link rel="icon" type="image/png" sizes="192x192" href="https://www.babylonjs.com/img/favicon/android-icon-192x192.png">
-    <link rel="icon" type="image/png" sizes="32x32" href="https://www.babylonjs.com/img/favicon/favicon-32x32.png">
-    <link rel="icon" type="image/png" sizes="96x96" href="https://www.babylonjs.com/img/favicon/favicon-96x96.png">
-    <link rel="icon" type="image/png" sizes="16x16" href="https://www.babylonjs.com/img/favicon/favicon-16x16.png">
     <link rel="manifest" href="https://www.babylonjs.com/img/favicon/manifest.json">
     <meta name="msapplication-TileColor" content="#ffffff">
     <meta name="msapplication-TileImage" content="https://www.babylonjs.com/img/favicon/ms-icon-144x144.png">
     <meta name="msapplication-config" content="https://www.babylonjs.com/img/favicon/browserconfig.xml">
     <meta name="theme-color" content="#ffffff">
+    <link rel="stylesheet" href="https://use.typekit.net/cta4xsb.css">
 
     <script src="https://code.jquery.com/pep/0.4.2/pep.min.js"></script>
     <!--For canvas/code separator-->
@@ -401,7 +389,8 @@
         </div>
         <div class="horizontalSeparator"></div>
         <input id="filterBar" type="text" placeholder="Filter examples...">
-        <img id="filterBarClear" src="https://d33wubrfki0l68.cloudfront.net/17ca450bae302631f4857cd8c3992234ec5dd9a7/057f9/img/ui/clear_button.png">
+        <img id="filterBarClear"
+            src="https://d33wubrfki0l68.cloudfront.net/17ca450bae302631f4857cd8c3992234ec5dd9a7/057f9/img/ui/clear_button.png">
     </div>
 
     <span class="label" id="fpsLabel">FPS</span>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1240 - 1240
Playground/js/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
Playground/spinner.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
Playground/v4.svg


BIN=BIN
Playground/waitlogo.png


+ 2 - 2
Tools/Gulp/package.json

@@ -1,6 +1,6 @@
 {
     "name": "babylonjs",
-    "version": "3.3.0",
+    "version": "0.0.0",
     "description": "Babylon.js is a 3D engine based on webgl and javascript",
     "main": "",
     "repository": {
@@ -13,4 +13,4 @@
         "build": "gulp --max-old-space-size=8192 --tsLintFix",
         "start": "gulp run --max-old-space-size=8192"
     }
-}
+}

+ 2 - 2
Tools/Gulp/readme.md

@@ -25,7 +25,7 @@ npm update
 ## Build all the distributed files and tests (release build):
 
 ```
-gulp
+npm run build
 ```
 Will generate all the files of the dist/preview release folder.
 
@@ -52,4 +52,4 @@ you can now freely test in the following URLs:
 - [Materials Library](http://localhost:1338/materialsLibrary/index.html)
 - [Postprocess Library](http://localhost:1338/postProcessLibrary/index.html)
 - [Procedural Textures Library](http://localhost:1338/proceduralTexturesLibrary/index.html)
-- [Local Dev Samples](http://localhost:1338/localDev/index.html)
+- [Local Dev Samples](http://localhost:1338/localDev/index.html)

+ 1 - 1
Tools/Gulp/tasks/gulpTasks-intellisense.js

@@ -15,7 +15,7 @@ gulp.task("intellisense", function() {
         .pipe(replace(/^\s*readonly _/gm, "protected readonly _"))
         .pipe(replace(/^\s*static _/gm, "private static _"))
         .pipe(replace(/^\s*class _/gm, "private class _"))
-        .pipe(replace(/^\s* _/gm, ""))
+        .pipe(replace(/^\s* _/gm, "private _"))
         .pipe(replace(/^\s*_/gm, "private _"))
         .pipe(gulp.dest(config.build.playgroundDirectory));
 });

BIN=BIN
Viewer/assets/img/BabylonJS_Logo_Small.png


BIN=BIN
Viewer/assets/img/loading.png


BIN=BIN
Viewer/assets/img/spinner.png


+ 1 - 1
Viewer/assets/package.json

@@ -4,7 +4,7 @@
     },
     "name": "babylonjs-viewer-assets",
     "description": "Compiled resources for the Babylon viewer.",
-    "version": "3.3.0-alpha.3",
+    "version": "0.0.0",
     "repository": {
         "type": "git",
         "url": "https://github.com/BabylonJS/Babylon.js.git"

+ 4 - 3
Viewer/assets/templates/default/loadingScreen.html

@@ -16,8 +16,8 @@
     }
 
     img.loading-image {
-        -webkit-animation: spin 2s linear infinite;
-        animation: spin 2s linear infinite;
+        -webkit-animation: spin 0.75s linear infinite;
+        animation: spin 0.75s linear infinite;
     }
 
     @-webkit-keyframes spin {
@@ -39,4 +39,5 @@
     }
 </style>
 
-<img class="loading-image" src="{{loadingImage}}">
+<img class="loading-image" style="position:absolute" src="{{loadingImage}}">
+<img class="static-loading-image" style="position:absolute" src="{{staticLoadingImage}}">

+ 1 - 0
Viewer/assets/templates/default/navbar.html

@@ -85,6 +85,7 @@
     .logo-button img {
         height: 20px;
         width: 20px;
+        padding-top: 5px;
     }
 
     .types {

+ 2 - 1
Viewer/src/assets/img.ts

@@ -2,4 +2,5 @@ export const babylonLogo = require('../../assets/img/BabylonJS_Logo_Small.png');
 export const close = require('../../assets/img/close.png');
 export const fullscreen = require('../../assets/img/fullscreen.png');
 export const helpCircle = require('../../assets/img/help-circle.png');
-export const loading = require('../../assets/img/loading.png');
+export const loading = require('../../assets/img/spinner.png');
+export const staticLoading = require('../../assets/img/loading.png');

+ 2 - 1
Viewer/src/configuration/types/default.ts

@@ -28,7 +28,8 @@ export let defaultConfiguration: ViewerConfiguration = deepmerge(renderOnlyDefau
             html: loadingScreen,
             params: {
                 backgroundColor: "#000000",
-                loadingImage: images.loading
+                loadingImage: images.loading,
+                staticLoadingImage: images.staticLoading
             }
         },
         viewer: {

BIN=BIN
Viewer/tests/validation/LogoV3.png


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 2 - 12317
dist/Oimo.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 666 - 0
dist/ammo.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 57021 - 49542
dist/babylon.d.ts


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/babylon.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 147812 - 118111
dist/babylon.max.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/babylon.max.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 117273 - 0
dist/babylon.module.d.ts


+ 53 - 3
dist/gltf2Interface/babylon.glTF2Interface.d.ts

@@ -7,6 +7,8 @@ declare module "babylonjs-gltf2interface" {
 }
 /**
  * Module for glTF 2.0 Interface
+ * @ignoreChildren
+ * @ignore
  */
 declare module BABYLON.GLTF2 {
     /**
@@ -852,6 +854,54 @@ declare module BABYLON.GLTF2 {
          */
         textures?: ITexture[];
     }
+
+    /**
+     * Interface for glTF validation results
+     */
+    interface IGLTFValidationResults {
+        info: {
+            generator: string;
+            hasAnimations: boolean;
+            hasDefaultScene: boolean;
+            hasMaterials: boolean;
+            hasMorphTargets: boolean;
+            hasSkins: boolean;
+            hasTextures: boolean;
+            maxAttributesUsed: number;
+            primitivesCount: number
+        };
+        issues: {
+            messages: Array<string>;
+            numErrors: number;
+            numHints: number;
+            numInfos: number;
+            numWarnings: number;
+            truncated: boolean
+        };
+        mimeType: string;
+        uri: string;
+        validatedAt: string;
+        validatorVersion: string;
+    }
+
+    /**
+     * Interface for glTF validation options
+     */
+    interface IGLTFValidationOptions {
+        uri?: string;
+        externalResourceFunction?: (uri: string) => Promise<Uint8Array>;
+        validateAccessorData?: boolean;
+        maxIssues?: number;
+        ignoredIssues?: Array<string>;
+        severityOverrides?: Object;
+    }
+
+    /**
+     * glTF validator object Tyyings
+     */
+    interface IGLTFValidatorTypings {
+        validateString: (json: string, options?: IGLTFValidationOptions) => Promise<IGLTFValidationResults>;
+    }
 }
 
 /**
@@ -896,8 +946,8 @@ interface IGLTFValidationOptions {
 }
 
 /**
- * glTF validator object
+ * glTF validator object Tyyings
  */
-declare var GLTFValidator: {
+interface IGLTFValidatorTypings {
     validateString: (json: string, options?: IGLTFValidationOptions) => Promise<IGLTFValidationResults>;
-};
+}

+ 25 - 0
dist/gltf2Interface/package.json

@@ -0,0 +1,25 @@
+{
+    "name": "babylonjs-gltf2interface",
+    "description": "A typescript declaration of babylon's gltf2 inteface.",
+    "version": "4.0.2",
+    "repository": {
+        "type": "git",
+        "url": "https://github.com/BabylonJS/Babylon.js.git"
+    },
+    "files": [
+        "babylon.glTF2Interface.d.ts",
+        "package.json"
+    ],
+    "typings": "babylon.glTF2Interface.d.ts",
+    "keywords": [
+        "3D",
+        "javascript",
+        "html5",
+        "webgl",
+        "gltf2"
+    ],
+    "license": "Apache-2.0",
+    "engines": {
+        "node": "*"
+    }
+}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3388 - 2415
dist/gui/babylon.gui.d.ts


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 15718 - 2
dist/gui/babylon.gui.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/gui/babylon.gui.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 2
dist/gui/babylon.gui.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 7042 - 5039
dist/gui/babylon.gui.module.d.ts


+ 36 - 0
dist/gui/package.json

@@ -0,0 +1,36 @@
+{
+    "author": {
+        "name": "David CATUHE"
+    },
+    "name": "babylonjs-gui",
+    "description": "The Babylon.js GUI library is an extension you can use to generate interactive user interface. It is build on top of the DynamicTexture.",
+    "version": "4.0.2",
+    "repository": {
+        "type": "git",
+        "url": "https://github.com/BabylonJS/Babylon.js.git"
+    },
+    "main": "babylon.gui.min.js",
+    "files": [
+        "babylon.gui.js",
+        "babylon.gui.js.map",
+        "babylon.gui.min.js",
+        "babylon.gui.module.d.ts",
+        "readme.md",
+        "package.json"
+    ],
+    "typings": "babylon.gui.module.d.ts",
+    "keywords": [
+        "3D",
+        "javascript",
+        "html5",
+        "webgl",
+        "gui"
+    ],
+    "license": "Apache-2.0",
+    "dependencies": {
+        "babylonjs": "4.0.2"
+    },
+    "engines": {
+        "node": "*"
+    }
+}

+ 31 - 0
dist/gui/readme-es6.md

@@ -0,0 +1,31 @@
+Babylon.js GUI module
+=====================
+
+For usage documentation please visit http://doc.babylonjs.com/overviews/gui
+
+# Installation instructions
+
+To install using npm :
+
+```
+npm install --save @babylonjs/core @babylonjs/gui
+```
+
+# How to use
+
+Afterwards it can be imported to the your project using:
+
+```
+import { AdvancedDynamicTexture } from '@babylonjs/gui/2D';
+```
+
+And used as usual:
+
+```
+// Some awesome code
+// Creates the post process
+let postProcess = new AdvancedDynamicTexture("adt", 128, 128, scene);
+// Some more awesome code
+```
+
+For more information you can have a look at our [our ES6 dedicated documentation](https://doc.babylonjs.com/features/es6_support).

+ 2 - 2
dist/gui/readme.md

@@ -9,8 +9,8 @@ For usage documentation please visit http://doc.babylonjs.com/overviews/gui
 
 Compiled js files (minified and source) are offered on our public CDN here:
 
-* https://cdn.babylonjs.com/gui/babylon.gui.js
-* https://cdn.babylonjs.com/gui/babylon.gui.min.js
+* https://preview.babylonjs.com/gui/babylon.gui.js
+* https://preview.babylonjs.com/gui/babylon.gui.min.js
 
 ## NPM
 

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 60 - 2
dist/inspector/babylon.inspector.bundle.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 42262 - 0
dist/inspector/babylon.inspector.bundle.max.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/inspector/babylon.inspector.bundle.max.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1592 - 921
dist/inspector/babylon.inspector.d.ts


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3749 - 2230
dist/inspector/babylon.inspector.module.d.ts


+ 43 - 0
dist/inspector/package.json

@@ -0,0 +1,43 @@
+{
+    "author": {
+        "name": "David CATUHE"
+    },
+    "name": "babylonjs-inspector",
+    "description": "The Babylon.js inspector.",
+    "version": "4.0.2",
+    "repository": {
+        "type": "git",
+        "url": "https://github.com/BabylonJS/Babylon.js.git"
+    },
+    "main": "babylon.inspector.bundle.js",
+    "files": [
+        "babylon.inspector.bundle.max.js",
+        "babylon.inspector.bundle.max.js.map",
+        "babylon.inspector.bundle.js",
+        "babylon.inspector.module.d.ts",
+        "readme.md",
+        "package.json"
+    ],
+    "typings": "babylon.inspector.module.d.ts",
+    "keywords": [
+        "3D",
+        "javascript",
+        "html5",
+        "webgl",
+        "babylonjs",
+        "inspector"
+    ],
+    "license": "Apache-2.0",
+    "dependencies": {
+        "@types/react": "~16.7.3",
+        "@types/react-dom": "~16.0.9",
+        "babylonjs": "4.0.2",
+        "babylonjs-gui": "4.0.2",
+        "babylonjs-loaders": "4.0.2",
+        "babylonjs-serializers": "4.0.2",
+        "babylonjs-gltf2interface": "4.0.2"
+    },
+    "engines": {
+        "node": "*"
+    }
+}

+ 27 - 0
dist/inspector/readme-es6.md

@@ -0,0 +1,27 @@
+Babylon.js inspector module
+=====================
+
+For usage documentation please visit http://doc.babylonjs.com/how_to/debug_layer.
+
+# Installation instructions
+
+To install using npm :
+
+```
+npm install --save-dev @babylonjs/core @babylonjs/inspector
+```
+
+# How to use
+
+Afterwards it can be imported to the your project using:
+
+```
+import "@babylonjs/core/Debug/debugLayer";
+import "@babylonjs/inspector";
+```
+
+The first line will ensure you can access the property debugLayer of the scene while the second will ensure the inspector can be used within your scene.
+
+This is a great example where code splitting or conditional loading could be use to ensure you are not delivering the inspector if not part of your final app.
+
+For more information you can have a look at our [our ES6 dedicated documentation](https://doc.babylonjs.com/features/es6_support).

+ 2 - 2
dist/inspector/readme.md

@@ -1,7 +1,7 @@
 Babylon.js inspector module
 =====================
 
-For usage documentation please visit http://doc.babylonjs.com/how_to/debug_layer and search "inspector".
+For usage documentation please visit http://doc.babylonjs.com/how_to/debug_layer.
 
 # Installation instructions
 
@@ -13,7 +13,7 @@ If you wish however to use a different version of the inspector or host it on yo
 
 The latest compiled js file is offered on our public CDN here:
 
-* https://cdn.babylonjs.com/inspector/babylonjs.inspector.bundle.js
+* https://preview.babylonjs.com/inspector/babylon.inspector.bundle.js
 
 ## NPM
 

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3567 - 2956
dist/loaders/babylon.glTF1FileLoader.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/loaders/babylon.glTF1FileLoader.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/loaders/babylon.glTF1FileLoader.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 4289 - 3691
dist/loaders/babylon.glTF2FileLoader.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/loaders/babylon.glTF2FileLoader.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
dist/loaders/babylon.glTF2FileLoader.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 6871 - 5898
dist/loaders/babylon.glTFFileLoader.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/loaders/babylon.glTFFileLoader.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/loaders/babylon.glTFFileLoader.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1267 - 885
dist/loaders/babylon.objFileLoader.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/loaders/babylon.objFileLoader.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
dist/loaders/babylon.objFileLoader.min.js


+ 420 - 173
dist/loaders/babylon.stlFileLoader.js

@@ -1,173 +1,420 @@
-/// <reference path="../../../dist/preview release/babylon.d.ts"/>
-var BABYLON;
-(function (BABYLON) {
-    var STLFileLoader = /** @class */ (function () {
-        function STLFileLoader() {
-            this.solidPattern = /solid (\S*)([\S\s]*)endsolid[ ]*(\S*)/g;
-            this.facetsPattern = /facet([\s\S]*?)endfacet/g;
-            this.normalPattern = /normal[\s]+([\-+]?[0-9]+\.?[0-9]*([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+/g;
-            this.vertexPattern = /vertex[\s]+([\-+]?[0-9]+\.?[0-9]*([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+/g;
-            this.name = "stl";
-            // force data to come in as an ArrayBuffer
-            // we'll convert to string if it looks like it's an ASCII .stl
-            this.extensions = {
-                ".stl": { isBinary: true },
-            };
-        }
-        STLFileLoader.prototype.importMesh = function (meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons) {
-            var matches;
-            if (typeof data !== "string") {
-                if (this.isBinary(data)) {
-                    // binary .stl
-                    var babylonMesh = new BABYLON.Mesh("stlmesh", scene);
-                    this.parseBinary(babylonMesh, data);
-                    if (meshes) {
-                        meshes.push(babylonMesh);
-                    }
-                    return true;
-                }
-                // ASCII .stl
-                // convert to string
-                var array_buffer = new Uint8Array(data);
-                var str = '';
-                for (var i = 0; i < data.byteLength; i++) {
-                    str += String.fromCharCode(array_buffer[i]); // implicitly assumes little-endian
-                }
-                data = str;
-            }
-            //if arrived here, data is a string, containing the STLA data.
-            while (matches = this.solidPattern.exec(data)) {
-                var meshName = matches[1];
-                var meshNameFromEnd = matches[3];
-                if (meshName != meshNameFromEnd) {
-                    BABYLON.Tools.Error("Error in STL, solid name != endsolid name");
-                    return false;
-                }
-                // check meshesNames
-                if (meshesNames && meshName) {
-                    if (meshesNames instanceof Array) {
-                        if (!meshesNames.indexOf(meshName)) {
-                            continue;
-                        }
-                    }
-                    else {
-                        if (meshName !== meshesNames) {
-                            continue;
-                        }
-                    }
-                }
-                // stl mesh name can be empty as well
-                meshName = meshName || "stlmesh";
-                var babylonMesh = new BABYLON.Mesh(meshName, scene);
-                this.parseASCII(babylonMesh, matches[2]);
-                if (meshes) {
-                    meshes.push(babylonMesh);
-                }
-            }
-            return true;
-        };
-        STLFileLoader.prototype.load = function (scene, data, rootUrl) {
-            var result = this.importMesh(null, scene, data, rootUrl, null, null, null);
-            if (result) {
-                scene.createDefaultCameraOrLight();
-            }
-            return result;
-        };
-        STLFileLoader.prototype.loadAssetContainer = function (scene, data, rootUrl, onError) {
-            var container = new BABYLON.AssetContainer(scene);
-            this.importMesh(null, scene, data, rootUrl, container.meshes, null, null);
-            container.removeAllFromScene();
-            return container;
-        };
-        STLFileLoader.prototype.isBinary = function (data) {
-            // check if file size is correct for binary stl
-            var faceSize, nFaces, reader;
-            reader = new DataView(data);
-            faceSize = (32 / 8 * 3) + ((32 / 8 * 3) * 3) + (16 / 8);
-            nFaces = reader.getUint32(80, true);
-            if (80 + (32 / 8) + (nFaces * faceSize) === reader.byteLength) {
-                return true;
-            }
-            // check characters higher than ASCII to confirm binary
-            var fileLength = reader.byteLength;
-            for (var index = 0; index < fileLength; index++) {
-                if (reader.getUint8(index) > 127) {
-                    return true;
-                }
-            }
-            return false;
-        };
-        STLFileLoader.prototype.parseBinary = function (mesh, data) {
-            var reader = new DataView(data);
-            var faces = reader.getUint32(80, true);
-            var dataOffset = 84;
-            var faceLength = 12 * 4 + 2;
-            var offset = 0;
-            var positions = new Float32Array(faces * 3 * 3);
-            var normals = new Float32Array(faces * 3 * 3);
-            var indices = new Uint32Array(faces * 3);
-            var indicesCount = 0;
-            for (var face = 0; face < faces; face++) {
-                var start = dataOffset + face * faceLength;
-                var normalX = reader.getFloat32(start, true);
-                var normalY = reader.getFloat32(start + 4, true);
-                var normalZ = reader.getFloat32(start + 8, true);
-                for (var i = 1; i <= 3; i++) {
-                    var vertexstart = start + i * 12;
-                    // ordering is intentional to match ascii import
-                    positions[offset] = reader.getFloat32(vertexstart, true);
-                    positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);
-                    positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);
-                    normals[offset] = normalX;
-                    normals[offset + 2] = normalY;
-                    normals[offset + 1] = normalZ;
-                    offset += 3;
-                }
-                indices[indicesCount] = indicesCount++;
-                indices[indicesCount] = indicesCount++;
-                indices[indicesCount] = indicesCount++;
-            }
-            mesh.setVerticesData(BABYLON.VertexBuffer.PositionKind, positions);
-            mesh.setVerticesData(BABYLON.VertexBuffer.NormalKind, normals);
-            mesh.setIndices(indices);
-            mesh.computeWorldMatrix(true);
-        };
-        STLFileLoader.prototype.parseASCII = function (mesh, solidData) {
-            var positions = [];
-            var normals = [];
-            var indices = [];
-            var indicesCount = 0;
-            //load facets, ignoring loop as the standard doesn't define it can contain more than vertices
-            var matches;
-            while (matches = this.facetsPattern.exec(solidData)) {
-                var facet = matches[1];
-                //one normal per face
-                var normalMatches = this.normalPattern.exec(facet);
-                this.normalPattern.lastIndex = 0;
-                if (!normalMatches) {
-                    continue;
-                }
-                var normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];
-                var vertexMatch;
-                while (vertexMatch = this.vertexPattern.exec(facet)) {
-                    positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));
-                    normals.push(normal[0], normal[1], normal[2]);
-                }
-                indices.push(indicesCount++, indicesCount++, indicesCount++);
-                this.vertexPattern.lastIndex = 0;
-            }
-            this.facetsPattern.lastIndex = 0;
-            mesh.setVerticesData(BABYLON.VertexBuffer.PositionKind, positions);
-            mesh.setVerticesData(BABYLON.VertexBuffer.NormalKind, normals);
-            mesh.setIndices(indices);
-            mesh.computeWorldMatrix(true);
-        };
-        return STLFileLoader;
-    }());
-    BABYLON.STLFileLoader = STLFileLoader;
-    if (BABYLON.SceneLoader) {
-        BABYLON.SceneLoader.RegisterPlugin(new STLFileLoader());
-    }
-})(BABYLON || (BABYLON = {}));
-
-//# sourceMappingURL=babylon.stlFileLoader.js.map
+(function webpackUniversalModuleDefinition(root, factory) {
+	if(typeof exports === 'object' && typeof module === 'object')
+		module.exports = factory(require("babylonjs"));
+	else if(typeof define === 'function' && define.amd)
+		define("babylonjs-loaders", ["babylonjs"], factory);
+	else if(typeof exports === 'object')
+		exports["babylonjs-loaders"] = factory(require("babylonjs"));
+	else
+		root["LOADERS"] = factory(root["BABYLON"]);
+})((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this), function(__WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_observable__) {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "";
+/******/
+/******/
+/******/ 	// Load entry module and return exports
+/******/ 	return __webpack_require__(__webpack_require__.s = "./legacy/legacy-stlFileLoader.ts");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "../../node_modules/webpack/buildin/global.js":
+/*!***********************************!*\
+  !*** (webpack)/buildin/global.js ***!
+  \***********************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+var g;
+
+// This works in non-strict mode
+g = (function() {
+	return this;
+})();
+
+try {
+	// This works if eval is allowed (see CSP)
+	g = g || new Function("return this")();
+} catch (e) {
+	// This works if the window reference is available
+	if (typeof window === "object") g = window;
+}
+
+// g can still be undefined, but nothing to do about it...
+// We return undefined, instead of nothing here, so it's
+// easier to handle this case. if(!global) { ...}
+
+module.exports = g;
+
+
+/***/ }),
+
+/***/ "./STL/index.ts":
+/*!**********************!*\
+  !*** ./STL/index.ts ***!
+  \**********************/
+/*! exports provided: STLFileLoader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _stlFileLoader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./stlFileLoader */ "./STL/stlFileLoader.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "STLFileLoader", function() { return _stlFileLoader__WEBPACK_IMPORTED_MODULE_0__["STLFileLoader"]; });
+
+
+
+
+/***/ }),
+
+/***/ "./STL/stlFileLoader.ts":
+/*!******************************!*\
+  !*** ./STL/stlFileLoader.ts ***!
+  \******************************/
+/*! exports provided: STLFileLoader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "STLFileLoader", function() { return STLFileLoader; });
+/* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
+/* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__);
+
+
+
+
+
+/**
+ * STL file type loader.
+ * This is a babylon scene loader plugin.
+ */
+var STLFileLoader = /** @class */ (function () {
+    function STLFileLoader() {
+        /** @hidden */
+        this.solidPattern = /solid (\S*)([\S\s]*)endsolid[ ]*(\S*)/g;
+        /** @hidden */
+        this.facetsPattern = /facet([\s\S]*?)endfacet/g;
+        /** @hidden */
+        this.normalPattern = /normal[\s]+([\-+]?[0-9]+\.?[0-9]*([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+/g;
+        /** @hidden */
+        this.vertexPattern = /vertex[\s]+([\-+]?[0-9]+\.?[0-9]*([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+[\s]+([\-+]?[0-9]*\.?[0-9]+([eE][\-+]?[0-9]+)?)+/g;
+        /**
+         * Defines the name of the plugin.
+         */
+        this.name = "stl";
+        /**
+         * Defines the extensions the stl loader is able to load.
+         * force data to come in as an ArrayBuffer
+         * we'll convert to string if it looks like it's an ASCII .stl
+         */
+        this.extensions = {
+            ".stl": { isBinary: true },
+        };
+    }
+    /**
+     * Import meshes into a scene.
+     * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
+     * @param scene The scene to import into
+     * @param data The data to import
+     * @param rootUrl The root url for scene and resources
+     * @param meshes The meshes array to import into
+     * @param particleSystems The particle systems array to import into
+     * @param skeletons The skeletons array to import into
+     * @param onError The callback when import fails
+     * @returns True if successful or false otherwise
+     */
+    STLFileLoader.prototype.importMesh = function (meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons) {
+        var matches;
+        if (typeof data !== "string") {
+            if (this._isBinary(data)) {
+                // binary .stl
+                var babylonMesh = new babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["Mesh"]("stlmesh", scene);
+                this._parseBinary(babylonMesh, data);
+                if (meshes) {
+                    meshes.push(babylonMesh);
+                }
+                return true;
+            }
+            // ASCII .stl
+            // convert to string
+            var array_buffer = new Uint8Array(data);
+            var str = '';
+            for (var i = 0; i < data.byteLength; i++) {
+                str += String.fromCharCode(array_buffer[i]); // implicitly assumes little-endian
+            }
+            data = str;
+        }
+        //if arrived here, data is a string, containing the STLA data.
+        while (matches = this.solidPattern.exec(data)) {
+            var meshName = matches[1];
+            var meshNameFromEnd = matches[3];
+            if (meshName != meshNameFromEnd) {
+                babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["Tools"].Error("Error in STL, solid name != endsolid name");
+                return false;
+            }
+            // check meshesNames
+            if (meshesNames && meshName) {
+                if (meshesNames instanceof Array) {
+                    if (!meshesNames.indexOf(meshName)) {
+                        continue;
+                    }
+                }
+                else {
+                    if (meshName !== meshesNames) {
+                        continue;
+                    }
+                }
+            }
+            // stl mesh name can be empty as well
+            meshName = meshName || "stlmesh";
+            var babylonMesh = new babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["Mesh"](meshName, scene);
+            this._parseASCII(babylonMesh, matches[2]);
+            if (meshes) {
+                meshes.push(babylonMesh);
+            }
+        }
+        return true;
+    };
+    /**
+     * Load into a scene.
+     * @param scene The scene to load into
+     * @param data The data to import
+     * @param rootUrl The root url for scene and resources
+     * @param onError The callback when import fails
+     * @returns true if successful or false otherwise
+     */
+    STLFileLoader.prototype.load = function (scene, data, rootUrl) {
+        var result = this.importMesh(null, scene, data, rootUrl, null, null, null);
+        if (result) {
+            scene.createDefaultLight();
+            scene.createDefaultCameraOrLight();
+        }
+        return result;
+    };
+    /**
+     * Load into an asset container.
+     * @param scene The scene to load into
+     * @param data The data to import
+     * @param rootUrl The root url for scene and resources
+     * @param onError The callback when import fails
+     * @returns The loaded asset container
+     */
+    STLFileLoader.prototype.loadAssetContainer = function (scene, data, rootUrl, onError) {
+        var container = new babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["AssetContainer"](scene);
+        this.importMesh(null, scene, data, rootUrl, container.meshes, null, null);
+        container.removeAllFromScene();
+        return container;
+    };
+    STLFileLoader.prototype._isBinary = function (data) {
+        // check if file size is correct for binary stl
+        var faceSize, nFaces, reader;
+        reader = new DataView(data);
+        faceSize = (32 / 8 * 3) + ((32 / 8 * 3) * 3) + (16 / 8);
+        nFaces = reader.getUint32(80, true);
+        if (80 + (32 / 8) + (nFaces * faceSize) === reader.byteLength) {
+            return true;
+        }
+        // check characters higher than ASCII to confirm binary
+        var fileLength = reader.byteLength;
+        for (var index = 0; index < fileLength; index++) {
+            if (reader.getUint8(index) > 127) {
+                return true;
+            }
+        }
+        return false;
+    };
+    STLFileLoader.prototype._parseBinary = function (mesh, data) {
+        var reader = new DataView(data);
+        var faces = reader.getUint32(80, true);
+        var dataOffset = 84;
+        var faceLength = 12 * 4 + 2;
+        var offset = 0;
+        var positions = new Float32Array(faces * 3 * 3);
+        var normals = new Float32Array(faces * 3 * 3);
+        var indices = new Uint32Array(faces * 3);
+        var indicesCount = 0;
+        for (var face = 0; face < faces; face++) {
+            var start = dataOffset + face * faceLength;
+            var normalX = reader.getFloat32(start, true);
+            var normalY = reader.getFloat32(start + 4, true);
+            var normalZ = reader.getFloat32(start + 8, true);
+            for (var i = 1; i <= 3; i++) {
+                var vertexstart = start + i * 12;
+                // ordering is intentional to match ascii import
+                positions[offset] = reader.getFloat32(vertexstart, true);
+                positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);
+                positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);
+                normals[offset] = normalX;
+                normals[offset + 2] = normalY;
+                normals[offset + 1] = normalZ;
+                offset += 3;
+            }
+            indices[indicesCount] = indicesCount++;
+            indices[indicesCount] = indicesCount++;
+            indices[indicesCount] = indicesCount++;
+        }
+        mesh.setVerticesData(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["VertexBuffer"].PositionKind, positions);
+        mesh.setVerticesData(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["VertexBuffer"].NormalKind, normals);
+        mesh.setIndices(indices);
+        mesh.computeWorldMatrix(true);
+    };
+    STLFileLoader.prototype._parseASCII = function (mesh, solidData) {
+        var positions = [];
+        var normals = [];
+        var indices = [];
+        var indicesCount = 0;
+        //load facets, ignoring loop as the standard doesn't define it can contain more than vertices
+        var matches;
+        while (matches = this.facetsPattern.exec(solidData)) {
+            var facet = matches[1];
+            //one normal per face
+            var normalMatches = this.normalPattern.exec(facet);
+            this.normalPattern.lastIndex = 0;
+            if (!normalMatches) {
+                continue;
+            }
+            var normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];
+            var vertexMatch;
+            while (vertexMatch = this.vertexPattern.exec(facet)) {
+                positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));
+                normals.push(normal[0], normal[1], normal[2]);
+            }
+            indices.push(indicesCount++, indicesCount++, indicesCount++);
+            this.vertexPattern.lastIndex = 0;
+        }
+        this.facetsPattern.lastIndex = 0;
+        mesh.setVerticesData(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["VertexBuffer"].PositionKind, positions);
+        mesh.setVerticesData(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["VertexBuffer"].NormalKind, normals);
+        mesh.setIndices(indices);
+        mesh.computeWorldMatrix(true);
+    };
+    return STLFileLoader;
+}());
+
+if (babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["SceneLoader"]) {
+    babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_0__["SceneLoader"].RegisterPlugin(new STLFileLoader());
+}
+
+
+/***/ }),
+
+/***/ "./legacy/legacy-stlFileLoader.ts":
+/*!****************************************!*\
+  !*** ./legacy/legacy-stlFileLoader.ts ***!
+  \****************************************/
+/*! exports provided: STLFileLoader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _STL__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../STL */ "./STL/index.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "STLFileLoader", function() { return _STL__WEBPACK_IMPORTED_MODULE_0__["STLFileLoader"]; });
+
+
+/**
+ * This is the entry point for the UMD module.
+ * The entry point for a future ESM package should be index.ts
+ */
+var globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);
+if (typeof globalObject !== "undefined") {
+    for (var key in _STL__WEBPACK_IMPORTED_MODULE_0__) {
+        globalObject.BABYLON[key] = _STL__WEBPACK_IMPORTED_MODULE_0__[key];
+    }
+}
+
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ "../../node_modules/webpack/buildin/global.js")))
+
+/***/ }),
+
+/***/ "babylonjs/Misc/observable":
+/*!****************************************************************************************************!*\
+  !*** external {"root":"BABYLON","commonjs":"babylonjs","commonjs2":"babylonjs","amd":"babylonjs"} ***!
+  \****************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_observable__;
+
+/***/ })
+
+/******/ });
+});
+//# sourceMappingURL=babylon.stlFileLoader.js.map

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/loaders/babylon.stlFileLoader.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
dist/loaders/babylon.stlFileLoader.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 2056 - 1841
dist/loaders/babylonjs.loaders.d.ts


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 8350 - 6963
dist/loaders/babylonjs.loaders.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/loaders/babylonjs.loaders.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/loaders/babylonjs.loaders.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 4354 - 1845
dist/loaders/babylonjs.loaders.module.d.ts


+ 37 - 0
dist/loaders/package.json

@@ -0,0 +1,37 @@
+{
+    "author": {
+        "name": "David CATUHE"
+    },
+    "name": "babylonjs-loaders",
+    "description": "The Babylon.js file loaders library is an extension you can use to load different 3D file types into a Babylon scene.",
+    "version": "4.0.2",
+    "repository": {
+        "type": "git",
+        "url": "https://github.com/BabylonJS/Babylon.js.git"
+    },
+    "main": "babylonjs.loaders.min.js",
+    "files": [
+        "babylonjs.loaders.js.map",
+        "babylonjs.loaders.js",
+        "babylonjs.loaders.min.js",
+        "babylonjs.loaders.module.d.ts",
+        "readme.md",
+        "package.json"
+    ],
+    "typings": "babylonjs.loaders.module.d.ts",
+    "keywords": [
+        "3D",
+        "javascript",
+        "html5",
+        "webgl",
+        "loaders"
+    ],
+    "license": "Apache-2.0",
+    "dependencies": {
+        "babylonjs-gltf2interface": "4.0.2",
+        "babylonjs": "4.0.2"
+    },
+    "engines": {
+        "node": "*"
+    }
+}

+ 24 - 0
dist/loaders/readme-es6.md

@@ -0,0 +1,24 @@
+Babylon.js Loaders module
+=====================
+
+For usage documentation please visit http://doc.babylonjs.com/extensions and choose "loaders".
+
+# Installation instructions
+
+To install using npm :
+
+```
+npm install --save-dev @babylonjs/core @babylonjs/loaders
+```
+
+# How to use
+
+Afterwards it can be imported to the your project using:
+
+```
+import "@babylonjs/loaders/glTF";
+```
+
+This will extend Babylon's loader plugins to allow the load of gltf and glb files.
+
+For more information you can have a look at our [our ES6 dedicated documentation](https://doc.babylonjs.com/features/es6_support).

+ 2 - 2
dist/loaders/readme.md

@@ -9,8 +9,8 @@ For usage documentation please visit http://doc.babylonjs.com/extensions and cho
 
 Compiled js files (minified and source) are offered on our public CDN here:
 
-* https://cdn.babylonjs.com/loaders/babylonjs.loaders.js
-* https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js
+* https://preview.babylonjs.com/loaders/babylonjs.loaders.js
+* https://preview.babylonjs.com/loaders/babylonjs.loaders.min.js
 
 ## NPM
 

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 777 - 299
dist/materialsLibrary/babylon.cellMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.cellMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.cellMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 845 - 191
dist/materialsLibrary/babylon.customMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.customMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.customMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 808 - 337
dist/materialsLibrary/babylon.fireMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.fireMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.fireMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 966 - 485
dist/materialsLibrary/babylon.furMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.furMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.furMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 746 - 309
dist/materialsLibrary/babylon.gradientMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.gradientMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.gradientMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 713 - 214
dist/materialsLibrary/babylon.gridMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.gridMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.gridMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 865 - 387
dist/materialsLibrary/babylon.lavaMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.lavaMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.lavaMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 970 - 474
dist/materialsLibrary/babylon.mixMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.mixMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.mixMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 810 - 331
dist/materialsLibrary/babylon.normalMaterial.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/materialsLibrary/babylon.normalMaterial.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 16 - 1
dist/materialsLibrary/babylon.normalMaterial.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 701 - 219
dist/materialsLibrary/babylon.shadowOnlyMaterial.js


+ 0 - 0
dist/materialsLibrary/babylon.shadowOnlyMaterial.js.map


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio