소스 검색

Merge pull request #7305 from BabylonJS/master

Nightly
David Catuhe 5 년 전
부모
커밋
67d76540b7
96개의 변경된 파일22477개의 추가작업 그리고 15167개의 파일을 삭제
  1. 2 2
      Tools/Gulp/helpers/gulp-validateTypedoc.js
  2. 2474 1884
      dist/preview release/babylon.d.ts
  3. 1 1
      dist/preview release/babylon.js
  4. 73 54
      dist/preview release/babylon.max.js
  5. 1 1
      dist/preview release/babylon.max.js.map
  6. 4947 3767
      dist/preview release/babylon.module.d.ts
  7. 3087 2246
      dist/preview release/documentation.d.ts
  8. 496 284
      dist/preview release/gui/babylon.gui.d.ts
  9. 3 3
      dist/preview release/gui/babylon.gui.js
  10. 1 1
      dist/preview release/gui/babylon.gui.min.js
  11. 992 568
      dist/preview release/gui/babylon.gui.module.d.ts
  12. 8 8
      dist/preview release/inspector/babylon.inspector.bundle.js
  13. 1641 444
      dist/preview release/inspector/babylon.inspector.bundle.max.js
  14. 1 1
      dist/preview release/inspector/babylon.inspector.bundle.max.js.map
  15. 5 3
      dist/preview release/inspector/babylon.inspector.d.ts
  16. 10 6
      dist/preview release/inspector/babylon.inspector.module.d.ts
  17. 3 3
      dist/preview release/loaders/babylon.glTF1FileLoader.js
  18. 3 3
      dist/preview release/loaders/babylon.glTFFileLoader.js
  19. 23 21
      dist/preview release/loaders/babylonjs.loaders.d.ts
  20. 3 3
      dist/preview release/loaders/babylonjs.loaders.js
  21. 46 42
      dist/preview release/loaders/babylonjs.loaders.module.d.ts
  22. 3 3
      dist/preview release/materialsLibrary/babylon.cellMaterial.js
  23. 3 3
      dist/preview release/materialsLibrary/babylon.customMaterial.js
  24. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  25. 3 3
      dist/preview release/materialsLibrary/babylon.fireMaterial.js
  26. 3 3
      dist/preview release/materialsLibrary/babylon.furMaterial.js
  27. 3 3
      dist/preview release/materialsLibrary/babylon.gradientMaterial.js
  28. 3 3
      dist/preview release/materialsLibrary/babylon.gridMaterial.js
  29. 3 3
      dist/preview release/materialsLibrary/babylon.lavaMaterial.js
  30. 3 3
      dist/preview release/materialsLibrary/babylon.mixMaterial.js
  31. 3 3
      dist/preview release/materialsLibrary/babylon.normalMaterial.js
  32. 3 3
      dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.js
  33. 3 3
      dist/preview release/materialsLibrary/babylon.simpleMaterial.js
  34. 3 3
      dist/preview release/materialsLibrary/babylon.skyMaterial.js
  35. 3 3
      dist/preview release/materialsLibrary/babylon.terrainMaterial.js
  36. 3 3
      dist/preview release/materialsLibrary/babylon.triPlanarMaterial.js
  37. 3 3
      dist/preview release/materialsLibrary/babylon.waterMaterial.js
  38. 10 7
      dist/preview release/materialsLibrary/babylonjs.materials.d.ts
  39. 3 3
      dist/preview release/materialsLibrary/babylonjs.materials.js
  40. 1 1
      dist/preview release/materialsLibrary/babylonjs.materials.min.js
  41. 20 14
      dist/preview release/materialsLibrary/babylonjs.materials.module.d.ts
  42. 64 44
      dist/preview release/nodeEditor/babylon.nodeEditor.d.ts
  43. 6 6
      dist/preview release/nodeEditor/babylon.nodeEditor.js
  44. 2604 1324
      dist/preview release/nodeEditor/babylon.nodeEditor.max.js
  45. 1 1
      dist/preview release/nodeEditor/babylon.nodeEditor.max.js.map
  46. 128 88
      dist/preview release/nodeEditor/babylon.nodeEditor.module.d.ts
  47. 1 1
      dist/preview release/packagesSizeBaseLine.json
  48. 3 3
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.js
  49. 3 3
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.js
  50. 3 3
      dist/preview release/postProcessesLibrary/babylon.oceanPostProcess.js
  51. 13 11
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.d.ts
  52. 3 3
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.js
  53. 26 22
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.module.d.ts
  54. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.brickProceduralTexture.js
  55. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.cloudProceduralTexture.js
  56. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.fireProceduralTexture.js
  57. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.grassProceduralTexture.js
  58. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.marbleProceduralTexture.js
  59. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.normalMapProceduralTexture.js
  60. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.perlinNoiseProceduralTexture.js
  61. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.roadProceduralTexture.js
  62. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.starfieldProceduralTexture.js
  63. 3 3
      dist/preview release/proceduralTexturesLibrary/babylon.woodProceduralTexture.js
  64. 68 36
      dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.d.ts
  65. 3 3
      dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.js
  66. 136 72
      dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.module.d.ts
  67. 6 7
      dist/preview release/serializers/babylon.glTF2Serializer.js
  68. 1 1
      dist/preview release/serializers/babylon.glTF2Serializer.js.map
  69. 1 1
      dist/preview release/serializers/babylon.glTF2Serializer.min.js
  70. 3 3
      dist/preview release/serializers/babylonjs.serializers.d.ts
  71. 6 7
      dist/preview release/serializers/babylonjs.serializers.js
  72. 1 1
      dist/preview release/serializers/babylonjs.serializers.js.map
  73. 1 1
      dist/preview release/serializers/babylonjs.serializers.min.js
  74. 6 6
      dist/preview release/serializers/babylonjs.serializers.module.d.ts
  75. 4947 3767
      dist/preview release/viewer/babylon.module.d.ts
  76. 104 70
      dist/preview release/viewer/babylon.viewer.d.ts
  77. 57 57
      dist/preview release/viewer/babylon.viewer.js
  78. 3 3
      dist/preview release/viewer/babylon.viewer.max.js
  79. 104 70
      dist/preview release/viewer/babylon.viewer.module.d.ts
  80. 46 42
      dist/preview release/viewer/babylonjs.loaders.module.d.ts
  81. 6 2
      dist/preview release/what's new.md
  82. 12 4
      nodeEditor/src/diagram/graphCanvas.scss
  83. 6 1
      nodeEditor/src/diagram/graphFrame.ts
  84. 128 29
      nodeEditor/src/graphEditor.tsx
  85. 4 4
      package.json
  86. 3 4
      serializers/src/glTF/2.0/glTFAnimation.ts
  87. 1 1
      src/Engines/Extensions/engine.multiRender.ts
  88. 2 2
      src/Engines/engine.ts
  89. 12 7
      src/Engines/thinEngine.ts
  90. 1 1
      src/Gamepads/Controllers/windowsMotionController.ts
  91. 1 1
      src/Gamepads/gamepadManager.ts
  92. 1 1
      src/LibDeclarations/webgl.d.ts
  93. 18 2
      src/Loading/loadingScreen.ts
  94. 1 1
      src/Meshes/abstractMesh.ts
  95. 2 2
      src/Misc/promise.ts
  96. 1 3
      src/Misc/tools.ts

+ 2 - 2
Tools/Gulp/helpers/gulp-validateTypedoc.js

@@ -525,8 +525,7 @@ Validate.prototype.validateNaming = function(parent, node) {
     else if (node.kindString == "Interface" ||
         node.kindString == "Class" ||
         node.kindString == "Enumeration" ||
-        node.kindString == "Enumeration member" ||
-        node.kindString == "Accessor" ||
+        node.kindString == "Enumeration member" ||        
         node.kindString == "Type alias") {
         if (!Validate.pascalCase.test(node.name)) {
             this.errorCallback(parent ? parent.name : null,
@@ -539,6 +538,7 @@ Validate.prototype.validateNaming = function(parent, node) {
     }
     else if (node.kindString == "Method" ||
         node.kindString == "Property" ||
+        node.kindString == "Accessor" ||
         node.kindString == "Object literal") {
 
         // Only warn here as special properties such as FOV may be better capitalized 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2474 - 1884
dist/preview release/babylon.d.ts


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/babylon.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 73 - 54
dist/preview release/babylon.max.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/babylon.max.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4947 - 3767
dist/preview release/babylon.module.d.ts


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3087 - 2246
dist/preview release/documentation.d.ts


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 496 - 284
dist/preview release/gui/babylon.gui.d.ts


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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/gui/babylon.gui.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 992 - 568
dist/preview release/gui/babylon.gui.module.d.ts


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 8 - 8
dist/preview release/inspector/babylon.inspector.bundle.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1641 - 444
dist/preview release/inspector/babylon.inspector.bundle.max.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/inspector/babylon.inspector.bundle.max.js.map


+ 5 - 3
dist/preview release/inspector/babylon.inspector.d.ts

@@ -51,9 +51,11 @@ declare module INSPECTOR {
         selectedLineContainerTitle: string;
         recorder: ReplayRecorder;
         private _onlyUseEulers;
-        onlyUseEulers: boolean;
+        get onlyUseEulers(): boolean;
+        set onlyUseEulers(value: boolean);
         private _ignoreBackfacesForPicking;
-        ignoreBackfacesForPicking: boolean;
+        get ignoreBackfacesForPicking(): boolean;
+        set ignoreBackfacesForPicking(value: boolean);
         init(propertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>): void;
         prepareGLTFPlugin(loader: BABYLON.GLTFFileLoader): void;
         lightGizmos: Array<BABYLON.LightGizmo>;
@@ -1846,7 +1848,7 @@ declare module INSPECTOR {
         private static _CreateActionTabs;
         private static _CreateEmbedHost;
         static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): BABYLON.Nullable<HTMLDivElement>;
-        static readonly IsVisible: boolean;
+        static get IsVisible(): boolean;
         static EarlyAttachToLoader(): void;
         static Show(scene: BABYLON.Scene, userOptions: Partial<BABYLON.IInspectorOptions>): void;
         static _CreateCanvasContainer(parentControl: HTMLElement): void;

+ 10 - 6
dist/preview release/inspector/babylon.inspector.module.d.ts

@@ -62,9 +62,11 @@ declare module "babylonjs-inspector/components/globalState" {
         selectedLineContainerTitle: string;
         recorder: ReplayRecorder;
         private _onlyUseEulers;
-        onlyUseEulers: boolean;
+        get onlyUseEulers(): boolean;
+        set onlyUseEulers(value: boolean);
         private _ignoreBackfacesForPicking;
-        ignoreBackfacesForPicking: boolean;
+        get ignoreBackfacesForPicking(): boolean;
+        set ignoreBackfacesForPicking(value: boolean);
         init(propertyChangedObservable: Observable<PropertyChangedEvent>): void;
         prepareGLTFPlugin(loader: GLTFFileLoader): void;
         lightGizmos: Array<LightGizmo>;
@@ -2332,7 +2334,7 @@ declare module "babylonjs-inspector/inspector" {
         private static _CreateActionTabs;
         private static _CreateEmbedHost;
         static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): Nullable<HTMLDivElement>;
-        static readonly IsVisible: boolean;
+        static get IsVisible(): boolean;
         static EarlyAttachToLoader(): void;
         static Show(scene: Scene, userOptions: Partial<IInspectorOptions>): void;
         static _CreateCanvasContainer(parentControl: HTMLElement): void;
@@ -2404,9 +2406,11 @@ declare module INSPECTOR {
         selectedLineContainerTitle: string;
         recorder: ReplayRecorder;
         private _onlyUseEulers;
-        onlyUseEulers: boolean;
+        get onlyUseEulers(): boolean;
+        set onlyUseEulers(value: boolean);
         private _ignoreBackfacesForPicking;
-        ignoreBackfacesForPicking: boolean;
+        get ignoreBackfacesForPicking(): boolean;
+        set ignoreBackfacesForPicking(value: boolean);
         init(propertyChangedObservable: BABYLON.Observable<PropertyChangedEvent>): void;
         prepareGLTFPlugin(loader: BABYLON.GLTFFileLoader): void;
         lightGizmos: Array<BABYLON.LightGizmo>;
@@ -4199,7 +4203,7 @@ declare module INSPECTOR {
         private static _CreateActionTabs;
         private static _CreateEmbedHost;
         static _CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): BABYLON.Nullable<HTMLDivElement>;
-        static readonly IsVisible: boolean;
+        static get IsVisible(): boolean;
         static EarlyAttachToLoader(): void;
         static Show(scene: BABYLON.Scene, userOptions: Partial<BABYLON.IInspectorOptions>): void;
         static _CreateCanvasContainer(parentControl: HTMLElement): void;

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 23 - 21
dist/preview release/loaders/babylonjs.loaders.d.ts

@@ -104,7 +104,7 @@ declare module BABYLON {
         /**
          * Raised when the asset has been parsed
          */
-        onParsed: (loaderData: IGLTFLoaderData) => void;
+        set onParsed(callback: (loaderData: IGLTFLoaderData) => void);
         /**
          * Set this property to false to disable incremental loading which delays the loader from calling the success callback until after loading the meshes and shaders.
          * Textures always loads asynchronously. For example, the success callback can compute the bounding information of the loaded meshes when incremental loading is disabled.
@@ -166,7 +166,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a mesh after parsing the glTF properties of the mesh.
          */
-        onMeshLoaded: (mesh: AbstractMesh) => void;
+        set onMeshLoaded(callback: (mesh: AbstractMesh) => void);
         /**
          * Observable raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
@@ -175,7 +175,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
-        onTextureLoaded: (texture: BaseTexture) => void;
+        set onTextureLoaded(callback: (texture: BaseTexture) => void);
         /**
          * Observable raised when the loader creates a material after parsing the glTF properties of the material.
          */
@@ -184,7 +184,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a material after parsing the glTF properties of the material.
          */
-        onMaterialLoaded: (material: Material) => void;
+        set onMaterialLoaded(callback: (material: Material) => void);
         /**
          * Observable raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
@@ -193,7 +193,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
-        onCameraLoaded: (camera: Camera) => void;
+        set onCameraLoaded(callback: (camera: Camera) => void);
         /**
          * Observable raised when the asset is completely loaded, immediately before the loader is disposed.
          * For assets with LODs, raised when all of the LODs are complete.
@@ -206,7 +206,7 @@ declare module BABYLON {
          * For assets with LODs, raised when all of the LODs are complete.
          * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
          */
-        onComplete: () => void;
+        set onComplete(callback: () => void);
         /**
          * Observable raised when an error occurs.
          */
@@ -215,7 +215,7 @@ declare module BABYLON {
         /**
          * Callback raised when an error occurs.
          */
-        onError: (reason: any) => void;
+        set onError(callback: (reason: any) => void);
         /**
          * Observable raised after the loader is disposed.
          */
@@ -224,7 +224,7 @@ declare module BABYLON {
         /**
          * Callback raised after the loader is disposed.
          */
-        onDispose: () => void;
+        set onDispose(callback: () => void);
         /**
          * Observable raised after a loader extension is created.
          * Set additional options for a loader extension in this event.
@@ -234,15 +234,17 @@ declare module BABYLON {
         /**
          * Callback raised after a loader extension is created.
          */
-        onExtensionLoaded: (extension: IGLTFLoaderExtension) => void;
+        set onExtensionLoaded(callback: (extension: IGLTFLoaderExtension) => void);
         /**
          * Defines if the loader logging is enabled.
          */
-        loggingEnabled: boolean;
+        get loggingEnabled(): boolean;
+        set loggingEnabled(value: boolean);
         /**
          * Defines if the loader should capture performance counters.
          */
-        capturePerformanceCounters: boolean;
+        get capturePerformanceCounters(): boolean;
+        set capturePerformanceCounters(value: boolean);
         /**
          * Defines if the loader should validate the asset.
          */
@@ -255,7 +257,7 @@ declare module BABYLON {
         /**
          * Callback raised after a loader extension is created.
          */
-        onValidated: (results: BABYLON.GLTF2.IGLTFValidationResults) => void;
+        set onValidated(callback: (results: BABYLON.GLTF2.IGLTFValidationResults) => void);
         private _loader;
         /**
          * Name of the loader ("gltf")
@@ -300,7 +302,7 @@ declare module BABYLON {
         /**
          * The loader state or null if the loader is not active.
          */
-        readonly loaderState: Nullable<GLTFLoaderState>;
+        get loaderState(): Nullable<GLTFLoaderState>;
         /**
          * Returns a promise that resolves when the asset is completely loaded.
          * @returns a promise that resolves when the asset is completely loaded.
@@ -859,7 +861,7 @@ declare module BABYLON.GLTF1 {
     export abstract class GLTFLoaderExtension {
         private _name;
         constructor(name: string);
-        readonly name: string;
+        get name(): string;
         /**
         * Defines an override for loading the runtime
         * Return true to stop further extensions from loading the runtime
@@ -1308,27 +1310,27 @@ declare module BABYLON.GLTF2 {
         /**
          * Gets the loader state.
          */
-        readonly state: Nullable<GLTFLoaderState>;
+        get state(): Nullable<GLTFLoaderState>;
         /**
          * The object that represents the glTF JSON.
          */
-        readonly gltf: IGLTF;
+        get gltf(): IGLTF;
         /**
          * The BIN chunk of a binary glTF.
          */
-        readonly bin: Nullable<IDataBuffer>;
+        get bin(): Nullable<IDataBuffer>;
         /**
          * The parent file loader.
          */
-        readonly parent: GLTFFileLoader;
+        get parent(): GLTFFileLoader;
         /**
          * The Babylon scene when loading the asset.
          */
-        readonly babylonScene: Scene;
+        get babylonScene(): Scene;
         /**
          * The root Babylon mesh when loading the asset.
          */
-        readonly rootBabylonMesh: Mesh;
+        get rootBabylonMesh(): Mesh;
         /** @hidden */
         constructor(parent: GLTFFileLoader);
         /** @hidden */
@@ -2135,7 +2137,7 @@ declare module BABYLON {
          * @param meshLoadOptions options for loading and parsing OBJ/MTL files.
          */
         constructor(meshLoadOptions?: MeshLoadOptions);
-        private static readonly currentMeshLoadOptions;
+        private static get currentMeshLoadOptions();
         /**
          * Calls synchronously the MTL file attached to this obj.
          * Load function or importMesh function don't enable to load 2 files in the same time asynchronously.

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 46 - 42
dist/preview release/loaders/babylonjs.loaders.module.d.ts

@@ -120,7 +120,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Raised when the asset has been parsed
          */
-        onParsed: (loaderData: IGLTFLoaderData) => void;
+        set onParsed(callback: (loaderData: IGLTFLoaderData) => void);
         /**
          * Set this property to false to disable incremental loading which delays the loader from calling the success callback until after loading the meshes and shaders.
          * Textures always loads asynchronously. For example, the success callback can compute the bounding information of the loaded meshes when incremental loading is disabled.
@@ -182,7 +182,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a mesh after parsing the glTF properties of the mesh.
          */
-        onMeshLoaded: (mesh: AbstractMesh) => void;
+        set onMeshLoaded(callback: (mesh: AbstractMesh) => void);
         /**
          * Observable raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
@@ -191,7 +191,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
-        onTextureLoaded: (texture: BaseTexture) => void;
+        set onTextureLoaded(callback: (texture: BaseTexture) => void);
         /**
          * Observable raised when the loader creates a material after parsing the glTF properties of the material.
          */
@@ -200,7 +200,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a material after parsing the glTF properties of the material.
          */
-        onMaterialLoaded: (material: Material) => void;
+        set onMaterialLoaded(callback: (material: Material) => void);
         /**
          * Observable raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
@@ -209,7 +209,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
-        onCameraLoaded: (camera: Camera) => void;
+        set onCameraLoaded(callback: (camera: Camera) => void);
         /**
          * Observable raised when the asset is completely loaded, immediately before the loader is disposed.
          * For assets with LODs, raised when all of the LODs are complete.
@@ -222,7 +222,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
          * For assets with LODs, raised when all of the LODs are complete.
          * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
          */
-        onComplete: () => void;
+        set onComplete(callback: () => void);
         /**
          * Observable raised when an error occurs.
          */
@@ -231,7 +231,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when an error occurs.
          */
-        onError: (reason: any) => void;
+        set onError(callback: (reason: any) => void);
         /**
          * Observable raised after the loader is disposed.
          */
@@ -240,7 +240,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised after the loader is disposed.
          */
-        onDispose: () => void;
+        set onDispose(callback: () => void);
         /**
          * Observable raised after a loader extension is created.
          * Set additional options for a loader extension in this event.
@@ -250,15 +250,17 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised after a loader extension is created.
          */
-        onExtensionLoaded: (extension: IGLTFLoaderExtension) => void;
+        set onExtensionLoaded(callback: (extension: IGLTFLoaderExtension) => void);
         /**
          * Defines if the loader logging is enabled.
          */
-        loggingEnabled: boolean;
+        get loggingEnabled(): boolean;
+        set loggingEnabled(value: boolean);
         /**
          * Defines if the loader should capture performance counters.
          */
-        capturePerformanceCounters: boolean;
+        get capturePerformanceCounters(): boolean;
+        set capturePerformanceCounters(value: boolean);
         /**
          * Defines if the loader should validate the asset.
          */
@@ -271,7 +273,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised after a loader extension is created.
          */
-        onValidated: (results: GLTF2.IGLTFValidationResults) => void;
+        set onValidated(callback: (results: GLTF2.IGLTFValidationResults) => void);
         private _loader;
         /**
          * Name of the loader ("gltf")
@@ -316,7 +318,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * The loader state or null if the loader is not active.
          */
-        readonly loaderState: Nullable<GLTFLoaderState>;
+        get loaderState(): Nullable<GLTFLoaderState>;
         /**
          * Returns a promise that resolves when the asset is completely loaded.
          * @returns a promise that resolves when the asset is completely loaded.
@@ -896,7 +898,7 @@ declare module "babylonjs-loaders/glTF/1.0/glTFLoader" {
     export abstract class GLTFLoaderExtension {
         private _name;
         constructor(name: string);
-        readonly name: string;
+        get name(): string;
         /**
         * Defines an override for loading the runtime
         * Return true to stop further extensions from loading the runtime
@@ -1399,27 +1401,27 @@ declare module "babylonjs-loaders/glTF/2.0/glTFLoader" {
         /**
          * Gets the loader state.
          */
-        readonly state: Nullable<GLTFLoaderState>;
+        get state(): Nullable<GLTFLoaderState>;
         /**
          * The object that represents the glTF JSON.
          */
-        readonly gltf: IGLTF;
+        get gltf(): IGLTF;
         /**
          * The BIN chunk of a binary glTF.
          */
-        readonly bin: Nullable<IDataBuffer>;
+        get bin(): Nullable<IDataBuffer>;
         /**
          * The parent file loader.
          */
-        readonly parent: GLTFFileLoader;
+        get parent(): GLTFFileLoader;
         /**
          * The Babylon scene when loading the asset.
          */
-        readonly babylonScene: Scene;
+        get babylonScene(): Scene;
         /**
          * The root Babylon mesh when loading the asset.
          */
-        readonly rootBabylonMesh: Mesh;
+        get rootBabylonMesh(): Mesh;
         /** @hidden */
         constructor(parent: GLTFFileLoader);
         /** @hidden */
@@ -2344,7 +2346,7 @@ declare module "babylonjs-loaders/OBJ/objFileLoader" {
          * @param meshLoadOptions options for loading and parsing OBJ/MTL files.
          */
         constructor(meshLoadOptions?: MeshLoadOptions);
-        private static readonly currentMeshLoadOptions;
+        private static get currentMeshLoadOptions();
         /**
          * Calls synchronously the MTL file attached to this obj.
          * Load function or importMesh function don't enable to load 2 files in the same time asynchronously.
@@ -2645,7 +2647,7 @@ declare module BABYLON {
         /**
          * Raised when the asset has been parsed
          */
-        onParsed: (loaderData: IGLTFLoaderData) => void;
+        set onParsed(callback: (loaderData: IGLTFLoaderData) => void);
         /**
          * Set this property to false to disable incremental loading which delays the loader from calling the success callback until after loading the meshes and shaders.
          * Textures always loads asynchronously. For example, the success callback can compute the bounding information of the loaded meshes when incremental loading is disabled.
@@ -2707,7 +2709,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a mesh after parsing the glTF properties of the mesh.
          */
-        onMeshLoaded: (mesh: AbstractMesh) => void;
+        set onMeshLoaded(callback: (mesh: AbstractMesh) => void);
         /**
          * Observable raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
@@ -2716,7 +2718,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
-        onTextureLoaded: (texture: BaseTexture) => void;
+        set onTextureLoaded(callback: (texture: BaseTexture) => void);
         /**
          * Observable raised when the loader creates a material after parsing the glTF properties of the material.
          */
@@ -2725,7 +2727,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a material after parsing the glTF properties of the material.
          */
-        onMaterialLoaded: (material: Material) => void;
+        set onMaterialLoaded(callback: (material: Material) => void);
         /**
          * Observable raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
@@ -2734,7 +2736,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
-        onCameraLoaded: (camera: Camera) => void;
+        set onCameraLoaded(callback: (camera: Camera) => void);
         /**
          * Observable raised when the asset is completely loaded, immediately before the loader is disposed.
          * For assets with LODs, raised when all of the LODs are complete.
@@ -2747,7 +2749,7 @@ declare module BABYLON {
          * For assets with LODs, raised when all of the LODs are complete.
          * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
          */
-        onComplete: () => void;
+        set onComplete(callback: () => void);
         /**
          * Observable raised when an error occurs.
          */
@@ -2756,7 +2758,7 @@ declare module BABYLON {
         /**
          * Callback raised when an error occurs.
          */
-        onError: (reason: any) => void;
+        set onError(callback: (reason: any) => void);
         /**
          * Observable raised after the loader is disposed.
          */
@@ -2765,7 +2767,7 @@ declare module BABYLON {
         /**
          * Callback raised after the loader is disposed.
          */
-        onDispose: () => void;
+        set onDispose(callback: () => void);
         /**
          * Observable raised after a loader extension is created.
          * Set additional options for a loader extension in this event.
@@ -2775,15 +2777,17 @@ declare module BABYLON {
         /**
          * Callback raised after a loader extension is created.
          */
-        onExtensionLoaded: (extension: IGLTFLoaderExtension) => void;
+        set onExtensionLoaded(callback: (extension: IGLTFLoaderExtension) => void);
         /**
          * Defines if the loader logging is enabled.
          */
-        loggingEnabled: boolean;
+        get loggingEnabled(): boolean;
+        set loggingEnabled(value: boolean);
         /**
          * Defines if the loader should capture performance counters.
          */
-        capturePerformanceCounters: boolean;
+        get capturePerformanceCounters(): boolean;
+        set capturePerformanceCounters(value: boolean);
         /**
          * Defines if the loader should validate the asset.
          */
@@ -2796,7 +2800,7 @@ declare module BABYLON {
         /**
          * Callback raised after a loader extension is created.
          */
-        onValidated: (results: BABYLON.GLTF2.IGLTFValidationResults) => void;
+        set onValidated(callback: (results: BABYLON.GLTF2.IGLTFValidationResults) => void);
         private _loader;
         /**
          * Name of the loader ("gltf")
@@ -2841,7 +2845,7 @@ declare module BABYLON {
         /**
          * The loader state or null if the loader is not active.
          */
-        readonly loaderState: Nullable<GLTFLoaderState>;
+        get loaderState(): Nullable<GLTFLoaderState>;
         /**
          * Returns a promise that resolves when the asset is completely loaded.
          * @returns a promise that resolves when the asset is completely loaded.
@@ -3400,7 +3404,7 @@ declare module BABYLON.GLTF1 {
     export abstract class GLTFLoaderExtension {
         private _name;
         constructor(name: string);
-        readonly name: string;
+        get name(): string;
         /**
         * Defines an override for loading the runtime
         * Return true to stop further extensions from loading the runtime
@@ -3849,27 +3853,27 @@ declare module BABYLON.GLTF2 {
         /**
          * Gets the loader state.
          */
-        readonly state: Nullable<GLTFLoaderState>;
+        get state(): Nullable<GLTFLoaderState>;
         /**
          * The object that represents the glTF JSON.
          */
-        readonly gltf: IGLTF;
+        get gltf(): IGLTF;
         /**
          * The BIN chunk of a binary glTF.
          */
-        readonly bin: Nullable<IDataBuffer>;
+        get bin(): Nullable<IDataBuffer>;
         /**
          * The parent file loader.
          */
-        readonly parent: GLTFFileLoader;
+        get parent(): GLTFFileLoader;
         /**
          * The Babylon scene when loading the asset.
          */
-        readonly babylonScene: Scene;
+        get babylonScene(): Scene;
         /**
          * The root Babylon mesh when loading the asset.
          */
-        readonly rootBabylonMesh: Mesh;
+        get rootBabylonMesh(): Mesh;
         /** @hidden */
         constructor(parent: GLTFFileLoader);
         /** @hidden */
@@ -4676,7 +4680,7 @@ declare module BABYLON {
          * @param meshLoadOptions options for loading and parsing OBJ/MTL files.
          */
         constructor(meshLoadOptions?: MeshLoadOptions);
-        private static readonly currentMeshLoadOptions;
+        private static get currentMeshLoadOptions();
         /**
          * Calls synchronously the MTL file attached to this obj.
          * Load function or importMesh function don't enable to load 2 files in the same time asynchronously.

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/materialsLibrary/babylon.customMaterial.min.js


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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 10 - 7
dist/preview release/materialsLibrary/babylonjs.materials.d.ts

@@ -232,7 +232,8 @@ declare module BABYLON {
         private _renderId;
         private _furTime;
         constructor(name: string, scene: BABYLON.Scene);
-        furTime: number;
+        get furTime(): number;
+        set furTime(furTime: number);
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
@@ -556,7 +557,8 @@ declare module BABYLON {
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
-        activeLight: BABYLON.IShadowLight;
+        get activeLight(): BABYLON.IShadowLight;
+        set activeLight(light: BABYLON.IShadowLight);
         isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
         bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
         clone(name: string): ShadowOnlyMaterial;
@@ -962,18 +964,19 @@ declare module BABYLON {
         /**
          * Gets a boolean indicating that current material needs to register RTT
          */
-        readonly hasRenderTargetTextures: boolean;
+        get hasRenderTargetTextures(): boolean;
         /**
         * Constructor
         */
         constructor(name: string, scene: BABYLON.Scene, renderTargetSize?: BABYLON.Vector2);
-        useLogarithmicDepth: boolean;
-        readonly refractionTexture: BABYLON.Nullable<BABYLON.RenderTargetTexture>;
-        readonly reflectionTexture: BABYLON.Nullable<BABYLON.RenderTargetTexture>;
+        get useLogarithmicDepth(): boolean;
+        set useLogarithmicDepth(value: boolean);
+        get refractionTexture(): BABYLON.Nullable<BABYLON.RenderTargetTexture>;
+        get reflectionTexture(): BABYLON.Nullable<BABYLON.RenderTargetTexture>;
         addToRenderList(node: any): void;
         enableRenderTargets(enable: boolean): void;
         getRenderList(): BABYLON.Nullable<BABYLON.AbstractMesh[]>;
-        readonly renderTargetsEnabled: boolean;
+        get renderTargetsEnabled(): boolean;
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/materialsLibrary/babylonjs.materials.min.js


+ 20 - 14
dist/preview release/materialsLibrary/babylonjs.materials.module.d.ts

@@ -348,7 +348,8 @@ declare module "babylonjs-materials/fur/furMaterial" {
         private _renderId;
         private _furTime;
         constructor(name: string, scene: Scene);
-        furTime: number;
+        get furTime(): number;
+        set furTime(furTime: number);
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -876,7 +877,8 @@ declare module "babylonjs-materials/shadowOnly/shadowOnlyMaterial" {
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): Nullable<BaseTexture>;
-        activeLight: IShadowLight;
+        get activeLight(): IShadowLight;
+        set activeLight(light: IShadowLight);
         isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
         bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
         clone(name: string): ShadowOnlyMaterial;
@@ -1460,18 +1462,19 @@ declare module "babylonjs-materials/water/waterMaterial" {
         /**
          * Gets a boolean indicating that current material needs to register RTT
          */
-        readonly hasRenderTargetTextures: boolean;
+        get hasRenderTargetTextures(): boolean;
         /**
         * Constructor
         */
         constructor(name: string, scene: Scene, renderTargetSize?: Vector2);
-        useLogarithmicDepth: boolean;
-        readonly refractionTexture: Nullable<RenderTargetTexture>;
-        readonly reflectionTexture: Nullable<RenderTargetTexture>;
+        get useLogarithmicDepth(): boolean;
+        set useLogarithmicDepth(value: boolean);
+        get refractionTexture(): Nullable<RenderTargetTexture>;
+        get reflectionTexture(): Nullable<RenderTargetTexture>;
         addToRenderList(node: any): void;
         enableRenderTargets(enable: boolean): void;
         getRenderList(): Nullable<AbstractMesh[]>;
-        readonly renderTargetsEnabled: boolean;
+        get renderTargetsEnabled(): boolean;
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -1794,7 +1797,8 @@ declare module BABYLON {
         private _renderId;
         private _furTime;
         constructor(name: string, scene: BABYLON.Scene);
-        furTime: number;
+        get furTime(): number;
+        set furTime(furTime: number);
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
@@ -2118,7 +2122,8 @@ declare module BABYLON {
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
-        activeLight: BABYLON.IShadowLight;
+        get activeLight(): BABYLON.IShadowLight;
+        set activeLight(light: BABYLON.IShadowLight);
         isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh, useInstances?: boolean): boolean;
         bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
         clone(name: string): ShadowOnlyMaterial;
@@ -2524,18 +2529,19 @@ declare module BABYLON {
         /**
          * Gets a boolean indicating that current material needs to register RTT
          */
-        readonly hasRenderTargetTextures: boolean;
+        get hasRenderTargetTextures(): boolean;
         /**
         * Constructor
         */
         constructor(name: string, scene: BABYLON.Scene, renderTargetSize?: BABYLON.Vector2);
-        useLogarithmicDepth: boolean;
-        readonly refractionTexture: BABYLON.Nullable<BABYLON.RenderTargetTexture>;
-        readonly reflectionTexture: BABYLON.Nullable<BABYLON.RenderTargetTexture>;
+        get useLogarithmicDepth(): boolean;
+        set useLogarithmicDepth(value: boolean);
+        get refractionTexture(): BABYLON.Nullable<BABYLON.RenderTargetTexture>;
+        get reflectionTexture(): BABYLON.Nullable<BABYLON.RenderTargetTexture>;
         addToRenderList(node: any): void;
         enableRenderTargets(enable: boolean): void;
         getRenderList(): BABYLON.Nullable<BABYLON.AbstractMesh[]>;
-        readonly renderTargetsEnabled: boolean;
+        get renderTargetsEnabled(): boolean;
         needAlphaBlending(): boolean;
         needAlphaTesting(): boolean;
         getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;

+ 64 - 44
dist/preview release/nodeEditor/babylon.nodeEditor.d.ts

@@ -63,7 +63,7 @@ declare module NODEEDITOR {
         private _globalState;
         private _onCandidateLinkMovedObserver;
         delegatedPort: BABYLON.Nullable<NodePort>;
-        readonly element: HTMLDivElement;
+        get element(): HTMLDivElement;
         refresh(): void;
         constructor(portContainer: HTMLElement, connectionPoint: BABYLON.NodeMaterialConnectionPoint, node: GraphNode, globalState: GlobalState);
         dispose(): void;
@@ -104,6 +104,7 @@ declare module NODEEDITOR {
         private _width;
         private _height;
         element: HTMLDivElement;
+        private _borderElement;
         private _headerElement;
         private _headerTextElement;
         private _headerCollapseElement;
@@ -122,15 +123,22 @@ declare module NODEEDITOR {
         private readonly CloseSVG;
         private readonly ExpandSVG;
         private readonly CollapseSVG;
-        isCollapsed: boolean;
+        get isCollapsed(): boolean;
         private _createInputPort;
-        readonly nodes: GraphNode[];
-        name: string;
-        color: BABYLON.Color3;
-        x: number;
-        y: number;
-        width: number;
-        height: number;
+        set isCollapsed(value: boolean);
+        get nodes(): GraphNode[];
+        get name(): string;
+        set name(value: string);
+        get color(): BABYLON.Color3;
+        set color(value: BABYLON.Color3);
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get width(): number;
+        set width(value: number);
+        get height(): number;
+        set height(value: number);
         constructor(candidate: BABYLON.Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
         refresh(): void;
         addNode(node: GraphNode): void;
@@ -158,11 +166,12 @@ declare module NODEEDITOR {
         private _onSelectionChangedObserver;
         private _isVisible;
         onDisposedObservable: BABYLON.Observable<NodeLink>;
-        isVisible: boolean;
-        readonly portA: NodePort;
-        readonly portB: NodePort | undefined;
-        readonly nodeA: GraphNode;
-        readonly nodeB: GraphNode | undefined;
+        get isVisible(): boolean;
+        set isVisible(value: boolean);
+        get portA(): NodePort;
+        get portB(): NodePort | undefined;
+        get nodeA(): GraphNode;
+        get nodeB(): GraphNode | undefined;
         update(endX?: number, endY?: number, straight?: boolean): void;
         constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
         onClick(): void;
@@ -206,21 +215,25 @@ declare module NODEEDITOR {
         private _ctrlKeyIsPressed;
         private _oldY;
         _frameIsMoving: boolean;
-        gridSize: number;
-        readonly globalState: GlobalState;
-        readonly nodes: GraphNode[];
-        readonly links: NodeLink[];
-        readonly frames: GraphFrame[];
-        zoom: number;
-        x: number;
-        y: number;
-        readonly selectedNodes: GraphNode[];
-        readonly selectedLink: BABYLON.Nullable<NodeLink>;
-        readonly selectedFrame: BABYLON.Nullable<GraphFrame>;
-        readonly canvasContainer: HTMLDivElement;
-        readonly svgCanvas: HTMLElement;
-        readonly selectionContainer: HTMLDivElement;
-        readonly frameContainer: HTMLDivElement;
+        get gridSize(): number;
+        set gridSize(value: number);
+        get globalState(): GlobalState;
+        get nodes(): GraphNode[];
+        get links(): NodeLink[];
+        get frames(): GraphFrame[];
+        get zoom(): number;
+        set zoom(value: number);
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get selectedNodes(): GraphNode[];
+        get selectedLink(): BABYLON.Nullable<NodeLink>;
+        get selectedFrame(): BABYLON.Nullable<GraphFrame>;
+        get canvasContainer(): HTMLDivElement;
+        get svgCanvas(): HTMLElement;
+        get selectionContainer(): HTMLDivElement;
+        get frameContainer(): HTMLDivElement;
         constructor(props: IGraphCanvasComponentProps);
         getGridPosition(position: number, useCeil?: boolean): number;
         getGridPositionCeil(position: number): number;
@@ -756,7 +769,7 @@ declare module NODEEDITOR {
         isEmbedded: boolean;
         loadAsCubeTexture: boolean;
     }> {
-        readonly textureBlock: BABYLON.TextureBlock | BABYLON.ReflectionTextureBlock;
+        get textureBlock(): BABYLON.TextureBlock | BABYLON.ReflectionTextureBlock;
         constructor(props: IPropertyComponentProps);
         UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
             isEmbedded: boolean;
@@ -936,19 +949,23 @@ declare module NODEEDITOR {
         private _isSelected;
         private _displayManager;
         private _isVisible;
-        isVisible: boolean;
-        readonly outputPorts: NodePort[];
-        readonly inputPorts: NodePort[];
-        readonly links: NodeLink[];
-        readonly gridAlignedX: number;
-        readonly gridAlignedY: number;
-        x: number;
-        y: number;
-        readonly width: number;
-        readonly height: number;
-        readonly id: number;
-        readonly name: string;
-        isSelected: boolean;
+        get isVisible(): boolean;
+        set isVisible(value: boolean);
+        get outputPorts(): NodePort[];
+        get inputPorts(): NodePort[];
+        get links(): NodeLink[];
+        get gridAlignedX(): number;
+        get gridAlignedY(): number;
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get width(): number;
+        get height(): number;
+        get id(): number;
+        get name(): string;
+        get isSelected(): boolean;
+        set isSelected(value: boolean);
         constructor(block: BABYLON.NodeMaterialBlock, globalState: GlobalState);
         isOverlappingFrame(frame: GraphFrame): boolean;
         getPortForConnectionPoint(point: BABYLON.NodeMaterialConnectionPoint): BABYLON.Nullable<NodePort>;
@@ -986,7 +1003,7 @@ declare module NODEEDITOR {
         onDepthPrePassChanged: BABYLON.Observable<void>;
         onAnimationCommandActivated: BABYLON.Observable<void>;
         onCandidateLinkMoved: BABYLON.Observable<BABYLON.Nullable<BABYLON.Vector2>>;
-        onSelectionBoxMoved: BABYLON.Observable<ClientRect | DOMRect>;
+        onSelectionBoxMoved: BABYLON.Observable<DOMRect | ClientRect>;
         onFrameCreated: BABYLON.Observable<GraphFrame>;
         onCandidatePortSelected: BABYLON.Observable<BABYLON.Nullable<NodePort>>;
         onGetNodeFromBlock: (block: BABYLON.NodeMaterialBlock) => GraphNode;
@@ -1145,6 +1162,7 @@ declare module NODEEDITOR {
         private _blocks;
         private _previewManager;
         private _copiedNodes;
+        private _copiedFrame;
         private _mouseLocationX;
         private _mouseLocationY;
         private _onWidgetKeyUpPointer;
@@ -1157,6 +1175,8 @@ declare module NODEEDITOR {
         componentDidMount(): void;
         componentWillUnmount(): void;
         constructor(props: IGraphEditorProps);
+        reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
+        pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number): void;
         zoomToFit(): void;
         buildMaterial(): void;
         build(): void;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 6 - 6
dist/preview release/nodeEditor/babylon.nodeEditor.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2604 - 1324
dist/preview release/nodeEditor/babylon.nodeEditor.max.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/nodeEditor/babylon.nodeEditor.max.js.map


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

@@ -133,7 +133,7 @@ declare module "babylonjs-node-editor/diagram/nodePort" {
         private _globalState;
         private _onCandidateLinkMovedObserver;
         delegatedPort: Nullable<NodePort>;
-        readonly element: HTMLDivElement;
+        get element(): HTMLDivElement;
         refresh(): void;
         constructor(portContainer: HTMLElement, connectionPoint: NodeMaterialConnectionPoint, node: GraphNode, globalState: GlobalState);
         dispose(): void;
@@ -179,6 +179,7 @@ declare module "babylonjs-node-editor/diagram/graphFrame" {
         private _width;
         private _height;
         element: HTMLDivElement;
+        private _borderElement;
         private _headerElement;
         private _headerTextElement;
         private _headerCollapseElement;
@@ -197,15 +198,22 @@ declare module "babylonjs-node-editor/diagram/graphFrame" {
         private readonly CloseSVG;
         private readonly ExpandSVG;
         private readonly CollapseSVG;
-        isCollapsed: boolean;
+        get isCollapsed(): boolean;
         private _createInputPort;
-        readonly nodes: GraphNode[];
-        name: string;
-        color: Color3;
-        x: number;
-        y: number;
-        width: number;
-        height: number;
+        set isCollapsed(value: boolean);
+        get nodes(): GraphNode[];
+        get name(): string;
+        set name(value: string);
+        get color(): Color3;
+        set color(value: Color3);
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get width(): number;
+        set width(value: number);
+        get height(): number;
+        set height(value: number);
         constructor(candidate: Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
         refresh(): void;
         addNode(node: GraphNode): void;
@@ -237,11 +245,12 @@ declare module "babylonjs-node-editor/diagram/nodeLink" {
         private _onSelectionChangedObserver;
         private _isVisible;
         onDisposedObservable: Observable<NodeLink>;
-        isVisible: boolean;
-        readonly portA: NodePort;
-        readonly portB: NodePort | undefined;
-        readonly nodeA: GraphNode;
-        readonly nodeB: GraphNode | undefined;
+        get isVisible(): boolean;
+        set isVisible(value: boolean);
+        get portA(): NodePort;
+        get portB(): NodePort | undefined;
+        get nodeA(): GraphNode;
+        get nodeB(): GraphNode | undefined;
         update(endX?: number, endY?: number, straight?: boolean): void;
         constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
         onClick(): void;
@@ -294,21 +303,25 @@ declare module "babylonjs-node-editor/diagram/graphCanvas" {
         private _ctrlKeyIsPressed;
         private _oldY;
         _frameIsMoving: boolean;
-        gridSize: number;
-        readonly globalState: GlobalState;
-        readonly nodes: GraphNode[];
-        readonly links: NodeLink[];
-        readonly frames: GraphFrame[];
-        zoom: number;
-        x: number;
-        y: number;
-        readonly selectedNodes: GraphNode[];
-        readonly selectedLink: Nullable<NodeLink>;
-        readonly selectedFrame: Nullable<GraphFrame>;
-        readonly canvasContainer: HTMLDivElement;
-        readonly svgCanvas: HTMLElement;
-        readonly selectionContainer: HTMLDivElement;
-        readonly frameContainer: HTMLDivElement;
+        get gridSize(): number;
+        set gridSize(value: number);
+        get globalState(): GlobalState;
+        get nodes(): GraphNode[];
+        get links(): NodeLink[];
+        get frames(): GraphFrame[];
+        get zoom(): number;
+        set zoom(value: number);
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get selectedNodes(): GraphNode[];
+        get selectedLink(): Nullable<NodeLink>;
+        get selectedFrame(): Nullable<GraphFrame>;
+        get canvasContainer(): HTMLDivElement;
+        get svgCanvas(): HTMLElement;
+        get selectionContainer(): HTMLDivElement;
+        get frameContainer(): HTMLDivElement;
         constructor(props: IGraphCanvasComponentProps);
         getGridPosition(position: number, useCeil?: boolean): number;
         getGridPositionCeil(position: number): number;
@@ -934,7 +947,7 @@ declare module "babylonjs-node-editor/diagram/properties/texturePropertyTabCompo
         isEmbedded: boolean;
         loadAsCubeTexture: boolean;
     }> {
-        readonly textureBlock: TextureBlock | ReflectionTextureBlock;
+        get textureBlock(): TextureBlock | ReflectionTextureBlock;
         constructor(props: IPropertyComponentProps);
         UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
             isEmbedded: boolean;
@@ -1143,19 +1156,23 @@ declare module "babylonjs-node-editor/diagram/graphNode" {
         private _isSelected;
         private _displayManager;
         private _isVisible;
-        isVisible: boolean;
-        readonly outputPorts: NodePort[];
-        readonly inputPorts: NodePort[];
-        readonly links: NodeLink[];
-        readonly gridAlignedX: number;
-        readonly gridAlignedY: number;
-        x: number;
-        y: number;
-        readonly width: number;
-        readonly height: number;
-        readonly id: number;
-        readonly name: string;
-        isSelected: boolean;
+        get isVisible(): boolean;
+        set isVisible(value: boolean);
+        get outputPorts(): NodePort[];
+        get inputPorts(): NodePort[];
+        get links(): NodeLink[];
+        get gridAlignedX(): number;
+        get gridAlignedY(): number;
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get width(): number;
+        get height(): number;
+        get id(): number;
+        get name(): string;
+        get isSelected(): boolean;
+        set isSelected(value: boolean);
         constructor(block: NodeMaterialBlock, globalState: GlobalState);
         isOverlappingFrame(frame: GraphFrame): boolean;
         getPortForConnectionPoint(point: NodeMaterialConnectionPoint): Nullable<NodePort>;
@@ -1205,7 +1222,7 @@ declare module "babylonjs-node-editor/globalState" {
         onDepthPrePassChanged: Observable<void>;
         onAnimationCommandActivated: Observable<void>;
         onCandidateLinkMoved: Observable<Nullable<Vector2>>;
-        onSelectionBoxMoved: Observable<ClientRect | DOMRect>;
+        onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
         onFrameCreated: Observable<GraphFrame>;
         onCandidatePortSelected: Observable<Nullable<NodePort>>;
         onGetNodeFromBlock: (block: NodeMaterialBlock) => GraphNode;
@@ -1390,6 +1407,7 @@ declare module "babylonjs-node-editor/graphEditor" {
         private _blocks;
         private _previewManager;
         private _copiedNodes;
+        private _copiedFrame;
         private _mouseLocationX;
         private _mouseLocationY;
         private _onWidgetKeyUpPointer;
@@ -1402,6 +1420,8 @@ declare module "babylonjs-node-editor/graphEditor" {
         componentDidMount(): void;
         componentWillUnmount(): void;
         constructor(props: IGraphEditorProps);
+        reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
+        pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number): void;
         zoomToFit(): void;
         buildMaterial(): void;
         build(): void;
@@ -1521,7 +1541,7 @@ declare module NODEEDITOR {
         private _globalState;
         private _onCandidateLinkMovedObserver;
         delegatedPort: BABYLON.Nullable<NodePort>;
-        readonly element: HTMLDivElement;
+        get element(): HTMLDivElement;
         refresh(): void;
         constructor(portContainer: HTMLElement, connectionPoint: BABYLON.NodeMaterialConnectionPoint, node: GraphNode, globalState: GlobalState);
         dispose(): void;
@@ -1562,6 +1582,7 @@ declare module NODEEDITOR {
         private _width;
         private _height;
         element: HTMLDivElement;
+        private _borderElement;
         private _headerElement;
         private _headerTextElement;
         private _headerCollapseElement;
@@ -1580,15 +1601,22 @@ declare module NODEEDITOR {
         private readonly CloseSVG;
         private readonly ExpandSVG;
         private readonly CollapseSVG;
-        isCollapsed: boolean;
+        get isCollapsed(): boolean;
         private _createInputPort;
-        readonly nodes: GraphNode[];
-        name: string;
-        color: BABYLON.Color3;
-        x: number;
-        y: number;
-        width: number;
-        height: number;
+        set isCollapsed(value: boolean);
+        get nodes(): GraphNode[];
+        get name(): string;
+        set name(value: string);
+        get color(): BABYLON.Color3;
+        set color(value: BABYLON.Color3);
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get width(): number;
+        set width(value: number);
+        get height(): number;
+        set height(value: number);
         constructor(candidate: BABYLON.Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
         refresh(): void;
         addNode(node: GraphNode): void;
@@ -1616,11 +1644,12 @@ declare module NODEEDITOR {
         private _onSelectionChangedObserver;
         private _isVisible;
         onDisposedObservable: BABYLON.Observable<NodeLink>;
-        isVisible: boolean;
-        readonly portA: NodePort;
-        readonly portB: NodePort | undefined;
-        readonly nodeA: GraphNode;
-        readonly nodeB: GraphNode | undefined;
+        get isVisible(): boolean;
+        set isVisible(value: boolean);
+        get portA(): NodePort;
+        get portB(): NodePort | undefined;
+        get nodeA(): GraphNode;
+        get nodeB(): GraphNode | undefined;
         update(endX?: number, endY?: number, straight?: boolean): void;
         constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
         onClick(): void;
@@ -1664,21 +1693,25 @@ declare module NODEEDITOR {
         private _ctrlKeyIsPressed;
         private _oldY;
         _frameIsMoving: boolean;
-        gridSize: number;
-        readonly globalState: GlobalState;
-        readonly nodes: GraphNode[];
-        readonly links: NodeLink[];
-        readonly frames: GraphFrame[];
-        zoom: number;
-        x: number;
-        y: number;
-        readonly selectedNodes: GraphNode[];
-        readonly selectedLink: BABYLON.Nullable<NodeLink>;
-        readonly selectedFrame: BABYLON.Nullable<GraphFrame>;
-        readonly canvasContainer: HTMLDivElement;
-        readonly svgCanvas: HTMLElement;
-        readonly selectionContainer: HTMLDivElement;
-        readonly frameContainer: HTMLDivElement;
+        get gridSize(): number;
+        set gridSize(value: number);
+        get globalState(): GlobalState;
+        get nodes(): GraphNode[];
+        get links(): NodeLink[];
+        get frames(): GraphFrame[];
+        get zoom(): number;
+        set zoom(value: number);
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get selectedNodes(): GraphNode[];
+        get selectedLink(): BABYLON.Nullable<NodeLink>;
+        get selectedFrame(): BABYLON.Nullable<GraphFrame>;
+        get canvasContainer(): HTMLDivElement;
+        get svgCanvas(): HTMLElement;
+        get selectionContainer(): HTMLDivElement;
+        get frameContainer(): HTMLDivElement;
         constructor(props: IGraphCanvasComponentProps);
         getGridPosition(position: number, useCeil?: boolean): number;
         getGridPositionCeil(position: number): number;
@@ -2214,7 +2247,7 @@ declare module NODEEDITOR {
         isEmbedded: boolean;
         loadAsCubeTexture: boolean;
     }> {
-        readonly textureBlock: BABYLON.TextureBlock | BABYLON.ReflectionTextureBlock;
+        get textureBlock(): BABYLON.TextureBlock | BABYLON.ReflectionTextureBlock;
         constructor(props: IPropertyComponentProps);
         UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
             isEmbedded: boolean;
@@ -2394,19 +2427,23 @@ declare module NODEEDITOR {
         private _isSelected;
         private _displayManager;
         private _isVisible;
-        isVisible: boolean;
-        readonly outputPorts: NodePort[];
-        readonly inputPorts: NodePort[];
-        readonly links: NodeLink[];
-        readonly gridAlignedX: number;
-        readonly gridAlignedY: number;
-        x: number;
-        y: number;
-        readonly width: number;
-        readonly height: number;
-        readonly id: number;
-        readonly name: string;
-        isSelected: boolean;
+        get isVisible(): boolean;
+        set isVisible(value: boolean);
+        get outputPorts(): NodePort[];
+        get inputPorts(): NodePort[];
+        get links(): NodeLink[];
+        get gridAlignedX(): number;
+        get gridAlignedY(): number;
+        get x(): number;
+        set x(value: number);
+        get y(): number;
+        set y(value: number);
+        get width(): number;
+        get height(): number;
+        get id(): number;
+        get name(): string;
+        get isSelected(): boolean;
+        set isSelected(value: boolean);
         constructor(block: BABYLON.NodeMaterialBlock, globalState: GlobalState);
         isOverlappingFrame(frame: GraphFrame): boolean;
         getPortForConnectionPoint(point: BABYLON.NodeMaterialConnectionPoint): BABYLON.Nullable<NodePort>;
@@ -2444,7 +2481,7 @@ declare module NODEEDITOR {
         onDepthPrePassChanged: BABYLON.Observable<void>;
         onAnimationCommandActivated: BABYLON.Observable<void>;
         onCandidateLinkMoved: BABYLON.Observable<BABYLON.Nullable<BABYLON.Vector2>>;
-        onSelectionBoxMoved: BABYLON.Observable<ClientRect | DOMRect>;
+        onSelectionBoxMoved: BABYLON.Observable<DOMRect | ClientRect>;
         onFrameCreated: BABYLON.Observable<GraphFrame>;
         onCandidatePortSelected: BABYLON.Observable<BABYLON.Nullable<NodePort>>;
         onGetNodeFromBlock: (block: BABYLON.NodeMaterialBlock) => GraphNode;
@@ -2603,6 +2640,7 @@ declare module NODEEDITOR {
         private _blocks;
         private _previewManager;
         private _copiedNodes;
+        private _copiedFrame;
         private _mouseLocationX;
         private _mouseLocationY;
         private _onWidgetKeyUpPointer;
@@ -2615,6 +2653,8 @@ declare module NODEEDITOR {
         componentDidMount(): void;
         componentWillUnmount(): void;
         constructor(props: IGraphEditorProps);
+        reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
+        pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number): void;
         zoomToFit(): void;
         buildMaterial(): void;
         build(): void;

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

@@ -1 +1 @@
-{"thinEngineOnly":119146,"engineOnly":155955,"sceneOnly":501692,"minGridMaterial":631692,"minStandardMaterial":755590}
+{"thinEngineOnly":119323,"engineOnly":156166,"sceneOnly":501891,"minGridMaterial":631891,"minStandardMaterial":755789}

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/postProcessesLibrary/babylon.oceanPostProcess.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 13 - 11
dist/preview release/postProcessesLibrary/babylonjs.postProcess.d.ts

@@ -19,7 +19,7 @@ declare module BABYLON {
         /**
          * Gets the size of one char in the texture (each char fits in size * size space in the texture).
          */
-        readonly charSize: number;
+        get charSize(): number;
         /**
          * Create a new instance of the Ascii Art FontTexture class
          * @param name the name of the texture
@@ -127,7 +127,7 @@ declare module BABYLON {
         /**
          * Gets the size of one char in the texture (each char fits in size * size space in the texture).
          */
-        readonly charSize: number;
+        get charSize(): number;
         /**
          * Create a new instance of the Digital Rain FontTexture class
          * @param name the name of the texture
@@ -254,24 +254,26 @@ declare module BABYLON {
         /**
          * Gets a boolean indicating if the real-time reflection is enabled on the ocean.
          */
+        get reflectionEnabled(): boolean;
         /**
-        * Sets weither or not the real-time reflection is enabled on the ocean.
-        * Is set to true, the reflection mirror texture will be used as reflection texture.
-        */
-        reflectionEnabled: boolean;
+         * Sets weither or not the real-time reflection is enabled on the ocean.
+         * Is set to true, the reflection mirror texture will be used as reflection texture.
+         */
+        set reflectionEnabled(enabled: boolean);
         /**
          * Gets a boolean indicating if the real-time refraction is enabled on the ocean.
          */
+        get refractionEnabled(): boolean;
         /**
-        * Sets weither or not the real-time refraction is enabled on the ocean.
-        * Is set to true, the refraction render target texture will be used as refraction texture.
-        */
-        refractionEnabled: boolean;
+         * Sets weither or not the real-time refraction is enabled on the ocean.
+         * Is set to true, the refraction render target texture will be used as refraction texture.
+         */
+        set refractionEnabled(enabled: boolean);
         /**
          * Gets wether or not the post-processes is supported by the running hardware.
          * This requires draw buffer supports.
          */
-        readonly isSupported: boolean;
+        get isSupported(): boolean;
         /**
          * This is the reflection mirror texture used to display reflections on the ocean.
          * By default, render list is empty.

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 26 - 22
dist/preview release/postProcessesLibrary/babylonjs.postProcess.module.d.ts

@@ -25,7 +25,7 @@ declare module "babylonjs-post-process/asciiArt/asciiArtPostProcess" {
         /**
          * Gets the size of one char in the texture (each char fits in size * size space in the texture).
          */
-        readonly charSize: number;
+        get charSize(): number;
         /**
          * Create a new instance of the Ascii Art FontTexture class
          * @param name the name of the texture
@@ -142,7 +142,7 @@ declare module "babylonjs-post-process/digitalRain/digitalRainPostProcess" {
         /**
          * Gets the size of one char in the texture (each char fits in size * size space in the texture).
          */
-        readonly charSize: number;
+        get charSize(): number;
         /**
          * Create a new instance of the Digital Rain FontTexture class
          * @param name the name of the texture
@@ -277,24 +277,26 @@ declare module "babylonjs-post-process/ocean/oceanPostProcess" {
         /**
          * Gets a boolean indicating if the real-time reflection is enabled on the ocean.
          */
+        get reflectionEnabled(): boolean;
         /**
-        * Sets weither or not the real-time reflection is enabled on the ocean.
-        * Is set to true, the reflection mirror texture will be used as reflection texture.
-        */
-        reflectionEnabled: boolean;
+         * Sets weither or not the real-time reflection is enabled on the ocean.
+         * Is set to true, the reflection mirror texture will be used as reflection texture.
+         */
+        set reflectionEnabled(enabled: boolean);
         /**
          * Gets a boolean indicating if the real-time refraction is enabled on the ocean.
          */
+        get refractionEnabled(): boolean;
         /**
-        * Sets weither or not the real-time refraction is enabled on the ocean.
-        * Is set to true, the refraction render target texture will be used as refraction texture.
-        */
-        refractionEnabled: boolean;
+         * Sets weither or not the real-time refraction is enabled on the ocean.
+         * Is set to true, the refraction render target texture will be used as refraction texture.
+         */
+        set refractionEnabled(enabled: boolean);
         /**
          * Gets wether or not the post-processes is supported by the running hardware.
          * This requires draw buffer supports.
          */
-        readonly isSupported: boolean;
+        get isSupported(): boolean;
         /**
          * This is the reflection mirror texture used to display reflections on the ocean.
          * By default, render list is empty.
@@ -372,7 +374,7 @@ declare module BABYLON {
         /**
          * Gets the size of one char in the texture (each char fits in size * size space in the texture).
          */
-        readonly charSize: number;
+        get charSize(): number;
         /**
          * Create a new instance of the Ascii Art FontTexture class
          * @param name the name of the texture
@@ -480,7 +482,7 @@ declare module BABYLON {
         /**
          * Gets the size of one char in the texture (each char fits in size * size space in the texture).
          */
-        readonly charSize: number;
+        get charSize(): number;
         /**
          * Create a new instance of the Digital Rain FontTexture class
          * @param name the name of the texture
@@ -607,24 +609,26 @@ declare module BABYLON {
         /**
          * Gets a boolean indicating if the real-time reflection is enabled on the ocean.
          */
+        get reflectionEnabled(): boolean;
         /**
-        * Sets weither or not the real-time reflection is enabled on the ocean.
-        * Is set to true, the reflection mirror texture will be used as reflection texture.
-        */
-        reflectionEnabled: boolean;
+         * Sets weither or not the real-time reflection is enabled on the ocean.
+         * Is set to true, the reflection mirror texture will be used as reflection texture.
+         */
+        set reflectionEnabled(enabled: boolean);
         /**
          * Gets a boolean indicating if the real-time refraction is enabled on the ocean.
          */
+        get refractionEnabled(): boolean;
         /**
-        * Sets weither or not the real-time refraction is enabled on the ocean.
-        * Is set to true, the refraction render target texture will be used as refraction texture.
-        */
-        refractionEnabled: boolean;
+         * Sets weither or not the real-time refraction is enabled on the ocean.
+         * Is set to true, the refraction render target texture will be used as refraction texture.
+         */
+        set refractionEnabled(enabled: boolean);
         /**
          * Gets wether or not the post-processes is supported by the running hardware.
          * This requires draw buffer supports.
          */
-        readonly isSupported: boolean;
+        get isSupported(): boolean;
         /**
          * This is the reflection mirror texture used to display reflections on the ocean.
          * By default, render list is empty.

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

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.cloudProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.fireProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.grassProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.marbleProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.normalMapProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.perlinNoiseProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.roadProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.starfieldProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylon.woodProceduralTexture.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 68 - 36
dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.d.ts

@@ -13,10 +13,14 @@ declare module BABYLON {
         private _brickColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        numberOfBricksHeight: number;
-        numberOfBricksWidth: number;
-        jointColor: BABYLON.Color3;
-        brickColor: BABYLON.Color3;
+        get numberOfBricksHeight(): number;
+        set numberOfBricksHeight(value: number);
+        get numberOfBricksWidth(): number;
+        set numberOfBricksWidth(value: number);
+        get jointColor(): BABYLON.Color3;
+        set jointColor(value: BABYLON.Color3);
+        get brickColor(): BABYLON.Color3;
+        set brickColor(value: BABYLON.Color3);
         /**
          * Serializes this brick procedural texture
          * @returns a serialized brick procedural texture object
@@ -45,8 +49,10 @@ declare module BABYLON {
         private _cloudColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        skyColor: BABYLON.Color4;
-        cloudColor: BABYLON.Color4;
+        get skyColor(): BABYLON.Color4;
+        set skyColor(value: BABYLON.Color4);
+        get cloudColor(): BABYLON.Color4;
+        set cloudColor(value: BABYLON.Color4);
         /**
          * Serializes this cloud procedural texture
          * @returns a serialized cloud procedural texture object
@@ -79,15 +85,20 @@ declare module BABYLON {
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
         render(useCameraPostProcess?: boolean): void;
-        static readonly PurpleFireColors: BABYLON.Color3[];
-        static readonly GreenFireColors: BABYLON.Color3[];
-        static readonly RedFireColors: BABYLON.Color3[];
-        static readonly BlueFireColors: BABYLON.Color3[];
-        autoGenerateTime: boolean;
-        fireColors: BABYLON.Color3[];
-        time: number;
-        speed: BABYLON.Vector2;
-        alphaThreshold: number;
+        static get PurpleFireColors(): BABYLON.Color3[];
+        static get GreenFireColors(): BABYLON.Color3[];
+        static get RedFireColors(): BABYLON.Color3[];
+        static get BlueFireColors(): BABYLON.Color3[];
+        get autoGenerateTime(): boolean;
+        set autoGenerateTime(value: boolean);
+        get fireColors(): BABYLON.Color3[];
+        set fireColors(value: BABYLON.Color3[]);
+        get time(): number;
+        set time(value: number);
+        get speed(): BABYLON.Vector2;
+        set speed(value: BABYLON.Vector2);
+        get alphaThreshold(): number;
+        set alphaThreshold(value: number);
         /**
          * Serializes this fire procedural texture
          * @returns a serialized fire procedural texture object
@@ -116,8 +127,10 @@ declare module BABYLON {
         private _groundColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        grassColors: BABYLON.Color3[];
-        groundColor: BABYLON.Color3;
+        get grassColors(): BABYLON.Color3[];
+        set grassColors(value: BABYLON.Color3[]);
+        get groundColor(): BABYLON.Color3;
+        set groundColor(value: BABYLON.Color3);
         /**
          * Serializes this grass procedural texture
          * @returns a serialized grass procedural texture object
@@ -148,10 +161,14 @@ declare module BABYLON {
         private _jointColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        numberOfTilesHeight: number;
-        amplitude: number;
-        numberOfTilesWidth: number;
-        jointColor: BABYLON.Color3;
+        get numberOfTilesHeight(): number;
+        set numberOfTilesHeight(value: number);
+        get amplitude(): number;
+        set amplitude(value: number);
+        get numberOfTilesWidth(): number;
+        set numberOfTilesWidth(value: number);
+        get jointColor(): BABYLON.Color3;
+        set jointColor(value: BABYLON.Color3);
         /**
          * Serializes this marble procedural texture
          * @returns a serialized marble procedural texture object
@@ -181,7 +198,8 @@ declare module BABYLON {
         updateShaderUniforms(): void;
         render(useCameraPostProcess?: boolean): void;
         resize(size: any, generateMipMaps: any): void;
-        baseTexture: BABYLON.Texture;
+        get baseTexture(): BABYLON.Texture;
+        set baseTexture(texture: BABYLON.Texture);
         /**
          * Serializes this normal map procedural texture
          * @returns a serialized normal map procedural texture object
@@ -241,7 +259,8 @@ declare module BABYLON {
         private _roadColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        roadColor: BABYLON.Color3;
+        get roadColor(): BABYLON.Color3;
+        set roadColor(value: BABYLON.Color3);
         /**
          * Serializes this road procedural texture
          * @returns a serialized road procedural texture object
@@ -279,17 +298,28 @@ declare module BABYLON {
         private _saturation;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        time: number;
-        alpha: number;
-        beta: number;
-        formuparam: number;
-        stepsize: number;
-        zoom: number;
-        tile: number;
-        brightness: number;
-        darkmatter: number;
-        distfading: number;
-        saturation: number;
+        get time(): number;
+        set time(value: number);
+        get alpha(): number;
+        set alpha(value: number);
+        get beta(): number;
+        set beta(value: number);
+        get formuparam(): number;
+        set formuparam(value: number);
+        get stepsize(): number;
+        set stepsize(value: number);
+        get zoom(): number;
+        set zoom(value: number);
+        get tile(): number;
+        set tile(value: number);
+        get brightness(): number;
+        set brightness(value: number);
+        get darkmatter(): number;
+        set darkmatter(value: number);
+        get distfading(): number;
+        set distfading(value: number);
+        get saturation(): number;
+        set saturation(value: number);
         /**
          * Serializes this starfield procedural texture
          * @returns a serialized starfield procedural texture object
@@ -318,8 +348,10 @@ declare module BABYLON {
         private _woodColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        ampScale: number;
-        woodColor: BABYLON.Color3;
+        get ampScale(): number;
+        set ampScale(value: number);
+        get woodColor(): BABYLON.Color3;
+        set woodColor(value: BABYLON.Color3);
         /**
          * Serializes this wood procedural texture
          * @returns a serialized wood procedural texture object

+ 3 - 3
dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 

+ 136 - 72
dist/preview release/proceduralTexturesLibrary/babylonjs.proceduralTextures.module.d.ts

@@ -18,10 +18,14 @@ declare module "babylonjs-procedural-textures/brick/brickProceduralTexture" {
         private _brickColor;
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        numberOfBricksHeight: number;
-        numberOfBricksWidth: number;
-        jointColor: Color3;
-        brickColor: Color3;
+        get numberOfBricksHeight(): number;
+        set numberOfBricksHeight(value: number);
+        get numberOfBricksWidth(): number;
+        set numberOfBricksWidth(value: number);
+        get jointColor(): Color3;
+        set jointColor(value: Color3);
+        get brickColor(): Color3;
+        set brickColor(value: Color3);
         /**
          * Serializes this brick procedural texture
          * @returns a serialized brick procedural texture object
@@ -58,8 +62,10 @@ declare module "babylonjs-procedural-textures/cloud/cloudProceduralTexture" {
         private _cloudColor;
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        skyColor: Color4;
-        cloudColor: Color4;
+        get skyColor(): Color4;
+        set skyColor(value: Color4);
+        get cloudColor(): Color4;
+        set cloudColor(value: Color4);
         /**
          * Serializes this cloud procedural texture
          * @returns a serialized cloud procedural texture object
@@ -100,15 +106,20 @@ declare module "babylonjs-procedural-textures/fire/fireProceduralTexture" {
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
         render(useCameraPostProcess?: boolean): void;
-        static readonly PurpleFireColors: Color3[];
-        static readonly GreenFireColors: Color3[];
-        static readonly RedFireColors: Color3[];
-        static readonly BlueFireColors: Color3[];
-        autoGenerateTime: boolean;
-        fireColors: Color3[];
-        time: number;
-        speed: Vector2;
-        alphaThreshold: number;
+        static get PurpleFireColors(): Color3[];
+        static get GreenFireColors(): Color3[];
+        static get RedFireColors(): Color3[];
+        static get BlueFireColors(): Color3[];
+        get autoGenerateTime(): boolean;
+        set autoGenerateTime(value: boolean);
+        get fireColors(): Color3[];
+        set fireColors(value: Color3[]);
+        get time(): number;
+        set time(value: number);
+        get speed(): Vector2;
+        set speed(value: Vector2);
+        get alphaThreshold(): number;
+        set alphaThreshold(value: number);
         /**
          * Serializes this fire procedural texture
          * @returns a serialized fire procedural texture object
@@ -145,8 +156,10 @@ declare module "babylonjs-procedural-textures/grass/grassProceduralTexture" {
         private _groundColor;
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        grassColors: Color3[];
-        groundColor: Color3;
+        get grassColors(): Color3[];
+        set grassColors(value: Color3[]);
+        get groundColor(): Color3;
+        set groundColor(value: Color3);
         /**
          * Serializes this grass procedural texture
          * @returns a serialized grass procedural texture object
@@ -185,10 +198,14 @@ declare module "babylonjs-procedural-textures/marble/marbleProceduralTexture" {
         private _jointColor;
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        numberOfTilesHeight: number;
-        amplitude: number;
-        numberOfTilesWidth: number;
-        jointColor: Color3;
+        get numberOfTilesHeight(): number;
+        set numberOfTilesHeight(value: number);
+        get amplitude(): number;
+        set amplitude(value: number);
+        get numberOfTilesWidth(): number;
+        set numberOfTilesWidth(value: number);
+        get jointColor(): Color3;
+        set jointColor(value: Color3);
         /**
          * Serializes this marble procedural texture
          * @returns a serialized marble procedural texture object
@@ -225,7 +242,8 @@ declare module "babylonjs-procedural-textures/normalMap/normalMapProceduralTextu
         updateShaderUniforms(): void;
         render(useCameraPostProcess?: boolean): void;
         resize(size: any, generateMipMaps: any): void;
-        baseTexture: Texture;
+        get baseTexture(): Texture;
+        set baseTexture(texture: Texture);
         /**
          * Serializes this normal map procedural texture
          * @returns a serialized normal map procedural texture object
@@ -300,7 +318,8 @@ declare module "babylonjs-procedural-textures/road/roadProceduralTexture" {
         private _roadColor;
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        roadColor: Color3;
+        get roadColor(): Color3;
+        set roadColor(value: Color3);
         /**
          * Serializes this road procedural texture
          * @returns a serialized road procedural texture object
@@ -345,17 +364,28 @@ declare module "babylonjs-procedural-textures/starfield/starfieldProceduralTextu
         private _saturation;
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        time: number;
-        alpha: number;
-        beta: number;
-        formuparam: number;
-        stepsize: number;
-        zoom: number;
-        tile: number;
-        brightness: number;
-        darkmatter: number;
-        distfading: number;
-        saturation: number;
+        get time(): number;
+        set time(value: number);
+        get alpha(): number;
+        set alpha(value: number);
+        get beta(): number;
+        set beta(value: number);
+        get formuparam(): number;
+        set formuparam(value: number);
+        get stepsize(): number;
+        set stepsize(value: number);
+        get zoom(): number;
+        set zoom(value: number);
+        get tile(): number;
+        set tile(value: number);
+        get brightness(): number;
+        set brightness(value: number);
+        get darkmatter(): number;
+        set darkmatter(value: number);
+        get distfading(): number;
+        set distfading(value: number);
+        get saturation(): number;
+        set saturation(value: number);
         /**
          * Serializes this starfield procedural texture
          * @returns a serialized starfield procedural texture object
@@ -392,8 +422,10 @@ declare module "babylonjs-procedural-textures/wood/woodProceduralTexture" {
         private _woodColor;
         constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        ampScale: number;
-        woodColor: Color3;
+        get ampScale(): number;
+        set ampScale(value: number);
+        get woodColor(): Color3;
+        set woodColor(value: Color3);
         /**
          * Serializes this wood procedural texture
          * @returns a serialized wood procedural texture object
@@ -475,10 +507,14 @@ declare module BABYLON {
         private _brickColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        numberOfBricksHeight: number;
-        numberOfBricksWidth: number;
-        jointColor: BABYLON.Color3;
-        brickColor: BABYLON.Color3;
+        get numberOfBricksHeight(): number;
+        set numberOfBricksHeight(value: number);
+        get numberOfBricksWidth(): number;
+        set numberOfBricksWidth(value: number);
+        get jointColor(): BABYLON.Color3;
+        set jointColor(value: BABYLON.Color3);
+        get brickColor(): BABYLON.Color3;
+        set brickColor(value: BABYLON.Color3);
         /**
          * Serializes this brick procedural texture
          * @returns a serialized brick procedural texture object
@@ -507,8 +543,10 @@ declare module BABYLON {
         private _cloudColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        skyColor: BABYLON.Color4;
-        cloudColor: BABYLON.Color4;
+        get skyColor(): BABYLON.Color4;
+        set skyColor(value: BABYLON.Color4);
+        get cloudColor(): BABYLON.Color4;
+        set cloudColor(value: BABYLON.Color4);
         /**
          * Serializes this cloud procedural texture
          * @returns a serialized cloud procedural texture object
@@ -541,15 +579,20 @@ declare module BABYLON {
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
         render(useCameraPostProcess?: boolean): void;
-        static readonly PurpleFireColors: BABYLON.Color3[];
-        static readonly GreenFireColors: BABYLON.Color3[];
-        static readonly RedFireColors: BABYLON.Color3[];
-        static readonly BlueFireColors: BABYLON.Color3[];
-        autoGenerateTime: boolean;
-        fireColors: BABYLON.Color3[];
-        time: number;
-        speed: BABYLON.Vector2;
-        alphaThreshold: number;
+        static get PurpleFireColors(): BABYLON.Color3[];
+        static get GreenFireColors(): BABYLON.Color3[];
+        static get RedFireColors(): BABYLON.Color3[];
+        static get BlueFireColors(): BABYLON.Color3[];
+        get autoGenerateTime(): boolean;
+        set autoGenerateTime(value: boolean);
+        get fireColors(): BABYLON.Color3[];
+        set fireColors(value: BABYLON.Color3[]);
+        get time(): number;
+        set time(value: number);
+        get speed(): BABYLON.Vector2;
+        set speed(value: BABYLON.Vector2);
+        get alphaThreshold(): number;
+        set alphaThreshold(value: number);
         /**
          * Serializes this fire procedural texture
          * @returns a serialized fire procedural texture object
@@ -578,8 +621,10 @@ declare module BABYLON {
         private _groundColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        grassColors: BABYLON.Color3[];
-        groundColor: BABYLON.Color3;
+        get grassColors(): BABYLON.Color3[];
+        set grassColors(value: BABYLON.Color3[]);
+        get groundColor(): BABYLON.Color3;
+        set groundColor(value: BABYLON.Color3);
         /**
          * Serializes this grass procedural texture
          * @returns a serialized grass procedural texture object
@@ -610,10 +655,14 @@ declare module BABYLON {
         private _jointColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        numberOfTilesHeight: number;
-        amplitude: number;
-        numberOfTilesWidth: number;
-        jointColor: BABYLON.Color3;
+        get numberOfTilesHeight(): number;
+        set numberOfTilesHeight(value: number);
+        get amplitude(): number;
+        set amplitude(value: number);
+        get numberOfTilesWidth(): number;
+        set numberOfTilesWidth(value: number);
+        get jointColor(): BABYLON.Color3;
+        set jointColor(value: BABYLON.Color3);
         /**
          * Serializes this marble procedural texture
          * @returns a serialized marble procedural texture object
@@ -643,7 +692,8 @@ declare module BABYLON {
         updateShaderUniforms(): void;
         render(useCameraPostProcess?: boolean): void;
         resize(size: any, generateMipMaps: any): void;
-        baseTexture: BABYLON.Texture;
+        get baseTexture(): BABYLON.Texture;
+        set baseTexture(texture: BABYLON.Texture);
         /**
          * Serializes this normal map procedural texture
          * @returns a serialized normal map procedural texture object
@@ -703,7 +753,8 @@ declare module BABYLON {
         private _roadColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        roadColor: BABYLON.Color3;
+        get roadColor(): BABYLON.Color3;
+        set roadColor(value: BABYLON.Color3);
         /**
          * Serializes this road procedural texture
          * @returns a serialized road procedural texture object
@@ -741,17 +792,28 @@ declare module BABYLON {
         private _saturation;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        time: number;
-        alpha: number;
-        beta: number;
-        formuparam: number;
-        stepsize: number;
-        zoom: number;
-        tile: number;
-        brightness: number;
-        darkmatter: number;
-        distfading: number;
-        saturation: number;
+        get time(): number;
+        set time(value: number);
+        get alpha(): number;
+        set alpha(value: number);
+        get beta(): number;
+        set beta(value: number);
+        get formuparam(): number;
+        set formuparam(value: number);
+        get stepsize(): number;
+        set stepsize(value: number);
+        get zoom(): number;
+        set zoom(value: number);
+        get tile(): number;
+        set tile(value: number);
+        get brightness(): number;
+        set brightness(value: number);
+        get darkmatter(): number;
+        set darkmatter(value: number);
+        get distfading(): number;
+        set distfading(value: number);
+        get saturation(): number;
+        set saturation(value: number);
         /**
          * Serializes this starfield procedural texture
          * @returns a serialized starfield procedural texture object
@@ -780,8 +842,10 @@ declare module BABYLON {
         private _woodColor;
         constructor(name: string, size: number, scene: BABYLON.Scene, fallbackTexture?: BABYLON.Texture, generateMipMaps?: boolean);
         updateShaderUniforms(): void;
-        ampScale: number;
-        woodColor: BABYLON.Color3;
+        get ampScale(): number;
+        set ampScale(value: number);
+        get woodColor(): BABYLON.Color3;
+        set woodColor(value: BABYLON.Color3);
         /**
          * Serializes this wood procedural texture
          * @returns a serialized wood procedural texture object

+ 6 - 7
dist/preview release/serializers/babylon.glTF2Serializer.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -811,7 +811,6 @@ __webpack_require__.r(__webpack_exports__);
 
 
 
-
 /**
  * @hidden
  * Enum for handling in tangent and out tangent.
@@ -979,11 +978,11 @@ var _GLTFAnimation = /** @class */ (function () {
                     var targetAnimation = _b[_a];
                     var target = targetAnimation.target;
                     var animation = targetAnimation.animation;
-                    if (target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["Mesh"] || target.length === 1 && target[0] instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["Mesh"]) { // TODO: Update to support bones
+                    if (target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["TransformNode"] || target.length === 1 && target[0] instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["TransformNode"]) {
                         var animationInfo = _GLTFAnimation._DeduceAnimationInfo(targetAnimation.animation);
                         if (animationInfo) {
-                            var babylonMesh = target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["Mesh"] ? target : target[0];
-                            _GLTFAnimation.AddAnimation("" + animation.name, glTFAnimation, babylonMesh, animation, animationInfo.dataAccessorType, animationInfo.animationChannelTargetPath, nodeMap, binaryWriter, bufferViews, accessors, convertToRightHandedSystem, animationInfo.useQuaternion, animationSampleRate);
+                            var babylonTransformNode = target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["TransformNode"] ? target : target[0];
+                            _GLTFAnimation.AddAnimation("" + animation.name, glTFAnimation, babylonTransformNode, animation, animationInfo.dataAccessorType, animationInfo.animationChannelTargetPath, nodeMap, binaryWriter, bufferViews, accessors, convertToRightHandedSystem, animationInfo.useQuaternion, animationSampleRate);
                         }
                     }
                 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/serializers/babylon.glTF2Serializer.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/serializers/babylon.glTF2Serializer.min.js


+ 3 - 3
dist/preview release/serializers/babylonjs.serializers.d.ts

@@ -1047,7 +1047,7 @@ declare module BABYLON.GLTF2.Exporter.Extensions {
         constructor(exporter: _Exporter);
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
         preExportTextureAsync(context: string, babylonTexture: Texture, mimeType: ImageMimeType): Promise<Texture>;
         /**
@@ -1080,7 +1080,7 @@ declare module BABYLON.GLTF2.Exporter.Extensions {
         /** @hidden */
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         /** @hidden */
         onExporting(): void;
         /**
@@ -1111,7 +1111,7 @@ declare module BABYLON.GLTF2.Exporter.Extensions {
         constructor(exporter: _Exporter);
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         private _getTextureIndex;
         postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
         postExportMaterialAdditionalTextures?(context: string, node: IMaterial, babylonMaterial: Material): BaseTexture[];

+ 6 - 7
dist/preview release/serializers/babylonjs.serializers.js

@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
 /******/ ({
 
 /***/ "../../node_modules/tslib/tslib.es6.js":
-/*!*****************************************************************!*\
-  !*** C:/Dev/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
-  \*****************************************************************/
+/*!***********************************************************!*\
+  !*** C:/Repos/Babylon.js/node_modules/tslib/tslib.es6.js ***!
+  \***********************************************************/
 /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -989,7 +989,6 @@ __webpack_require__.r(__webpack_exports__);
 
 
 
-
 /**
  * @hidden
  * Enum for handling in tangent and out tangent.
@@ -1157,11 +1156,11 @@ var _GLTFAnimation = /** @class */ (function () {
                     var targetAnimation = _b[_a];
                     var target = targetAnimation.target;
                     var animation = targetAnimation.animation;
-                    if (target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["Mesh"] || target.length === 1 && target[0] instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["Mesh"]) { // TODO: Update to support bones
+                    if (target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["TransformNode"] || target.length === 1 && target[0] instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["TransformNode"]) {
                         var animationInfo = _GLTFAnimation._DeduceAnimationInfo(targetAnimation.animation);
                         if (animationInfo) {
-                            var babylonMesh = target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["Mesh"] ? target : target[0];
-                            _GLTFAnimation.AddAnimation("" + animation.name, glTFAnimation, babylonMesh, animation, animationInfo.dataAccessorType, animationInfo.animationChannelTargetPath, nodeMap, binaryWriter, bufferViews, accessors, convertToRightHandedSystem, animationInfo.useQuaternion, animationSampleRate);
+                            var babylonTransformNode = target instanceof babylonjs_Maths_math__WEBPACK_IMPORTED_MODULE_0__["TransformNode"] ? target : target[0];
+                            _GLTFAnimation.AddAnimation("" + animation.name, glTFAnimation, babylonTransformNode, animation, animationInfo.dataAccessorType, animationInfo.animationChannelTargetPath, nodeMap, binaryWriter, bufferViews, accessors, convertToRightHandedSystem, animationInfo.useQuaternion, animationSampleRate);
                         }
                     }
                 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/serializers/babylonjs.serializers.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/serializers/babylonjs.serializers.min.js


+ 6 - 6
dist/preview release/serializers/babylonjs.serializers.module.d.ts

@@ -1100,7 +1100,7 @@ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_texture_transform"
         constructor(exporter: _Exporter);
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
         preExportTextureAsync(context: string, babylonTexture: Texture, mimeType: ImageMimeType): Promise<Texture>;
         /**
@@ -1137,7 +1137,7 @@ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_lights_punctual" {
         /** @hidden */
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         /** @hidden */
         onExporting(): void;
         /**
@@ -1174,7 +1174,7 @@ declare module "babylonjs-serializers/glTF/2.0/Extensions/KHR_materials_sheen" {
         constructor(exporter: _Exporter);
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         private _getTextureIndex;
         postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
         postExportMaterialAdditionalTextures?(context: string, node: IMaterial, babylonMaterial: Material): BaseTexture[];
@@ -2294,7 +2294,7 @@ declare module BABYLON.GLTF2.Exporter.Extensions {
         constructor(exporter: _Exporter);
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
         preExportTextureAsync(context: string, babylonTexture: Texture, mimeType: ImageMimeType): Promise<Texture>;
         /**
@@ -2327,7 +2327,7 @@ declare module BABYLON.GLTF2.Exporter.Extensions {
         /** @hidden */
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         /** @hidden */
         onExporting(): void;
         /**
@@ -2358,7 +2358,7 @@ declare module BABYLON.GLTF2.Exporter.Extensions {
         constructor(exporter: _Exporter);
         dispose(): void;
         /** @hidden */
-        readonly wasUsed: boolean;
+        get wasUsed(): boolean;
         private _getTextureIndex;
         postExportTexture?(context: string, textureInfo: ITextureInfo, babylonTexture: Texture): void;
         postExportMaterialAdditionalTextures?(context: string, node: IMaterial, babylonMaterial: Material): BaseTexture[];

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4947 - 3767
dist/preview release/viewer/babylon.module.d.ts


+ 104 - 70
dist/preview release/viewer/babylon.viewer.d.ts

@@ -91,7 +91,7 @@ declare module BabylonViewer {
     export class ViewerGlobals {
         disableInit: boolean;
         disableWebGL2Support: boolean;
-        readonly version: string;
+        get version(): string;
     }
     export let viewerGlobals: ViewerGlobals;
 }
@@ -263,56 +263,56 @@ declare module BabylonViewer {
             /**
                 * Will notify when the scene was initialized
                 */
-            readonly onSceneInitObservable: BABYLON.Observable<BABYLON.Scene>;
+            get onSceneInitObservable(): BABYLON.Observable<BABYLON.Scene>;
             /**
                 * will notify when the engine was initialized
                 */
-            readonly onEngineInitObservable: BABYLON.Observable<BABYLON.Engine>;
+            get onEngineInitObservable(): BABYLON.Observable<BABYLON.Engine>;
             /**
                 * Will notify when a new model was added to the scene.
                 * Note that added does not neccessarily mean loaded!
                 */
-            readonly onModelAddedObservable: BABYLON.Observable<ViewerModel>;
+            get onModelAddedObservable(): BABYLON.Observable<ViewerModel>;
             /**
                 * will notify after every model load
                 */
-            readonly onModelLoadedObservable: BABYLON.Observable<ViewerModel>;
+            get onModelLoadedObservable(): BABYLON.Observable<ViewerModel>;
             /**
                 * will notify when any model notify of progress
                 */
-            readonly onModelLoadProgressObservable: BABYLON.Observable<BABYLON.SceneLoaderProgressEvent>;
+            get onModelLoadProgressObservable(): BABYLON.Observable<BABYLON.SceneLoaderProgressEvent>;
             /**
                 * will notify when any model load failed.
                 */
-            readonly onModelLoadErrorObservable: BABYLON.Observable<{
+            get onModelLoadErrorObservable(): BABYLON.Observable<{
                     message: string;
                     exception: any;
             }>;
             /**
                 * Will notify when a model was removed from the scene;
                 */
-            readonly onModelRemovedObservable: BABYLON.Observable<ViewerModel>;
+            get onModelRemovedObservable(): BABYLON.Observable<ViewerModel>;
             /**
                 * will notify when a new loader was initialized.
                 * Used mainly to know when a model starts loading.
                 */
-            readonly onLoaderInitObservable: BABYLON.Observable<BABYLON.ISceneLoaderPlugin | BABYLON.ISceneLoaderPluginAsync>;
+            get onLoaderInitObservable(): BABYLON.Observable<BABYLON.ISceneLoaderPlugin | BABYLON.ISceneLoaderPluginAsync>;
             /**
                 * Observers registered here will be executed when the entire load process has finished.
                 */
-            readonly onInitDoneObservable: BABYLON.Observable<AbstractViewer>;
+            get onInitDoneObservable(): BABYLON.Observable<AbstractViewer>;
             /**
                 * Functions added to this observable will be executed on each frame rendered.
                 */
-            readonly onFrameRenderedObservable: BABYLON.Observable<AbstractViewer>;
+            get onFrameRenderedObservable(): BABYLON.Observable<AbstractViewer>;
             /**
                 * Observers registered here will be executed when VR more is entered.
                 */
-            readonly onEnteringVRObservable: BABYLON.Observable<AbstractViewer>;
+            get onEnteringVRObservable(): BABYLON.Observable<AbstractViewer>;
             /**
                 * Observers registered here will be executed when VR mode is exited.
                 */
-            readonly onExitingVRObservable: BABYLON.Observable<AbstractViewer>;
+            get onExitingVRObservable(): BABYLON.Observable<AbstractViewer>;
             observablesManager: ObservablesManager;
             /**
                 * The canvas associated with this viewer
@@ -321,7 +321,7 @@ declare module BabylonViewer {
             /**
                 * The (single) canvas of this viewer
                 */
-            readonly canvas: HTMLCanvasElement;
+            get canvas(): HTMLCanvasElement;
             /**
                 * is this viewer disposed?
                 */
@@ -340,7 +340,7 @@ declare module BabylonViewer {
                 */
             protected _isInit: boolean;
             protected _configurationContainer: ConfigurationContainer;
-            readonly configurationContainer: ConfigurationContainer;
+            get configurationContainer(): ConfigurationContainer;
             protected getConfigurationLoader(): RenderOnlyConfigurationLoader;
             constructor(containerElement: Element, initialConfiguration?: ViewerConfiguration);
             /**
@@ -352,15 +352,19 @@ declare module BabylonViewer {
                 */
             isCanvasInDOM(): boolean;
             /**
-             * Set the viewer's background rendering flag.
-             */
-            renderInBackground: boolean;
+                * Is the engine currently set to rende even when the page is in background
+                */
+            get renderInBackground(): boolean;
+            /**
+                * Set the viewer's background rendering flag.
+                */
+            set renderInBackground(value: boolean);
             /**
                 * Get the configuration object. This is a reference only.
                 * The configuration can ONLY be updated using the updateConfiguration function.
                 * changing this object will have no direct effect on the scene.
                 */
-            readonly configuration: ViewerConfiguration;
+            get configuration(): ViewerConfiguration;
             /**
                 * force resizing the engine.
                 */
@@ -485,7 +489,7 @@ declare module BabylonViewer {
                 * @param event The name of the Telemetry event
                 * @param details An additional value, or an object containing a list of property/value pairs
                 */
-            readonly broadcast: (event: string, viewerId?: string | undefined, details?: any) => void;
+            get broadcast(): (event: string, viewerId?: string | undefined, details?: any) => void;
             /**
                 * Log a Telemetry event for errors raised on the WebGL context.
                 * @param engine The Babylon engine with the WebGL context.
@@ -495,12 +499,12 @@ declare module BabylonViewer {
                 * Enable or disable telemetry events
                 * @param enabled Boolan, true if events are enabled
                 */
-            enable: boolean;
+            set enable(enabled: boolean);
             /**
                 * Returns the current session ID or creates one if it doesn't exixt
                 * @return The current session ID
                 */
-            readonly session: string;
+            get session(): string;
             /**
                 * Disposes the telemetry manager
                 */
@@ -516,7 +520,7 @@ declare module BabylonViewer {
         * A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer
         */
     export class ModelLoader {
-            readonly baseUrl: string;
+            get baseUrl(): string;
             /**
                 * Create a new Model loader
                 * @param _viewer the viewer using this model loader
@@ -615,13 +619,18 @@ declare module BabylonViewer {
             loadId: number;
             loadInfo: IAsset;
             constructor(_observablesManager: ObservablesManager, modelConfiguration: IModelConfiguration, _configurationContainer?: ConfigurationContainer | undefined);
-            shadowsRenderedAfterLoad: boolean;
+            get shadowsRenderedAfterLoad(): boolean;
+            set shadowsRenderedAfterLoad(rendered: boolean);
             getViewerId(): string | undefined;
             /**
-             * Set whether this model is enabled or not.
-             */
-            enabled: boolean;
-            loaderDone: boolean;
+                * Is this model enabled?
+                */
+            get enabled(): boolean;
+            /**
+                * Set whether this model is enabled or not.
+                */
+            set enabled(enable: boolean);
+            set loaderDone(done: boolean);
             /**
                 * Add a mesh to this model.
                 * Any mesh that has no parent will be provided with the root mesh as its new parent.
@@ -633,12 +642,16 @@ declare module BabylonViewer {
             /**
                 * get the list of meshes (excluding the root mesh)
                 */
-            readonly meshes: BABYLON.AbstractMesh[];
+            get meshes(): BABYLON.AbstractMesh[];
             /**
-             * (Re-)set the model's entire configuration
-             * @param newConfiguration the new configuration to replace the new one
-             */
-            configuration: IModelConfiguration;
+                * Get the model's configuration
+                */
+            get configuration(): IModelConfiguration;
+            /**
+                * (Re-)set the model's entire configuration
+                * @param newConfiguration the new configuration to replace the new one
+                */
+            set configuration(newConfiguration: IModelConfiguration);
             /**
                 * Update the current configuration with new values.
                 * Configuration will not be overwritten, but merged with the new configuration.
@@ -841,38 +854,46 @@ declare module BabylonViewer {
             /**
                 * Get the animation's name
                 */
-            readonly name: string;
+            get name(): string;
             /**
                 * Get the current animation's state
                 */
-            readonly state: AnimationState;
+            get state(): AnimationState;
             /**
-             * Sets the speed ratio to use for all animations
-             */
-            speedRatio: number;
+                * Gets the speed ratio to use for all animations
+                */
+            get speedRatio(): number;
+            /**
+                * Sets the speed ratio to use for all animations
+                */
+            set speedRatio(value: number);
             /**
                 * Get the max numbers of frame available in the animation group
                 *
                 * In correlation to an arry, this would be ".length"
                 */
-            readonly frames: number;
+            get frames(): number;
             /**
                 * Get the current frame playing right now.
                 * This can be used to poll the frame currently playing (and, for exmaple, display a progress bar with the data)
                 *
                 * In correlation to an array, this would be the current index
                 */
-            readonly currentFrame: number;
+            get currentFrame(): number;
             /**
                 * Get the FPS value of this animation
                 */
-            readonly fps: number;
+            get fps(): number;
             /**
-             * Set the play mode.
-             * If the animation is played, it will continue playing at least once more, depending on the new play mode set.
-             * If the animation is not set, the will be initialized and will wait for the user to start playing it.
-             */
-            playMode: AnimationPlayMode;
+                * What is the animation'S play mode (looping or played once)
+                */
+            get playMode(): AnimationPlayMode;
+            /**
+                * Set the play mode.
+                * If the animation is played, it will continue playing at least once more, depending on the new play mode set.
+                * If the animation is not set, the will be initialized and will wait for the user to start playing it.
+                */
+            set playMode(value: AnimationPlayMode);
             /**
                 * Reset the animation group
                 */
@@ -1193,7 +1214,7 @@ declare module BabylonViewer {
             /**
                 * Get the template'S configuration
                 */
-            readonly configuration: ITemplateConfiguration;
+            get configuration(): ITemplateConfiguration;
             /**
                 * A template can be a parent element for other templates or HTML elements.
                 * This function will deliver all child HTML elements of this template.
@@ -1415,35 +1436,46 @@ declare module BabylonViewer {
                 * Please be careful when using labs in production.
                 */
             labs: ViewerLabs;
-            readonly defaultRenderingPipeline: BABYLON.Nullable<BABYLON.DefaultRenderingPipeline>;
+            get defaultRenderingPipeline(): BABYLON.Nullable<BABYLON.DefaultRenderingPipeline>;
             protected _vrHelper?: BABYLON.VRExperienceHelper;
-            readonly vrHelper: BABYLON.VRExperienceHelper | undefined;
+            get vrHelper(): BABYLON.VRExperienceHelper | undefined;
             constructor(_engine: BABYLON.Engine, _configurationContainer: ConfigurationContainer, _observablesManager?: ObservablesManager | undefined);
             /**
                 * Returns a boolean representing HDR support
                 */
-            readonly isHdrSupported: boolean;
+            get isHdrSupported(): boolean;
             /**
                 * Return the main color defined in the configuration.
                 */
-            readonly mainColor: BABYLON.Color3;
-            readonly reflectionColor: BABYLON.Color3;
-            animationBlendingEnabled: boolean;
-            readonly observablesManager: ObservablesManager | undefined;
+            get mainColor(): BABYLON.Color3;
+            get reflectionColor(): BABYLON.Color3;
+            get animationBlendingEnabled(): boolean;
+            set animationBlendingEnabled(value: boolean);
+            get observablesManager(): ObservablesManager | undefined;
             /**
-             * Should shadows be rendered every frame, or only once and stop.
-             * This can be used to optimize a scene.
-             *
-             * Not that the shadows will NOT disapear but will remain in place.
-             * @param process if true shadows will be updated once every frame. if false they will stop being updated.
-             */
-            processShadows: boolean;
-            groundEnabled: boolean;
+                * The flag defining whether shadows are rendered constantly or once.
+                */
+            get processShadows(): boolean;
             /**
-             * sets wether the reflection is disabled.
-             */
-            groundMirrorEnabled: boolean;
-            defaultRenderingPipelineEnabled: boolean;
+                * Should shadows be rendered every frame, or only once and stop.
+                * This can be used to optimize a scene.
+                *
+                * Not that the shadows will NOT disapear but will remain in place.
+                * @param process if true shadows will be updated once every frame. if false they will stop being updated.
+                */
+            set processShadows(process: boolean);
+            get groundEnabled(): boolean;
+            set groundEnabled(newValue: boolean);
+            /**
+                * gets wether the reflection is disabled.
+                */
+            get groundMirrorEnabled(): boolean;
+            /**
+                * sets wether the reflection is disabled.
+                */
+            set groundMirrorEnabled(value: boolean);
+            get defaultRenderingPipelineEnabled(): boolean;
+            set defaultRenderingPipelineEnabled(value: boolean);
             /**
                 * Sets the engine flags to unlock all babylon features.
                 * Can also be configured using the scene.flags configuration object
@@ -1460,8 +1492,10 @@ declare module BabylonViewer {
                 * @param globalConfiguration The global configuration object, after the new configuration was merged into it
                 */
             updateConfiguration(newConfiguration: Partial<ViewerConfiguration>): void;
-            bloomEnabled: boolean;
-            fxaaEnabled: boolean;
+            get bloomEnabled(): boolean;
+            set bloomEnabled(value: boolean);
+            get fxaaEnabled(): boolean;
+            set fxaaEnabled(value: boolean);
             setDefaultMaterial(sceneConfig: ISceneConfiguration): void;
             /**
                 * internally configure the scene using the provided configuration.
@@ -2428,11 +2462,11 @@ declare module BabylonViewer {
             /**
                 * Returns the width of a face of the texture or 0 if not available
                 */
-            readonly Width: number;
+            get Width(): number;
             /**
                 * Returns the height of a face of the texture or 0 if not available
                 */
-            readonly Height: number;
+            get Height(): number;
             /**
                 * constructor
                 * @param internalFormat WebGL pixel format for the texture on the GPU

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 57 - 57
dist/preview release/viewer/babylon.viewer.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 3
dist/preview release/viewer/babylon.viewer.max.js


+ 104 - 70
dist/preview release/viewer/babylon.viewer.module.d.ts

@@ -114,7 +114,7 @@ declare module 'babylonjs-viewer/configuration/globals' {
     export class ViewerGlobals {
         disableInit: boolean;
         disableWebGL2Support: boolean;
-        readonly version: string;
+        get version(): string;
     }
     export let viewerGlobals: ViewerGlobals;
 }
@@ -308,56 +308,56 @@ declare module 'babylonjs-viewer/viewer/viewer' {
             /**
                 * Will notify when the scene was initialized
                 */
-            readonly onSceneInitObservable: Observable<Scene>;
+            get onSceneInitObservable(): Observable<Scene>;
             /**
                 * will notify when the engine was initialized
                 */
-            readonly onEngineInitObservable: Observable<Engine>;
+            get onEngineInitObservable(): Observable<Engine>;
             /**
                 * Will notify when a new model was added to the scene.
                 * Note that added does not neccessarily mean loaded!
                 */
-            readonly onModelAddedObservable: Observable<ViewerModel>;
+            get onModelAddedObservable(): Observable<ViewerModel>;
             /**
                 * will notify after every model load
                 */
-            readonly onModelLoadedObservable: Observable<ViewerModel>;
+            get onModelLoadedObservable(): Observable<ViewerModel>;
             /**
                 * will notify when any model notify of progress
                 */
-            readonly onModelLoadProgressObservable: Observable<SceneLoaderProgressEvent>;
+            get onModelLoadProgressObservable(): Observable<SceneLoaderProgressEvent>;
             /**
                 * will notify when any model load failed.
                 */
-            readonly onModelLoadErrorObservable: Observable<{
+            get onModelLoadErrorObservable(): Observable<{
                     message: string;
                     exception: any;
             }>;
             /**
                 * Will notify when a model was removed from the scene;
                 */
-            readonly onModelRemovedObservable: Observable<ViewerModel>;
+            get onModelRemovedObservable(): Observable<ViewerModel>;
             /**
                 * will notify when a new loader was initialized.
                 * Used mainly to know when a model starts loading.
                 */
-            readonly onLoaderInitObservable: Observable<ISceneLoaderPlugin | ISceneLoaderPluginAsync>;
+            get onLoaderInitObservable(): Observable<ISceneLoaderPlugin | ISceneLoaderPluginAsync>;
             /**
                 * Observers registered here will be executed when the entire load process has finished.
                 */
-            readonly onInitDoneObservable: Observable<AbstractViewer>;
+            get onInitDoneObservable(): Observable<AbstractViewer>;
             /**
                 * Functions added to this observable will be executed on each frame rendered.
                 */
-            readonly onFrameRenderedObservable: Observable<AbstractViewer>;
+            get onFrameRenderedObservable(): Observable<AbstractViewer>;
             /**
                 * Observers registered here will be executed when VR more is entered.
                 */
-            readonly onEnteringVRObservable: Observable<AbstractViewer>;
+            get onEnteringVRObservable(): Observable<AbstractViewer>;
             /**
                 * Observers registered here will be executed when VR mode is exited.
                 */
-            readonly onExitingVRObservable: Observable<AbstractViewer>;
+            get onExitingVRObservable(): Observable<AbstractViewer>;
             observablesManager: ObservablesManager;
             /**
                 * The canvas associated with this viewer
@@ -366,7 +366,7 @@ declare module 'babylonjs-viewer/viewer/viewer' {
             /**
                 * The (single) canvas of this viewer
                 */
-            readonly canvas: HTMLCanvasElement;
+            get canvas(): HTMLCanvasElement;
             /**
                 * is this viewer disposed?
                 */
@@ -385,7 +385,7 @@ declare module 'babylonjs-viewer/viewer/viewer' {
                 */
             protected _isInit: boolean;
             protected _configurationContainer: ConfigurationContainer;
-            readonly configurationContainer: ConfigurationContainer;
+            get configurationContainer(): ConfigurationContainer;
             protected getConfigurationLoader(): RenderOnlyConfigurationLoader;
             constructor(containerElement: Element, initialConfiguration?: ViewerConfiguration);
             /**
@@ -397,15 +397,19 @@ declare module 'babylonjs-viewer/viewer/viewer' {
                 */
             isCanvasInDOM(): boolean;
             /**
-             * Set the viewer's background rendering flag.
-             */
-            renderInBackground: boolean;
+                * Is the engine currently set to rende even when the page is in background
+                */
+            get renderInBackground(): boolean;
+            /**
+                * Set the viewer's background rendering flag.
+                */
+            set renderInBackground(value: boolean);
             /**
                 * Get the configuration object. This is a reference only.
                 * The configuration can ONLY be updated using the updateConfiguration function.
                 * changing this object will have no direct effect on the scene.
                 */
-            readonly configuration: ViewerConfiguration;
+            get configuration(): ViewerConfiguration;
             /**
                 * force resizing the engine.
                 */
@@ -533,7 +537,7 @@ declare module 'babylonjs-viewer/managers/telemetryManager' {
                 * @param event The name of the Telemetry event
                 * @param details An additional value, or an object containing a list of property/value pairs
                 */
-            readonly broadcast: (event: string, viewerId?: string | undefined, details?: any) => void;
+            get broadcast(): (event: string, viewerId?: string | undefined, details?: any) => void;
             /**
                 * Log a Telemetry event for errors raised on the WebGL context.
                 * @param engine The Babylon engine with the WebGL context.
@@ -543,12 +547,12 @@ declare module 'babylonjs-viewer/managers/telemetryManager' {
                 * Enable or disable telemetry events
                 * @param enabled Boolan, true if events are enabled
                 */
-            enable: boolean;
+            set enable(enabled: boolean);
             /**
                 * Returns the current session ID or creates one if it doesn't exixt
                 * @return The current session ID
                 */
-            readonly session: string;
+            get session(): string;
             /**
                 * Disposes the telemetry manager
                 */
@@ -570,7 +574,7 @@ declare module 'babylonjs-viewer/loader/modelLoader' {
         * A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer
         */
     export class ModelLoader {
-            readonly baseUrl: string;
+            get baseUrl(): string;
             /**
                 * Create a new Model loader
                 * @param _viewer the viewer using this model loader
@@ -686,13 +690,18 @@ declare module 'babylonjs-viewer/model/viewerModel' {
             loadId: number;
             loadInfo: IAsset;
             constructor(_observablesManager: ObservablesManager, modelConfiguration: IModelConfiguration, _configurationContainer?: ConfigurationContainer | undefined);
-            shadowsRenderedAfterLoad: boolean;
+            get shadowsRenderedAfterLoad(): boolean;
+            set shadowsRenderedAfterLoad(rendered: boolean);
             getViewerId(): string | undefined;
             /**
-             * Set whether this model is enabled or not.
-             */
-            enabled: boolean;
-            loaderDone: boolean;
+                * Is this model enabled?
+                */
+            get enabled(): boolean;
+            /**
+                * Set whether this model is enabled or not.
+                */
+            set enabled(enable: boolean);
+            set loaderDone(done: boolean);
             /**
                 * Add a mesh to this model.
                 * Any mesh that has no parent will be provided with the root mesh as its new parent.
@@ -704,12 +713,16 @@ declare module 'babylonjs-viewer/model/viewerModel' {
             /**
                 * get the list of meshes (excluding the root mesh)
                 */
-            readonly meshes: AbstractMesh[];
+            get meshes(): AbstractMesh[];
             /**
-             * (Re-)set the model's entire configuration
-             * @param newConfiguration the new configuration to replace the new one
-             */
-            configuration: IModelConfiguration;
+                * Get the model's configuration
+                */
+            get configuration(): IModelConfiguration;
+            /**
+                * (Re-)set the model's entire configuration
+                * @param newConfiguration the new configuration to replace the new one
+                */
+            set configuration(newConfiguration: IModelConfiguration);
             /**
                 * Update the current configuration with new values.
                 * Configuration will not be overwritten, but merged with the new configuration.
@@ -915,38 +928,46 @@ declare module 'babylonjs-viewer/model/modelAnimation' {
             /**
                 * Get the animation's name
                 */
-            readonly name: string;
+            get name(): string;
             /**
                 * Get the current animation's state
                 */
-            readonly state: AnimationState;
+            get state(): AnimationState;
             /**
-             * Sets the speed ratio to use for all animations
-             */
-            speedRatio: number;
+                * Gets the speed ratio to use for all animations
+                */
+            get speedRatio(): number;
+            /**
+                * Sets the speed ratio to use for all animations
+                */
+            set speedRatio(value: number);
             /**
                 * Get the max numbers of frame available in the animation group
                 *
                 * In correlation to an arry, this would be ".length"
                 */
-            readonly frames: number;
+            get frames(): number;
             /**
                 * Get the current frame playing right now.
                 * This can be used to poll the frame currently playing (and, for exmaple, display a progress bar with the data)
                 *
                 * In correlation to an array, this would be the current index
                 */
-            readonly currentFrame: number;
+            get currentFrame(): number;
             /**
                 * Get the FPS value of this animation
                 */
-            readonly fps: number;
+            get fps(): number;
             /**
-             * Set the play mode.
-             * If the animation is played, it will continue playing at least once more, depending on the new play mode set.
-             * If the animation is not set, the will be initialized and will wait for the user to start playing it.
-             */
-            playMode: AnimationPlayMode;
+                * What is the animation'S play mode (looping or played once)
+                */
+            get playMode(): AnimationPlayMode;
+            /**
+                * Set the play mode.
+                * If the animation is played, it will continue playing at least once more, depending on the new play mode set.
+                * If the animation is not set, the will be initialized and will wait for the user to start playing it.
+                */
+            set playMode(value: AnimationPlayMode);
             /**
                 * Reset the animation group
                 */
@@ -1293,7 +1314,7 @@ declare module 'babylonjs-viewer/templating/templateManager' {
             /**
                 * Get the template'S configuration
                 */
-            readonly configuration: ITemplateConfiguration;
+            get configuration(): ITemplateConfiguration;
             /**
                 * A template can be a parent element for other templates or HTML elements.
                 * This function will deliver all child HTML elements of this template.
@@ -1549,35 +1570,46 @@ declare module 'babylonjs-viewer/managers/sceneManager' {
                 * Please be careful when using labs in production.
                 */
             labs: ViewerLabs;
-            readonly defaultRenderingPipeline: Nullable<DefaultRenderingPipeline>;
+            get defaultRenderingPipeline(): Nullable<DefaultRenderingPipeline>;
             protected _vrHelper?: VRExperienceHelper;
-            readonly vrHelper: VRExperienceHelper | undefined;
+            get vrHelper(): VRExperienceHelper | undefined;
             constructor(_engine: Engine, _configurationContainer: ConfigurationContainer, _observablesManager?: ObservablesManager | undefined);
             /**
                 * Returns a boolean representing HDR support
                 */
-            readonly isHdrSupported: boolean;
+            get isHdrSupported(): boolean;
             /**
                 * Return the main color defined in the configuration.
                 */
-            readonly mainColor: Color3;
-            readonly reflectionColor: Color3;
-            animationBlendingEnabled: boolean;
-            readonly observablesManager: ObservablesManager | undefined;
+            get mainColor(): Color3;
+            get reflectionColor(): Color3;
+            get animationBlendingEnabled(): boolean;
+            set animationBlendingEnabled(value: boolean);
+            get observablesManager(): ObservablesManager | undefined;
             /**
-             * Should shadows be rendered every frame, or only once and stop.
-             * This can be used to optimize a scene.
-             *
-             * Not that the shadows will NOT disapear but will remain in place.
-             * @param process if true shadows will be updated once every frame. if false they will stop being updated.
-             */
-            processShadows: boolean;
-            groundEnabled: boolean;
+                * The flag defining whether shadows are rendered constantly or once.
+                */
+            get processShadows(): boolean;
             /**
-             * sets wether the reflection is disabled.
-             */
-            groundMirrorEnabled: boolean;
-            defaultRenderingPipelineEnabled: boolean;
+                * Should shadows be rendered every frame, or only once and stop.
+                * This can be used to optimize a scene.
+                *
+                * Not that the shadows will NOT disapear but will remain in place.
+                * @param process if true shadows will be updated once every frame. if false they will stop being updated.
+                */
+            set processShadows(process: boolean);
+            get groundEnabled(): boolean;
+            set groundEnabled(newValue: boolean);
+            /**
+                * gets wether the reflection is disabled.
+                */
+            get groundMirrorEnabled(): boolean;
+            /**
+                * sets wether the reflection is disabled.
+                */
+            set groundMirrorEnabled(value: boolean);
+            get defaultRenderingPipelineEnabled(): boolean;
+            set defaultRenderingPipelineEnabled(value: boolean);
             /**
                 * Sets the engine flags to unlock all babylon features.
                 * Can also be configured using the scene.flags configuration object
@@ -1594,8 +1626,10 @@ declare module 'babylonjs-viewer/managers/sceneManager' {
                 * @param globalConfiguration The global configuration object, after the new configuration was merged into it
                 */
             updateConfiguration(newConfiguration: Partial<ViewerConfiguration>): void;
-            bloomEnabled: boolean;
-            fxaaEnabled: boolean;
+            get bloomEnabled(): boolean;
+            set bloomEnabled(value: boolean);
+            get fxaaEnabled(): boolean;
+            set fxaaEnabled(value: boolean);
             setDefaultMaterial(sceneConfig: ISceneConfiguration): void;
             /**
                 * internally configure the scene using the provided configuration.
@@ -2642,11 +2676,11 @@ declare module 'babylonjs-viewer/labs/texture' {
             /**
                 * Returns the width of a face of the texture or 0 if not available
                 */
-            readonly Width: number;
+            get Width(): number;
             /**
                 * Returns the height of a face of the texture or 0 if not available
                 */
-            readonly Height: number;
+            get Height(): number;
             /**
                 * constructor
                 * @param internalFormat WebGL pixel format for the texture on the GPU

+ 46 - 42
dist/preview release/viewer/babylonjs.loaders.module.d.ts

@@ -120,7 +120,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Raised when the asset has been parsed
          */
-        onParsed: (loaderData: IGLTFLoaderData) => void;
+        set onParsed(callback: (loaderData: IGLTFLoaderData) => void);
         /**
          * Set this property to false to disable incremental loading which delays the loader from calling the success callback until after loading the meshes and shaders.
          * Textures always loads asynchronously. For example, the success callback can compute the bounding information of the loaded meshes when incremental loading is disabled.
@@ -182,7 +182,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a mesh after parsing the glTF properties of the mesh.
          */
-        onMeshLoaded: (mesh: AbstractMesh) => void;
+        set onMeshLoaded(callback: (mesh: AbstractMesh) => void);
         /**
          * Observable raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
@@ -191,7 +191,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
-        onTextureLoaded: (texture: BaseTexture) => void;
+        set onTextureLoaded(callback: (texture: BaseTexture) => void);
         /**
          * Observable raised when the loader creates a material after parsing the glTF properties of the material.
          */
@@ -200,7 +200,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a material after parsing the glTF properties of the material.
          */
-        onMaterialLoaded: (material: Material) => void;
+        set onMaterialLoaded(callback: (material: Material) => void);
         /**
          * Observable raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
@@ -209,7 +209,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
-        onCameraLoaded: (camera: Camera) => void;
+        set onCameraLoaded(callback: (camera: Camera) => void);
         /**
          * Observable raised when the asset is completely loaded, immediately before the loader is disposed.
          * For assets with LODs, raised when all of the LODs are complete.
@@ -222,7 +222,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
          * For assets with LODs, raised when all of the LODs are complete.
          * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
          */
-        onComplete: () => void;
+        set onComplete(callback: () => void);
         /**
          * Observable raised when an error occurs.
          */
@@ -231,7 +231,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised when an error occurs.
          */
-        onError: (reason: any) => void;
+        set onError(callback: (reason: any) => void);
         /**
          * Observable raised after the loader is disposed.
          */
@@ -240,7 +240,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised after the loader is disposed.
          */
-        onDispose: () => void;
+        set onDispose(callback: () => void);
         /**
          * Observable raised after a loader extension is created.
          * Set additional options for a loader extension in this event.
@@ -250,15 +250,17 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised after a loader extension is created.
          */
-        onExtensionLoaded: (extension: IGLTFLoaderExtension) => void;
+        set onExtensionLoaded(callback: (extension: IGLTFLoaderExtension) => void);
         /**
          * Defines if the loader logging is enabled.
          */
-        loggingEnabled: boolean;
+        get loggingEnabled(): boolean;
+        set loggingEnabled(value: boolean);
         /**
          * Defines if the loader should capture performance counters.
          */
-        capturePerformanceCounters: boolean;
+        get capturePerformanceCounters(): boolean;
+        set capturePerformanceCounters(value: boolean);
         /**
          * Defines if the loader should validate the asset.
          */
@@ -271,7 +273,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * Callback raised after a loader extension is created.
          */
-        onValidated: (results: GLTF2.IGLTFValidationResults) => void;
+        set onValidated(callback: (results: GLTF2.IGLTFValidationResults) => void);
         private _loader;
         /**
          * Name of the loader ("gltf")
@@ -316,7 +318,7 @@ declare module "babylonjs-loaders/glTF/glTFFileLoader" {
         /**
          * The loader state or null if the loader is not active.
          */
-        readonly loaderState: Nullable<GLTFLoaderState>;
+        get loaderState(): Nullable<GLTFLoaderState>;
         /**
          * Returns a promise that resolves when the asset is completely loaded.
          * @returns a promise that resolves when the asset is completely loaded.
@@ -896,7 +898,7 @@ declare module "babylonjs-loaders/glTF/1.0/glTFLoader" {
     export abstract class GLTFLoaderExtension {
         private _name;
         constructor(name: string);
-        readonly name: string;
+        get name(): string;
         /**
         * Defines an override for loading the runtime
         * Return true to stop further extensions from loading the runtime
@@ -1399,27 +1401,27 @@ declare module "babylonjs-loaders/glTF/2.0/glTFLoader" {
         /**
          * Gets the loader state.
          */
-        readonly state: Nullable<GLTFLoaderState>;
+        get state(): Nullable<GLTFLoaderState>;
         /**
          * The object that represents the glTF JSON.
          */
-        readonly gltf: IGLTF;
+        get gltf(): IGLTF;
         /**
          * The BIN chunk of a binary glTF.
          */
-        readonly bin: Nullable<IDataBuffer>;
+        get bin(): Nullable<IDataBuffer>;
         /**
          * The parent file loader.
          */
-        readonly parent: GLTFFileLoader;
+        get parent(): GLTFFileLoader;
         /**
          * The Babylon scene when loading the asset.
          */
-        readonly babylonScene: Scene;
+        get babylonScene(): Scene;
         /**
          * The root Babylon mesh when loading the asset.
          */
-        readonly rootBabylonMesh: Mesh;
+        get rootBabylonMesh(): Mesh;
         /** @hidden */
         constructor(parent: GLTFFileLoader);
         /** @hidden */
@@ -2344,7 +2346,7 @@ declare module "babylonjs-loaders/OBJ/objFileLoader" {
          * @param meshLoadOptions options for loading and parsing OBJ/MTL files.
          */
         constructor(meshLoadOptions?: MeshLoadOptions);
-        private static readonly currentMeshLoadOptions;
+        private static get currentMeshLoadOptions();
         /**
          * Calls synchronously the MTL file attached to this obj.
          * Load function or importMesh function don't enable to load 2 files in the same time asynchronously.
@@ -2645,7 +2647,7 @@ declare module BABYLON {
         /**
          * Raised when the asset has been parsed
          */
-        onParsed: (loaderData: IGLTFLoaderData) => void;
+        set onParsed(callback: (loaderData: IGLTFLoaderData) => void);
         /**
          * Set this property to false to disable incremental loading which delays the loader from calling the success callback until after loading the meshes and shaders.
          * Textures always loads asynchronously. For example, the success callback can compute the bounding information of the loaded meshes when incremental loading is disabled.
@@ -2707,7 +2709,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a mesh after parsing the glTF properties of the mesh.
          */
-        onMeshLoaded: (mesh: AbstractMesh) => void;
+        set onMeshLoaded(callback: (mesh: AbstractMesh) => void);
         /**
          * Observable raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
@@ -2716,7 +2718,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a texture after parsing the glTF properties of the texture.
          */
-        onTextureLoaded: (texture: BaseTexture) => void;
+        set onTextureLoaded(callback: (texture: BaseTexture) => void);
         /**
          * Observable raised when the loader creates a material after parsing the glTF properties of the material.
          */
@@ -2725,7 +2727,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a material after parsing the glTF properties of the material.
          */
-        onMaterialLoaded: (material: Material) => void;
+        set onMaterialLoaded(callback: (material: Material) => void);
         /**
          * Observable raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
@@ -2734,7 +2736,7 @@ declare module BABYLON {
         /**
          * Callback raised when the loader creates a camera after parsing the glTF properties of the camera.
          */
-        onCameraLoaded: (camera: Camera) => void;
+        set onCameraLoaded(callback: (camera: Camera) => void);
         /**
          * Observable raised when the asset is completely loaded, immediately before the loader is disposed.
          * For assets with LODs, raised when all of the LODs are complete.
@@ -2747,7 +2749,7 @@ declare module BABYLON {
          * For assets with LODs, raised when all of the LODs are complete.
          * For assets without LODs, raised when the model is complete, immediately after the loader resolves the returned promise.
          */
-        onComplete: () => void;
+        set onComplete(callback: () => void);
         /**
          * Observable raised when an error occurs.
          */
@@ -2756,7 +2758,7 @@ declare module BABYLON {
         /**
          * Callback raised when an error occurs.
          */
-        onError: (reason: any) => void;
+        set onError(callback: (reason: any) => void);
         /**
          * Observable raised after the loader is disposed.
          */
@@ -2765,7 +2767,7 @@ declare module BABYLON {
         /**
          * Callback raised after the loader is disposed.
          */
-        onDispose: () => void;
+        set onDispose(callback: () => void);
         /**
          * Observable raised after a loader extension is created.
          * Set additional options for a loader extension in this event.
@@ -2775,15 +2777,17 @@ declare module BABYLON {
         /**
          * Callback raised after a loader extension is created.
          */
-        onExtensionLoaded: (extension: IGLTFLoaderExtension) => void;
+        set onExtensionLoaded(callback: (extension: IGLTFLoaderExtension) => void);
         /**
          * Defines if the loader logging is enabled.
          */
-        loggingEnabled: boolean;
+        get loggingEnabled(): boolean;
+        set loggingEnabled(value: boolean);
         /**
          * Defines if the loader should capture performance counters.
          */
-        capturePerformanceCounters: boolean;
+        get capturePerformanceCounters(): boolean;
+        set capturePerformanceCounters(value: boolean);
         /**
          * Defines if the loader should validate the asset.
          */
@@ -2796,7 +2800,7 @@ declare module BABYLON {
         /**
          * Callback raised after a loader extension is created.
          */
-        onValidated: (results: BABYLON.GLTF2.IGLTFValidationResults) => void;
+        set onValidated(callback: (results: BABYLON.GLTF2.IGLTFValidationResults) => void);
         private _loader;
         /**
          * Name of the loader ("gltf")
@@ -2841,7 +2845,7 @@ declare module BABYLON {
         /**
          * The loader state or null if the loader is not active.
          */
-        readonly loaderState: Nullable<GLTFLoaderState>;
+        get loaderState(): Nullable<GLTFLoaderState>;
         /**
          * Returns a promise that resolves when the asset is completely loaded.
          * @returns a promise that resolves when the asset is completely loaded.
@@ -3400,7 +3404,7 @@ declare module BABYLON.GLTF1 {
     export abstract class GLTFLoaderExtension {
         private _name;
         constructor(name: string);
-        readonly name: string;
+        get name(): string;
         /**
         * Defines an override for loading the runtime
         * Return true to stop further extensions from loading the runtime
@@ -3849,27 +3853,27 @@ declare module BABYLON.GLTF2 {
         /**
          * Gets the loader state.
          */
-        readonly state: Nullable<GLTFLoaderState>;
+        get state(): Nullable<GLTFLoaderState>;
         /**
          * The object that represents the glTF JSON.
          */
-        readonly gltf: IGLTF;
+        get gltf(): IGLTF;
         /**
          * The BIN chunk of a binary glTF.
          */
-        readonly bin: Nullable<IDataBuffer>;
+        get bin(): Nullable<IDataBuffer>;
         /**
          * The parent file loader.
          */
-        readonly parent: GLTFFileLoader;
+        get parent(): GLTFFileLoader;
         /**
          * The Babylon scene when loading the asset.
          */
-        readonly babylonScene: Scene;
+        get babylonScene(): Scene;
         /**
          * The root Babylon mesh when loading the asset.
          */
-        readonly rootBabylonMesh: Mesh;
+        get rootBabylonMesh(): Mesh;
         /** @hidden */
         constructor(parent: GLTFFileLoader);
         /** @hidden */
@@ -4676,7 +4680,7 @@ declare module BABYLON {
          * @param meshLoadOptions options for loading and parsing OBJ/MTL files.
          */
         constructor(meshLoadOptions?: MeshLoadOptions);
-        private static readonly currentMeshLoadOptions;
+        private static get currentMeshLoadOptions();
         /**
          * Calls synchronously the MTL file attached to this obj.
          * Load function or importMesh function don't enable to load 2 files in the same time asynchronously.

+ 6 - 2
dist/preview release/what's new.md

@@ -208,6 +208,11 @@
 
 - Added Light intensity output to LightInformationBlock ([Drigax](https://github.com/drigax))
 
+### Serializers
+- Added support for `AnimationGroup` serialization ([Drigax](https://github.com/drigax/))
+- Expanded animation group serialization to include all targeted TransformNodes ([Drigax]https://github.com/drigax/)
+
+
 ### Documentation
 
 - Added a note on shallow bounding of getBoundingInfo ([tibotiber](https://github.com/tibotiber))
@@ -217,7 +222,6 @@
 
 - Fixed Textblock line spacing evaluation when linespacing > 0 ([Deltakosh](https://github.com/deltakosh/))
 - Fixed Xbox One gamepad controller button schemes ([MackeyK24](https://github.com/MackeyK24/))
-- Added support for `AnimationGroup` serialization ([Drigax](https://github.com/drigax/))
 - Removing `assetContainer` from scene will also remove gui layers ([TrevorDev](https://github.com/TrevorDev))
 - A scene's input manager not adding key listeners when the canvas is already focused ([Poolminer](https://github.com/Poolminer))
 - Runtime animation `goToFrame` when going back in time now correctly triggers future events when reached ([zakhenry](https://github.com/zakhenry))
@@ -258,7 +262,7 @@
 - Fix bug when we call `Mesh.render` twice and the material is still not ready on the second call ([barroij](https://github.com/barroij/))
 - Fixed an issue with pose input in webxr ([RaananW](https://github.com/RaananW/))
 - Fixed bug when parsing animation group without 'to' value ([noalak](https://github.com/noalak/))
-- isRightCamer and isLeftCamera were not set in WebXR ([RaananW](https://github.com/RaananW/))
+- isRightCamera and isLeftCamera were not set in WebXR ([RaananW](https://github.com/RaananW/))
 - Sandbox will now load assets relatively path-ed to same folder([Kyle Belfort](https://github.com/belfortk))
 
 ## Breaking changes

+ 12 - 4
nodeEditor/src/diagram/graphCanvas.scss

@@ -133,6 +133,16 @@
                 }
             }
 
+            .frame-box-border {                
+                grid-row: 1 / span 2;
+                grid-column: 1;
+                width: 100%;
+                height: 100%;
+                border: transparent solid 4px;
+                pointer-events: none;
+                box-sizing: border-box;
+            }
+
             .frame-box-header {
                 grid-row: 1;
                 grid-column: 1;
@@ -197,10 +207,8 @@
             }
 
             &.selected {
-                outline: white solid 4px;
-
-                .frame-box-header {
-                  //  border-color: white !important;
+                .frame-box-border {
+                  border-color: white;
                 }
             }
         }

+ 6 - 1
nodeEditor/src/diagram/graphFrame.ts

@@ -16,7 +16,8 @@ export class GraphFrame {
     private _gridAlignedY = 0;    
     private _width: number;
     private _height: number;
-    public element: HTMLDivElement;   
+    public element: HTMLDivElement;       
+    private _borderElement: HTMLDivElement;    
     private _headerElement: HTMLDivElement;    
     private _headerTextElement: HTMLDivElement;        
     private _headerCollapseElement: HTMLDivElement;    
@@ -232,6 +233,10 @@ export class GraphFrame {
         });
         this.element.appendChild(this._headerElement);
 
+        this._borderElement = root.ownerDocument!.createElement("div");  
+        this._borderElement.classList.add("frame-box-border");
+        this.element.appendChild(this._borderElement);
+
         this._headerTextElement = root.ownerDocument!.createElement("div"); 
         this._headerTextElement.classList.add("frame-box-header-title");
         this._headerElement.appendChild(this._headerTextElement);

+ 128 - 29
nodeEditor/src/graphEditor.tsx

@@ -19,6 +19,7 @@ import { PreviewAreaComponent } from './components/preview/previewAreaComponent'
 import { SerializationTools } from './serializationTools';
 import { GraphCanvasComponent } from './diagram/graphCanvas';
 import { GraphNode } from './diagram/graphNode';
+import { GraphFrame } from './diagram/graphFrame';
 
 require("./main.scss");
 
@@ -40,6 +41,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
 
     private _previewManager: PreviewManager;
     private _copiedNodes: GraphNode[] = [];
+    private _copiedFrame: Nullable<GraphFrame> = null;
     private _mouseLocationX = 0;
     private _mouseLocationY = 0;
     private _onWidgetKeyUpPointer: any;
@@ -179,6 +181,14 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
             }
 
             if (evt.key === "c") { // Copy
+                this._copiedNodes = [];
+                this._copiedFrame = null;
+
+                if (this._graphCanvas.selectedFrame) {
+                    this._copiedFrame = this._graphCanvas.selectedFrame;
+                    return;
+                }
+
                 let selectedItems = this._graphCanvas.selectedNodes;
                 if (!selectedItems.length) {
                     return;
@@ -192,51 +202,140 @@ export class GraphEditor extends React.Component<IGraphEditorProps> {
 
                 this._copiedNodes = selectedItems.slice(0);
             } else if (evt.key === "v") { // Paste
-                if (!this._copiedNodes.length) {
-                    return;
-                }
-
                 const rootElement = this.props.globalState.hostDocument!.querySelector(".diagram-container") as HTMLDivElement;
                 const zoomLevel = this._graphCanvas.zoom;
-                let currentX = (this._mouseLocationX - rootElement.offsetLeft - this._graphCanvas.x - this.NodeWidth) / zoomLevel;
                 let currentY = (this._mouseLocationY - rootElement.offsetTop - this._graphCanvas.y - 20) / zoomLevel;
-                let originalNode: Nullable<GraphNode> = null;
 
-                for (var node of this._copiedNodes) {
-                    let block = node.block;
+                if (this._copiedFrame) {                    
+                    // New frame
+                    let newFrame = new GraphFrame(null, this._graphCanvas, true);
+                    this._graphCanvas.frames.push(newFrame);
 
-                    if (!block) {
-                        continue;
-                    }
+                    newFrame.width = this._copiedFrame.width;
+                    newFrame.height = this._copiedFrame.height;newFrame.width / 2
+                    newFrame.name = this._copiedFrame.name;
+                    newFrame.color = this._copiedFrame.color;
 
-                    let clone = block.clone(this.props.globalState.nodeMaterial.getScene());
+                    let currentX = (this._mouseLocationX - rootElement.offsetLeft - this._graphCanvas.x) / zoomLevel;
+                    newFrame.x = currentX - newFrame.width / 2;
+                    newFrame.y = currentY;
 
-                    if (!clone) {
-                        return;
+                    // Paste nodes
+
+                    if (this._copiedFrame.nodes.length) {
+                        currentX = newFrame.x + this._copiedFrame.nodes[0].x - this._copiedFrame.x;
+                        currentY = newFrame.y + this._copiedFrame.nodes[0].y - this._copiedFrame.y;
+                        this.pasteSelection(this._copiedFrame.nodes, currentX, currentY);                  
                     }
-                    
-                    let newNode = this.createNodeFromObject(clone);
-
-                    let x = 0;
-                    let y = 0;
-                    if (originalNode) {
-                        x = currentX + node.x - originalNode.x;
-                        y = currentY + node.y - originalNode.y;
-                    } else {
-                        originalNode = node;
-                        x = currentX;
-                        y = currentY;
+
+                    if (this._copiedFrame.isCollapsed) {
+                        newFrame.isCollapsed = true;
                     }
+                    return;
+                }
 
-                    newNode.x = x;
-                    newNode.y = y;
-                    newNode.cleanAccumulation();
+                if (!this._copiedNodes.length) {
+                    return;
                 }
+
+                let currentX = (this._mouseLocationX - rootElement.offsetLeft - this._graphCanvas.x - this.NodeWidth) / zoomLevel;
+                this.pasteSelection(this._copiedNodes, currentX, currentY);
             }
 
         }, false);
     }
 
+    reconnectNewNodes(nodeIndex: number, newNodes:GraphNode[], sourceNodes:GraphNode[], done: boolean[]) {
+        if (done[nodeIndex]) {
+            return;
+        }
+
+        const currentNode = newNodes[nodeIndex];
+        const block = currentNode.block;
+        const sourceNode = sourceNodes[nodeIndex];
+
+        for (var inputIndex = 0; inputIndex < sourceNode.block.inputs.length; inputIndex++) {
+            let sourceInput = sourceNode.block.inputs[inputIndex];
+            const currentInput = block.inputs[inputIndex];
+            if (!sourceInput.isConnected) {
+                continue;
+            }
+            const sourceBlock = sourceInput.connectedPoint!.ownerBlock;
+            const activeNodes = sourceNodes.filter(s => s.block === sourceBlock);
+
+            if (activeNodes.length > 0) {
+                const activeNode = activeNodes[0];
+                let indexInList = sourceNodes.indexOf(activeNode);
+
+                // First make sure to connect the other one
+                this.reconnectNewNodes(indexInList, newNodes, sourceNodes, done);
+
+                // Then reconnect
+                const outputIndex = sourceBlock.outputs.indexOf(sourceInput.connectedPoint!);
+                const newOutput = newNodes[indexInList].block.outputs[outputIndex];
+
+                newOutput.connectTo(currentInput);
+            } else {
+                // Connect with outside blocks
+                sourceInput._connectedPoint!.connectTo(currentInput);
+            }
+
+            this._graphCanvas.connectPorts(currentInput.connectedPoint!, currentInput);
+        }
+
+        currentNode.refresh();
+
+        done[nodeIndex] = true;
+    }
+
+    pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number) {
+
+        let originalNode: Nullable<GraphNode> = null;
+
+        let newNodes:GraphNode[] = [];
+
+        // Create new nodes
+        for (var node of copiedNodes) {
+            let block = node.block;
+
+            if (!block) {
+                continue;
+            }
+
+            let clone = block.clone(this.props.globalState.nodeMaterial.getScene());
+
+            if (!clone) {
+                return;
+            }
+            
+            let newNode = this.createNodeFromObject(clone);
+
+            let x = 0;
+            let y = 0;
+            if (originalNode) {
+                x = currentX + node.x - originalNode.x;
+                y = currentY + node.y - originalNode.y;
+            } else {
+                originalNode = node;
+                x = currentX;
+                y = currentY;
+            }
+
+            newNode.x = x;
+            newNode.y = y;
+            newNode.cleanAccumulation();
+
+            newNodes.push(newNode);
+        }
+
+        // Relink
+        let done = new Array<boolean>(newNodes.length);
+        for (var index = 0; index < newNodes.length; index++) {
+            this.reconnectNewNodes(index, newNodes, copiedNodes, done);
+        }
+
+    }
+
     zoomToFit() {
         this._graphCanvas.zoomToFit();
     }

+ 4 - 4
package.json

@@ -67,7 +67,7 @@
         "gulp-rename": "^1.4.0",
         "gulp-replace": "~1.0.0",
         "gulp-tslint": "^8.1.3",
-        "gulp-typedoc": "^2.2.2",
+        "gulp-typedoc": "^2.2.3",
         "gulp-typescript": "4.0.2",
         "karma": "^4.0.1",
         "karma-browserstack-launcher": "^1.4.0",
@@ -96,8 +96,8 @@
         "ts-loader": "^5.2.1",
         "tslib": "^1.10.0",
         "tslint": "^5.11.0",
-        "typedoc": "^0.15.0",
-        "typescript": "~3.6.3",
+        "typedoc": "^0.15.4",
+        "typescript": "~3.7.3",
         "webpack": "^4.29.3",
         "webpack-bundle-analyzer": "^3.1.0",
         "webpack-cli": "^3.3.9",
@@ -106,4 +106,4 @@
         "xhr2": "^0.1.4",
         "xmlbuilder": "8.2.2"
     }
-}
+}

+ 3 - 4
serializers/src/glTF/2.0/glTFAnimation.ts

@@ -5,7 +5,6 @@ import { Vector3, Quaternion } from "babylonjs/Maths/math";
 import { Tools } from "babylonjs/Misc/tools";
 import { Animation } from "babylonjs/Animations/animation";
 import { TransformNode } from "babylonjs/Meshes/transformNode";
-import { Mesh } from "babylonjs/Meshes/mesh";
 import { Scene } from "babylonjs/scene";
 
 import { _BinaryWriter } from "./glTFExporter";
@@ -241,13 +240,13 @@ export class _GLTFAnimation {
                 for (let targetAnimation of animationGroup.targetedAnimations) {
                     let target = targetAnimation.target;
                     let animation = targetAnimation.animation;
-                    if (target instanceof Mesh || target.length === 1 && target[0] instanceof Mesh) { // TODO: Update to support bones
+                    if (target instanceof TransformNode || target.length === 1 && target[0] instanceof TransformNode) {
                         let animationInfo = _GLTFAnimation._DeduceAnimationInfo(targetAnimation.animation);
                         if (animationInfo) {
-                            let babylonMesh = target instanceof Mesh ? target : target[0] as Mesh;
+                            let babylonTransformNode = target instanceof TransformNode ? target as TransformNode : target[0] as TransformNode;
                             _GLTFAnimation.AddAnimation(`${animation.name}`,
                                 glTFAnimation,
-                                babylonMesh,
+                                babylonTransformNode,
                                 animation,
                                 animationInfo.dataAccessorType,
                                 animationInfo.animationChannelTargetPath,

+ 1 - 1
src/Engines/Extensions/engine.multiRender.ts

@@ -282,7 +282,7 @@ ThinEngine.prototype.updateMultipleRenderTargetTextureSampleCount = function(tex
         }
     }
 
-    if (samples > 1) {
+    if (samples > 1 && gl.renderbufferStorageMultisample) {
         let framebuffer = gl.createFramebuffer();
 
         if (!framebuffer) {

+ 2 - 2
src/Engines/engine.ts

@@ -489,7 +489,7 @@ export class Engine extends ThinEngine {
 
         Engine.Instances.push(this);
 
-        if ((<HTMLCanvasElement>canvasOrContext).getContext) {
+        if ((<any>canvasOrContext).getContext) {
             let canvas = <HTMLCanvasElement>canvasOrContext;
 
             this._onCanvasFocus = () => {
@@ -1722,7 +1722,7 @@ export class Engine extends ThinEngine {
             texture._MSAARenderBuffer = null;
         }
 
-        if (samples > 1) {
+        if (samples > 1 && gl.renderbufferStorageMultisample) {
             let framebuffer = gl.createFramebuffer();
 
             if (!framebuffer) {

+ 12 - 7
src/Engines/thinEngine.ts

@@ -3299,7 +3299,7 @@ export class ThinEngine {
 
         gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer);
 
-        if (samples > 1) {
+        if (samples > 1 && gl.renderbufferStorageMultisample) {
             gl.renderbufferStorageMultisample(gl.RENDERBUFFER, samples, msInternalFormat, width, height);
         } else {
             gl.renderbufferStorage(gl.RENDERBUFFER, internalFormat, width, height);
@@ -4188,20 +4188,25 @@ export class ThinEngine {
 
     // Statics
 
+    private static _isSupported: Nullable<boolean> = null;
     /**
      * Gets a boolean indicating if the engine can be instanciated (ie. if a webGL context can be found)
      * @returns true if the engine can be created
      * @ignorenaming
      */
     public static isSupported(): boolean {
-        try {
-            var tempcanvas = CanvasGenerator.CreateCanvas(1, 1);
-            var gl = tempcanvas.getContext("webgl") || (tempcanvas as any).getContext("experimental-webgl");
+        if (this._isSupported === null) {
+            try {
+                var tempcanvas = CanvasGenerator.CreateCanvas(1, 1);
+                var gl = tempcanvas.getContext("webgl") || (tempcanvas as any).getContext("experimental-webgl");
 
-            return gl != null && !!window.WebGLRenderingContext;
-        } catch (e) {
-            return false;
+                this._isSupported = gl != null && !!window.WebGLRenderingContext;
+            } catch (e) {
+                this._isSupported = false;
+            }
         }
+
+        return this._isSupported;
     }
 
     /**

+ 1 - 1
src/Gamepads/Controllers/windowsMotionController.ts

@@ -269,7 +269,7 @@ export class WindowsMotionController extends WebVRController {
 
         var meshInfo = this._loadedMeshInfo.buttonMeshes[buttonName];
 
-        if (!meshInfo.unpressed.rotationQuaternion || !meshInfo.pressed.rotationQuaternion || !meshInfo.value.rotationQuaternion) {
+        if (!meshInfo || !meshInfo.unpressed.rotationQuaternion || !meshInfo.pressed.rotationQuaternion || !meshInfo.value.rotationQuaternion) {
             return;
         }
 

+ 1 - 1
src/Gamepads/gamepadManager.ts

@@ -18,7 +18,7 @@ export class GamepadManager {
     /** @hidden */
     public _isMonitoring: boolean = false;
     private _gamepadEventSupported: boolean;
-    private _gamepadSupport: () => Array<any>;
+    private _gamepadSupport?: () => Array<any>;
 
     /**
      * observable to be triggered when the gamepad controller has been connected

+ 1 - 1
src/LibDeclarations/webgl.d.ts

@@ -8,7 +8,7 @@ interface WebGLRenderingContext {
     deleteVertexArray(vao: WebGLVertexArrayObject): void;
 
     blitFramebuffer(srcX0: number, srcY0: number, srcX1: number, srcY1: number, dstX0: number, dstY0: number, dstX1: number, dstY1: number, mask: number, filter: number): void;
-    renderbufferStorageMultisample(target: number, samples: number, internalformat: number, width: number, height: number): void;
+    renderbufferStorageMultisample?(target: number, samples: number, internalformat: number, width: number, height: number): void;
 
     bindBufferBase(target: number, index: number, buffer: WebGLBuffer | null): void;
     getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): number;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 18 - 2
src/Loading/loadingScreen.ts


+ 1 - 1
src/Meshes/abstractMesh.ts

@@ -376,7 +376,7 @@ export class AbstractMesh extends TransformNode implements IDisposable, ICullabl
             value.meshMap[this.uniqueId] = this;
         }
 
-        if (this.onMaterialChangedObservable.hasObservers) {
+        if (this.onMaterialChangedObservable.hasObservers()) {
             this.onMaterialChangedObservable.notifyObservers(this);
         }
 

+ 2 - 2
src/Misc/promise.ts

@@ -71,10 +71,10 @@ class InternalPromise<T> {
         if (this._state !== PromiseStates.Pending) {
             setTimeout(() => {
                 if (this._state === PromiseStates.Fulfilled || this._rejectWasConsumed) {
-                    let returnedValue = newPromise._resolve(this._result);
+                    let returnedValue: any = newPromise._resolve(this._result);
 
                     if (returnedValue !== undefined && returnedValue !== null) {
-                        if ((<InternalPromise<T>>returnedValue)._state !== undefined) {
+                        if ((<any>returnedValue)._state !== undefined) {
                             let returnedPromise = returnedValue as InternalPromise<T>;
                             newPromise._children.push(returnedPromise);
                             returnedPromise._parent = newPromise;

+ 1 - 3
src/Misc/tools.ts

@@ -1010,9 +1010,7 @@ export class Tools {
 
         Tools._EndUserMark(counterName, condition);
 
-        if (console.time) {
-            console.timeEnd(counterName);
-        }
+        console.timeEnd(counterName);
     }
 
     /**