@combeenation/3d-viewer 4.0.0-alpha7 → 4.0.0-beta2

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 +12 -16
  3. package/dist/lib-cjs/api/classes/element.js +125 -180
  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 +27 -19
  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 +8 -4
  31. package/dist/lib-cjs/api/util/resourceHelper.js +25 -59
  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 +112 -133
  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 +24 -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,18 +1,11 @@
1
1
  import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
2
- import { ShadowGenerator } from '@babylonjs/core/Lights/Shadows/shadowGenerator';
3
2
  import { Material } from '@babylonjs/core/Materials/material';
4
3
  import { Color3 } from '@babylonjs/core/Maths/math.color';
5
- import { Vector3 } from '@babylonjs/core/Maths/math.vector';
6
4
  import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
7
5
  import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
8
6
  import { Node } from '@babylonjs/core/node';
9
7
  import { Scene } from '@babylonjs/core/scene';
10
8
  import { DottedPath } from '../classes/dottedPath';
11
- /**
12
- * @param node
13
- * @return Node
14
- */
15
- declare const getRootNode: (node: Node) => Node;
16
9
  /**
17
10
  * @param nodes
18
11
  * @param predicate
@@ -23,18 +16,15 @@ declare const mapToDottedNodes: <T>(nodes: Node[], predicate?: ((node: Node) =>
23
16
  * @param node
24
17
  * @return DottedPath
25
18
  */
26
- declare const getDottedPathForNode: (node: Node) => DottedPath;
19
+ declare const getDottedPathForTransformNode: (node: TransformNode) => DottedPath;
27
20
  /**
21
+ *
28
22
  * @param node
29
23
  * @param predicate
30
24
  * @param deep
31
25
  * @return TransformNode | null
32
26
  */
33
27
  declare const cloneTransformNode: (node: TransformNode, predicate?: ((node: TransformNode) => boolean) | undefined, deep?: boolean) => TransformNode | null;
34
- /**
35
- * @param node
36
- */
37
- declare const cloneNodeWithParents: (node: Node | null) => Node | null;
38
28
  /**
39
29
  * @param node
40
30
  * @param deep
@@ -47,7 +37,7 @@ declare const cloneTransformNodeMaterial: (node: TransformNode, prefix?: DottedP
47
37
  * @param deep
48
38
  * @param metadata
49
39
  */
50
- declare const injectNodeMetadata: (node: Node, metadata: {}, deep?: boolean) => void;
40
+ declare const injectTransformNodeMetadata: (node: TransformNode, metadata: {}, deep?: boolean) => void;
51
41
  /**
52
42
  * @param node
53
43
  * @param assertCallable
@@ -65,25 +55,6 @@ declare const activateTransformNode: (node: TransformNode, deep?: boolean) => vo
65
55
  * @param deep
66
56
  */
67
57
  declare const deactivateTransformNode: (node: TransformNode, deep?: boolean) => void;
68
- /**
69
- * @param node
70
- */
71
- declare const enableNodeWithParents: (node: Node) => void;
72
- /**
73
- * @param node
74
- */
75
- declare const disableNodeWithParents: (node: Node) => void;
76
- /**
77
- * @param node
78
- * @param rotation
79
- * @param space
80
- */
81
- declare const rotateTransformNode: (node: TransformNode, rotation: Vector3) => TransformNode;
82
- /**
83
- * @param node
84
- * @param distance
85
- */
86
- declare const moveTransformNode: (node: TransformNode, distance: Vector3) => TransformNode;
87
58
  /**
88
59
  * @param node
89
60
  * @param material
@@ -144,24 +115,6 @@ declare const addToHighlightLayer: (layer: HighlightLayer, color: Color3, node:
144
115
  * @param deep
145
116
  */
146
117
  declare const removeFromHighlightLayer: (layer: HighlightLayer, node: TransformNode, deep?: boolean) => void;
147
- /**
148
- * @param node
149
- * @param receiveShadows
150
- * @param deep
151
- */
152
- declare const setReceiveShadows: (node: TransformNode, receiveShadows: boolean, deep?: boolean) => void;
153
- /**
154
- * @param node
155
- * @param generator
156
- * @param deep
157
- */
158
- declare const addToShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
159
- /**
160
- * @param node
161
- * @param generator
162
- * @param deep
163
- */
164
- declare const removeFromShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
165
118
  /**
166
119
  * https://forum.babylonjs.com/t/get-mesh-bounding-box-position-and-size-in-2d-screen-coordinates/1058/3
167
120
  * @param mesh
@@ -169,4 +122,4 @@ declare const removeFromShadowGenerator: (generator: ShadowGenerator, node: Tran
169
122
  * @param canvas
170
123
  */
171
124
  declare const getClientRectFromMesh: (mesh: AbstractMesh, scene: Scene, canvas: HTMLCanvasElement) => ClientRect;
172
- export { getRootNode, mapToDottedNodes, getDottedPathForNode, cloneTransformNode, cloneNodeWithParents, cloneTransformNodeMaterial, injectNodeMetadata, assertTransformNode, activateTransformNode, deactivateTransformNode, enableNodeWithParents, disableNodeWithParents, rotateTransformNode, moveTransformNode, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, setReceiveShadows, addToShadowGenerator, removeFromShadowGenerator, getClientRectFromMesh };
125
+ export { mapToDottedNodes, getDottedPathForTransformNode, cloneTransformNode, cloneTransformNodeMaterial, injectTransformNodeMetadata, assertTransformNode, activateTransformNode, deactivateTransformNode, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, getClientRectFromMesh };
@@ -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":"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"}
@@ -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,17 @@ 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
+ * Converts a svg string into an URL with a base64 representation of that image.\
27
+ * This URL can be used as the basis of a paintable texture.
23
28
  */
24
- declare const createImageBitmapFromSvg: (svgSrc: string) => Promise<ImageBitmap>;
25
- declare const createImageBitmapFromImgSrc: (imgSrc: string) => Promise<ImageBitmap>;
26
- export { loadJson, loadText, debounce, mergeMaps, createImageBitmapFromSvg, createImageBitmapFromImgSrc };
29
+ declare const createImageUrlFromSvg: (svgSrc: string) => Promise<string>;
30
+ export { loadJson, loadText, debounce, uuidv4, mergeMaps, createImageUrlFromSvg };
@@ -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.createImageUrlFromSvg = 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,25 @@ 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
+ * Converts a svg string into an URL with a base64 representation of that image.\
119
+ * This URL can be used as the basis of a paintable texture.
109
120
  */
110
- var createImageBitmapFromSvg = function (svgSrc) {
111
- return tslib_1.__awaiter(this, void 0, void 0, function () {
112
- var _this = this;
113
- 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
- }); })];
142
- });
143
- });
144
- };
145
- exports.createImageBitmapFromSvg = createImageBitmapFromSvg;
146
- var createImageBitmapFromImgSrc = function (imgSrc) {
121
+ var createImageUrlFromSvg = function (svgSrc) {
147
122
  return tslib_1.__awaiter(this, void 0, void 0, function () {
148
- var img;
149
- var _this = this;
123
+ var svgWithAssetsEmbedded, svgBlob, imgUrl;
150
124
  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
- })];
125
+ switch (_a.label) {
126
+ case 0: return [4 /*yield*/, _embedAssets(svgSrc)];
127
+ case 1:
128
+ svgWithAssetsEmbedded = _a.sent();
129
+ svgBlob = new Blob([svgWithAssetsEmbedded], { type: 'image/svg+xml' });
130
+ imgUrl = URL.createObjectURL(svgBlob);
131
+ return [2 /*return*/, imgUrl];
132
+ }
167
133
  });
168
134
  });
169
135
  };
170
- exports.createImageBitmapFromImgSrc = createImageBitmapFromImgSrc;
136
+ exports.createImageUrlFromSvg = createImageUrlFromSvg;
171
137
  /**
172
138
  * Replaces all supported image & font URLs in the given SVG with their base64 representation.
173
139
  */
@@ -178,7 +144,7 @@ var _embedAssets = function (svgSrc) {
178
144
  switch (_a.label) {
179
145
  case 0:
180
146
  _imageExtensions = ['png', 'gif', 'jpg', 'jpeg', 'svg', 'bmp'];
181
- _fontExtensions = ['woff2'];
147
+ _fontExtensions = ['woff2', 'woff', 'ttf', 'otf'];
182
148
  _assetExtensions = tslib_1.__spreadArrays(_imageExtensions, _fontExtensions);
183
149
  urlRegex = /(\bhttps?:\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/gi;
184
150
  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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"}