@combeenation/3d-viewer 6.4.0 → 6.5.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.
- package/dist/lib-cjs/api/util/sceneLoaderHelper.js +5 -3
- package/dist/lib-cjs/api/util/sceneLoaderHelper.js.map +1 -1
- package/dist/lib-cjs/buildinfo.json +1 -1
- package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
- package/dist/lib-cjs/index.d.ts +2 -1
- package/dist/lib-cjs/index.js +3 -1
- package/dist/lib-cjs/index.js.map +1 -1
- package/package.json +1 -1
- package/src/api/util/sceneLoaderHelper.ts +4 -3
- package/src/index.ts +2 -0
package/dist/lib-cjs/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { AnimationManager } from './api/manager/animationManager';
|
|
|
17
17
|
import { GltfExportManager } from './api/manager/gltfExportManager';
|
|
18
18
|
import { SceneManager } from './api/manager/sceneManager';
|
|
19
19
|
import { VariantInstanceManager } from './api/manager/variantInstanceManager';
|
|
20
|
+
import { SpecStorage } from './api/store/specStorage';
|
|
20
21
|
import * as BabylonHelper from './api/util/babylonHelper';
|
|
21
22
|
import { Animation as BabylonAnimation } from '@babylonjs/core/Animations/animation';
|
|
22
23
|
import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
|
|
@@ -48,4 +49,4 @@ import { EventEmitter } from 'eventemitter3';
|
|
|
48
49
|
/**
|
|
49
50
|
* Expose some frequently used babylon modules by our consumers.
|
|
50
51
|
*/
|
|
51
|
-
export { AnimationManager, AnimationInterface, 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, GltfExportManager, };
|
|
52
|
+
export { AnimationManager, AnimationInterface, 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, GltfExportManager, SpecStorage, };
|
package/dist/lib-cjs/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.GltfExportManager = 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;
|
|
26
|
+
exports.SpecStorage = exports.GltfExportManager = 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;
|
|
27
27
|
const element_1 = require("./api/classes/element");
|
|
28
28
|
Object.defineProperty(exports, "Element", { enumerable: true, get: function () { return element_1.Element; } });
|
|
29
29
|
const event_1 = require("./api/classes/event");
|
|
@@ -57,6 +57,8 @@ const sceneManager_1 = require("./api/manager/sceneManager");
|
|
|
57
57
|
Object.defineProperty(exports, "SceneManager", { enumerable: true, get: function () { return sceneManager_1.SceneManager; } });
|
|
58
58
|
const variantInstanceManager_1 = require("./api/manager/variantInstanceManager");
|
|
59
59
|
Object.defineProperty(exports, "VariantInstanceManager", { enumerable: true, get: function () { return variantInstanceManager_1.VariantInstanceManager; } });
|
|
60
|
+
const specStorage_1 = require("./api/store/specStorage");
|
|
61
|
+
Object.defineProperty(exports, "SpecStorage", { enumerable: true, get: function () { return specStorage_1.SpecStorage; } });
|
|
60
62
|
const BabylonHelper = __importStar(require("./api/util/babylonHelper"));
|
|
61
63
|
exports.BabylonHelper = BabylonHelper;
|
|
62
64
|
const animation_1 = require("@babylonjs/core/Animations/animation");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mDAAgD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mDAAgD;AAsF9C,wFAtFO,iBAAO,OAsFP;AArFT,+CAAqD;AA6DnD,sFA7DO,aAAK,OA6DP;AAFM,wFA3DG,eAAO,OA2DH;AA1DpB,qEAAkE;AAqFhE,iGArFO,mCAAgB,OAqFP;AApFlB,uDAAoD;AA4DlD,0FA5DO,qBAAS,OA4DP;AA3DX,2EAAwE;AAoDtE,oGApDO,yCAAmB,OAoDP;AAnDrB,mEAAgE;AAoD9D,gGApDO,iCAAe,OAoDP;AAnDjB,yEAAsE;AAmFpE,mGAnFO,uCAAkB,OAmFP;AAlFpB,mDAAgD;AA8C9C,wFA9CO,iBAAO,OA8CP;AA7CT,mEAAgE;AAwD9D,gGAxDO,iCAAe,OAwDP;AAvDjB,iFAA8E;AAiD5E,uGAjDO,+CAAsB,OAiDP;AAhDxB,iDAA8C;AA6C5C,uFA7CO,eAAM,OA6CP;AA5CR,2DAAwD;AAgDtD,4FAhDO,yBAAW,OAgDP;AA/Cb,qEAAkE;AAuChE,iGAvCO,mCAAgB,OAuCP;AAtClB,uEAAoE;AA8ElE,kGA9EO,qCAAiB,OA8EP;AA7EnB,6DAA0D;AA0ExD,6FA1EO,2BAAY,OA0EP;AAzEd,iFAA8E;AAuC5E,uGAvCO,+CAAsB,OAuCP;AAtCxB,yDAAsD;AA4EpD,4FA5EO,yBAAW,OA4EP;AA3Eb,wEAA0D;AAyExD,sCAAa;AAxEf,oEAAqF;AAiEnF,iGAjEoB,qBAAgB,OAiEpB;AAhElB,6EAA0E;AA2DxE,gGA3DO,iCAAe,OA2DP;AA1DjB,2DAAwD;AAyDtD,uFAzDO,eAAM,OAyDP;AAxDR,8EAA2E;AAgEzE,iGAhEO,mCAAgB,OAgEP;AA/DlB,8EAA2E;AA8DzE,iGA9DO,mCAAgB,OA8DP;AA7DlB,2EAAwE;AAmDtE,4FAnDO,yBAAW,OAmDP;AAlDb,gFAA6E;AAwD3E,4FAxDO,yBAAW,OAwDP;AAvDb,sFAAmF;AAsDjF,+FAtDO,+BAAc,OAsDP;AArDhB,wEAAqE;AAwDnE,wFAxDO,iBAAO,OAwDP;AAvDT,iEAA8D;AA8C5D,yFA9CO,mBAAQ,OA8CP;AA7CV,iFAA8E;AA+C5E,iGA/CO,mCAAgB,OA+CP;AA9ClB,iEAAkE;AAoChE,uFApCO,mBAAM,OAoCP;AACN,uFArCe,mBAAM,OAqCf;AApCR,mEAA4D;AAqC1D,wFArCO,qBAAO,OAqCP;AApCT,sEAAmE;AAqCjE,6FArCO,2BAAY,OAqCP;AApCd,wEAAqE;AAqCnE,8FArCO,6BAAa,OAqCP;AApCf,sDAAmD;AAqCjD,qFArCO,WAAI,OAqCP;AApCN,oEAAiE;AA+C/D,4FA/CO,yBAAW,OA+CP;AA9Cb,wEAAqE;AAoCnE,8FApCO,6BAAa,OAoCP;AAlCf;;;;GAIG;AACH,yDAAuD;AACvD,+CAA4C;AA6B1C,qFA7BO,WAAI,OA6BP;AA5BN,iDAA8C;AAgC5C,sFAhCO,aAAK,OAgCP;AA/BP,iDAA6C;AAgB3C,6FAhBO,4BAAY,OAgBP"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { applyMaterialAfterTexturesLoaded, getOrCreateMaterial, injectNodeMetadata } from './babylonHelper';
|
|
2
|
+
import { sleep } from './resourceHelper';
|
|
2
3
|
import { ISceneLoaderPlugin } from '@babylonjs/core/Loading/sceneLoader';
|
|
3
4
|
import { Material } from '@babylonjs/core/Materials/material';
|
|
4
5
|
import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
|
|
@@ -56,8 +57,8 @@ export const getMaterialPostLoadObserver = function (concerningMesh: Mesh) {
|
|
|
56
57
|
const scene = concerningMesh.getScene();
|
|
57
58
|
|
|
58
59
|
// can't check `isEnabled` immediatly, since the enabled state of parents and childs is not synced yet
|
|
59
|
-
// postpone
|
|
60
|
-
await
|
|
60
|
+
// postpone one cycle to ensure a correct parent-child enable relation
|
|
61
|
+
await sleep(0);
|
|
61
62
|
|
|
62
63
|
const hasBeenEnabled = concerningMesh.isEnabled(true);
|
|
63
64
|
const materialMissing = has(concerningMesh.metadata, missingMaterialMetadataName);
|
|
@@ -72,7 +73,7 @@ export const getMaterialPostLoadObserver = function (concerningMesh: Mesh) {
|
|
|
72
73
|
|
|
73
74
|
// remove all "enable" observers that were assigned to the concerning mesh
|
|
74
75
|
// the mesh got visible and therefore the observers are not needed anymore
|
|
75
|
-
enableObserverMap[concerningMesh.id]
|
|
76
|
+
enableObserverMap[concerningMesh.id]?.forEach(entry => {
|
|
76
77
|
const currNode = scene.getMeshById(entry.currNodeId);
|
|
77
78
|
currNode?.onEnabledStateChangedObservable.remove(entry.observer);
|
|
78
79
|
});
|
package/src/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ import { AnimationManager } from './api/manager/animationManager';
|
|
|
18
18
|
import { GltfExportManager } from './api/manager/gltfExportManager';
|
|
19
19
|
import { SceneManager } from './api/manager/sceneManager';
|
|
20
20
|
import { VariantInstanceManager } from './api/manager/variantInstanceManager';
|
|
21
|
+
import { SpecStorage } from './api/store/specStorage';
|
|
21
22
|
import * as BabylonHelper from './api/util/babylonHelper';
|
|
22
23
|
import { Animation as BabylonAnimation } from '@babylonjs/core/Animations/animation';
|
|
23
24
|
import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
|
|
@@ -93,4 +94,5 @@ export {
|
|
|
93
94
|
PlacementAnimation,
|
|
94
95
|
BabylonHelper,
|
|
95
96
|
GltfExportManager,
|
|
97
|
+
SpecStorage,
|
|
96
98
|
};
|