@combeenation/3d-viewer 4.2.0 → 5.0.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +2 -2
  2. package/dist/lib-cjs/api/classes/dottedPath.js +2 -5
  3. package/dist/lib-cjs/api/classes/dottedPath.js.map +1 -1
  4. package/dist/lib-cjs/api/classes/element.d.ts +9 -0
  5. package/dist/lib-cjs/api/classes/element.js +114 -66
  6. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  7. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  8. package/dist/lib-cjs/api/classes/eventBroadcaster.js.map +1 -1
  9. package/dist/lib-cjs/api/classes/parameter.js +3 -2
  10. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  11. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  12. package/dist/lib-cjs/api/classes/parameterizable.js.map +1 -1
  13. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +1 -0
  14. package/dist/lib-cjs/api/classes/placementAnimation.js +2 -2
  15. package/dist/lib-cjs/api/classes/placementAnimation.js.map +1 -1
  16. package/dist/lib-cjs/api/classes/variant.js +26 -19
  17. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  18. package/dist/lib-cjs/api/classes/variantInstance.js +19 -19
  19. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  20. package/dist/lib-cjs/api/classes/variantParameterizable.js.map +1 -1
  21. package/dist/lib-cjs/api/classes/viewer.d.ts +40 -1
  22. package/dist/lib-cjs/api/classes/viewer.js +144 -48
  23. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  24. package/dist/lib-cjs/api/classes/viewerLight.js +25 -25
  25. package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
  26. package/dist/lib-cjs/api/internal/debugViewer.js +1 -2
  27. package/dist/lib-cjs/api/internal/debugViewer.js.map +1 -1
  28. package/dist/lib-cjs/api/internal/lensRendering.js.map +1 -1
  29. package/dist/lib-cjs/api/internal/sceneSetup.js +25 -22
  30. package/dist/lib-cjs/api/internal/sceneSetup.js.map +1 -1
  31. package/dist/lib-cjs/api/manager/animationManager.js +24 -15
  32. package/dist/lib-cjs/api/manager/animationManager.js.map +1 -1
  33. package/dist/lib-cjs/api/manager/gltfExportManager.d.ts +40 -10
  34. package/dist/lib-cjs/api/manager/gltfExportManager.js +135 -20
  35. package/dist/lib-cjs/api/manager/gltfExportManager.js.map +1 -1
  36. package/dist/lib-cjs/api/manager/sceneManager.js +3 -3
  37. package/dist/lib-cjs/api/manager/sceneManager.js.map +1 -1
  38. package/dist/lib-cjs/api/manager/variantInstanceManager.js +10 -7
  39. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +1 -1
  40. package/dist/lib-cjs/api/store/specStorage.js.map +1 -1
  41. package/dist/lib-cjs/api/util/babylonHelper.d.ts +1 -1
  42. package/dist/lib-cjs/api/util/babylonHelper.js +12 -15
  43. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  44. package/dist/lib-cjs/api/util/globalTypes.d.ts +41 -25
  45. package/dist/lib-cjs/api/util/resourceHelper.js +3 -1
  46. package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
  47. package/dist/lib-cjs/api/util/stringHelper.d.ts +1 -1
  48. package/dist/lib-cjs/api/util/stringHelper.js +2 -2
  49. package/dist/lib-cjs/api/util/stringHelper.js.map +1 -1
  50. package/dist/lib-cjs/api/util/structureHelper.d.ts +9 -0
  51. package/dist/lib-cjs/api/util/structureHelper.js +45 -0
  52. package/dist/lib-cjs/api/util/structureHelper.js.map +1 -0
  53. package/dist/lib-cjs/index.js +1 -0
  54. package/dist/lib-cjs/index.js.map +1 -1
  55. package/package.json +11 -7
  56. package/src/api/classes/animationInterface.ts +4 -6
  57. package/src/api/classes/dottedPath.ts +179 -187
  58. package/src/api/classes/element.ts +665 -621
  59. package/src/api/classes/event.ts +310 -313
  60. package/src/api/classes/eventBroadcaster.ts +47 -49
  61. package/src/api/classes/parameter.ts +394 -397
  62. package/src/api/classes/parameterObservable.ts +84 -83
  63. package/src/api/classes/parameterizable.ts +71 -73
  64. package/src/api/classes/placementAnimation.ts +130 -130
  65. package/src/api/classes/variant.ts +806 -778
  66. package/src/api/classes/variantInstance.ts +60 -52
  67. package/src/api/classes/variantParameterizable.ts +72 -67
  68. package/src/api/classes/viewer.ts +592 -490
  69. package/src/api/classes/viewerLight.ts +301 -301
  70. package/src/api/internal/debugViewer.ts +61 -53
  71. package/src/api/internal/lensRendering.ts +2 -3
  72. package/src/api/internal/sceneSetup.ts +144 -137
  73. package/src/api/manager/animationManager.ts +122 -97
  74. package/src/api/manager/gltfExportManager.ts +192 -0
  75. package/src/api/manager/sceneManager.ts +83 -86
  76. package/src/api/manager/variantInstanceManager.ts +234 -224
  77. package/src/api/store/specStorage.ts +48 -51
  78. package/src/api/util/babylonHelper.ts +329 -325
  79. package/src/api/util/globalTypes.ts +260 -246
  80. package/src/api/util/resourceHelper.ts +97 -109
  81. package/src/api/util/stringHelper.ts +13 -16
  82. package/src/api/util/structureHelper.ts +43 -0
  83. package/src/buildinfo.json +2 -2
  84. package/src/commonjs.tsconfig.json +8 -11
  85. package/src/declaration.tsconfig.json +6 -8
  86. package/src/dev.ts +28 -29
  87. package/src/es6.tsconfig.json +8 -11
  88. package/src/index.ts +40 -39
  89. package/src/pagesconfig.json +4 -0
  90. package/src/tsconfig.json +30 -41
  91. package/src/tsconfig.types.json +8 -9
  92. package/src/types.d.ts +0 -1
  93. package/dist/lib-cjs/api/classes/elementParameterizable.d.ts +0 -14
  94. package/dist/lib-cjs/api/classes/elementParameterizable.js +0 -135
  95. package/dist/lib-cjs/api/classes/elementParameterizable.js.map +0 -1
@@ -12,10 +12,13 @@ var math_color_1 = require("@babylonjs/core/Maths/math.color");
12
12
  var math_vector_1 = require("@babylonjs/core/Maths/math.vector");
13
13
  var mesh_1 = require("@babylonjs/core/Meshes/mesh");
14
14
  var screenshotTools_1 = require("@babylonjs/core/Misc/screenshotTools");
15
+ var webXRSessionManager_1 = require("@babylonjs/core/XR/webXRSessionManager");
16
+ var structureHelper_1 = require("../util/structureHelper");
15
17
  var lodash_es_1 = require("lodash-es");
16
18
  var buildinfo_json_1 = require("../../buildinfo.json");
17
19
  var sceneSetup_1 = require("../internal/sceneSetup");
18
20
  var animationManager_1 = require("../manager/animationManager");
21
+ var gltfExportManager_1 = require("../manager/gltfExportManager");
19
22
  var sceneManager_1 = require("../manager/sceneManager");
20
23
  var variantInstanceManager_1 = require("../manager/variantInstanceManager");
21
24
  var specStorage_1 = require("../store/specStorage");
@@ -45,7 +48,12 @@ var Viewer = /** @class */ (function (_super) {
45
48
  _this._scene = null;
46
49
  _this._animationManager = null;
47
50
  _this._sceneManager = null;
51
+ _this._gltfExportManager = null;
48
52
  _this._variantInstances = null;
53
+ // default value is `true` ATM for compatibility reasons
54
+ // in the future material cloning should be the edge case
55
+ _this._cloneMaterialsOnMutation = true;
56
+ _this._isRenderLoopPaused = false;
49
57
  return _this;
50
58
  }
51
59
  Object.defineProperty(Viewer.prototype, "scene", {
@@ -64,15 +72,35 @@ var Viewer = /** @class */ (function (_super) {
64
72
  configurable: true
65
73
  });
66
74
  Object.defineProperty(Viewer.prototype, "sceneManager", {
75
+ /**
76
+ * Gets the {@link SceneManager} attached to the viewer.
77
+ *
78
+ * @throws Error if the {@link SceneManager} has not been initialized.
79
+ */
67
80
  get: function () {
68
81
  if (!this._sceneManager) {
69
- throw new Error("Environment has not been initialized.");
82
+ throw new Error("SceneManager has not been initialized.");
70
83
  }
71
84
  return this._sceneManager;
72
85
  },
73
86
  enumerable: false,
74
87
  configurable: true
75
88
  });
89
+ Object.defineProperty(Viewer.prototype, "gltfExportManager", {
90
+ /**
91
+ * Gets the {@link GltfExportManager} attached to the viewer.
92
+ *
93
+ * @throws Error if the {@link GltfExportManager} has not been initialized.
94
+ */
95
+ get: function () {
96
+ if (!this._gltfExportManager) {
97
+ throw new Error("GltfExportManager has not been initialized.");
98
+ }
99
+ return this._gltfExportManager;
100
+ },
101
+ enumerable: false,
102
+ configurable: true
103
+ });
76
104
  Object.defineProperty(Viewer.prototype, "engine", {
77
105
  /**
78
106
  * Gets the BabylonJS Engine that is attached to the viewer.
@@ -113,6 +141,16 @@ var Viewer = /** @class */ (function (_super) {
113
141
  enumerable: false,
114
142
  configurable: true
115
143
  });
144
+ Object.defineProperty(Viewer.prototype, "cloneMaterialsOnMutation", {
145
+ /**
146
+ * Gets the `cloneMaterialsOnMutation` flag, as defined in the spec
147
+ */
148
+ get: function () {
149
+ return this._cloneMaterialsOnMutation;
150
+ },
151
+ enumerable: false,
152
+ configurable: true
153
+ });
116
154
  /**
117
155
  * Starts the application. This will
118
156
  * * load the given "index" JSON file
@@ -127,20 +165,20 @@ var Viewer = /** @class */ (function (_super) {
127
165
  */
128
166
  Viewer.prototype.bootstrap = function () {
129
167
  return tslib_1.__awaiter(this, void 0, void 0, function () {
130
- var indexJson, sceneJson, _a, rootVariant, _b, setupJson;
168
+ var indexJson, sceneJson, _a, rootVariant, _b, setupJson, _c;
131
169
  var _this = this;
132
- return tslib_1.__generator(this, function (_c) {
133
- switch (_c.label) {
170
+ return tslib_1.__generator(this, function (_d) {
171
+ switch (_d.label) {
134
172
  case 0:
135
173
  this.broadcastEvent(event_1.Event.BOOTSTRAP_START, this);
136
174
  if (!lodash_es_1.isString(this.structureJson)) return [3 /*break*/, 2];
137
175
  return [4 /*yield*/, resourceHelper_1.loadJson(this.structureJson)];
138
176
  case 1:
139
- indexJson = _c.sent();
177
+ indexJson = _d.sent();
140
178
  return [3 /*break*/, 3];
141
179
  case 2:
142
180
  indexJson = this.structureJson;
143
- _c.label = 3;
181
+ _d.label = 3;
144
182
  case 3:
145
183
  if (!indexJson.scene) {
146
184
  throw new Error("No \"scene\" property found for bootstrapping.");
@@ -150,62 +188,84 @@ var Viewer = /** @class */ (function (_super) {
150
188
  if (!lodash_es_1.isString(indexJson.scene)) return [3 /*break*/, 5];
151
189
  return [4 /*yield*/, resourceHelper_1.loadJson(indexJson.scene)];
152
190
  case 4:
153
- sceneJson = _c.sent();
191
+ sceneJson = _d.sent();
154
192
  indexJson.scene = sceneJson;
155
- _c.label = 5;
193
+ _d.label = 5;
156
194
  case 5:
157
195
  _a = this;
158
196
  return [4 /*yield*/, this.initScene()];
159
197
  case 6:
160
- _a._scene = _c.sent();
198
+ _a._scene = _d.sent();
161
199
  return [4 /*yield*/, variant_1.Variant.create('_', indexJson, this)];
162
200
  case 7:
163
- rootVariant = _c.sent();
201
+ rootVariant = _d.sent();
164
202
  _b = this;
165
203
  return [4 /*yield*/, variantInstanceManager_1.VariantInstanceManager.create(rootVariant)];
166
204
  case 8:
167
- _b._variantInstances = _c.sent();
205
+ _b._variantInstances = _d.sent();
168
206
  if (!indexJson.setup) return [3 /*break*/, 12];
169
207
  if (!lodash_es_1.isString(indexJson.setup)) return [3 /*break*/, 10];
170
208
  return [4 /*yield*/, resourceHelper_1.loadJson(indexJson.setup)];
171
209
  case 9:
172
- setupJson = _c.sent();
210
+ setupJson = _d.sent();
173
211
  indexJson.setup = setupJson;
174
- _c.label = 10;
212
+ _d.label = 10;
175
213
  case 10: return [4 /*yield*/, this.createVariantInstances()];
176
214
  case 11:
177
- _c.sent();
178
- _c.label = 12;
215
+ _d.sent();
216
+ _d.label = 12;
179
217
  case 12:
218
+ // create gltf export manager
219
+ _c = this;
220
+ return [4 /*yield*/, gltfExportManager_1.GltfExportManager.create(this)];
221
+ case 13:
222
+ // create gltf export manager
223
+ _c._gltfExportManager = _d.sent();
180
224
  // resize handler
181
225
  window.addEventListener('resize', resourceHelper_1.debounce(this.resize.bind(this), 100));
182
226
  // wait until scene is completely ready
183
227
  return [4 /*yield*/, this.scene.whenReadyAsync()];
184
- case 13:
228
+ case 14:
185
229
  // wait until scene is completely ready
186
- _c.sent();
230
+ _d.sent();
187
231
  // event broadcasting
188
232
  this.broadcastEvent(event_1.Event.BOOTSTRAP_END, this);
189
233
  // render loop
190
234
  this.engine.runRenderLoop(function () {
191
- _this.scene.render();
235
+ if (!_this._isRenderLoopPaused)
236
+ _this.scene.render();
192
237
  });
193
238
  return [2 /*return*/, this];
194
239
  }
195
240
  });
196
241
  });
197
242
  };
198
- // Disabled for now to decrease bundle size.
199
- // See https://github.com/Combeenation/3d-viewer/issues/37
200
- // /**
201
- // * Enables the BabylonJS DebugLayer. If you pass options, be sure to pass an Object of type `IInspectorOptions`.
202
- // */
203
- // public async enableDebugLayer(options?: any) {
204
- // // @ts-ignore
205
- // await import(/* webpackChunkName: "debug-inspector" */'@babylonjs/inspector');
206
- // await this.scene.debugLayer.show(options);
207
- // return this;
208
- // }
243
+ /**
244
+ * Enables the BabylonJS [Inspector](https://doc.babylonjs.com/toolsAndResources/tools/inspector).\
245
+ * Due to the enormous additional package size of the inspector, this feature is only available in development builds.
246
+ */
247
+ Viewer.prototype.enableDebugLayer = function (options) {
248
+ var _a;
249
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
250
+ return tslib_1.__generator(this, function (_b) {
251
+ switch (_b.label) {
252
+ case 0:
253
+ if (!((_a = process.env.NODE_ENV) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('dev'))) return [3 /*break*/, 3];
254
+ return [4 /*yield*/, Promise.resolve().then(function () { return require(/* webpackChunkName: "debug-inspector" */ '@babylonjs/inspector'); })];
255
+ case 1:
256
+ _b.sent();
257
+ return [4 /*yield*/, this.scene.debugLayer.show(options)];
258
+ case 2:
259
+ _b.sent();
260
+ return [3 /*break*/, 4];
261
+ case 3:
262
+ console.warn('BabylonJS inspector is not supported in production builds!');
263
+ _b.label = 4;
264
+ case 4: return [2 /*return*/];
265
+ }
266
+ });
267
+ });
268
+ };
209
269
  /**
210
270
  * Destroys all registered {@link VariantInstance}s that are registered
211
271
  */
@@ -310,10 +370,23 @@ var Viewer = /** @class */ (function (_super) {
310
370
  screenshotTools_1.ScreenshotTools.CreateScreenshotUsingRenderTarget(_this.engine, _this.sceneManager.activeCamera, (_a = settings === null || settings === void 0 ? void 0 : settings.size) !== null && _a !== void 0 ? _a : { width: _this.canvas.clientWidth, height: _this.canvas.clientHeight }, resolve, (_b = settings === null || settings === void 0 ? void 0 : settings.mimeType) !== null && _b !== void 0 ? _b : 'image/png', (_c = settings === null || settings === void 0 ? void 0 : settings.samples) !== null && _c !== void 0 ? _c : 1, (_d = settings === null || settings === void 0 ? void 0 : settings.antialiasing) !== null && _d !== void 0 ? _d : false, (_e = settings === null || settings === void 0 ? void 0 : settings.fileName) !== null && _e !== void 0 ? _e : 'screenshot.png', (_f = settings === null || settings === void 0 ? void 0 : settings.renderSprites) !== null && _f !== void 0 ? _f : false);
311
371
  });
312
372
  };
373
+ /**
374
+ * Checks whether the browser is capable of handling XR.
375
+ */
376
+ Viewer.prototype.isBrowserARCapable = function () {
377
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
378
+ return tslib_1.__generator(this, function (_a) {
379
+ switch (_a.label) {
380
+ case 0: return [4 /*yield*/, webXRSessionManager_1.WebXRSessionManager.IsSessionSupportedAsync('immersive-ar')];
381
+ case 1: return [2 /*return*/, _a.sent()];
382
+ }
383
+ });
384
+ });
385
+ };
313
386
  /**
314
387
  * Calculates the bounding box from all visible meshes on the scene.
315
388
  */
316
- Viewer.prototype.calculateBoundingBox = function () {
389
+ Viewer.prototype.calculateBoundingBox = function (excludeGeometry) {
317
390
  return tslib_1.__awaiter(this, void 0, void 0, function () {
318
391
  var bbName, _a, max, min, boundingBox;
319
392
  return tslib_1.__generator(this, function (_b) {
@@ -322,18 +395,22 @@ var Viewer = /** @class */ (function (_super) {
322
395
  }
323
396
  this.scene.render(); // CB-6062: workaround for BoundingBox not respecting render loop
324
397
  bbName = '__bounding_box__';
325
- _a = this.scene.meshes.filter(function (mesh) {
398
+ _a = this.scene.meshes
399
+ .filter(function (mesh) {
326
400
  var isEnabled = mesh.isEnabled();
327
401
  // ignore the existing bounding box mesh for calculating the current one
328
402
  var isNotBBoxMesh = bbName !== mesh.id;
329
403
  // ignore meshes with invalid bounding infos
330
404
  var hasValidBBoxInfo = mesh.getBoundingInfo().boundingSphere.radius > 0;
331
- return isEnabled && isNotBBoxMesh && hasValidBBoxInfo;
332
- }).reduce(function (accBBoxMinMax, curMesh, idx) {
405
+ // ignore excluded meshes
406
+ var isExcluded = excludeGeometry ? structureHelper_1.isMeshIncludedInExclusionList(mesh, excludeGeometry) : false;
407
+ return isEnabled && isNotBBoxMesh && hasValidBBoxInfo && !isExcluded;
408
+ })
409
+ .reduce(function (accBBoxMinMax, curMesh, idx) {
333
410
  var bBox = curMesh.getBoundingInfo().boundingBox;
334
411
  // use the first entry in the array as default value and get the resulting maximum/minimum values
335
- var max = (idx === 0) ? bBox.maximumWorld : math_vector_1.Vector3.Maximize(accBBoxMinMax.max, bBox.maximumWorld);
336
- var min = (idx === 0) ? bBox.minimumWorld : math_vector_1.Vector3.Minimize(accBBoxMinMax.min, bBox.minimumWorld);
412
+ var max = idx === 0 ? bBox.maximumWorld : math_vector_1.Vector3.Maximize(accBBoxMinMax.max, bBox.maximumWorld);
413
+ var min = idx === 0 ? bBox.minimumWorld : math_vector_1.Vector3.Minimize(accBBoxMinMax.min, bBox.minimumWorld);
337
414
  return { max: max, min: min };
338
415
  }, { max: new math_vector_1.Vector3(), min: new math_vector_1.Vector3() }), max = _a.max, min = _a.min;
339
416
  boundingBox = this.scene.getMeshByName(bbName);
@@ -345,6 +422,9 @@ var Viewer = /** @class */ (function (_super) {
345
422
  });
346
423
  });
347
424
  };
425
+ /**
426
+ * Focuses the camera to see every visible mesh in scene and tries to optimize wheel precision and panning
427
+ */
348
428
  Viewer.prototype.autofocusActiveCamera = function (settings) {
349
429
  return tslib_1.__awaiter(this, void 0, void 0, function () {
350
430
  var activeCamera, cameraClsName, boundingBox, helperCamera;
@@ -353,19 +433,17 @@ var Viewer = /** @class */ (function (_super) {
353
433
  case 0:
354
434
  activeCamera = this.scene.activeCamera;
355
435
  if (!activeCamera) {
356
- throw new Error("No active camera found when using autofocus feature.");
436
+ throw new Error('No active camera found when using autofocus feature.');
357
437
  }
358
438
  if (!(activeCamera instanceof arcRotateCamera_1.ArcRotateCamera)) {
359
439
  cameraClsName = activeCamera.getClassName();
360
440
  throw new Error("Camera of type \"" + cameraClsName + "\" is not implemented yet to use autofocus feature.");
361
441
  }
362
- return [4 /*yield*/, this.calculateBoundingBox()];
442
+ return [4 /*yield*/, this.calculateBoundingBox(settings === null || settings === void 0 ? void 0 : settings.exclude)];
363
443
  case 1:
364
444
  boundingBox = _a.sent();
365
445
  helperCamera = this.getFocusedHelperCamera(boundingBox, settings);
366
- return [4 /*yield*/, this.applyFocusedHelperCameraData(activeCamera, helperCamera, settings)
367
- // remove the helper camera
368
- ];
446
+ return [4 /*yield*/, this.applyFocusedHelperCameraData(activeCamera, helperCamera, settings)];
369
447
  case 2:
370
448
  _a.sent();
371
449
  // remove the helper camera
@@ -426,8 +504,8 @@ var Viewer = /** @class */ (function (_super) {
426
504
  new math_vector_1.Vector3(dimension, 0, 0),
427
505
  new math_vector_1.Vector3(dimension * 0.95, 0.05 * dimension, 0),
428
506
  new math_vector_1.Vector3(dimension, 0, 0),
429
- new math_vector_1.Vector3(dimension * 0.95, -0.05 * dimension, 0)
430
- ], scene);
507
+ new math_vector_1.Vector3(dimension * 0.95, -0.05 * dimension, 0),
508
+ ], scene, false);
431
509
  axisX.color = new math_color_1.Color3(1, 0, 0);
432
510
  var xChar = makeTextPlane('X', 'red', dimension / 10);
433
511
  xChar.position = new math_vector_1.Vector3(0.9 * dimension, -0.05 * dimension, 0);
@@ -436,8 +514,8 @@ var Viewer = /** @class */ (function (_super) {
436
514
  new math_vector_1.Vector3(0, dimension, 0),
437
515
  new math_vector_1.Vector3(-0.05 * dimension, dimension * 0.95, 0),
438
516
  new math_vector_1.Vector3(0, dimension, 0),
439
- new math_vector_1.Vector3(0.05 * dimension, dimension * 0.95, 0)
440
- ], scene);
517
+ new math_vector_1.Vector3(0.05 * dimension, dimension * 0.95, 0),
518
+ ], scene, false);
441
519
  axisY.color = new math_color_1.Color3(0, 1, 0);
442
520
  var yChar = makeTextPlane('Y', 'green', dimension / 10);
443
521
  yChar.position = new math_vector_1.Vector3(0, 0.9 * dimension, -0.05 * dimension);
@@ -446,12 +524,24 @@ var Viewer = /** @class */ (function (_super) {
446
524
  new math_vector_1.Vector3(0, 0, dimension),
447
525
  new math_vector_1.Vector3(0, -0.05 * dimension, dimension * 0.95),
448
526
  new math_vector_1.Vector3(0, 0, dimension),
449
- new math_vector_1.Vector3(0, 0.05 * dimension, dimension * 0.95)
450
- ], scene);
527
+ new math_vector_1.Vector3(0, 0.05 * dimension, dimension * 0.95),
528
+ ], scene, false);
451
529
  axisZ.color = new math_color_1.Color3(0, 0, 1);
452
530
  var zChar = makeTextPlane('Z', 'blue', dimension / 10);
453
531
  zChar.position = new math_vector_1.Vector3(0, 0.05 * dimension, 0.9 * dimension);
454
532
  };
533
+ /**
534
+ * Pause render loop.
535
+ */
536
+ Viewer.prototype.pauseRendering = function () {
537
+ this._isRenderLoopPaused = true;
538
+ };
539
+ /**
540
+ * Resume render loop when paused.
541
+ */
542
+ Viewer.prototype.resumeRendering = function () {
543
+ this._isRenderLoopPaused = false;
544
+ };
455
545
  /**
456
546
  * @emits {@link Event.SCENE_PROCESSING_START}
457
547
  * @emits {@link Event.SCENE_PROCESSING_END}
@@ -497,6 +587,12 @@ var Viewer = /** @class */ (function (_super) {
497
587
  return [4 /*yield*/, animationManager_1.AnimationManager.create(scene)];
498
588
  case 3:
499
589
  _e._animationManager = _f.sent();
590
+ if (sceneJson.cloneMaterialsOnMutation !== undefined) {
591
+ this._cloneMaterialsOnMutation = sceneJson.cloneMaterialsOnMutation;
592
+ }
593
+ if (sceneJson.useRightHandedSystem !== undefined) {
594
+ scene.useRightHandedSystem = sceneJson.useRightHandedSystem;
595
+ }
500
596
  this.broadcastEvent(event_1.Event.SCENE_PROCESSING_END, scene);
501
597
  return [2 /*return*/, scene];
502
598
  }
@@ -542,7 +638,7 @@ var Viewer = /** @class */ (function (_super) {
542
638
  Viewer.prototype.getFocusedHelperCamera = function (boundingBox, settings) {
543
639
  var _a, _b;
544
640
  // use helper camera to get some default values and set the values of the real camera accordingly
545
- var helperCamera = new arcRotateCamera_1.ArcRotateCamera("__helper_camera__", 0, // camera angles will be overwritten after the target has been set
641
+ var helperCamera = new arcRotateCamera_1.ArcRotateCamera('__helper_camera__', 0, // camera angles will be overwritten after the target has been set
546
642
  0, 0, // radius will be calculated, so we can set to 0 here
547
643
  math_vector_1.Vector3.Zero(), this.scene);
548
644
  // this is required for automatically calculating the `lowerRadiusLimit`, so that we don't "dive" into meshes
@@ -592,7 +688,7 @@ var Viewer = /** @class */ (function (_super) {
592
688
  alpha: helperCamera.alpha,
593
689
  beta: helperCamera.beta,
594
690
  radius: helperCamera.radius,
595
- target: helperCamera.target
691
+ target: helperCamera.target,
596
692
  };
597
693
  return [4 /*yield*/, this.animationManager.animateToPlacement(activeCamera, newCameraPosition, settings === null || settings === void 0 ? void 0 : settings.animation)];
598
694
  case 1:
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../../src/api/classes/viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../../src/api/classes/viewer.ts"],"names":[],"mappings":";;;;AACA,2EAA0E;AAE1E,qEAAoE;AACpE,yDAAwD;AACxD,wEAAuE;AACvE,+EAA8E;AAC9E,oFAAmF;AACnF,+DAA0D;AAC1D,iEAA4D;AAC5D,oDAAmD;AACnD,wEAAuE;AAEvE,8EAA6E;AAC7E,2DAAwE;AACxE,uCAAqC;AACrC,uDAA+C;AAC/C,qDAAoD;AACpD,gEAA+D;AAC/D,kEAAiE;AACjE,wDAAuD;AACvD,4EAA2E;AAC3E,oDAAmD;AACnD,yDAA4D;AAC5D,iCAAgC;AAChC,uDAAsD;AACtD,yCAAwC;AACxC,qCAAoC;AAGpC;;;;;;;;GAQG;AACH;IAA4B,kCAAgB;IAmB1C;;OAEG;IACH,gBAAmC,MAAyB,EAAY,aAAqC;QAA7G,YACE,iBAAO,SACR;QAFkC,YAAM,GAAN,MAAM,CAAmB;QAAY,mBAAa,GAAb,aAAa,CAAwB;QArBnG,YAAM,GAAiB,IAAI,CAAC;QAE5B,uBAAiB,GAA4B,IAAI,CAAC;QAElD,mBAAa,GAAwB,IAAI,CAAC;QAE1C,wBAAkB,GAA6B,IAAI,CAAC;QAEpD,uBAAiB,GAAkC,IAAI,CAAC;QAElE,wDAAwD;QACxD,yDAAyD;QAC/C,+BAAyB,GAAY,IAAI,CAAC;QAE1C,yBAAmB,GAAY,KAAK,CAAC;;IAS/C,CAAC;IAOD,sBAAI,yBAAK;QALT;;;;WAIG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACpD;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAOD,sBAAI,gCAAY;QALhB;;;;WAIG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC3D;YACD,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;;;OAAA;IAOD,sBAAI,qCAAiB;QALrB;;;;WAIG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAChE;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;;;OAAA;IAKD,sBAAI,0BAAM;QAHV;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;;;OAAA;IAOD,sBAAI,oCAAgB;QALpB;;;;WAIG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACpD;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;;;OAAA;IAOD,sBAAI,oCAAgB;QALpB;;;;WAIG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC3D;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;;;OAAA;IAKD,sBAAI,4CAAwB;QAH5B;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,yBAAyB,CAAC;QACxC,CAAC;;;OAAA;IAED;;;;;;;;;;;OAWG;IACU,0BAAS,GAAtB;;;;;;;wBACE,IAAI,CAAC,cAAc,CAAC,aAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;6BAE7C,oBAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAA5B,wBAA4B;wBAClB,qBAAM,yBAAQ,CAAgB,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAA7D,SAAS,GAAG,SAAiD,CAAC;;;wBAE9D,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;;;wBAEjC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;4BACpB,MAAM,IAAI,KAAK,CAAC,gDAA8C,CAAC,CAAC;yBACjE;wBACD,kBAAkB;wBAClB,yBAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;6BAElC,oBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAzB,wBAAyB;wBACT,qBAAM,yBAAQ,CAAY,SAAS,CAAC,KAAK,CAAC,EAAA;;wBAAtD,SAAS,GAAG,SAA0C;wBAC5D,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;;;wBAE9B,KAAA,IAAI,CAAA;wBAAU,qBAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAApC,GAAK,MAAM,GAAG,SAAsB,CAAC;wBAEjB,qBAAM,iBAAO,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAA;;wBAAxD,WAAW,GAAG,SAA0C;wBAC9D,KAAA,IAAI,CAAA;wBAAqB,qBAAM,+CAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAA;;wBAAzE,GAAK,iBAAiB,GAAG,SAAgD,CAAC;6BAEtE,SAAS,CAAC,KAAK,EAAf,yBAAe;6BACb,oBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAzB,yBAAyB;wBACT,qBAAM,yBAAQ,CAAY,SAAS,CAAC,KAAK,CAAC,EAAA;;wBAAtD,SAAS,GAAG,SAA0C;wBAC5D,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;;6BAE9B,qBAAM,IAAI,CAAC,sBAAsB,EAAE,EAAA;;wBAAnC,SAAmC,CAAC;;;wBAEtC,6BAA6B;wBAC7B,KAAA,IAAI,CAAA;wBAAsB,qBAAM,qCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAA;;wBAD9D,6BAA6B;wBAC7B,GAAK,kBAAkB,GAAG,SAAoC,CAAC;wBAC/D,iBAAiB;wBACjB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,yBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBACzE,uCAAuC;wBACvC,qBAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAA;;wBADjC,uCAAuC;wBACvC,SAAiC,CAAC;wBAClC,qBAAqB;wBACrB,IAAI,CAAC,cAAc,CAAC,aAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBAC/C,cAAc;wBACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;4BACxB,IAAI,CAAC,KAAI,CAAC,mBAAmB;gCAAE,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBACrD,CAAC,CAAC,CAAC;wBACH,sBAAO,IAAI,EAAC;;;;KACb;IAED;;;OAGG;IACU,iCAAgB,GAA7B,UAA8B,OAA2B;;;;;;oCACnD,OAAO,CAAC,GAAG,CAAC,QAAQ,0CAAE,WAAW,GAAG,QAAQ,CAAC,KAAK;wBACpD,yEAAa,yCAAyC,CAAC,sBAAsB,OAAC;;wBAA9E,SAA8E,CAAC;wBAC/E,qBAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;wBAE1C,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;;;;;;KAE9E;IAED;;OAEG;IACI,wCAAuB,GAA9B;QAAA,iBAKC;QAJC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAA,eAAe;YAC/C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,uBAAM,GAAb;QACE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACU,wBAAO,GAApB,UACE,mBAA2B,EAC3B,iBAAqC,EACrC,cAAkC;;;;;4BAEV,qBAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAA;;wBAAtE,eAAe,GAAG,SAAoD;wBAC5E,sBAAO,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,EAAC;;;;KACnE;IAED;;;OAGG;IACU,wBAAO,GAApB,UACE,mBAA2B,EAC3B,iBAAqC,EACrC,cAAkC;;;;;4BAEV,qBAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAA;;wBAAtE,eAAe,GAAG,SAAoD;wBAC5E,sBAAO,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,EAAC;;;;KACnE;IAED;;;;OAIG;IACI,6BAAY,GAAnB,UAAoB,SAAiB,EAAE,KAAqB;QAArB,sBAAA,EAAA,YAAqB;QAC1D,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE;YACV,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YAC7C,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAG,CAAC,CAAC;aAC/D;YACD,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,YAAY,EAAE,CAAC;aACvB;YACD,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAG,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,aAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;SACpD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,oBAAiB,SAAS,kBAAc,CAAC,CAAC;SAC3D;QACD,6DAA6D;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACU,mCAAkB,GAA/B,UACE,SAAuC,EACvC,SAAwC;;;gBAExC,sBAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,EAAC;;;KACvG;IAED;;OAEG;IACI,2BAAU,GAAjB,UAAkB,QAA6B;QAA/C,iBAqBC;QApBC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;;YACjC,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,KAAI,CAAC,KAAK,EAAE;gBACf,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;aAChC;YACD,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,oGAAoG;YACzH,iCAAe,CAAC,iCAAiC,CAC/C,KAAI,CAAC,MAAM,EACX,KAAI,CAAC,YAAY,CAAC,YAAY,QAC9B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE,KAAK,EAAE,KAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EACtF,OAAO,QACP,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,mCAAI,WAAW,QACjC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,mCAAI,CAAC,QACtB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,mCAAI,KAAK,QAC/B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,mCAAI,gBAAgB,QACtC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,mCAAI,KAAK,CACjC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACU,mCAAkB,GAA/B;;;;4BACS,qBAAM,yCAAmB,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAA;4BAAxE,sBAAO,SAAiE,EAAC;;;;KAC1E;IAED;;OAEG;IACU,qCAAoB,GAAjC,UAAkC,eAAkC;;;;gBAClE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;iBAChE;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,iEAAiE;gBAChF,MAAM,GAAG,kBAAkB,CAAC;gBAE5B,KAAe,IAAI,CAAC,KAAK,CAAC,MAAM;qBACnC,MAAM,CAAC,UAAA,IAAI;oBACV,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnC,wEAAwE;oBACxE,IAAM,aAAa,GAAG,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;oBACzC,4CAA4C;oBAC5C,IAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC1E,yBAAyB;oBACzB,IAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,+CAA6B,CAAC,IAAY,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC1G,OAAO,SAAS,IAAI,aAAa,IAAI,gBAAgB,IAAI,CAAC,UAAU,CAAC;gBACvE,CAAC,CAAC;qBACD,MAAM,CACL,UAAC,aAAa,EAAE,OAAO,EAAE,GAAG;oBAC1B,IAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC;oBACnD,iGAAiG;oBACjG,IAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;oBACnG,IAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;oBACnG,OAAO,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,CAAC;gBACtB,CAAC,EACD,EAAE,GAAG,EAAE,IAAI,qBAAO,EAAE,EAAE,GAAG,EAAE,IAAI,qBAAO,EAAE,EAAE,CAC3C,EApBK,GAAG,SAAA,EAAE,GAAG,SAAA,CAoBZ;gBAEA,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAS,CAAC;gBAC3D,IAAI,CAAC,WAAW,EAAE;oBAChB,WAAW,GAAG,IAAI,WAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC5C;gBACD,WAAW,CAAC,eAAe,CAAC,IAAI,2BAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxD,sBAAO,WAAW,EAAC;;;KACpB;IAED;;OAEG;IACU,sCAAqB,GAAlC,UAAmC,QAA4B;;;;;;wBAEvD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;wBAC7C,IAAI,CAAC,YAAY,EAAE;4BACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;yBACzE;wBACD,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAe,CAAC,EAAE;4BACxC,aAAa,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;4BAClD,MAAM,IAAI,KAAK,CAAC,sBAAmB,aAAa,wDAAoD,CAAC,CAAC;yBACvG;wBAGmB,qBAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,EAAA;;wBAAhE,WAAW,GAAG,SAAkD;wBAGhE,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;wBACxE,qBAAM,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAA;;wBAA7E,SAA6E,CAAC;wBAE9E,2BAA2B;wBAC3B,YAAY,CAAC,OAAO,EAAE,CAAC;;;;;KACxB;IAED;;;OAGG;IACU,sBAAK,GAAlB;;;;4BACE,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAApB,SAAoB,CAAC;wBACrB,sBAAO,IAAI,CAAC,SAAS,EAAE,EAAC;;;;KACzB;IAED;;;;;OAKG;IACI,wBAAO,GAAd;QACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,yBAAW,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,qCAAoB,GAA3B,UAA4B,SAAiB;QAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,aAAa,GAAG,UAAU,IAAY,EAAE,KAAa,EAAE,IAAY;YACvE,IAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7E,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC/B,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;YACpF,IAAM,KAAK,GAAG,WAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/D,KAAK,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAClE,KAAK,CAAC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;YACvC,aAAa;YACb,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,mBAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,aAAa;YACb,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAM,KAAK,GAAG,WAAI,CAAC,WAAW,CAC5B,OAAO,EACP;YACE,qBAAO,CAAC,IAAI,EAAE;YACd,IAAI,qBAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,qBAAO,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;YAClD,IAAI,qBAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,qBAAO,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;SACpD,EACD,KAAK,EACL,KAAK,CACN,CAAC;QACF,KAAK,CAAC,KAAK,GAAG,IAAI,mBAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,IAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,QAAQ,GAAG,IAAI,qBAAO,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;QACpE,IAAM,KAAK,GAAG,WAAI,CAAC,WAAW,CAC5B,OAAO,EACP;YACE,qBAAO,CAAC,IAAI,EAAE;YACd,IAAI,qBAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5B,IAAI,qBAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,qBAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5B,IAAI,qBAAO,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC;SACnD,EACD,KAAK,EACL,KAAK,CACN,CAAC;QACF,KAAK,CAAC,KAAK,GAAG,IAAI,mBAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,IAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,QAAQ,GAAG,IAAI,qBAAO,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QACpE,IAAM,KAAK,GAAG,WAAI,CAAC,WAAW,CAC5B,OAAO,EACP;YACE,qBAAO,CAAC,IAAI,EAAE;YACd,IAAI,qBAAO,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;YAC5B,IAAI,qBAAO,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;YACnD,IAAI,qBAAO,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;YAC5B,IAAI,qBAAO,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;SACnD,EACD,KAAK,EACL,KAAK,CACN,CAAC;QACF,KAAK,CAAC,KAAK,GAAG,IAAI,mBAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,IAAM,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,QAAQ,GAAG,IAAI,qBAAO,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,+BAAc,GAArB;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,gCAAe,GAAtB;QACE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED;;;OAGG;IACa,0BAAS,GAAzB;;;;;;;;wBACQ,SAAS,GAAG,yBAAW,CAAC,GAAG,CAAY,OAAO,CAAC,CAAC;wBACtD,IAAI,CAAC,cAAc,CAAC,aAAK,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;wBACvD,MAAM,GAAG,IAAI,eAAM,CACvB,IAAI,CAAC,MAA2B,cAChC,SAAS,CAAC,MAAM,0CAAE,YAAY,mCAAI,KAAK,QACvC,SAAS,CAAC,MAAM,0CAAE,OAAO,CAC1B,CAAC;wBACY,qBAAM,uBAAU,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA;;wBAA3C,KAAK,GAAG,SAAmC;wBACjD,IAAI,SAAS,CAAC,WAAW,EAAE;4BACzB,IAAI,+BAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BACrC,KAAK,CAAC,aAAa,GAAG,UAAC,YAA2B,EAAE,QAAqB;gCACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;oCACjB,OAAO;iCACR;gCACD,IAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;gCACjC,KAAI,CAAC,cAAc,CAAC,aAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gCAC7F,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,OAAO,EAAE;oCAC1B,KAAI,CAAC,cAAc,CAAC,aAAK,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iCAClE;gCACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,OAAO,EAAE;oCAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,qBAAS,CAAC,iBAAiB,CAAC,EAAE;wCAC1E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;qCACzC;oCACD,KAAI,CAAC,cAAc,CAAC,aAAK,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iCAClE;4BACH,CAAC,CAAC;yBACH;wBACD,KAAA,IAAI,CAAA;wBAAiB,qBAAM,2BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAA;;wBAArD,GAAK,aAAa,GAAG,SAAgC,CAAC;wBACtD,KAAA,IAAI,CAAA;wBAAqB,qBAAM,mCAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAA;;wBAA7D,GAAK,iBAAiB,GAAG,SAAoC,CAAC;wBAC9D,IAAI,SAAS,CAAC,wBAAwB,KAAK,SAAS,EAAE;4BACpD,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC,wBAAwB,CAAC;yBACrE;wBACD,IAAI,SAAS,CAAC,oBAAoB,KAAK,SAAS,EAAE;4BAChD,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;yBAC7D;wBACD,IAAI,CAAC,cAAc,CAAC,aAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;wBACvD,sBAAO,KAAK,EAAC;;;;KACd;IAED;;OAEG;IACa,uCAAsB,GAAtC;;;;;;wBACQ,SAAS,GAAG,yBAAW,CAAC,GAAG,CAAY,OAAO,CAAC,CAAC;wBAChD,SAAS,GAAG,EAAE,CAAC;8BAC+B,EAAnB,KAAA,SAAS,CAAC,SAAS;;;6BAAnB,CAAA,cAAmB,CAAA;wBAAzC,kBAAkB;wBAC3B,IAAI,kBAAkB,CAAC,IAAI,EAAE;4BAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;4BACnD,wBAAS;yBACV;wBACD,KAAA,CAAA,KAAA,SAAS,CAAA,CAAC,IAAI,CAAA;wBACZ,qBAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAChC,kBAAkB,CAAC,OAAO,EAC1B,kBAAkB,CAAC,IAAI,EACvB,kBAAkB,CAAC,UAAU,CAC9B,EAAA;;wBALH,cACE,SAIC,EACF,CAAC;;;wBAX6B,IAAmB,CAAA;;4BAapD,sBAAO,SAAS,EAAC;;;;KAClB;IAED;;OAEG;IACK,uCAAsB,GAA9B,UAA+B,WAAiB,EAAE,QAA4B;;QAC5E,iGAAiG;QACjG,IAAM,YAAY,GAAG,IAAI,iCAAe,CACtC,mBAAmB,EACnB,CAAC,EAAE,kEAAkE;QACrE,CAAC,EACD,CAAC,EAAE,qDAAqD;QACxD,qBAAO,CAAC,IAAI,EAAE,EACd,IAAI,CAAC,KAAK,CACX,CAAC;QACF,6GAA6G;QAC7G,wFAAwF;QACxF,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAEvC,sEAAsE;QACtE,6CAA6C;QAC7C,2IAA2I;QAC3I,IAAM,MAAM,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;QACnE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAE9C,6EAA6E;QAC7E,8EAA8E;QAC9E,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1C,YAAY,CAAC,KAAK,GAAG,OAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAChE,YAAY,CAAC,IAAI,GAAG,OAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAE7D,mCAAmC;QACnC,sFAAsF;QACtF,YAAY,CAAC,YAAY,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,KAAI,CAAC,CAAC;QACxD,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;QAEzC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACW,6CAA4B,GAA1C,UACE,YAA6B,EAC7B,YAA6B,EAC7B,QAA4B;;;;;;wBAE5B,SAAS;wBACT,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;wBACtC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;wBAC9D,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;wBAE9D,sBAAsB;wBACtB,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,MAAK,KAAK,EAAE;4BAC5C,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;yBAC3D;wBACD,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,wBAAwB,MAAK,KAAK,EAAE;4BAChD,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;yBACnE;wBACD,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,MAAK,KAAK,EAAE;4BAC5C,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;yBAC3D;wBAIK,iBAAiB,GAAwB;4BAC7C,KAAK,EAAE,YAAY,CAAC,KAAK;4BACzB,IAAI,EAAE,YAAY,CAAC,IAAI;4BACvB,MAAM,EAAE,YAAY,CAAC,MAAM;4BAC3B,MAAM,EAAE,YAAY,CAAC,MAAM;yBAC5B,CAAC;wBACF,qBAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAC,EAAA;;wBAApG,SAAoG,CAAC;;;;;KACtG;IAzjBM,cAAO,GAAG,wBAAO,CAAC;IA0jB3B,aAAC;CAAA,AA3kBD,CAA4B,mCAAgB,GA2kB3C;AA3kBY,wBAAM"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ViewerLight = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var core_1 = require("@babylonjs/core");
5
+ var pointLight_1 = require("@babylonjs/core/Lights/pointLight");
6
6
  var hemisphericLight_1 = require("@babylonjs/core/Lights/hemisphericLight");
7
7
  var shadowLight_1 = require("@babylonjs/core/Lights/shadowLight");
8
8
  var shadowGenerator_1 = require("@babylonjs/core/Lights/Shadows/shadowGenerator");
@@ -95,7 +95,7 @@ var ViewerLight = /** @class */ (function (_super) {
95
95
  if (lodash_es_1.isString(definition)) {
96
96
  return {
97
97
  type: 'baked',
98
- path: definition
98
+ path: definition,
99
99
  };
100
100
  }
101
101
  return definition;
@@ -147,7 +147,7 @@ var ViewerLight = /** @class */ (function (_super) {
147
147
  }
148
148
  return [2 /*return*/];
149
149
  });
150
- }); }
150
+ }); },
151
151
  ]);
152
152
  this._parameterObservers.set(parameter_1.Parameter.INTENSITY, [
153
153
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -155,7 +155,7 @@ var ViewerLight = /** @class */ (function (_super) {
155
155
  lodash_es_1.set(light.light, 'intensity', parameter_1.Parameter.parseNumber(newValue));
156
156
  return [2 /*return*/];
157
157
  });
158
- }); }
158
+ }); },
159
159
  ]);
160
160
  this._parameterObservers.set(parameter_1.Parameter.SCALING, [
161
161
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -166,12 +166,12 @@ var ViewerLight = /** @class */ (function (_super) {
166
166
  babylonHelper_1.transformTransformNode(rootNode, {
167
167
  scaling: parameter_1.Parameter.parseScaling(newValue),
168
168
  position: parameter_1.Parameter.parseVector(light.inheritedParameters[parameter_1.Parameter.POSITION] || '(0, 0, 0)'),
169
- rotation: parameter_1.Parameter.parseRotation(light.inheritedParameters[parameter_1.Parameter.ROTATION] || '(0, 0, 0)')
169
+ rotation: parameter_1.Parameter.parseRotation(light.inheritedParameters[parameter_1.Parameter.ROTATION] || '(0, 0, 0)'),
170
170
  });
171
171
  }
172
172
  return [2 /*return*/];
173
173
  });
174
- }); }
174
+ }); },
175
175
  ]);
176
176
  this._parameterObservers.set(parameter_1.Parameter.POSITION, [
177
177
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -182,12 +182,12 @@ var ViewerLight = /** @class */ (function (_super) {
182
182
  babylonHelper_1.transformTransformNode(rootNode, {
183
183
  scaling: parameter_1.Parameter.parseVector(light.inheritedParameters[parameter_1.Parameter.SCALING] || '(1, 1, 1)'),
184
184
  position: parameter_1.Parameter.parseVector(newValue),
185
- rotation: parameter_1.Parameter.parseRotation(light.inheritedParameters[parameter_1.Parameter.ROTATION] || '(0, 0, 0)')
185
+ rotation: parameter_1.Parameter.parseRotation(light.inheritedParameters[parameter_1.Parameter.ROTATION] || '(0, 0, 0)'),
186
186
  });
187
187
  }
188
188
  return [2 /*return*/];
189
189
  });
190
- }); }
190
+ }); },
191
191
  ]);
192
192
  this._parameterObservers.set(parameter_1.Parameter.ROTATION, [
193
193
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -198,23 +198,23 @@ var ViewerLight = /** @class */ (function (_super) {
198
198
  babylonHelper_1.transformTransformNode(rootNode, {
199
199
  scaling: parameter_1.Parameter.parseVector(light.inheritedParameters[parameter_1.Parameter.SCALING] || '(1, 1, 1)'),
200
200
  position: parameter_1.Parameter.parseVector(light.inheritedParameters[parameter_1.Parameter.POSITION] || '(0, 0, 0)'),
201
- rotation: parameter_1.Parameter.parseRotation(newValue)
201
+ rotation: parameter_1.Parameter.parseRotation(newValue),
202
202
  });
203
203
  }
204
204
  return [2 /*return*/];
205
205
  });
206
- }); }
206
+ }); },
207
207
  ]);
208
208
  this._parameterObservers.set(parameter_1.Parameter.DIRECTION, [
209
209
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
210
210
  return tslib_1.__generator(this, function (_a) {
211
- if ((light.light instanceof shadowLight_1.ShadowLight && !(light.light instanceof core_1.PointLight))
212
- || light.light instanceof hemisphericLight_1.HemisphericLight) {
211
+ if ((light.light instanceof shadowLight_1.ShadowLight && !(light.light instanceof pointLight_1.PointLight)) ||
212
+ light.light instanceof hemisphericLight_1.HemisphericLight) {
213
213
  lodash_es_1.set(light.light, 'direction', parameter_1.Parameter.parseVector(newValue));
214
214
  }
215
215
  return [2 /*return*/];
216
216
  });
217
- }); }
217
+ }); },
218
218
  ]);
219
219
  this._parameterObservers.set(parameter_1.Parameter.ANGLE, [
220
220
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -224,7 +224,7 @@ var ViewerLight = /** @class */ (function (_super) {
224
224
  }
225
225
  return [2 /*return*/];
226
226
  });
227
- }); }
227
+ }); },
228
228
  ]);
229
229
  this._parameterObservers.set(parameter_1.Parameter.EXPONENT, [
230
230
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -234,7 +234,7 @@ var ViewerLight = /** @class */ (function (_super) {
234
234
  }
235
235
  return [2 /*return*/];
236
236
  });
237
- }); }
237
+ }); },
238
238
  ]);
239
239
  this._parameterObservers.set(parameter_1.Parameter.DIFFUSE, [
240
240
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -242,7 +242,7 @@ var ViewerLight = /** @class */ (function (_super) {
242
242
  lodash_es_1.set(light.light, 'diffuse', parameter_1.Parameter.parseColor(newValue));
243
243
  return [2 /*return*/];
244
244
  });
245
- }); }
245
+ }); },
246
246
  ]);
247
247
  this._parameterObservers.set(parameter_1.Parameter.SPECULAR, [
248
248
  function (light, oldValue, newValue) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -250,7 +250,7 @@ var ViewerLight = /** @class */ (function (_super) {
250
250
  lodash_es_1.set(light.light, 'specular', parameter_1.Parameter.parseColor(newValue));
251
251
  return [2 /*return*/];
252
252
  });
253
- }); }
253
+ }); },
254
254
  ]);
255
255
  return this;
256
256
  };
@@ -295,12 +295,14 @@ var ViewerLight = /** @class */ (function (_super) {
295
295
  if (!parameters['direction']) {
296
296
  throw new Error("The ViewerLight \"" + lightId + "\" of type \"" + definition.type + "\" needs a \"direction\".");
297
297
  }
298
- return [4 /*yield*/, Promise.resolve().then(function () { return require(/* webpackChunkName: "hemispheric-light" */ '@babylonjs/core/Lights/hemisphericLight'); })];
298
+ return [4 /*yield*/, Promise.resolve().then(function () { return require(
299
+ /* webpackChunkName: "hemispheric-light" */ '@babylonjs/core/Lights/hemisphericLight'); })];
299
300
  case 3:
300
301
  hemisphericLightModule = _b.sent();
301
302
  babylonLight = new hemisphericLightModule.HemisphericLight(lightId, parameters['direction'], scene);
302
303
  return [3 /*break*/, 11];
303
- case 4: return [4 /*yield*/, Promise.resolve().then(function () { return require(/* webpackChunkName: "point-light" */ '@babylonjs/core/Lights/pointLight'); })];
304
+ case 4: return [4 /*yield*/, Promise.resolve().then(function () { return require(
305
+ /* webpackChunkName: "point-light" */ '@babylonjs/core/Lights/pointLight'); })];
304
306
  case 5:
305
307
  pointLightModule = _b.sent();
306
308
  babylonLight = new pointLightModule.PointLight(lightId, math_vector_1.Vector3.Zero(), // position is set via parent TransformNode
@@ -310,7 +312,8 @@ var ViewerLight = /** @class */ (function (_super) {
310
312
  if (!parameters['direction']) {
311
313
  throw new Error("The ViewerLight \"" + lightId + "\" of type \"" + definition.type + "\" needs a \"direction\".");
312
314
  }
313
- return [4 /*yield*/, Promise.resolve().then(function () { return require(/* webpackChunkName: "directional-light" */ '@babylonjs/core/Lights/directionalLight'); })];
315
+ return [4 /*yield*/, Promise.resolve().then(function () { return require(
316
+ /* webpackChunkName: "directional-light" */ '@babylonjs/core/Lights/directionalLight'); })];
314
317
  case 7:
315
318
  directionalLightModule = _b.sent();
316
319
  babylonLight = new directionalLightModule.DirectionalLight(lightId, parameters['direction'], scene);
@@ -334,8 +337,7 @@ var ViewerLight = /** @class */ (function (_super) {
334
337
  case 10: throw new Error("The type \"" + definition.type + "\" for ViewerLight \"" + lightId + "\" is not implemented (yet).");
335
338
  case 11:
336
339
  if (!babylonLight) {
337
- throw new Error("The Light for ViewerLight \"" + lightId + "\" of type \"" + definition.type + "\" could no be created " +
338
- "or found.");
340
+ throw new Error("The Light for ViewerLight \"" + lightId + "\" of type \"" + definition.type + "\" could no be created " + "or found.");
339
341
  }
340
342
  if (!babylonLight.parent) {
341
343
  // Create pseudo parent since lights do not implement mutations like "rotation" by itself.
@@ -343,7 +345,7 @@ var ViewerLight = /** @class */ (function (_super) {
343
345
  }
344
346
  babylonHelper_1.injectNodeMetadata(babylonLight.parent, {
345
347
  variant: this.variant,
346
- variantParameterizable: this
348
+ variantParameterizable: this,
347
349
  });
348
350
  // disable/hide by default
349
351
  babylonHelper_1.disableNodeWithParents(babylonLight);
@@ -362,7 +364,6 @@ var ViewerLight = /** @class */ (function (_super) {
362
364
  });
363
365
  });
364
366
  };
365
- ;
366
367
  /**
367
368
  * @param babylonLight
368
369
  * @param definition
@@ -386,7 +387,6 @@ var ViewerLight = /** @class */ (function (_super) {
386
387
  });
387
388
  });
388
389
  };
389
- ;
390
390
  return ViewerLight;
391
391
  }(variantParameterizable_1.VariantParameterizable));
392
392
  exports.ViewerLight = ViewerLight;