@vived/app 2.51.0 → 3.0.1

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 (126) hide show
  1. package/lib/AppObject/AppObject.d.ts +15 -0
  2. package/lib/AppObject/AppObject.js +65 -0
  3. package/lib/AppObject/AppObjectComponent.d.ts +6 -0
  4. package/lib/AppObject/AppObjectComponent.js +2 -0
  5. package/lib/AppObject/AppObjectEntity.d.ts +16 -0
  6. package/lib/AppObject/AppObjectEntity.js +40 -0
  7. package/lib/AppObject/AppObjectEntityRepo.d.ts +15 -0
  8. package/lib/AppObject/AppObjectEntityRepo.js +55 -0
  9. package/lib/AppObject/AppObjectPM.d.ts +15 -0
  10. package/lib/AppObject/AppObjectPM.js +38 -0
  11. package/lib/AppObject/AppObjectRepo.d.ts +19 -0
  12. package/lib/AppObject/AppObjectRepo.js +95 -0
  13. package/lib/AppObject/AppObjectUC.d.ts +8 -0
  14. package/lib/AppObject/AppObjectUC.js +17 -0
  15. package/lib/AppObject/IsEnabledPM.d.ts +11 -0
  16. package/lib/AppObject/IsEnabledPM.js +29 -0
  17. package/lib/AppObject/index.d.ts +7 -0
  18. package/lib/AppObject/index.js +19 -0
  19. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.d.ts +42 -0
  20. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.js +99 -0
  21. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.d.ts +12 -0
  22. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.js +45 -0
  23. package/lib/AppObjectComponents/ChannelModel/index.d.ts +2 -0
  24. package/lib/AppObjectComponents/ChannelModel/index.js +14 -0
  25. package/lib/AppObjectComponents/Hideable/Entities/Hideable.d.ts +10 -0
  26. package/lib/AppObjectComponents/Hideable/Entities/Hideable.js +31 -0
  27. package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.d.ts +12 -0
  28. package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.js +42 -0
  29. package/lib/AppObjectComponents/Hideable/index.d.ts +2 -0
  30. package/lib/AppObjectComponents/Hideable/index.js +14 -0
  31. package/lib/AppObjectComponents/Label/Entities/Label.d.ts +17 -0
  32. package/lib/AppObjectComponents/Label/Entities/Label.js +58 -0
  33. package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.d.ts +19 -0
  34. package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.js +62 -0
  35. package/lib/AppObjectComponents/Label/index.d.ts +2 -0
  36. package/lib/AppObjectComponents/Label/index.js +14 -0
  37. package/lib/AppObjectComponents/Mesh/Entities/Mesh.d.ts +21 -0
  38. package/lib/AppObjectComponents/Mesh/Entities/Mesh.js +45 -0
  39. package/lib/AppObjectComponents/Mesh/index.d.ts +1 -0
  40. package/lib/{UseCases/SceneObjects → AppObjectComponents/Mesh}/index.js +1 -1
  41. package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.d.ts +25 -0
  42. package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.js +59 -0
  43. package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.d.ts +13 -0
  44. package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.js +42 -0
  45. package/lib/AppObjectComponents/OverlayColor/index.d.ts +2 -0
  46. package/lib/AppObjectComponents/OverlayColor/index.js +14 -0
  47. package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.d.ts +44 -0
  48. package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.js +221 -0
  49. package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.d.ts +12 -0
  50. package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.js +45 -0
  51. package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.d.ts +19 -0
  52. package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.js +59 -0
  53. package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.d.ts +20 -0
  54. package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.js +67 -0
  55. package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.d.ts +14 -0
  56. package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.js +45 -0
  57. package/lib/AppObjectComponents/Transform3D/UseCases/getStickUC.d.ts +3 -0
  58. package/lib/AppObjectComponents/Transform3D/UseCases/getStickUC.js +8 -0
  59. package/lib/AppObjectComponents/Transform3D/index.d.ts +5 -0
  60. package/lib/AppObjectComponents/Transform3D/index.js +17 -0
  61. package/lib/AppObjectComponents/index.d.ts +6 -0
  62. package/lib/AppObjectComponents/index.js +18 -0
  63. package/lib/Entities/ObserverList.d.ts +1 -0
  64. package/lib/Entities/ObserverList.js +3 -0
  65. package/lib/Entities/SceneModel.d.ts +1 -1
  66. package/lib/Entities/SceneModelMesh.d.ts +3 -44
  67. package/lib/Entities/SceneModelMesh.js +7 -114
  68. package/lib/Types/ChannelModelData.d.ts +68 -0
  69. package/lib/Types/ChannelModelData.js +21 -0
  70. package/lib/Types/EaseFn.d.ts +1 -0
  71. package/lib/Types/EaseFn.js +2 -0
  72. package/lib/Types/index.d.ts +2 -0
  73. package/lib/{UseCases/SceneObject → Types}/index.js +2 -1
  74. package/lib/UseCases/SceneModel/index.d.ts +0 -3
  75. package/lib/UseCases/SceneModel/index.js +0 -3
  76. package/lib/UseCases/SceneModel/loadNewModel.d.ts +2 -2
  77. package/lib/UseCases/SceneModel/loadNewModel.js +15 -17
  78. package/lib/UseCases/index.d.ts +1 -1
  79. package/lib/UseCases/index.js +1 -1
  80. package/lib/UseCases/setupStandardAppObjects.d.ts +2 -0
  81. package/lib/UseCases/setupStandardAppObjects.js +10 -0
  82. package/lib/ValueObjects/Quaternion.d.ts +1 -0
  83. package/lib/ValueObjects/Quaternion.js +21 -1
  84. package/lib/index.d.ts +3 -0
  85. package/lib/index.js +4 -1
  86. package/package.json +1 -1
  87. package/lib/Entities/MemoizedBoolean.d.ts +0 -8
  88. package/lib/Entities/MemoizedBoolean.js +0 -22
  89. package/lib/Entities/MemoizedColor.d.ts +0 -9
  90. package/lib/Entities/MemoizedColor.js +0 -23
  91. package/lib/Entities/MemoizedNumber.d.ts +0 -8
  92. package/lib/Entities/MemoizedNumber.js +0 -22
  93. package/lib/Entities/MemoizedQuaternion.d.ts +0 -9
  94. package/lib/Entities/MemoizedQuaternion.js +0 -23
  95. package/lib/Entities/MemoizedString.d.ts +0 -8
  96. package/lib/Entities/MemoizedString.js +0 -22
  97. package/lib/Entities/MemoizedVector2.d.ts +0 -9
  98. package/lib/Entities/MemoizedVector2.js +0 -23
  99. package/lib/Entities/MemoizedVector3.d.ts +0 -9
  100. package/lib/Entities/MemoizedVector3.js +0 -23
  101. package/lib/Entities/ModelMesh.d.ts +0 -53
  102. package/lib/Entities/ModelMesh.js +0 -106
  103. package/lib/Entities/SceneModelObject.d.ts +0 -40
  104. package/lib/Entities/SceneModelObject.js +0 -77
  105. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +0 -15
  106. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +0 -34
  107. package/lib/UseCases/SceneModel/PeelSceneMeshBase.d.ts +0 -20
  108. package/lib/UseCases/SceneModel/PeelSceneMeshBase.js +0 -66
  109. package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +0 -18
  110. package/lib/UseCases/SceneModel/SerializeActiveModel.js +0 -74
  111. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +0 -7
  112. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +0 -22
  113. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +0 -2
  114. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +0 -13
  115. package/lib/UseCases/SceneModel/setActiveSceneModel.d.ts +0 -2
  116. package/lib/UseCases/SceneModel/setActiveSceneModel.js +0 -90
  117. package/lib/UseCases/SceneModel/setupSceneModelFromData.d.ts +0 -2
  118. package/lib/UseCases/SceneModel/setupSceneModelFromData.js +0 -72
  119. package/lib/UseCases/SceneObject/PeelSceneObjectBase.d.ts +0 -20
  120. package/lib/UseCases/SceneObject/PeelSceneObjectBase.js +0 -66
  121. package/lib/UseCases/SceneObject/index.d.ts +0 -1
  122. package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +0 -18
  123. package/lib/UseCases/SceneObjects/PeelSceneObject.js +0 -61
  124. package/lib/UseCases/SceneObjects/index.d.ts +0 -1
  125. package/lib/UseCases/SceneRoot/initializeSceneRoot.d.ts +0 -2
  126. package/lib/UseCases/SceneRoot/initializeSceneRoot.js +0 -9
@@ -1,2 +0,0 @@
1
- import { SceneModel, SceneModelDTO, SceneObjectsRepo } from "../../Entities";
2
- export declare function makeSetupSceneModelFromData(sceneObjectRepo: SceneObjectsRepo): (sceneModel: SceneModel, data: SceneModelDTO) => void;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeSetupSceneModelFromData = void 0;
4
- const Entities_1 = require("../../Entities");
5
- const ValueObjects_1 = require("../../ValueObjects");
6
- function makeSetupSceneModelFromData(sceneObjectRepo) {
7
- return function setupSceneModelFromData(sceneModel, data) {
8
- if (data.version === 1) {
9
- applyDataV1(sceneModel, data, sceneObjectRepo);
10
- }
11
- else if (data.version === 0) {
12
- const mappedData = mapV0DataToV1(data);
13
- applyDataV1(sceneModel, mappedData, sceneObjectRepo);
14
- }
15
- else {
16
- console.warn("[setupSceneModelFromData] Unsupported version number");
17
- }
18
- };
19
- }
20
- exports.makeSetupSceneModelFromData = makeSetupSceneModelFromData;
21
- function mapV0DataToV1(dataV0) {
22
- const { bounds_max, bounds_min, defaultPosition, defaultRotation, defaultScale, name, objects: objectsV0, } = dataV0;
23
- const objects = objectsV0.map((objV0) => {
24
- return Object.assign(Object.assign({}, objV0), { version: 1 });
25
- });
26
- return {
27
- bounds_max,
28
- bounds_min,
29
- defaultPosition,
30
- defaultRotation,
31
- defaultScale,
32
- name,
33
- version: 1,
34
- objects,
35
- };
36
- }
37
- function applyDataV1(sceneModel, data, sceneObjectRepo) {
38
- sceneModel.name = data.name;
39
- sceneModel.bounds_min = ValueObjects_1.Vector3.FromDTO(data.bounds_min);
40
- sceneModel.bounds_max = ValueObjects_1.Vector3.FromDTO(data.bounds_max);
41
- sceneModel.defaultPosition = ValueObjects_1.Vector3.FromDTO(data.defaultPosition);
42
- sceneModel.defaultScale = data.defaultScale;
43
- sceneModel.defaultRotation = ValueObjects_1.Quaternion.FromDTO(data.defaultRotation);
44
- const objectsToKeep = [];
45
- data.objects.forEach((objectDTO) => {
46
- const existingObj = sceneModel.getObjectById(objectDTO.id);
47
- if (existingObj) {
48
- console.log("EXISTING");
49
- existingObj.applyData(objectDTO);
50
- }
51
- else {
52
- console.log("NEW");
53
- let so = sceneObjectRepo.get(objectDTO.id);
54
- if (!so) {
55
- so = Entities_1.makeSceneObject(objectDTO.id);
56
- sceneObjectRepo.add(objectDTO.id, so);
57
- }
58
- const newObj = Entities_1.makeModelMesh(objectDTO, so);
59
- sceneModel.addObject(newObj);
60
- }
61
- objectsToKeep.push(objectDTO.id);
62
- });
63
- const allObjects = sceneModel.getAllObjects().map((modelMesh) => {
64
- return modelMesh.id;
65
- });
66
- allObjects.forEach((obj) => {
67
- if (!objectsToKeep.includes(obj)) {
68
- sceneModel.removeObject(obj);
69
- sceneObjectRepo.remove(obj);
70
- }
71
- });
72
- }
@@ -1,20 +0,0 @@
1
- import { Babylon, SceneObjectsRepo, TransformNode } from "../../Entities";
2
- import { ParametricLine } from "../../ValueObjects";
3
- export declare class PeelSceneObjectBase {
4
- private babylon;
5
- private sceneObjectRepo;
6
- get peeledSceneObjectID(): string | undefined;
7
- private _sceneObject;
8
- private _didPeel;
9
- get didPeel(): boolean;
10
- private _doPeel;
11
- private _transformToPeel;
12
- get peelingTransform(): TransformNode | undefined;
13
- private _rootPos;
14
- private _peelPlane;
15
- private _pickOffset;
16
- tryInitializePeel: (pickRay: ParametricLine) => void;
17
- updatePeel: (pickRay: ParametricLine) => void;
18
- stopPeel: () => void;
19
- constructor(babylon: Babylon, sceneObjectRepo: SceneObjectsRepo);
20
- }
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PeelSceneObjectBase = void 0;
4
- const ValueObjects_1 = require("../../ValueObjects");
5
- class PeelSceneObjectBase {
6
- constructor(babylon, sceneObjectRepo) {
7
- this.babylon = babylon;
8
- this.sceneObjectRepo = sceneObjectRepo;
9
- this._didPeel = false;
10
- this._doPeel = false;
11
- this._transformToPeel = undefined;
12
- this._peelPlane = ValueObjects_1.ParametricPlane.XY();
13
- this._pickOffset = ValueObjects_1.Vector3.Zero();
14
- this.tryInitializePeel = (pickRay) => {
15
- var _a, _b;
16
- this._doPeel = false;
17
- this._didPeel = false;
18
- this._transformToPeel = undefined;
19
- const sceneObjectID = this.babylon.sceneObjectRayPick(pickRay);
20
- if (!sceneObjectID)
21
- return;
22
- const sceneObject = this.sceneObjectRepo.get(sceneObjectID);
23
- if (!sceneObject)
24
- return;
25
- this._sceneObject = sceneObject;
26
- this._transformToPeel = sceneObject.transform;
27
- const scenePick = this.babylon.sceneRayPick(pickRay);
28
- if (!scenePick)
29
- return;
30
- const pickPlaneDirection = ValueObjects_1.Vector3.Backward();
31
- const planePickPos = (_a = scenePick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
32
- this._peelPlane = ValueObjects_1.ParametricPlane.FromPointNormal(planePickPos, pickPlaneDirection);
33
- const pick = (_b = this._peelPlane.intersectLine(pickRay)) !== null && _b !== void 0 ? _b : ValueObjects_1.Vector3.Zero();
34
- this._rootPos = this._transformToPeel.worldPosition;
35
- this._pickOffset = ValueObjects_1.Vector3.Subtract(this._rootPos, pick);
36
- this._doPeel = true;
37
- };
38
- this.updatePeel = (pickRay) => {
39
- var _a;
40
- if (!this._doPeel)
41
- return;
42
- if (!this._transformToPeel)
43
- return;
44
- const pick = (_a = this._peelPlane.intersectLine(pickRay)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
45
- this._transformToPeel.worldPosition = ValueObjects_1.Vector3.Add(pick, this._pickOffset);
46
- this._didPeel = true;
47
- };
48
- this.stopPeel = () => {
49
- this._doPeel = false;
50
- this._didPeel = false;
51
- this._transformToPeel = undefined;
52
- this._rootPos = undefined;
53
- };
54
- }
55
- get peeledSceneObjectID() {
56
- var _a;
57
- return (_a = this._sceneObject) === null || _a === void 0 ? void 0 : _a.id;
58
- }
59
- get didPeel() {
60
- return this._didPeel;
61
- }
62
- get peelingTransform() {
63
- return this._transformToPeel;
64
- }
65
- }
66
- exports.PeelSceneObjectBase = PeelSceneObjectBase;
@@ -1 +0,0 @@
1
- export * from "./PeelSceneObjectBase";
@@ -1,18 +0,0 @@
1
- import { Babylon, SceneObject, SceneObjectsRepo } from "../../Entities";
2
- import { ParametricLine } from "../../ValueObjects";
3
- export declare class PeelSceneObject {
4
- private babylon;
5
- private sceneObjectRepo;
6
- private _didPeel;
7
- get didPeel(): boolean;
8
- private _peelingSceneObject;
9
- get peelingSceneObject(): SceneObject | undefined;
10
- private _peelPlane;
11
- private _rootPos;
12
- private _allowPeel;
13
- private _pickOffset;
14
- tryInitializePeel: (pickRay: ParametricLine) => void;
15
- updatePeel: (pickRay: ParametricLine) => void;
16
- stopPeel: () => void;
17
- constructor(babylon: Babylon, sceneObjectRepo: SceneObjectsRepo);
18
- }
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PeelSceneObject = void 0;
4
- const ValueObjects_1 = require("../../ValueObjects");
5
- class PeelSceneObject {
6
- constructor(babylon, sceneObjectRepo) {
7
- this.babylon = babylon;
8
- this.sceneObjectRepo = sceneObjectRepo;
9
- this._didPeel = false;
10
- this._peelingSceneObject = undefined;
11
- this._peelPlane = ValueObjects_1.ParametricPlane.XY();
12
- this._allowPeel = false;
13
- this._pickOffset = ValueObjects_1.Vector3.Zero();
14
- this.tryInitializePeel = (pickRay) => {
15
- var _a, _b;
16
- this._allowPeel = false;
17
- this._didPeel = false;
18
- this._peelingSceneObject = undefined;
19
- const sceneObjectID = this.babylon.sceneObjectRayPick(pickRay);
20
- if (!sceneObjectID)
21
- return;
22
- const sceneObject = this.sceneObjectRepo.get(sceneObjectID);
23
- if (!sceneObject)
24
- return;
25
- this._peelingSceneObject = sceneObject;
26
- const scenePick = this.babylon.sceneRayPick(pickRay);
27
- if (!scenePick)
28
- return;
29
- const pickPlaneDirection = ValueObjects_1.Vector3.Backward();
30
- const planePickPos = (_a = scenePick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
31
- this._peelPlane = ValueObjects_1.ParametricPlane.FromPointNormal(planePickPos, pickPlaneDirection);
32
- const pick = (_b = this._peelPlane.intersectLine(pickRay)) !== null && _b !== void 0 ? _b : ValueObjects_1.Vector3.Zero();
33
- this._rootPos = this._peelingSceneObject.transform.worldPosition;
34
- this._pickOffset = ValueObjects_1.Vector3.Subtract(this._rootPos, pick);
35
- this._allowPeel = true;
36
- };
37
- this.updatePeel = (pickRay) => {
38
- var _a;
39
- if (!this._allowPeel)
40
- return;
41
- if (!this._peelingSceneObject)
42
- return;
43
- const pick = (_a = this._peelPlane.intersectLine(pickRay)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
44
- this._peelingSceneObject.transform.worldPosition = ValueObjects_1.Vector3.Add(pick, this._pickOffset);
45
- this._didPeel = true;
46
- };
47
- this.stopPeel = () => {
48
- this._allowPeel = false;
49
- this._didPeel = false;
50
- this._peelingSceneObject = undefined;
51
- this._rootPos = undefined;
52
- };
53
- }
54
- get didPeel() {
55
- return this._didPeel;
56
- }
57
- get peelingSceneObject() {
58
- return this._peelingSceneObject;
59
- }
60
- }
61
- exports.PeelSceneObject = PeelSceneObject;
@@ -1 +0,0 @@
1
- export * from "./PeelSceneObject";
@@ -1,2 +0,0 @@
1
- import { DefaultSceneRootData, SceneObjectsRepo, SceneRoot } from "../../Entities";
2
- export declare function initializeSceneRoot(defaultData: DefaultSceneRootData, sceneRoot: SceneRoot, sceneObjectRepo: SceneObjectsRepo): void;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initializeSceneRoot = void 0;
4
- const Entities_1 = require("../../Entities");
5
- function initializeSceneRoot(defaultData, sceneRoot, sceneObjectRepo) {
6
- sceneRoot.applyDefaultData(defaultData);
7
- sceneObjectRepo.add(Entities_1.SCENE_ROOT_ID, sceneRoot.sceneObject);
8
- }
9
- exports.initializeSceneRoot = initializeSceneRoot;