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

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 +3 -1
  2. package/dist/lib-cjs/api/classes/element.d.ts +14 -9
  3. package/dist/lib-cjs/api/classes/element.js +148 -87
  4. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  5. package/dist/lib-cjs/api/classes/event.d.ts +15 -1
  6. package/dist/lib-cjs/api/classes/event.js +15 -1
  7. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  8. package/dist/lib-cjs/api/classes/parameter.d.ts +101 -7
  9. package/dist/lib-cjs/api/classes/parameter.js +141 -21
  10. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  11. package/dist/lib-cjs/api/classes/parameterObservable.js +11 -36
  12. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  13. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +2 -2
  14. package/dist/lib-cjs/api/classes/placementAnimation.js +11 -0
  15. package/dist/lib-cjs/api/classes/placementAnimation.js.map +1 -1
  16. package/dist/lib-cjs/api/classes/variant.d.ts +48 -4
  17. package/dist/lib-cjs/api/classes/variant.js +320 -46
  18. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  19. package/dist/lib-cjs/api/classes/variantInstance.d.ts +5 -1
  20. package/dist/lib-cjs/api/classes/variantInstance.js +10 -0
  21. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  22. package/dist/lib-cjs/api/classes/viewer.d.ts +6 -3
  23. package/dist/lib-cjs/api/classes/viewer.js +140 -59
  24. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  25. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +5 -1
  26. package/dist/lib-cjs/api/internal/sceneSetup.js +75 -71
  27. package/dist/lib-cjs/api/internal/sceneSetup.js.map +1 -1
  28. package/dist/lib-cjs/api/util/babylonHelper.d.ts +54 -4
  29. package/dist/lib-cjs/api/util/babylonHelper.js +160 -8
  30. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  31. package/dist/lib-cjs/api/util/globalTypes.d.ts +62 -8
  32. package/dist/lib-cjs/api/util/resourceHelper.d.ts +13 -8
  33. package/dist/lib-cjs/api/util/resourceHelper.js +14 -14
  34. package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
  35. package/dist/lib-cjs/index.d.ts +24 -22
  36. package/dist/lib-cjs/index.js +42 -38
  37. package/dist/lib-cjs/index.js.map +1 -1
  38. package/package.json +5 -5
  39. package/src/api/classes/element.ts +118 -91
  40. package/src/api/classes/event.ts +16 -1
  41. package/src/api/classes/parameter.ts +153 -22
  42. package/src/api/classes/parameterObservable.ts +9 -31
  43. package/src/api/classes/{elementParameterizable.ts → parameterizable.ts} +12 -1
  44. package/src/api/classes/placementAnimation.ts +10 -0
  45. package/src/api/classes/variant.ts +187 -40
  46. package/src/api/classes/variantInstance.ts +8 -1
  47. package/src/api/classes/variantParameterizable.ts +73 -0
  48. package/src/api/classes/viewer.ts +83 -17
  49. package/src/api/classes/viewerLight.ts +330 -0
  50. package/src/api/internal/sceneSetup.ts +99 -109
  51. package/src/api/util/babylonHelper.ts +173 -10
  52. package/src/api/util/globalTypes.ts +71 -10
  53. package/src/api/util/resourceHelper.ts +16 -16
  54. package/src/api/util/stringHelper.ts +26 -0
  55. package/src/dev.ts +3 -7
  56. package/src/index.ts +27 -23
  57. package/src/pagesconfig.json +4 -0
@@ -7,6 +7,7 @@ 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;
10
11
  declare type Scene = import("@babylonjs/core/scene").Scene;
11
12
  declare type Vector3 = import("@babylonjs/core/Maths/math.vector").Vector3;
12
13
  declare type Color3 = import("@babylonjs/core/Maths/math.color").Color3;
@@ -54,6 +55,9 @@ declare type Asset = {
54
55
  rootUrl: string;
55
56
  fileName: string | undefined;
56
57
  };
58
+ declare type ElementDefinitions = {
59
+ [name: string]: ElementDefinition | string[];
60
+ };
57
61
  declare type ElementDefinition = {
58
62
  paths: PathDefinitions;
59
63
  traceables?: TraceableDefinitions;
@@ -77,9 +81,9 @@ declare type StructureJson = {
77
81
  glTF?: Asset | string;
78
82
  parameterDeclaration?: ParameterDeclarations;
79
83
  parameters?: ParameterBag;
80
- elements?: {
81
- [name: string]: ElementDefinition | string[];
82
- };
84
+ elements?: ElementDefinitions;
85
+ lights?: LightDefinitions;
86
+ grounds?: GroundDefinitions;
83
87
  /**
84
88
  * `variants` is a declarative description of 3D-model variations in the configurator. Each variant itself is a
85
89
  * {@link StructureJson} which must at least define a `name` in the key of the list and the properties `glTF` and
@@ -127,7 +131,6 @@ declare type SceneJson = {
127
131
  };
128
132
  declare type SceneDefinition = {
129
133
  globals: SceneGlobals;
130
- lights?: LightDefinitions;
131
134
  cameras?: CameraDefinitions;
132
135
  };
133
136
  declare type SceneGlobals = {
@@ -170,12 +173,29 @@ declare type SceneGlobals = {
170
173
  };
171
174
  };
172
175
  };
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
+ */
173
180
  declare type ScreenshotSettings = {
181
+ /** Defaults to canvas width & height */
174
182
  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
+ */
175
191
  mimeType?: string;
192
+ /** Default `1` */
176
193
  samples?: number;
194
+ /** Default `false` */
177
195
  antialiasing?: boolean;
196
+ /** Default `screenshot.png` */
178
197
  fileName?: string;
198
+ /** Default `false` */
179
199
  renderSprites?: boolean;
180
200
  };
181
201
  declare type AutofocusSettings = {
@@ -189,10 +209,32 @@ declare type AutofocusSettings = {
189
209
  adjustPinchPrecision?: boolean;
190
210
  };
191
211
  declare type LightDefinitions = {
192
- [light: string]: LightDefinition;
212
+ [name: string]: LightDefinition | string;
193
213
  };
194
214
  declare type LightDefinition = {
195
- type: 'hemispheric' | 'point';
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;
196
238
  };
197
239
  declare type CameraDefinitions = {
198
240
  [camera: string]: CameraDefinition;
@@ -230,13 +272,17 @@ declare type ParameterDeclarations = {
230
272
  [name: string]: ParameterDeclaration;
231
273
  };
232
274
  declare type ParameterDeclaration = {
233
- type: 'string' | 'boolean' | 'number' | 'color' | 'select' | 'vector';
275
+ type: 'string' | 'boolean' | 'number' | 'color' | 'select' | 'vector' | 'csl';
276
+ parser?: any;
234
277
  options?: ParameterValue[];
235
278
  };
236
279
  declare type ParameterValue = string | number | boolean;
237
280
  declare type ParameterBag = {
238
281
  [name: string]: ParameterValue;
239
282
  };
283
+ declare type ParsedParameterBag = {
284
+ [name: string]: any;
285
+ };
240
286
  declare type DottedPathArgument = string | string[] | DottedPath;
241
287
  declare type ParameterObserver = (object: any, oldValue: ParameterValue, newValue: ParameterValue) => void;
242
288
  declare type PlacementDefinitions = {
@@ -259,6 +305,12 @@ declare type AnimationDefinitions = {
259
305
  * liking and simply copy the `ease` function shown at the bottom of the visualizer into the `ease` property of your
260
306
  * {@link AnimationDefinition}.
261
307
  *
308
+ * The `GSAPTWeenVars` are extended by the `shortestWay` property.\
309
+ * This property defines if the camera should move to the target position within the shortest possible distance.\
310
+ * If `shortestWay` is `false`, the camera moves the whole difference between the current camera position and the target position
311
+ * and that could be > 360, which can appear very unconvenient to the operator.\
312
+ * The default value of this flag is `true`.
313
+ *
262
314
  * Example usage in {@link SceneJson | SceneJson.animations}:
263
315
  *
264
316
  * ```js
@@ -276,4 +328,6 @@ declare type AnimationDefinitions = {
276
328
  * // ...
277
329
  * ```
278
330
  */
279
- declare type AnimationDefinition = GSAPTweenVars;
331
+ declare type AnimationDefinition = GSAPTweenVars & {
332
+ shortestWay?: boolean;
333
+ };
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Sleeps for a certain amount of microseconds.
3
+ */
4
+ declare const sleep: (ms: number) => Promise<unknown>;
1
5
  /**
2
6
  * Loads a JSON from a given path.
3
7
  * @emits {@link Event.LOADING_START}
@@ -14,17 +18,13 @@ declare const loadText: (path: string) => Promise<string>;
14
18
  * Debounces: it limits the rate at which a function can fire.
15
19
  */
16
20
  declare const debounce: (func: Function, wait: number, immediate?: boolean) => () => void;
17
- /**
18
- * Creates a random uuidv4.
19
- */
20
- declare const uuidv4: () => any;
21
21
  /**
22
22
  * Merges multiple maps.
23
23
  */
24
24
  declare const mergeMaps: <TKey, TValue>(...maps: Map<TKey, TValue>[]) => Map<TKey, TValue>;
25
25
  /**
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.\
26
+ * Creates a HTML image element based on a SVG string, whereas all the embedded assets in the SVG (eg: fonts, images)
27
+ * are already loaded and exchanged by their base64 representation.\
28
28
  * There the output image can exist as "standalone" image and may be used for example as a paintable.
29
29
  *
30
30
  * !!CAUTION!!: The used functions within this code section are very well evaluated since most alternatives
@@ -41,8 +41,13 @@ declare const createImageFromSvg: (svgSrc: string) => Promise<HTMLImageElement>;
41
41
  * - https://bugs.webkit.org/show_bug.cgi?id=39059
42
42
  * - https://bugs.webkit.org/show_bug.cgi?id=219770
43
43
  *
44
- * It's not 100% ensured that the timeout solves the issue in any case, but there is no other way unfortunately.\
44
+ * It's not 100% ensured that the timeout solves the issue in every case, but there is no other way unfortunately.\
45
45
  * => Keep an eye on it in future projects
46
+ *
47
+ * @param imgSrc Theoretically every source is valid which is also supported by
48
+ * [HTMLImageElement.src](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/src).\
49
+ * Known exceptions are SVGs with embedded assets that are provided as object URL. See comments in
50
+ * {@link createImageFromSvg} for further details.
46
51
  */
47
52
  declare const createImageFromImgSrc: (imgSrc: string) => Promise<HTMLImageElement>;
48
- export { loadJson, loadText, debounce, uuidv4, mergeMaps, createImageFromSvg, createImageFromImgSrc };
53
+ export { sleep, loadJson, loadText, debounce, mergeMaps, createImageFromSvg, createImageFromImgSrc };
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createImageFromImgSrc = exports.createImageFromSvg = exports.mergeMaps = exports.uuidv4 = exports.debounce = exports.loadText = exports.loadJson = void 0;
3
+ exports.createImageFromImgSrc = exports.createImageFromSvg = exports.mergeMaps = exports.debounce = exports.loadText = exports.loadJson = exports.sleep = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var event_1 = require("../classes/event");
6
+ /**
7
+ * Sleeps for a certain amount of microseconds.
8
+ */
9
+ var sleep = function (ms) { return new Promise(function (resolve) { return window.setTimeout(resolve, ms); }); };
10
+ exports.sleep = sleep;
6
11
  /**
7
12
  * Loads any kind of response from given path.
8
13
  * @emits {@link Event.LOADING_START}
@@ -87,16 +92,6 @@ var debounce = function (func, wait, immediate) {
87
92
  };
88
93
  };
89
94
  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;
100
95
  /**
101
96
  * Merges multiple maps.
102
97
  */
@@ -115,8 +110,8 @@ var mergeMaps = function () {
115
110
  };
116
111
  exports.mergeMaps = mergeMaps;
117
112
  /**
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.\
113
+ * Creates a HTML image element based on a SVG string, whereas all the embedded assets in the SVG (eg: fonts, images)
114
+ * are already loaded and exchanged by their base64 representation.\
120
115
  * There the output image can exist as "standalone" image and may be used for example as a paintable.
121
116
  *
122
117
  * !!CAUTION!!: The used functions within this code section are very well evaluated since most alternatives
@@ -147,8 +142,13 @@ exports.createImageFromSvg = createImageFromSvg;
147
142
  * - https://bugs.webkit.org/show_bug.cgi?id=39059
148
143
  * - https://bugs.webkit.org/show_bug.cgi?id=219770
149
144
  *
150
- * It's not 100% ensured that the timeout solves the issue in any case, but there is no other way unfortunately.\
145
+ * It's not 100% ensured that the timeout solves the issue in every case, but there is no other way unfortunately.\
151
146
  * => Keep an eye on it in future projects
147
+ *
148
+ * @param imgSrc Theoretically every source is valid which is also supported by
149
+ * [HTMLImageElement.src](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/src).\
150
+ * Known exceptions are SVGs with embedded assets that are provided as object URL. See comments in
151
+ * {@link createImageFromSvg} for further details.
152
152
  */
153
153
  var createImageFromImgSrc = function (imgSrc) {
154
154
  return tslib_1.__awaiter(this, void 0, void 0, function () {
@@ -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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"}
@@ -1,46 +1,48 @@
1
1
  /// <reference path="api/util/globalTypes.d.ts" />
2
+ import { Animation as BabylonAnimation } from '@babylonjs/core/Animations/animation';
2
3
  import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
3
4
  import { Engine } from '@babylonjs/core/Engines/engine';
5
+ import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
6
+ import { HemisphericLight } from '@babylonjs/core/Lights/hemisphericLight';
4
7
  import { Material } from '@babylonjs/core/Materials/material';
5
8
  import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
6
9
  import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
10
+ import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture';
7
11
  import { DynamicTexture } from '@babylonjs/core/Materials/Textures/dynamicTexture';
12
+ import { Texture } from '@babylonjs/core/Materials/Textures/texture';
8
13
  import { Color3, Color4 } from '@babylonjs/core/Maths/math.color';
9
14
  import { Vector3 } from '@babylonjs/core/Maths/math.vector';
10
15
  import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
11
16
  import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
12
17
  import { Mesh } from '@babylonjs/core/Meshes/mesh';
18
+ import { MeshBuilder } from '@babylonjs/core/Meshes/meshBuilder';
13
19
  import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
14
20
  import { Node } from '@babylonjs/core/node';
21
+ /**
22
+ * Without explicitly importing the "BoundingBoxRenderer", we're getting "scene.getBoundingBoxRenderer is undefined"
23
+ * errors when creating HighlightLayer instances. Not sure why but those errors only happen when using the built
24
+ * version of the viewer (e.g. when pulling it from NPM etc.)...
25
+ */
26
+ import '@babylonjs/core/Rendering/boundingBoxRenderer';
15
27
  import { Scene } from '@babylonjs/core/scene';
16
- import { VariantInstance } from './api/classes/variantInstance';
17
- import { Viewer } from './api/classes/viewer';
18
- import { Event, emitter } from './api/classes/event';
28
+ import { Parameterizable } from './api/classes/parameterizable';
29
+ import { VariantParameterizable } from './api/classes/variantParameterizable';
19
30
  import { EventEmitter } from 'eventemitter3';
31
+ import { Element } from './api/classes/element';
32
+ import { emitter, Event } from './api/classes/event';
33
+ import { EventBroadcaster } from './api/classes/eventBroadcaster';
20
34
  import { Parameter } from './api/classes/parameter';
21
- import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture';
22
- import { Animation as BabylonAnimation } from '@babylonjs/core/Animations/animation';
23
- import { MeshBuilder } from '@babylonjs/core/Meshes/meshBuilder';
24
- import { Texture } from '@babylonjs/core/Materials/Textures/texture';
25
- import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
26
- import { HemisphericLight } from '@babylonjs/core/Lights/hemisphericLight';
27
- import { Variant } from './api/classes/variant';
28
35
  import { ParameterObservable } from './api/classes/parameterObservable';
29
- import { ElementParameterizable } from './api/classes/elementParameterizable';
30
- import { Element } from './api/classes/element';
31
- import { VariantInstanceManager } from './api/manager/variantInstanceManager';
36
+ import { PlacementAnimation } from './api/classes/placementAnimation';
37
+ import { Variant } from './api/classes/variant';
38
+ import { VariantInstance } from './api/classes/variantInstance';
39
+ import { Viewer } from './api/classes/viewer';
40
+ import { ViewerLight } from './api/classes/viewerLight';
32
41
  import { AnimationManager } from './api/manager/animationManager';
33
- import { EventBroadcaster } from './api/classes/eventBroadcaster';
34
42
  import { SceneManager } from './api/manager/sceneManager';
35
- import { PlacementAnimation } from './api/classes/placementAnimation';
43
+ import { VariantInstanceManager } from './api/manager/variantInstanceManager';
36
44
  import * as BabylonHelper from './api/util/babylonHelper';
37
- /**
38
- * Without explicitly importing the "BoundingBoxRenderer", we're getting "scene.getBoundingBoxRenderer is undefined"
39
- * errors when creating HighlightLayer instances. Not sure why but those errors only happen when using the built
40
- * version of the viewer (e.g. when pulling it from NPM etc.)...
41
- */
42
- import '@babylonjs/core/Rendering/boundingBoxRenderer';
43
45
  /**
44
46
  * Expose some frequently used babylon modules by our consumers.
45
47
  */
46
- export { AnimationManager, Variant, VariantInstanceManager, Viewer, ParameterObservable, ElementParameterizable, emitter as Emitter, EventEmitter, Event, Parameter, VariantInstance, Color3, Color4, Vector3, AbstractMesh, InstancedMesh, Mesh, TransformNode, Node, Material, PBRMaterial, StandardMaterial, Scene, Engine, ArcRotateCamera, DynamicTexture, CubeTexture, MeshBuilder, Texture, BabylonAnimation, HemisphericLight, DirectionalLight, Element, EventBroadcaster, SceneManager, PlacementAnimation, BabylonHelper, };
48
+ export { AnimationManager, Variant, VariantInstanceManager, Viewer, ParameterObservable, Parameterizable, VariantParameterizable, ViewerLight, emitter as Emitter, EventEmitter, Event, Parameter, VariantInstance, Color3, Color4, Vector3, AbstractMesh, InstancedMesh, Mesh, TransformNode, Node, Material, PBRMaterial, StandardMaterial, Scene, Engine, ArcRotateCamera, DynamicTexture, CubeTexture, MeshBuilder, Texture, BabylonAnimation, HemisphericLight, DirectionalLight, Element, EventBroadcaster, SceneManager, PlacementAnimation, BabylonHelper, };
@@ -1,19 +1,29 @@
1
1
  "use strict";
2
2
  /// <reference path="api/util/globalTypes.ts" />
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BabylonHelper = exports.PlacementAnimation = exports.SceneManager = exports.EventBroadcaster = exports.Element = exports.DirectionalLight = exports.HemisphericLight = exports.BabylonAnimation = exports.Texture = exports.MeshBuilder = exports.CubeTexture = exports.DynamicTexture = exports.ArcRotateCamera = exports.Engine = exports.Scene = exports.StandardMaterial = exports.PBRMaterial = exports.Material = exports.Node = exports.TransformNode = exports.Mesh = exports.InstancedMesh = exports.AbstractMesh = exports.Vector3 = exports.Color4 = exports.Color3 = exports.VariantInstance = exports.Parameter = exports.Event = exports.EventEmitter = exports.Emitter = exports.ElementParameterizable = exports.ParameterObservable = exports.Viewer = exports.VariantInstanceManager = exports.Variant = exports.AnimationManager = void 0;
4
+ exports.BabylonHelper = exports.PlacementAnimation = exports.SceneManager = exports.EventBroadcaster = exports.Element = exports.DirectionalLight = exports.HemisphericLight = exports.BabylonAnimation = exports.Texture = exports.MeshBuilder = exports.CubeTexture = exports.DynamicTexture = exports.ArcRotateCamera = exports.Engine = exports.Scene = exports.StandardMaterial = exports.PBRMaterial = exports.Material = exports.Node = exports.TransformNode = exports.Mesh = exports.InstancedMesh = exports.AbstractMesh = exports.Vector3 = exports.Color4 = exports.Color3 = exports.VariantInstance = exports.Parameter = exports.Event = exports.EventEmitter = exports.Emitter = exports.ViewerLight = exports.VariantParameterizable = exports.Parameterizable = exports.ParameterObservable = exports.Viewer = exports.VariantInstanceManager = exports.Variant = exports.AnimationManager = void 0;
5
+ var animation_1 = require("@babylonjs/core/Animations/animation");
6
+ Object.defineProperty(exports, "BabylonAnimation", { enumerable: true, get: function () { return animation_1.Animation; } });
5
7
  var arcRotateCamera_1 = require("@babylonjs/core/Cameras/arcRotateCamera");
6
8
  Object.defineProperty(exports, "ArcRotateCamera", { enumerable: true, get: function () { return arcRotateCamera_1.ArcRotateCamera; } });
7
9
  var engine_1 = require("@babylonjs/core/Engines/engine");
8
10
  Object.defineProperty(exports, "Engine", { enumerable: true, get: function () { return engine_1.Engine; } });
11
+ var directionalLight_1 = require("@babylonjs/core/Lights/directionalLight");
12
+ Object.defineProperty(exports, "DirectionalLight", { enumerable: true, get: function () { return directionalLight_1.DirectionalLight; } });
13
+ var hemisphericLight_1 = require("@babylonjs/core/Lights/hemisphericLight");
14
+ Object.defineProperty(exports, "HemisphericLight", { enumerable: true, get: function () { return hemisphericLight_1.HemisphericLight; } });
9
15
  var material_1 = require("@babylonjs/core/Materials/material");
10
16
  Object.defineProperty(exports, "Material", { enumerable: true, get: function () { return material_1.Material; } });
11
17
  var pbrMaterial_1 = require("@babylonjs/core/Materials/PBR/pbrMaterial");
12
18
  Object.defineProperty(exports, "PBRMaterial", { enumerable: true, get: function () { return pbrMaterial_1.PBRMaterial; } });
13
19
  var standardMaterial_1 = require("@babylonjs/core/Materials/standardMaterial");
14
20
  Object.defineProperty(exports, "StandardMaterial", { enumerable: true, get: function () { return standardMaterial_1.StandardMaterial; } });
21
+ var cubeTexture_1 = require("@babylonjs/core/Materials/Textures/cubeTexture");
22
+ Object.defineProperty(exports, "CubeTexture", { enumerable: true, get: function () { return cubeTexture_1.CubeTexture; } });
15
23
  var dynamicTexture_1 = require("@babylonjs/core/Materials/Textures/dynamicTexture");
16
24
  Object.defineProperty(exports, "DynamicTexture", { enumerable: true, get: function () { return dynamicTexture_1.DynamicTexture; } });
25
+ var texture_1 = require("@babylonjs/core/Materials/Textures/texture");
26
+ Object.defineProperty(exports, "Texture", { enumerable: true, get: function () { return texture_1.Texture; } });
17
27
  var math_color_1 = require("@babylonjs/core/Maths/math.color");
18
28
  Object.defineProperty(exports, "Color3", { enumerable: true, get: function () { return math_color_1.Color3; } });
19
29
  Object.defineProperty(exports, "Color4", { enumerable: true, get: function () { return math_color_1.Color4; } });
@@ -25,59 +35,53 @@ var instancedMesh_1 = require("@babylonjs/core/Meshes/instancedMesh");
25
35
  Object.defineProperty(exports, "InstancedMesh", { enumerable: true, get: function () { return instancedMesh_1.InstancedMesh; } });
26
36
  var mesh_1 = require("@babylonjs/core/Meshes/mesh");
27
37
  Object.defineProperty(exports, "Mesh", { enumerable: true, get: function () { return mesh_1.Mesh; } });
38
+ var meshBuilder_1 = require("@babylonjs/core/Meshes/meshBuilder");
39
+ Object.defineProperty(exports, "MeshBuilder", { enumerable: true, get: function () { return meshBuilder_1.MeshBuilder; } });
28
40
  var transformNode_1 = require("@babylonjs/core/Meshes/transformNode");
29
41
  Object.defineProperty(exports, "TransformNode", { enumerable: true, get: function () { return transformNode_1.TransformNode; } });
30
42
  var node_1 = require("@babylonjs/core/node");
31
43
  Object.defineProperty(exports, "Node", { enumerable: true, get: function () { return node_1.Node; } });
44
+ /**
45
+ * Without explicitly importing the "BoundingBoxRenderer", we're getting "scene.getBoundingBoxRenderer is undefined"
46
+ * errors when creating HighlightLayer instances. Not sure why but those errors only happen when using the built
47
+ * version of the viewer (e.g. when pulling it from NPM etc.)...
48
+ */
49
+ require("@babylonjs/core/Rendering/boundingBoxRenderer");
32
50
  var scene_1 = require("@babylonjs/core/scene");
33
51
  Object.defineProperty(exports, "Scene", { enumerable: true, get: function () { return scene_1.Scene; } });
34
- var variantInstance_1 = require("./api/classes/variantInstance");
35
- Object.defineProperty(exports, "VariantInstance", { enumerable: true, get: function () { return variantInstance_1.VariantInstance; } });
36
- var viewer_1 = require("./api/classes/viewer");
37
- Object.defineProperty(exports, "Viewer", { enumerable: true, get: function () { return viewer_1.Viewer; } });
38
- var event_1 = require("./api/classes/event");
39
- Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return event_1.Event; } });
40
- Object.defineProperty(exports, "Emitter", { enumerable: true, get: function () { return event_1.emitter; } });
52
+ var parameterizable_1 = require("./api/classes/parameterizable");
53
+ Object.defineProperty(exports, "Parameterizable", { enumerable: true, get: function () { return parameterizable_1.Parameterizable; } });
54
+ var variantParameterizable_1 = require("./api/classes/variantParameterizable");
55
+ Object.defineProperty(exports, "VariantParameterizable", { enumerable: true, get: function () { return variantParameterizable_1.VariantParameterizable; } });
41
56
  var eventemitter3_1 = require("eventemitter3");
42
57
  Object.defineProperty(exports, "EventEmitter", { enumerable: true, get: function () { return eventemitter3_1.EventEmitter; } });
58
+ var element_1 = require("./api/classes/element");
59
+ Object.defineProperty(exports, "Element", { enumerable: true, get: function () { return element_1.Element; } });
60
+ var event_1 = require("./api/classes/event");
61
+ Object.defineProperty(exports, "Emitter", { enumerable: true, get: function () { return event_1.emitter; } });
62
+ Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return event_1.Event; } });
63
+ var eventBroadcaster_1 = require("./api/classes/eventBroadcaster");
64
+ Object.defineProperty(exports, "EventBroadcaster", { enumerable: true, get: function () { return eventBroadcaster_1.EventBroadcaster; } });
43
65
  var parameter_1 = require("./api/classes/parameter");
44
66
  Object.defineProperty(exports, "Parameter", { enumerable: true, get: function () { return parameter_1.Parameter; } });
45
- var cubeTexture_1 = require("@babylonjs/core/Materials/Textures/cubeTexture");
46
- Object.defineProperty(exports, "CubeTexture", { enumerable: true, get: function () { return cubeTexture_1.CubeTexture; } });
47
- var animation_1 = require("@babylonjs/core/Animations/animation");
48
- Object.defineProperty(exports, "BabylonAnimation", { enumerable: true, get: function () { return animation_1.Animation; } });
49
- var meshBuilder_1 = require("@babylonjs/core/Meshes/meshBuilder");
50
- Object.defineProperty(exports, "MeshBuilder", { enumerable: true, get: function () { return meshBuilder_1.MeshBuilder; } });
51
- var texture_1 = require("@babylonjs/core/Materials/Textures/texture");
52
- Object.defineProperty(exports, "Texture", { enumerable: true, get: function () { return texture_1.Texture; } });
53
- var directionalLight_1 = require("@babylonjs/core/Lights/directionalLight");
54
- Object.defineProperty(exports, "DirectionalLight", { enumerable: true, get: function () { return directionalLight_1.DirectionalLight; } });
55
- var hemisphericLight_1 = require("@babylonjs/core/Lights/hemisphericLight");
56
- Object.defineProperty(exports, "HemisphericLight", { enumerable: true, get: function () { return hemisphericLight_1.HemisphericLight; } });
57
- var variant_1 = require("./api/classes/variant");
58
- Object.defineProperty(exports, "Variant", { enumerable: true, get: function () { return variant_1.Variant; } });
59
67
  var parameterObservable_1 = require("./api/classes/parameterObservable");
60
68
  Object.defineProperty(exports, "ParameterObservable", { enumerable: true, get: function () { return parameterObservable_1.ParameterObservable; } });
61
- var elementParameterizable_1 = require("./api/classes/elementParameterizable");
62
- Object.defineProperty(exports, "ElementParameterizable", { enumerable: true, get: function () { return elementParameterizable_1.ElementParameterizable; } });
63
- var element_1 = require("./api/classes/element");
64
- Object.defineProperty(exports, "Element", { enumerable: true, get: function () { return element_1.Element; } });
65
- var variantInstanceManager_1 = require("./api/manager/variantInstanceManager");
66
- Object.defineProperty(exports, "VariantInstanceManager", { enumerable: true, get: function () { return variantInstanceManager_1.VariantInstanceManager; } });
69
+ var placementAnimation_1 = require("./api/classes/placementAnimation");
70
+ Object.defineProperty(exports, "PlacementAnimation", { enumerable: true, get: function () { return placementAnimation_1.PlacementAnimation; } });
71
+ var variant_1 = require("./api/classes/variant");
72
+ Object.defineProperty(exports, "Variant", { enumerable: true, get: function () { return variant_1.Variant; } });
73
+ var variantInstance_1 = require("./api/classes/variantInstance");
74
+ Object.defineProperty(exports, "VariantInstance", { enumerable: true, get: function () { return variantInstance_1.VariantInstance; } });
75
+ var viewer_1 = require("./api/classes/viewer");
76
+ Object.defineProperty(exports, "Viewer", { enumerable: true, get: function () { return viewer_1.Viewer; } });
77
+ var viewerLight_1 = require("./api/classes/viewerLight");
78
+ Object.defineProperty(exports, "ViewerLight", { enumerable: true, get: function () { return viewerLight_1.ViewerLight; } });
67
79
  var animationManager_1 = require("./api/manager/animationManager");
68
80
  Object.defineProperty(exports, "AnimationManager", { enumerable: true, get: function () { return animationManager_1.AnimationManager; } });
69
- var eventBroadcaster_1 = require("./api/classes/eventBroadcaster");
70
- Object.defineProperty(exports, "EventBroadcaster", { enumerable: true, get: function () { return eventBroadcaster_1.EventBroadcaster; } });
71
81
  var sceneManager_1 = require("./api/manager/sceneManager");
72
82
  Object.defineProperty(exports, "SceneManager", { enumerable: true, get: function () { return sceneManager_1.SceneManager; } });
73
- var placementAnimation_1 = require("./api/classes/placementAnimation");
74
- Object.defineProperty(exports, "PlacementAnimation", { enumerable: true, get: function () { return placementAnimation_1.PlacementAnimation; } });
83
+ var variantInstanceManager_1 = require("./api/manager/variantInstanceManager");
84
+ Object.defineProperty(exports, "VariantInstanceManager", { enumerable: true, get: function () { return variantInstanceManager_1.VariantInstanceManager; } });
75
85
  var BabylonHelper = require("./api/util/babylonHelper");
76
86
  exports.BabylonHelper = BabylonHelper;
77
- /**
78
- * Without explicitly importing the "BoundingBoxRenderer", we're getting "scene.getBoundingBoxRenderer is undefined"
79
- * errors when creating HighlightLayer instances. Not sure why but those errors only happen when using the built
80
- * version of the viewer (e.g. when pulling it from NPM etc.)...
81
- */
82
- require("@babylonjs/core/Rendering/boundingBoxRenderer");
83
87
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;;;AAEhD,2EAA0E;AAuEzE,gGAvEQ,iCAAe,OAuER;AAtEhB,yDAAwD;AAqEvD,uFArEQ,eAAM,OAqER;AApEP,+DAA8D;AAgE7D,yFAhEQ,mBAAQ,OAgER;AA/DT,yEAAwE;AAgEvE,4FAhEQ,yBAAW,OAgER;AA/DZ,+EAA8E;AAgE7E,iGAhEQ,mCAAgB,OAgER;AA/DjB,oFAAmF;AAmElF,+FAnEQ,+BAAc,OAmER;AAlEf,+DAAkE;AAoDjE,uFApDQ,mBAAM,OAoDR;AACN,uFArDgB,mBAAM,OAqDhB;AApDP,iEAA4D;AAqD3D,wFArDQ,qBAAO,OAqDR;AApDR,oEAAmE;AAqDlE,6FArDQ,2BAAY,OAqDR;AApDb,sEAAqE;AAqDpE,8FArDQ,6BAAa,OAqDR;AApDd,oDAAmD;AAqDlD,qFArDQ,WAAI,OAqDR;AApDL,sEAAqE;AAqDpE,8FArDQ,6BAAa,OAqDR;AApDd,6CAA4C;AAqD3C,qFArDQ,WAAI,OAqDR;AApDL,+CAA8C;AAwD7C,sFAxDQ,aAAK,OAwDR;AAvDN,iEAAgE;AA2C/D,gGA3CQ,iCAAe,OA2CR;AA1ChB,+CAA8C;AAmC7C,uFAnCQ,eAAM,OAmCR;AAlCP,6CAAqD;AAuCpD,sFAvCQ,aAAK,OAuCR;AAFM,wFArCI,eAAO,OAqCJ;AApCnB,+CAA6C;AAqC5C,6FArCQ,4BAAY,OAqCR;AApCb,qDAAoD;AAsCnD,0FAtCQ,qBAAS,OAsCR;AArCV,8EAA6E;AAsD5E,4FAtDQ,yBAAW,OAsDR;AArDZ,kEAAqF;AAwDpF,iGAxDqB,qBAAgB,OAwDrB;AAvDjB,kEAAiE;AAqDhE,4FArDQ,yBAAW,OAqDR;AApDZ,sEAAqE;AAqDpE,wFArDQ,iBAAO,OAqDR;AApDR,4EAA2E;AAuD1E,iGAvDQ,mCAAgB,OAuDR;AAtDjB,4EAA2E;AAqD1E,iGArDQ,mCAAgB,OAqDR;AApDjB,iDAAgD;AAuB/C,wFAvBQ,iBAAO,OAuBR;AAtBR,yEAAwE;AAyBvE,oGAzBQ,yCAAmB,OAyBR;AAxBpB,+EAA8E;AAyB7E,uGAzBQ,+CAAsB,OAyBR;AAxBvB,iDAAgD;AAmD/C,wFAnDQ,iBAAO,OAmDR;AAlDR,+EAA8E;AAoB7E,uGApBQ,+CAAsB,OAoBR;AAnBvB,mEAAkE;AAiBjE,iGAjBQ,mCAAgB,OAiBR;AAhBjB,mEAAkE;AAiDjE,iGAjDQ,mCAAgB,OAiDR;AAhDjB,2DAA0D;AAiDzD,6FAjDQ,2BAAY,OAiDR;AAhDb,uEAAsE;AAiDrE,mGAjDQ,uCAAkB,OAiDR;AAhDnB,wDAA0D;AAiDzD,sCAAa;AA/Cd;;;;GAIG;AACH,yDAAuD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;;;AAEhD,kEAAqF;AAgFpF,iGAhFqB,qBAAgB,OAgFrB;AA/EjB,2EAA0E;AA0EzE,gGA1EQ,iCAAe,OA0ER;AAzEhB,yDAAwD;AAwEvD,uFAxEQ,eAAM,OAwER;AAvEP,4EAA2E;AA+E1E,iGA/EQ,mCAAgB,OA+ER;AA9EjB,4EAA2E;AA6E1E,iGA7EQ,mCAAgB,OA6ER;AA5EjB,+DAA8D;AAiE7D,yFAjEQ,mBAAQ,OAiER;AAhET,yEAAwE;AAiEvE,4FAjEQ,yBAAW,OAiER;AAhEZ,+EAA8E;AAiE7E,iGAjEQ,mCAAgB,OAiER;AAhEjB,8EAA6E;AAqE5E,4FArEQ,yBAAW,OAqER;AApEZ,oFAAmF;AAmElF,+FAnEQ,+BAAc,OAmER;AAlEf,sEAAqE;AAqEpE,wFArEQ,iBAAO,OAqER;AApER,+DAAkE;AAmDjE,uFAnDQ,mBAAM,OAmDR;AACN,uFApDgB,mBAAM,OAoDhB;AAnDP,iEAA4D;AAoD3D,wFApDQ,qBAAO,OAoDR;AAnDR,oEAAmE;AAoDlE,6FApDQ,2BAAY,OAoDR;AAnDb,sEAAqE;AAoDpE,8FApDQ,6BAAa,OAoDR;AAnDd,oDAAmD;AAoDlD,qFApDQ,WAAI,OAoDR;AAnDL,kEAAiE;AA8DhE,4FA9DQ,yBAAW,OA8DR;AA7DZ,sEAAqE;AAmDpE,8FAnDQ,6BAAa,OAmDR;AAlDd,6CAA4C;AAmD3C,qFAnDQ,WAAI,OAmDR;AAjDL;;;;GAIG;AACH,yDAAuD;AACvD,+CAA8C;AA+C7C,sFA/CQ,aAAK,OA+CR;AA9CN,iEAAgE;AA2B/D,gGA3BQ,iCAAe,OA2BR;AA1BhB,+EAA8E;AA2B7E,uGA3BQ,+CAAsB,OA2BR;AA1BvB,+CAA6C;AA6B5C,6FA7BQ,4BAAY,OA6BR;AA5Bb,iDAAgD;AAqD/C,wFArDQ,iBAAO,OAqDR;AApDR,6CAAqD;AA0BzC,wFA1BH,eAAO,OA0BG;AAElB,sFA5BiB,aAAK,OA4BjB;AA3BN,mEAAkE;AAoDjE,iGApDQ,mCAAgB,OAoDR;AAnDjB,qDAAoD;AA2BnD,0FA3BQ,qBAAS,OA2BR;AA1BV,yEAAwE;AAmBvE,oGAnBQ,yCAAmB,OAmBR;AAlBpB,uEAAsE;AAmDrE,mGAnDQ,uCAAkB,OAmDR;AAlDnB,iDAAgD;AAc/C,wFAdQ,iBAAO,OAcR;AAbR,iEAAgE;AAwB/D,gGAxBQ,iCAAe,OAwBR;AAvBhB,+CAA8C;AAc7C,uFAdQ,eAAM,OAcR;AAbP,yDAAwD;AAiBvD,4FAjBQ,yBAAW,OAiBR;AAhBZ,mEAAkE;AASjE,iGATQ,mCAAgB,OASR;AARjB,2DAA0D;AA4CzD,6FA5CQ,2BAAY,OA4CR;AA3Cb,+EAA8E;AAS7E,uGATQ,+CAAsB,OASR;AARvB,wDAA0D;AA4CzD,sCAAa"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@combeenation/3d-viewer",
3
3
  "description": "Combeenation 3D Viewer",
4
- "version": "4.0.0-beta3",
4
+ "version": "4.0.0",
5
5
  "homepage": "https://github.com/Combeenation/3d-viewer#readme",
6
6
  "keywords": [],
7
7
  "author": "",
@@ -42,10 +42,10 @@
42
42
  "pack": "npm run dist-cjs && npm pack"
43
43
  },
44
44
  "dependencies": {
45
- "@babylonjs/core": "4.2.0",
46
- "@babylonjs/inspector": "4.2.0",
47
- "@babylonjs/loaders": "4.2.0",
48
- "@babylonjs/materials": "4.2.0",
45
+ "@babylonjs/core": "4.2.1",
46
+ "@babylonjs/inspector": "4.2.1",
47
+ "@babylonjs/loaders": "4.2.1",
48
+ "@babylonjs/materials": "4.2.1",
49
49
  "eventemitter3": "^4.0.0",
50
50
  "gsap": "^3.5.1",
51
51
  "lodash-es": "^4.17.15"