@combeenation/3d-viewer 4.0.0-alpha8 → 4.0.0-beta3

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 (57) hide show
  1. package/README.md +1 -0
  2. package/dist/lib-cjs/api/classes/element.d.ts +9 -14
  3. package/dist/lib-cjs/api/classes/element.js +96 -143
  4. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  5. package/dist/lib-cjs/api/classes/event.d.ts +1 -15
  6. package/dist/lib-cjs/api/classes/event.js +1 -15
  7. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  8. package/dist/lib-cjs/api/classes/parameter.d.ts +7 -101
  9. package/dist/lib-cjs/api/classes/parameter.js +21 -141
  10. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  11. package/dist/lib-cjs/api/classes/parameterObservable.js +36 -11
  12. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  13. package/dist/lib-cjs/api/classes/variant.d.ts +14 -48
  14. package/dist/lib-cjs/api/classes/variant.js +56 -315
  15. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  16. package/dist/lib-cjs/api/classes/variantInstance.d.ts +1 -5
  17. package/dist/lib-cjs/api/classes/variantInstance.js +0 -10
  18. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  19. package/dist/lib-cjs/api/classes/viewer.d.ts +1 -0
  20. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  21. package/dist/lib-cjs/api/classes/viewerLight.js +24 -16
  22. package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
  23. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +1 -5
  24. package/dist/lib-cjs/api/internal/sceneSetup.js +71 -75
  25. package/dist/lib-cjs/api/internal/sceneSetup.js.map +1 -1
  26. package/dist/lib-cjs/api/util/babylonHelper.d.ts +4 -51
  27. package/dist/lib-cjs/api/util/babylonHelper.js +8 -141
  28. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  29. package/dist/lib-cjs/api/util/globalTypes.d.ts +11 -53
  30. package/dist/lib-cjs/api/util/resourceHelper.d.ts +26 -4
  31. package/dist/lib-cjs/api/util/resourceHelper.js +56 -53
  32. package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
  33. package/dist/lib-cjs/index.d.ts +22 -24
  34. package/dist/lib-cjs/index.js +38 -42
  35. package/dist/lib-cjs/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/api/classes/element.ts +100 -110
  38. package/src/api/classes/{parameterizable.ts → elementParameterizable.ts} +1 -12
  39. package/src/api/classes/event.ts +1 -16
  40. package/src/api/classes/parameter.ts +22 -153
  41. package/src/api/classes/parameterObservable.ts +31 -9
  42. package/src/api/classes/variant.ts +51 -184
  43. package/src/api/classes/variantInstance.ts +1 -8
  44. package/src/api/classes/viewer.ts +1 -0
  45. package/src/api/internal/sceneSetup.ts +109 -99
  46. package/src/api/util/babylonHelper.ts +9 -153
  47. package/src/api/util/globalTypes.ts +13 -64
  48. package/src/api/util/resourceHelper.ts +53 -26
  49. package/src/dev.ts +7 -5
  50. package/src/index.ts +23 -27
  51. package/src/pagesconfig.json +13 -8
  52. package/dist/lib-cjs/api/emitter.d.ts +0 -35
  53. package/dist/lib-cjs/api/emitter.js +0 -61
  54. package/dist/lib-cjs/api/emitter.js.map +0 -1
  55. package/src/api/classes/variantParameterizable.ts +0 -73
  56. package/src/api/classes/viewerLight.ts +0 -326
  57. package/src/api/util/stringHelper.ts +0 -26
@@ -1,27 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getClientRectFromMesh = exports.removeFromShadowGenerator = exports.addToShadowGenerator = exports.setReceiveShadows = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.moveTransformNode = exports.rotateTransformNode = exports.disableNodeWithParents = exports.enableNodeWithParents = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertTransformNode = exports.injectNodeMetadata = exports.cloneTransformNodeMaterial = exports.cloneNodeWithParents = exports.cloneTransformNode = exports.getDottedPathForNode = exports.mapToDottedNodes = exports.getRootNode = void 0;
3
+ exports.getClientRectFromMesh = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertTransformNode = exports.injectTransformNodeMetadata = exports.cloneTransformNodeMaterial = exports.cloneTransformNode = exports.getDottedPathForTransformNode = exports.mapToDottedNodes = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var light_1 = require("@babylonjs/core/Lights/light");
6
- var math_axis_1 = require("@babylonjs/core/Maths/math.axis");
7
5
  var math_vector_1 = require("@babylonjs/core/Maths/math.vector");
8
6
  var abstractMesh_1 = require("@babylonjs/core/Meshes/abstractMesh");
9
7
  var instancedMesh_1 = require("@babylonjs/core/Meshes/instancedMesh");
10
- var transformNode_1 = require("@babylonjs/core/Meshes/transformNode");
11
8
  var lodash_es_1 = require("lodash-es");
12
9
  var dottedPath_1 = require("../classes/dottedPath");
13
- /**
14
- * @param node
15
- * @return Node
16
- */
17
- var getRootNode = function (node) {
18
- var _node = node;
19
- while (_node.parent) {
20
- _node = _node.parent;
21
- }
22
- return _node;
23
- };
24
- exports.getRootNode = getRootNode;
25
10
  /**
26
11
  * @param nodes
27
12
  * @param predicate
@@ -47,7 +32,7 @@ exports.mapToDottedNodes = mapToDottedNodes;
47
32
  * @param node
48
33
  * @return DottedPath
49
34
  */
50
- var getDottedPathForNode = function (node) {
35
+ var getDottedPathForTransformNode = function (node) {
51
36
  var dottedPath = dottedPath_1.DottedPath.create(node.name);
52
37
  var _parent = node;
53
38
  while (_parent.parent) {
@@ -56,8 +41,9 @@ var getDottedPathForNode = function (node) {
56
41
  }
57
42
  return dottedPath;
58
43
  };
59
- exports.getDottedPathForNode = getDottedPathForNode;
44
+ exports.getDottedPathForTransformNode = getDottedPathForTransformNode;
60
45
  /**
46
+ *
61
47
  * @param node
62
48
  * @param predicate
63
49
  * @param deep
@@ -84,23 +70,6 @@ var cloneTransformNode = function (node, predicate, deep) {
84
70
  return clone;
85
71
  };
86
72
  exports.cloneTransformNode = cloneTransformNode;
87
- /**
88
- * @param node
89
- */
90
- var cloneNodeWithParents = function (node) {
91
- var clone = null;
92
- if (node instanceof transformNode_1.TransformNode) {
93
- clone = node.clone(node.name, cloneNodeWithParents(node.parent), true);
94
- }
95
- else if (node instanceof light_1.Light) {
96
- clone = node.clone(node.name, cloneNodeWithParents(node.parent));
97
- }
98
- else if (node) {
99
- throw new Error("Cloning of \"" + (node === null || node === void 0 ? void 0 : node.constructor.name) + "\" is not implemented (yet).");
100
- }
101
- return clone;
102
- };
103
- exports.cloneNodeWithParents = cloneNodeWithParents;
104
73
  /**
105
74
  * @param node
106
75
  * @param deep
@@ -129,15 +98,15 @@ exports.cloneTransformNodeMaterial = cloneTransformNodeMaterial;
129
98
  * @param deep
130
99
  * @param metadata
131
100
  */
132
- var injectNodeMetadata = function (node, metadata, deep) {
101
+ var injectTransformNodeMetadata = function (node, metadata, deep) {
133
102
  if (deep === void 0) { deep = true; }
134
103
  node.metadata = lodash_es_1.merge({}, node.metadata, metadata);
135
- if (deep && node instanceof transformNode_1.TransformNode) {
104
+ if (deep) {
136
105
  var children = node.getChildTransformNodes(true);
137
- children.forEach(function (child) { return injectNodeMetadata(child, metadata, deep); });
106
+ children.forEach(function (child) { return injectTransformNodeMetadata(child, metadata, deep); });
138
107
  }
139
108
  };
140
- exports.injectNodeMetadata = injectNodeMetadata;
109
+ exports.injectTransformNodeMetadata = injectTransformNodeMetadata;
141
110
  /**
142
111
  * @param node
143
112
  * @param assertCallable
@@ -190,61 +159,6 @@ var deactivateTransformNode = function (node, deep) {
190
159
  }
191
160
  };
192
161
  exports.deactivateTransformNode = deactivateTransformNode;
193
- /**
194
- * @param node
195
- */
196
- var enableNodeWithParents = function (node) {
197
- node.setEnabled(true);
198
- if (node.parent) {
199
- enableNodeWithParents(node.parent);
200
- }
201
- };
202
- exports.enableNodeWithParents = enableNodeWithParents;
203
- /**
204
- * @param node
205
- */
206
- var disableNodeWithParents = function (node) {
207
- node.setEnabled(false);
208
- if (node.parent) {
209
- disableNodeWithParents(node.parent);
210
- }
211
- };
212
- exports.disableNodeWithParents = disableNodeWithParents;
213
- /**
214
- * @param node
215
- * @param rotation
216
- * @param space
217
- */
218
- var rotateTransformNode = function (node, rotation) {
219
- // remember absolute rotation and reset it before translating
220
- if (!lodash_es_1.get(node.metadata, 'rotation')) {
221
- injectNodeMetadata(node, { rotation: node.rotation.clone() }, false);
222
- }
223
- node.rotation = node.metadata.rotation;
224
- // rotate
225
- node.rotate(math_axis_1.Axis.X, rotation.x, math_axis_1.Space.WORLD);
226
- node.rotate(math_axis_1.Axis.Y, rotation.y, math_axis_1.Space.WORLD);
227
- node.rotate(math_axis_1.Axis.Z, rotation.z, math_axis_1.Space.WORLD);
228
- return node;
229
- };
230
- exports.rotateTransformNode = rotateTransformNode;
231
- /**
232
- * @param node
233
- * @param distance
234
- */
235
- var moveTransformNode = function (node, distance) {
236
- // remember absolute position and reset it before translating
237
- if (!lodash_es_1.get(node.metadata, 'position')) {
238
- injectNodeMetadata(node, { position: node.absolutePosition.clone() }, false);
239
- }
240
- node.setAbsolutePosition(node.metadata.position);
241
- // move
242
- node.translate(math_axis_1.Axis.X, distance.x, math_axis_1.Space.WORLD);
243
- node.translate(math_axis_1.Axis.Y, distance.y, math_axis_1.Space.WORLD);
244
- node.translate(math_axis_1.Axis.Z, distance.z, math_axis_1.Space.WORLD);
245
- return node;
246
- };
247
- exports.moveTransformNode = moveTransformNode;
248
162
  /**
249
163
  * @param node
250
164
  * @param material
@@ -416,53 +330,6 @@ var removeFromHighlightLayer = function (layer, node, deep) {
416
330
  }
417
331
  };
418
332
  exports.removeFromHighlightLayer = removeFromHighlightLayer;
419
- /**
420
- * @param node
421
- * @param receiveShadows
422
- * @param deep
423
- */
424
- var setReceiveShadows = function (node, receiveShadows, deep) {
425
- if (deep === void 0) { deep = true; }
426
- if (node instanceof abstractMesh_1.AbstractMesh) {
427
- node.receiveShadows = receiveShadows;
428
- }
429
- if (deep) {
430
- node.getChildTransformNodes(true).forEach(function (child) { return setReceiveShadows(child, receiveShadows, deep); });
431
- }
432
- };
433
- exports.setReceiveShadows = setReceiveShadows;
434
- /**
435
- * @param node
436
- * @param generator
437
- * @param deep
438
- */
439
- var addToShadowGenerator = function (generator, node, deep) {
440
- if (deep === void 0) { deep = true; }
441
- if (node instanceof abstractMesh_1.AbstractMesh) {
442
- // We have to remove the node because there's no duplicate check in babylon
443
- generator.removeShadowCaster(node, false);
444
- generator.addShadowCaster(node, false);
445
- }
446
- if (deep) {
447
- node.getChildTransformNodes(true).forEach(function (child) { return addToShadowGenerator(generator, child, deep); });
448
- }
449
- };
450
- exports.addToShadowGenerator = addToShadowGenerator;
451
- /**
452
- * @param node
453
- * @param generator
454
- * @param deep
455
- */
456
- var removeFromShadowGenerator = function (generator, node, deep) {
457
- if (deep === void 0) { deep = true; }
458
- if (node instanceof abstractMesh_1.AbstractMesh) {
459
- generator.removeShadowCaster(node, false);
460
- }
461
- if (deep) {
462
- node.getChildTransformNodes(true).forEach(function (child) { return removeFromShadowGenerator(generator, child, deep); });
463
- }
464
- };
465
- exports.removeFromShadowGenerator = removeFromShadowGenerator;
466
333
  /**
467
334
  * https://forum.babylonjs.com/t/get-mesh-bounding-box-position-and-size-in-2d-screen-coordinates/1058/3
468
335
  * @param mesh
@@ -1 +1 @@
1
- {"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":";;;;AAKA,iEAA4D;AAC5D,oEAAmE;AACnE,sEAAqE;AAKrE,uCAA6C;AAC7C,oDAAmD;AAEnD;;;;GAIG;AACH,IAAM,gBAAgB,GAAG,UAAc,KAAa,EACb,SAAqC;IAC3E,IAAM,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrC,IAAM,QAAQ,GAAG,UAAU,KAAW;QACrC,IAAI,SAAS,IAAI,SAAS,CAAE,KAAK,CAAE,EAAG;YACrC,GAAG,CAAC,GAAG,CAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAY,CAAE,CAAC;SACnD;QACD,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,UAAA,KAAK;YACjC,QAAQ,CAAE,KAAK,CAAE,CAAC;QACnB,CAAC,CAAE,CAAC;IACL,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;QAClB,QAAQ,CAAE,IAAI,CAAE,CAAC;IAClB,CAAC,CAAE,CAAC;IACJ,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAmVD,4CAAgB;AAjVjB;;;GAGG;AACH,IAAM,6BAA6B,GAAG,UAAU,IAAmB;IAClE,IAAM,UAAU,GAAG,uBAAU,CAAC,MAAM,CAAE,IAAI,CAAC,IAAI,CAAE,CAAC;IAClD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,CAAC,MAAM,EAAG;QACvB,OAAO,GAAG,OAAO,CAAC,MAAuB,CAAC;QAC1C,UAAU,CAAC,WAAW,CAAE,OAAO,CAAC,IAAI,CAAE,CAAC;KACvC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAsUD,sEAA6B;AApU9B;;;;;;GAMG;AACH,IAAM,kBAAkB,GAAG,UAAU,IAAmB,EACnB,SAA8C,EAC9C,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IACxD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,EAAG;QACrC,OAAO,IAAI,CAAC;KACZ;IACD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAE,CAAC;IACzD,IAAI,KAAK,EAAG;QACX,KAAK,CAAC,QAAQ,GAAG,qBAAS,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC;KAC5C;IACD,IAAI,IAAI,EAAG;QACV,IAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAE,UAAA,KAAK;YACtB,IAAM,WAAW,GAAG,kBAAkB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAE,CAAC;YACjE,IAAI,WAAW,EAAG;gBACjB,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;aAC3B;QACF,CAAC,CAAE,CAAC;KACJ;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AA0SD,gDAAkB;AAxSnB;;;;;GAKG;AACH,IAAM,0BAA0B,GAAG,UAAU,IAAmB,EACnB,MAA+B,EAC/B,IAAoB;IADpB,uBAAA,EAAA,WAA+B;IAC/B,qBAAA,EAAA,WAAoB;IAChE,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAG;QACnD,IAAM,OAAO,GAAG,uBAAU,CAAC,MAAM,CAAE,MAAM,CAAE,CAAC,QAAQ,CAAC;YACpD,MAAM;YACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAE,OAAO,CAAC,IAAI,CAAE,CAAC;KACpD;IACD,IAAI,IAAI,EAAG;QACV,IAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,0BAA0B,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAE,EAAjD,CAAiD,CAAE,CAAC;KAC/E;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAoRD,gEAA0B;AAlR3B;;;;GAIG;AACH,IAAM,2BAA2B,GAAG,UAAU,IAAmB,EAAE,QAAY,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IACpG,IAAI,CAAC,QAAQ,GAAG,iBAAK,CAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAE,CAAC;IACrD,IAAI,IAAI,EAAG;QACV,IAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,2BAA2B,CAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAE,EAApD,CAAoD,CAAE,CAAC;KAClF;AACF,CAAC,CAAC;AAwQD,kEAA2B;AAtQ5B;;;;;GAKG;AACH,IAAM,mBAAmB,GAAG,UAAU,IAAmB,EACnB,cAAgC,EAChC,kBAA8B,EAC9B,IAAoB;IADpB,mCAAA,EAAA,uBAA8B;IAC9B,qBAAA,EAAA,WAAoB;IACzD,cAAc,uCAAC,IAAI,GAAK,kBAAkB,GAAE;IAC5C,IAAI,IAAI,EAAG;QACV,IAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,mBAAmB,CAAE,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,IAAI,CAAE,EAAtE,CAAsE,CAAE,CAAC;KACpG;AACF,CAAC,CAAC;AAwPD,kDAAmB;AAtPpB;;;GAGG;AACH,IAAM,qBAAqB,GAAG,UAAU,IAAmB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IAChF,IAAI,CAAC,UAAU,CAAE,IAAI,CAAE,CAAC;IACxB;;;;;MAKE;IACF,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,qBAAqB,CAAE,KAAK,EAAE,IAAI,CAAE,EAApC,CAAoC,CAAE,CAAC;KAC7F;AACF,CAAC,CAAC;AAwOD,sDAAqB;AAtOtB;;;GAGG;AACH,IAAM,uBAAuB,GAAG,UAAU,IAAmB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IAClF,IAAI,CAAC,UAAU,CAAE,KAAK,CAAE,CAAC;IACzB;;;;;MAKE;IACF,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,uBAAuB,CAAE,KAAK,EAAE,IAAI,CAAE,EAAtC,CAAsC,CAAE,CAAC;KAC/F;AACF,CAAC,CAAC;AAwND,0DAAuB;AAtNxB;;;;GAIG;AACH,IAAM,WAAW,GAAG,UAAU,IAAmB,EAAE,QAAkB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IAC1F,IAAI,IAAI,YAAY,2BAAY,EAAG;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACzB;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,WAAW,CAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAE,EAApC,CAAoC,CAAE,CAAC;KAC7F;AACF,CAAC,CAAC;AA2MD,kCAAW;AAzMZ;;;;;;;;;;;;;;;GAeG;AACH,IAAM,qBAAqB,GAAG,UAAU,IAAmB,EAAE,QAAkB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IACpG,IAAM,IAAI,GAAG,mQAEmB,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,sBAAoB,IAAM,CAAC,CAAC;IAEzC,IAAI,IAAI,YAAY,6BAAa,EAAG;QACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACpC;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,qBAAqB,CAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAE,EAA9C,CAA8C,CAAE,CAAC;KACvG;AACF,CAAC,CAAC;AA8KD,sDAAqB;AA5KtB;;;;GAIG;AACH,IAAM,gBAAgB,GAAG,UAAU,IAAmB,EAAE,KAAa,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IAC1F,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAG;QACnD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAG;YACrB,KAAK,aAAa;gBAChB,IAAI,CAAC,QAAwB,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACnE,MAAM;YACP,KAAK,kBAAkB;gBACrB,IAAI,CAAC,QAA6B,CAAC,YAAY,GAAG,KAAK,CAAC;gBACzD,MAAM;YACP;gBACC,MAAM,IAAI,KAAK,CAAE,8CAA2C,WAAW,8BAA0B,CAAE,CAAC;SACrG;KACD;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,gBAAgB,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAE,EAAtC,CAAsC,CAAE,CAAC;KAC/F;AACF,CAAC,CAAC;AAuJD,4CAAgB;AArJjB;;;;GAIG;AACH,IAAM,kBAAkB,GAAG,UAAU,IAAmB,EAAE,OAAgB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IAC/F,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAG;QACnD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAG;YACrB,KAAK,aAAa;gBAChB,IAAI,CAAC,QAAwB,CAAC,aAAa,GAAG,OAAO,CAAC;gBACvD,MAAM;YACP,KAAK,kBAAkB;gBACrB,IAAI,CAAC,QAA6B,CAAC,cAAc,GAAG,OAAO,CAAC;gBAC7D,MAAM;YACP;gBACC,MAAM,IAAI,KAAK,CAAE,gDAA6C,WAAW,8BAA0B,CAAE,CAAC;SACvG;KACD;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,kBAAkB,CAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAE,EAA1C,CAA0C,CAAE,CAAC;KACnG;AACF,CAAC,CAAC;AAgID,gDAAkB;AA9HnB;;;;GAIG;AACH,IAAM,qBAAqB,GAAG,UAAU,IAAmB,EAAE,UAAkB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IACpG,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAG;QACnD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAG;YACrB,KAAK,aAAa;gBAChB,IAAI,CAAC,QAAwB,CAAC,QAAQ,GAAG,UAAU,CAAC;gBACrD,MAAM;YACP;gBACC,MAAM,IAAI,KAAK,CAAE,mDAAgD,WAAW,8BAA0B,CAAE,CAAC;SAC1G;KACD;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,qBAAqB,CAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAE,EAAhD,CAAgD,CAAE,CAAC;KACzG;AACF,CAAC,CAAC;AA4GD,sDAAqB;AA1GtB;;;;GAIG;AACH,IAAM,oBAAoB,GAAG,UAAU,IAAmB,EAAE,SAAiB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IAClG,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAG;QACnD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAG;YACrB,KAAK,aAAa;gBAChB,IAAI,CAAC,QAAwB,CAAC,SAAS,GAAG,SAAS,CAAC;gBACrD,MAAM;YACP,KAAK,kBAAkB;gBACrB,IAAI,CAAC,QAA6B,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1D,MAAM;YACP;gBACC,MAAM,IAAI,KAAK,CAAE,kDAA+C,WAAW,8BAA0B,CAAE,CAAC;SACzG;KACD;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAAE,UAAA,KAAK,IAAI,OAAA,oBAAoB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAE,EAA9C,CAA8C,CAAE,CAAC;KACvG;AACF,CAAC,CAAC;AAqFD,oDAAoB;AAnFrB;;;;;GAKG;AACH,IAAM,mBAAmB,GAAG,UAAU,KAAqB,EAAE,KAAa,EAAE,IAAmB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IACpH,IAAI,IAAI,YAAY,2BAAY,EAAG;QAClC,KAAK,CAAC,OAAO,CAAG,IAAa,EAAE,KAAK,CAAE,CAAC;KACvC;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAC1C,UAAA,KAAK,IAAI,OAAA,mBAAmB,CAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAE,EAAhD,CAAgD,CACzD,CAAC;KACF;AACF,CAAC,CAAC;AAqED,kDAAmB;AAnEpB;;;;GAIG;AACH,IAAM,wBAAwB,GAAG,UAAU,KAAqB,EAAE,IAAmB,EAAE,IAAoB;IAApB,qBAAA,EAAA,WAAoB;IAC1G,IAAI,IAAI,YAAY,2BAAY,EAAG;QAClC,KAAK,CAAC,UAAU,CAAG,IAAa,CAAE,CAAC;KACnC;IACD,IAAI,IAAI,EAAG;QACV,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,OAAO,CAC1C,UAAA,KAAK,IAAI,OAAA,wBAAwB,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAE,EAA9C,CAA8C,CACvD,CAAC;KACF;AACF,CAAC,CAAC;AAsDD,4DAAwB;AApDzB;;;;;GAKG;AACH,IAAM,qBAAqB,GAAG,UAAU,IAAkB,EAAE,KAAY,EAAE,MAAyB;IAClG,+BAA+B;IAC/B,IAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;IAC/D,4EAA4E;IAC5E,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,IAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACnD,IAAM,QAAQ,GAAG,KAAK,CAAC,YAAa,CAAC,QAAQ,CAAC;IAC9C,+GAA+G;IAC/G,IAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAE,UAAA,MAAM;QAC1C,IAAM,UAAU,GAAG,qBAAO,CAAC,OAAO,CAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,CAAE,CAAC;QACrF,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QACjD,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QAClD,OAAO,UAAU,CAAC;IACnB,CAAC,CAAE,CAAC;IACJ,mGAAmG;IACnG,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAE,CAAE,CAAC;IACjE,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAE,CAAE,CAAC;IACjE,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAE,CAAE,CAAC;IACjE,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAE,CAAE,CAAC;IACjE,gCAAgC;IAChC,OAAO;QACN,KAAK,EAAE,IAAI,GAAG,IAAI;QAClB,MAAM,EAAE,IAAI,GAAG,IAAI;QACnB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;KACE,CAAC;AACjB,CAAC,CAAC;AAmBD,sDAAqB"}
@@ -7,7 +7,6 @@ declare type VariantInstance = import("../classes/variantInstance").VariantInsta
7
7
  */
8
8
  declare type VariantElement = import("../classes/element").Element;
9
9
  declare type DottedPath = import("../classes/dottedPath").DottedPath;
10
- declare type ViewerLight = import("../classes/viewerLight").ViewerLight;
11
10
  declare type Scene = import("@babylonjs/core/scene").Scene;
12
11
  declare type Vector3 = import("@babylonjs/core/Maths/math.vector").Vector3;
13
12
  declare type Color3 = import("@babylonjs/core/Maths/math.color").Color3;
@@ -55,9 +54,6 @@ declare type Asset = {
55
54
  rootUrl: string;
56
55
  fileName: string | undefined;
57
56
  };
58
- declare type ElementDefinitions = {
59
- [name: string]: ElementDefinition | string[];
60
- };
61
57
  declare type ElementDefinition = {
62
58
  paths: PathDefinitions;
63
59
  traceables?: TraceableDefinitions;
@@ -81,9 +77,9 @@ declare type StructureJson = {
81
77
  glTF?: Asset | string;
82
78
  parameterDeclaration?: ParameterDeclarations;
83
79
  parameters?: ParameterBag;
84
- elements?: ElementDefinitions;
85
- lights?: LightDefinitions;
86
- grounds?: GroundDefinitions;
80
+ elements?: {
81
+ [name: string]: ElementDefinition | string[];
82
+ };
87
83
  /**
88
84
  * `variants` is a declarative description of 3D-model variations in the configurator. Each variant itself is a
89
85
  * {@link StructureJson} which must at least define a `name` in the key of the list and the properties `glTF` and
@@ -131,6 +127,7 @@ declare type SceneJson = {
131
127
  };
132
128
  declare type SceneDefinition = {
133
129
  globals: SceneGlobals;
130
+ lights?: LightDefinitions;
134
131
  cameras?: CameraDefinitions;
135
132
  };
136
133
  declare type SceneGlobals = {
@@ -173,29 +170,12 @@ declare type SceneGlobals = {
173
170
  };
174
171
  };
175
172
  };
176
- /**
177
- * {@link Viewer.screenshot} internally uses Babylons [ScreenshotTools.CreateScreenshotUsingRenderTarget](https://doc.babylonjs.com/typedoc/classes/babylon.screenshottools#createscreenshotusingrendertarget). \
178
- * See this link for additional info about the properties.
179
- */
180
173
  declare type ScreenshotSettings = {
181
- /** Defaults to canvas width & height */
182
174
  size?: IScreenshotSize;
183
- /**
184
- * Default `image/png`
185
- *
186
- * **Info regarding JPEG:** \
187
- * Use mimeType `image/jpeg` (**not** `image/jpg`) when creating jpeg's. \
188
- * Also ensure that {@link Scene.clearColor | viewer.scene.clearColor} has an alpha value of `1` as jpeg's don't support
189
- * transparency. Otherwise background will always be black for jpeg's.
190
- */
191
175
  mimeType?: string;
192
- /** Default `1` */
193
176
  samples?: number;
194
- /** Default `false` */
195
177
  antialiasing?: boolean;
196
- /** Default `screenshot.png` */
197
178
  fileName?: string;
198
- /** Default `false` */
199
179
  renderSprites?: boolean;
200
180
  };
201
181
  declare type AutofocusSettings = {
@@ -209,32 +189,10 @@ declare type AutofocusSettings = {
209
189
  adjustPinchPrecision?: boolean;
210
190
  };
211
191
  declare type LightDefinitions = {
212
- [name: string]: LightDefinition | string;
192
+ [light: string]: LightDefinition;
213
193
  };
214
194
  declare type LightDefinition = {
215
- type: 'baked' | 'hemispheric' | 'point' | 'directional' | 'spot';
216
- path?: string;
217
- shadowGenerator?: ShadowGeneratorDefinition;
218
- };
219
- declare type ShadowGeneratorDefinition = {
220
- mapSize: number;
221
- [others: string]: any;
222
- };
223
- declare type GroundDefinitions = {
224
- [ground: string]: GroundDefinition;
225
- };
226
- declare type GroundDefinition = {
227
- type: 'baked' | 'ground' | 'heightmap';
228
- meshId?: string;
229
- url?: string;
230
- width?: number;
231
- height?: number;
232
- subdivisions?: number;
233
- receiveShadows?: boolean;
234
- minHeight?: number;
235
- maxHeight?: number;
236
- alphaFilter?: number;
237
- onReady?: any;
195
+ type: 'hemispheric' | 'point';
238
196
  };
239
197
  declare type CameraDefinitions = {
240
198
  [camera: string]: CameraDefinition;
@@ -248,6 +206,10 @@ declare type CameraDefinition = {
248
206
  /**
249
207
  * `arc` is a default camera position where the 3D-model is the center and the camera rotates around the 3D-model.
250
208
  * More Information about `arc` in [ArcRotateCamera](https://doc.babylonjs.com/typedoc/classes/babylon.arcrotatecamera).
209
+ *
210
+ * NOTE: While "baked" camera definitions from a GLB or babylon file can currently not be instatiated within the `Specification`, it's still possible to use them in the viewer.\
211
+ * For the moment all camera definitions inside these files are automatically added to the scene and can be actived using the {@link switchCamera} function.\
212
+ * The `newCamera` input has to match the name of the camera node inside the GLB/babylon file.
251
213
  */
252
214
  type: 'arc';
253
215
  /**
@@ -268,17 +230,13 @@ declare type ParameterDeclarations = {
268
230
  [name: string]: ParameterDeclaration;
269
231
  };
270
232
  declare type ParameterDeclaration = {
271
- type: 'string' | 'boolean' | 'number' | 'color' | 'select' | 'vector' | 'csl';
272
- parser?: any;
233
+ type: 'string' | 'boolean' | 'number' | 'color' | 'select' | 'vector';
273
234
  options?: ParameterValue[];
274
235
  };
275
236
  declare type ParameterValue = string | number | boolean;
276
237
  declare type ParameterBag = {
277
238
  [name: string]: ParameterValue;
278
239
  };
279
- declare type ParsedParameterBag = {
280
- [name: string]: any;
281
- };
282
240
  declare type DottedPathArgument = string | string[] | DottedPath;
283
241
  declare type ParameterObserver = (object: any, oldValue: ParameterValue, newValue: ParameterValue) => void;
284
242
  declare type PlacementDefinitions = {
@@ -14,13 +14,35 @@ declare const loadText: (path: string) => Promise<string>;
14
14
  * Debounces: it limits the rate at which a function can fire.
15
15
  */
16
16
  declare const debounce: (func: Function, wait: number, immediate?: boolean) => () => void;
17
+ /**
18
+ * Creates a random uuidv4.
19
+ */
20
+ declare const uuidv4: () => any;
17
21
  /**
18
22
  * Merges multiple maps.
19
23
  */
20
24
  declare const mergeMaps: <TKey, TValue>(...maps: Map<TKey, TValue>[]) => Map<TKey, TValue>;
21
25
  /**
22
- * Creates an `ImageBitmap` from a SVG string using native `createImageBitmap` functionality.
26
+ * Creates a HTML image element based on a SVG string, whereas all the embedded assets in the SVG
27
+ * (eg: fonts, images) are already loaded and exchanged by their base64 representation.\
28
+ * There the output image can exist as "standalone" image and may be used for example as a paintable.
29
+ *
30
+ * !!CAUTION!!: The used functions within this code section are very well evaluated since most alternatives
31
+ * somehow don't work in Safari, as mentioned in the following BJS forum entries:
32
+ * - https://forum.babylonjs.com/t/drawing-svg-content-text-into-dynamictexture-doesnt-work-in-safari-v15/25048
33
+ * - https://forum.babylonjs.com/t/texture-createfrombase64string-doesnt-seem-to-work-for-ios-devices-initially/25502
34
+ */
35
+ declare const createImageFromSvg: (svgSrc: string) => Promise<HTMLImageElement>;
36
+ /**
37
+ * Creates an HTML image element from a dedicated image source.\
38
+ * Also waits until the image has loaded.
39
+ *
40
+ * !!CAUTION!!: The `setTimeout` after loading is finished is required due to a Safari bug:
41
+ * - https://bugs.webkit.org/show_bug.cgi?id=39059
42
+ * - https://bugs.webkit.org/show_bug.cgi?id=219770
43
+ *
44
+ * It's not 100% ensured that the timeout solves the issue in any case, but there is no other way unfortunately.\
45
+ * => Keep an eye on it in future projects
23
46
  */
24
- declare const createImageBitmapFromSvg: (svgSrc: string) => Promise<ImageBitmap>;
25
- declare const createImageBitmapFromImgSrc: (imgSrc: string) => Promise<ImageBitmap>;
26
- export { loadJson, loadText, debounce, mergeMaps, createImageBitmapFromSvg, createImageBitmapFromImgSrc };
47
+ declare const createImageFromImgSrc: (imgSrc: string) => Promise<HTMLImageElement>;
48
+ export { loadJson, loadText, debounce, uuidv4, mergeMaps, createImageFromSvg, createImageFromImgSrc };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createImageBitmapFromImgSrc = exports.createImageBitmapFromSvg = exports.mergeMaps = exports.debounce = exports.loadText = exports.loadJson = void 0;
3
+ exports.createImageFromImgSrc = exports.createImageFromSvg = exports.mergeMaps = exports.uuidv4 = exports.debounce = exports.loadText = exports.loadJson = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var event_1 = require("../classes/event");
6
6
  /**
@@ -87,6 +87,16 @@ var debounce = function (func, wait, immediate) {
87
87
  };
88
88
  };
89
89
  exports.debounce = debounce;
90
+ /**
91
+ * Creates a random uuidv4.
92
+ */
93
+ var uuidv4 = function () {
94
+ // @ts-ignore
95
+ return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
96
+ return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
97
+ });
98
+ };
99
+ exports.uuidv4 = uuidv4;
90
100
  /**
91
101
  * Merges multiple maps.
92
102
  */
@@ -105,69 +115,62 @@ var mergeMaps = function () {
105
115
  };
106
116
  exports.mergeMaps = mergeMaps;
107
117
  /**
108
- * Creates an `ImageBitmap` from a SVG string using native `createImageBitmap` functionality.
118
+ * Creates a HTML image element based on a SVG string, whereas all the embedded assets in the SVG
119
+ * (eg: fonts, images) are already loaded and exchanged by their base64 representation.\
120
+ * There the output image can exist as "standalone" image and may be used for example as a paintable.
121
+ *
122
+ * !!CAUTION!!: The used functions within this code section are very well evaluated since most alternatives
123
+ * somehow don't work in Safari, as mentioned in the following BJS forum entries:
124
+ * - https://forum.babylonjs.com/t/drawing-svg-content-text-into-dynamictexture-doesnt-work-in-safari-v15/25048
125
+ * - https://forum.babylonjs.com/t/texture-createfrombase64string-doesnt-seem-to-work-for-ios-devices-initially/25502
109
126
  */
110
- var createImageBitmapFromSvg = function (svgSrc) {
127
+ var createImageFromSvg = function (svgSrc) {
111
128
  return tslib_1.__awaiter(this, void 0, void 0, function () {
112
- var _this = this;
129
+ var svgWithAssetsEmbedded, svgEncoded;
113
130
  return tslib_1.__generator(this, function (_a) {
114
- return [2 /*return*/, new Promise(function (resolve) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
115
- var svgWithAssetsEmbedded, svgBlob, svgBase64, img;
116
- var _this = this;
117
- return tslib_1.__generator(this, function (_a) {
118
- switch (_a.label) {
119
- case 0: return [4 /*yield*/, _embedAssets(svgSrc)];
120
- case 1:
121
- svgWithAssetsEmbedded = _a.sent();
122
- svgBlob = new Blob([svgWithAssetsEmbedded], { type: 'image/svg+xml;charset=utf-8' });
123
- svgBase64 = URL.createObjectURL(svgBlob);
124
- img = new Image();
125
- img.onload = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
126
- var imgBitmap;
127
- return tslib_1.__generator(this, function (_a) {
128
- switch (_a.label) {
129
- case 0: return [4 /*yield*/, createImageBitmap(img)];
130
- case 1:
131
- imgBitmap = _a.sent();
132
- resolve(imgBitmap);
133
- return [2 /*return*/];
134
- }
135
- });
136
- }); };
137
- img.src = svgBase64;
138
- return [2 /*return*/];
139
- }
140
- });
141
- }); })];
131
+ switch (_a.label) {
132
+ case 0: return [4 /*yield*/, _embedAssets(svgSrc)];
133
+ case 1:
134
+ svgWithAssetsEmbedded = _a.sent();
135
+ svgEncoded = 'data:image/svg+xml,' + encodeURIComponent(svgWithAssetsEmbedded);
136
+ return [2 /*return*/, createImageFromImgSrc(svgEncoded)];
137
+ }
142
138
  });
143
139
  });
144
140
  };
145
- exports.createImageBitmapFromSvg = createImageBitmapFromSvg;
146
- var createImageBitmapFromImgSrc = function (imgSrc) {
141
+ exports.createImageFromSvg = createImageFromSvg;
142
+ /**
143
+ * Creates an HTML image element from a dedicated image source.\
144
+ * Also waits until the image has loaded.
145
+ *
146
+ * !!CAUTION!!: The `setTimeout` after loading is finished is required due to a Safari bug:
147
+ * - https://bugs.webkit.org/show_bug.cgi?id=39059
148
+ * - https://bugs.webkit.org/show_bug.cgi?id=219770
149
+ *
150
+ * It's not 100% ensured that the timeout solves the issue in any case, but there is no other way unfortunately.\
151
+ * => Keep an eye on it in future projects
152
+ */
153
+ var createImageFromImgSrc = function (imgSrc) {
147
154
  return tslib_1.__awaiter(this, void 0, void 0, function () {
148
155
  var img;
149
- var _this = this;
150
156
  return tslib_1.__generator(this, function (_a) {
151
- img = new Image();
152
- img.src = imgSrc;
153
- return [2 /*return*/, new Promise(function (resolve) {
154
- img.onload = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
155
- var imgBitmap;
156
- return tslib_1.__generator(this, function (_a) {
157
- switch (_a.label) {
158
- case 0: return [4 /*yield*/, createImageBitmap(img)];
159
- case 1:
160
- imgBitmap = _a.sent();
161
- resolve(imgBitmap);
162
- return [2 /*return*/];
163
- }
164
- });
165
- }); };
166
- })];
157
+ switch (_a.label) {
158
+ case 0:
159
+ img = new Image();
160
+ return [4 /*yield*/, new Promise(function (resolve) {
161
+ img.onload = function () {
162
+ setTimeout(resolve, 0);
163
+ };
164
+ img.src = imgSrc;
165
+ })];
166
+ case 1:
167
+ _a.sent();
168
+ return [2 /*return*/, img];
169
+ }
167
170
  });
168
171
  });
169
172
  };
170
- exports.createImageBitmapFromImgSrc = createImageBitmapFromImgSrc;
173
+ exports.createImageFromImgSrc = createImageFromImgSrc;
171
174
  /**
172
175
  * Replaces all supported image & font URLs in the given SVG with their base64 representation.
173
176
  */
@@ -178,7 +181,7 @@ var _embedAssets = function (svgSrc) {
178
181
  switch (_a.label) {
179
182
  case 0:
180
183
  _imageExtensions = ['png', 'gif', 'jpg', 'jpeg', 'svg', 'bmp'];
181
- _fontExtensions = ['woff2'];
184
+ _fontExtensions = ['woff2', 'woff', 'ttf', 'otf'];
182
185
  _assetExtensions = tslib_1.__spreadArrays(_imageExtensions, _fontExtensions);
183
186
  urlRegex = /(\bhttps?:\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/gi;
184
187
  allUrls = svgSrc.match(urlRegex);
@@ -1 +1 @@
1
- {"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":"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"}