@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,21 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeSceneModelMesh = exports.SceneModelMesh = exports.Color = void 0;
4
- const ValueObjects_1 = require("../ValueObjects");
3
+ exports.makeSceneModelMesh = exports.SceneModelMesh = void 0;
5
4
  const MemoizedString_1 = require("./Memoized/MemoizedString");
6
5
  const ObservableEntity_1 = require("./ObservableEntity");
7
- var Color;
8
- (function (Color) {
9
- Color["GREEN"] = "Green";
10
- Color["PINK"] = "Pink";
11
- Color["YELLOW"] = "Yellow";
12
- Color["RED"] = "Red";
13
- Color["BLUE"] = "Blue";
14
- Color["WHITE"] = "White";
15
- Color["PURPLE"] = "Purple";
16
- Color["BLACK"] = "Black";
17
- Color["ORANGE"] = "Orange";
18
- })(Color = exports.Color || (exports.Color = {}));
19
6
  class SceneModelMesh extends ObservableEntity_1.ObservableEntity {
20
7
  }
21
8
  exports.SceneModelMesh = SceneModelMesh;
@@ -26,12 +13,8 @@ exports.makeSceneModelMesh = makeSceneModelMesh;
26
13
  class SceneModelMeshImp extends SceneModelMesh {
27
14
  constructor(id) {
28
15
  super();
29
- this._overlayColor = undefined;
30
- this.stick = (durationMS, easeFn, onStickComplete) => {
31
- this.moveTo(ValueObjects_1.Vector3.Zero(), durationMS, easeFn, onStickComplete);
32
- };
33
- this._label = new MemoizedString_1.MemoizedString("", this.notify);
34
16
  this._meshPaths = [];
17
+ this.memoizedLabel = new MemoizedString_1.MemoizedString("", this.notify);
35
18
  this.addMeshPath = (path) => {
36
19
  if (this._meshPaths.includes(path))
37
20
  return;
@@ -63,89 +46,6 @@ class SceneModelMeshImp extends SceneModelMesh {
63
46
  };
64
47
  this.id = id;
65
48
  }
66
- get sceneObject() {
67
- return this._sceneObject;
68
- }
69
- set sceneObject(so) {
70
- if (this._sceneObject) {
71
- this._sceneObject.removeObserver(this.notify);
72
- }
73
- this._sceneObject = so;
74
- if (this._sceneObject) {
75
- this._sceneObject.addObserver(this.notify);
76
- }
77
- }
78
- get position() {
79
- if (!this._sceneObject) {
80
- console.warn("Scene Mesh doea not have a scene object");
81
- return ValueObjects_1.Vector3.Zero();
82
- }
83
- else {
84
- return this._sceneObject.transform.localPosition;
85
- }
86
- }
87
- set position(p) {
88
- if (!this._sceneObject) {
89
- console.warn("Scene Mesh doea not have a scene object");
90
- return;
91
- }
92
- this._sceneObject.transform.localPosition = p;
93
- }
94
- get overlayColor() {
95
- return this._overlayColor;
96
- }
97
- set overlayColor(overlayColor) {
98
- if (this._overlayColor !== overlayColor) {
99
- this._overlayColor = overlayColor;
100
- this.notify();
101
- }
102
- }
103
- get canBeStuck() {
104
- if (!this._sceneObject) {
105
- console.warn("Scene Mesh doea not have a scene object");
106
- return false;
107
- }
108
- if (ValueObjects_1.Vector3.Equal(this._sceneObject.transform.localPosition, ValueObjects_1.Vector3.Zero())) {
109
- return false;
110
- }
111
- else {
112
- return true;
113
- }
114
- }
115
- moveTo(position, durationMS, easeFn, onMoveComplete) {
116
- if (!this._sceneObject) {
117
- console.warn("Scene Mesh doea not have a scene object");
118
- return;
119
- }
120
- if (ValueObjects_1.Vector3.Equal(position, this.position)) {
121
- if (onMoveComplete)
122
- onMoveComplete();
123
- return;
124
- }
125
- this._sceneObject.transform.lerp(durationMS, easeFn, position, undefined, undefined, onMoveComplete);
126
- }
127
- get shown() {
128
- if (!this._sceneObject) {
129
- console.warn("Scene Mesh doea not have a scene object");
130
- return false;
131
- }
132
- else {
133
- return this._sceneObject.shown;
134
- }
135
- }
136
- set shown(s) {
137
- if (!this._sceneObject) {
138
- console.warn("Scene Mesh doea not have a scene object");
139
- return;
140
- }
141
- this._sceneObject.shown = s;
142
- }
143
- get label() {
144
- return this._label.val;
145
- }
146
- set label(label) {
147
- this._label.val = label;
148
- }
149
49
  get meshPaths() {
150
50
  return [...this._meshPaths];
151
51
  }
@@ -166,17 +66,10 @@ class SceneModelMeshImp extends SceneModelMesh {
166
66
  this._meshPaths = paths;
167
67
  this.notify();
168
68
  }
169
- getState() {
170
- if (ValueObjects_1.Vector3.Equal(this.position, ValueObjects_1.Vector3.Zero()) && this.shown) {
171
- return null;
172
- }
173
- else {
174
- return {
175
- id: this.id,
176
- position: this.position.dto,
177
- shown: this.shown,
178
- overlayColor: this.overlayColor,
179
- };
180
- }
69
+ get label() {
70
+ return this.memoizedLabel.val;
71
+ }
72
+ set label(val) {
73
+ this.memoizedLabel.val = val;
181
74
  }
182
75
  }
@@ -0,0 +1,68 @@
1
+ export interface ChannelModelDataMeshDTOv1 {
2
+ version: number;
3
+ id: string;
4
+ meshPaths: string[];
5
+ label: string;
6
+ }
7
+ export interface ChannelModelDataMeshDTOv0 {
8
+ id: string;
9
+ meshPaths: string[];
10
+ label: string;
11
+ }
12
+ export declare type ChannelModelDTO = ChannelModelDTOv0 | ChannelModelDTOv1;
13
+ export interface ChannelModelDTOv0 {
14
+ version: number;
15
+ objects: ChannelModelDataMeshDTOv0[];
16
+ name: string;
17
+ description: string;
18
+ bounds_min: {
19
+ x: number;
20
+ y: number;
21
+ z: number;
22
+ };
23
+ bounds_max: {
24
+ x: number;
25
+ y: number;
26
+ z: number;
27
+ };
28
+ defaultPosition: {
29
+ x: number;
30
+ y: number;
31
+ z: number;
32
+ };
33
+ defaultRotation: {
34
+ x: number;
35
+ y: number;
36
+ z: number;
37
+ w: number;
38
+ };
39
+ defaultScale: number;
40
+ }
41
+ export interface ChannelModelDTOv1 {
42
+ version: number;
43
+ objects: ChannelModelDataMeshDTOv1[];
44
+ name: string;
45
+ bounds_min: {
46
+ x: number;
47
+ y: number;
48
+ z: number;
49
+ };
50
+ bounds_max: {
51
+ x: number;
52
+ y: number;
53
+ z: number;
54
+ };
55
+ defaultPosition: {
56
+ x: number;
57
+ y: number;
58
+ z: number;
59
+ };
60
+ defaultRotation: {
61
+ x: number;
62
+ y: number;
63
+ z: number;
64
+ w: number;
65
+ };
66
+ defaultScale: number;
67
+ }
68
+ export declare function convertChannelModelDataV0toV1(v0: ChannelModelDTOv0): ChannelModelDTOv1;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertChannelModelDataV0toV1 = void 0;
4
+ function convertChannelModelDataV0toV1(v0) {
5
+ const { objects, name, bounds_max, bounds_min, defaultPosition, defaultRotation, defaultScale } = v0;
6
+ const objectsV2 = objects.map(obj => {
7
+ const { id, label, meshPaths } = obj;
8
+ return {
9
+ version: 1,
10
+ id, label, meshPaths
11
+ };
12
+ });
13
+ return {
14
+ version: 1,
15
+ objects: objectsV2,
16
+ name,
17
+ bounds_max,
18
+ bounds_min, defaultPosition, defaultRotation, defaultScale
19
+ };
20
+ }
21
+ exports.convertChannelModelDataV0toV1 = convertChannelModelDataV0toV1;
@@ -0,0 +1 @@
1
+ export declare type EaseFn = (p: number) => number;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from "./EaseFn";
2
+ export * from "./ChannelModelData";
@@ -10,4 +10,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./PeelSceneObjectBase"), exports);
13
+ __exportStar(require("./EaseFn"), exports);
14
+ __exportStar(require("./ChannelModelData"), exports);
@@ -1,5 +1,2 @@
1
1
  export * from "./modelDataLoader";
2
2
  export * from "./loadNewModel";
3
- export * from "./SerializeActiveModel";
4
- export * from "./SetMeshesEnabledHook";
5
- export * from "./SetSceneModelMeshOverlayColor";
@@ -12,6 +12,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./modelDataLoader"), exports);
14
14
  __exportStar(require("./loadNewModel"), exports);
15
- __exportStar(require("./SerializeActiveModel"), exports);
16
- __exportStar(require("./SetMeshesEnabledHook"), exports);
17
- __exportStar(require("./SetSceneModelMeshOverlayColor"), exports);
@@ -1,2 +1,2 @@
1
- import { AppDispatcher, SceneModel, SceneModelMeshStateDTO, SceneModelRepo, SceneObjectsRepo, SceneRoot } from "../../Entities";
2
- export declare function makeLoadNewModel(sceneModelRepo: SceneModelRepo, sceneObjectRepo: SceneObjectsRepo, sceneRoot: SceneRoot, appDispatcher: AppDispatcher): (modelID: string, initialStateLookup: Map<string, SceneModelMeshStateDTO>) => Promise<SceneModel>;
1
+ import { AppDispatcher, SceneModel, SceneModelRepo, SceneObjectsRepo, SceneRoot } from "../../Entities";
2
+ export declare function makeLoadNewModel(sceneModelRepo: SceneModelRepo, sceneObjectRepo: SceneObjectsRepo, sceneRoot: SceneRoot, appDispatcher: AppDispatcher): (modelID: string) => Promise<SceneModel>;
@@ -11,9 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.makeLoadNewModel = void 0;
13
13
  const Entities_1 = require("../../Entities");
14
- const ValueObjects_1 = require("../../ValueObjects");
15
14
  function makeLoadNewModel(sceneModelRepo, sceneObjectRepo, sceneRoot, appDispatcher) {
16
- return function loadNewModel(modelID, initialStateLookup) {
15
+ return function loadNewModel(modelID) {
17
16
  return __awaiter(this, void 0, void 0, function* () {
18
17
  let sceneModel = sceneModelRepo.get(modelID);
19
18
  if (sceneModel === undefined) {
@@ -39,21 +38,20 @@ function makeLoadNewModel(sceneModelRepo, sceneObjectRepo, sceneRoot, appDispatc
39
38
  const dataDTO = yield sceneModelRepo.dataLoader(modelID);
40
39
  sceneModel.applyData(dataDTO);
41
40
  sceneModel.getAllMeshes().forEach((meshObject) => {
42
- var _a;
43
- let so = sceneObjectRepo.get(meshObject.id);
44
- if (!so) {
45
- so = Entities_1.makeSceneObject(meshObject.id);
46
- sceneObjectRepo.add(meshObject.id, so);
47
- }
48
- so.transform.parent = (_a = sceneRoot.sceneObject) === null || _a === void 0 ? void 0 : _a.transform;
49
- meshObject.sceneObject = so;
50
- const initialState = initialStateLookup.get(meshObject.id);
51
- meshObject.position = initialState
52
- ? ValueObjects_1.Vector3.FromDTO(initialState.position)
53
- : ValueObjects_1.Vector3.Zero();
54
- meshObject.shown = initialState ? initialState.shown : true;
55
- so.transform.localRotation = ValueObjects_1.Quaternion.Identity();
56
- so.transform.localScale = ValueObjects_1.Vector3.One();
41
+ // let so = sceneObjectRepo.get(meshObject.id);
42
+ // if (!so) {
43
+ // so = makeSceneObject(meshObject.id);
44
+ // sceneObjectRepo.add(meshObject.id, so);
45
+ // }
46
+ // so.transform.parent = sceneRoot.sceneObject?.transform;
47
+ // meshObject.sceneObject = so;
48
+ // const initialState = initialStateLookup.get(meshObject.id);
49
+ // meshObject.position = initialState
50
+ // ? Vector3.FromDTO(initialState.position)
51
+ // : Vector3.Zero();
52
+ // meshObject.shown = initialState ? initialState.shown : true;
53
+ // so.transform.localRotation = Quaternion.Identity();
54
+ // so.transform.localScale = Vector3.One();
57
55
  });
58
56
  yield sceneModelRepo.modelLoader(modelID);
59
57
  sceneModel.state = Entities_1.SceneModelState.READY;
@@ -2,8 +2,8 @@ export * from "./setDevicePreview";
2
2
  export * from "./Handlers";
3
3
  export * from "./QuestionChallenge";
4
4
  export * from "./SceneModel";
5
- export * from "./SceneObjects";
6
5
  export * from "./LerpVector3";
7
6
  export * from "./SceneRoot";
8
7
  export * from "./HoverLabels/trySetHoverLabel";
9
8
  export * from "./HoverLabels/SerializeAllowHoverLabel";
9
+ export * from "./setupStandardAppObjects";
@@ -14,8 +14,8 @@ __exportStar(require("./setDevicePreview"), exports);
14
14
  __exportStar(require("./Handlers"), exports);
15
15
  __exportStar(require("./QuestionChallenge"), exports);
16
16
  __exportStar(require("./SceneModel"), exports);
17
- __exportStar(require("./SceneObjects"), exports);
18
17
  __exportStar(require("./LerpVector3"), exports);
19
18
  __exportStar(require("./SceneRoot"), exports);
20
19
  __exportStar(require("./HoverLabels/trySetHoverLabel"), exports);
21
20
  __exportStar(require("./HoverLabels/SerializeAllowHoverLabel"), exports);
21
+ __exportStar(require("./setupStandardAppObjects"), exports);
@@ -0,0 +1,2 @@
1
+ import { AppObject, AppObjectRepo } from "../AppObject";
2
+ export declare function setupStandardAppObjects(appObjects: AppObjectRepo): AppObject;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupStandardAppObjects = void 0;
4
+ const ChannelModel_1 = require("../AppObjectComponents/ChannelModel");
5
+ function setupStandardAppObjects(appObjects) {
6
+ const appObj = appObjects.getOrCreate("StandardAppObjects");
7
+ ChannelModel_1.ChannelModelRepo.addToAO(appObj);
8
+ return appObj;
9
+ }
10
+ exports.setupStandardAppObjects = setupStandardAppObjects;
@@ -54,6 +54,7 @@ export declare class Quaternion {
54
54
  * @returns The resulting Quaterion
55
55
  */
56
56
  static FromAngleAxis(axis: Vector3, angle: Angle): Quaternion;
57
+ static FromDirectionVector(direction: Vector3): Quaternion;
57
58
  /**
58
59
  * Froms up a Quaternion from the Yaw-Pitch-Roll (Tait-Bryan) convetion
59
60
  * @param yaw defines the rotation around the y axis
@@ -4,7 +4,6 @@ exports.Quaternion = void 0;
4
4
  const Angle_1 = require("./Angle");
5
5
  const Matrix_1 = require("./Matrix");
6
6
  const Vector3_1 = require("./Vector3");
7
- ;
8
7
  class Quaternion {
9
8
  constructor(x, y, z, w) {
10
9
  this.x = x;
@@ -100,6 +99,27 @@ class Quaternion {
100
99
  const z = axisUnit.z * sin;
101
100
  return new Quaternion(x, y, z, w);
102
101
  }
102
+ static FromDirectionVector(direction) {
103
+ if (direction.magnitued === 0) {
104
+ return Quaternion.Identity();
105
+ }
106
+ const dirUnit = direction.unit;
107
+ if (dirUnit.x === 0 && dirUnit.z === 0) {
108
+ if (dirUnit.y > 0) {
109
+ return Quaternion.FromYawPitchRoll(Angle_1.Angle.FromDegrees(0), Angle_1.Angle.FromDegrees(-90), Angle_1.Angle.FromDegrees(0));
110
+ }
111
+ else {
112
+ return Quaternion.FromYawPitchRoll(Angle_1.Angle.FromDegrees(0), Angle_1.Angle.FromDegrees(90), Angle_1.Angle.FromDegrees(0));
113
+ }
114
+ }
115
+ const yawRadians = -Math.atan2(dirUnit.z, dirUnit.x) + Math.PI / 2;
116
+ const len = Math.sqrt(dirUnit.x * dirUnit.x + dirUnit.z * dirUnit.z);
117
+ const pitchRadians = -Math.atan2(dirUnit.y, len);
118
+ const yaw = Angle_1.Angle.FromRadians(yawRadians);
119
+ const pitch = Angle_1.Angle.FromRadians(pitchRadians);
120
+ const roll = Angle_1.Angle.FromRadians(0);
121
+ return Quaternion.FromYawPitchRoll(yaw, pitch, roll);
122
+ }
103
123
  /**
104
124
  * Froms up a Quaternion from the Yaw-Pitch-Roll (Tait-Bryan) convetion
105
125
  * @param yaw defines the rotation around the y axis
package/lib/index.d.ts CHANGED
@@ -7,3 +7,6 @@ export { AppEntities };
7
7
  import * as AppValueObjects from "./ValueObjects";
8
8
  export { AppValueObjects };
9
9
  export * from "./Utilities";
10
+ import * as AOComponents from "./AppObjectComponents";
11
+ export { AOComponents };
12
+ export * from "./AppObject";
package/lib/index.js CHANGED
@@ -10,7 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.AppValueObjects = exports.AppEntities = exports.AppUCs = exports.AppPMs = void 0;
13
+ exports.AOComponents = exports.AppValueObjects = exports.AppEntities = exports.AppUCs = exports.AppPMs = void 0;
14
14
  const AppPMs = require("./PresentationManagers");
15
15
  exports.AppPMs = AppPMs;
16
16
  const AppUCs = require("./UseCases");
@@ -20,3 +20,6 @@ exports.AppEntities = AppEntities;
20
20
  const AppValueObjects = require("./ValueObjects");
21
21
  exports.AppValueObjects = AppValueObjects;
22
22
  __exportStar(require("./Utilities"), exports);
23
+ const AOComponents = require("./AppObjectComponents");
24
+ exports.AOComponents = AOComponents;
25
+ __exportStar(require("./AppObject"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vived/app",
3
- "version": "2.51.0",
3
+ "version": "3.0.1",
4
4
  "description": "Public package for the VIVED Learning App system",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -1,8 +0,0 @@
1
- export declare class MemoizedBoolean {
2
- private _val;
3
- get val(): boolean;
4
- set val(b: boolean);
5
- setValQuietly(val: boolean): void;
6
- private onChangeCallback;
7
- constructor(initialValue: boolean, onChangeCallback: () => void);
8
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoizedBoolean = void 0;
4
- class MemoizedBoolean {
5
- constructor(initialValue, onChangeCallback) {
6
- this._val = initialValue;
7
- this.onChangeCallback = onChangeCallback;
8
- }
9
- get val() {
10
- return this._val;
11
- }
12
- set val(b) {
13
- if (this._val === b)
14
- return;
15
- this._val = b;
16
- this.onChangeCallback();
17
- }
18
- setValQuietly(val) {
19
- this._val = val;
20
- }
21
- }
22
- exports.MemoizedBoolean = MemoizedBoolean;
@@ -1,9 +0,0 @@
1
- import { Color } from "../ValueObjects";
2
- export declare class MemoizedColor {
3
- private _val;
4
- get val(): Color;
5
- set val(v: Color);
6
- setValQuietly(val: Color): void;
7
- private onChangeCallback;
8
- constructor(initialValue: Color, onChangeCallback: () => void);
9
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoizedColor = void 0;
4
- const ValueObjects_1 = require("../ValueObjects");
5
- class MemoizedColor {
6
- constructor(initialValue, onChangeCallback) {
7
- this._val = initialValue;
8
- this.onChangeCallback = onChangeCallback;
9
- }
10
- get val() {
11
- return this._val;
12
- }
13
- set val(v) {
14
- if (ValueObjects_1.Color.Equal(v, this._val))
15
- return;
16
- this._val = v;
17
- this.onChangeCallback();
18
- }
19
- setValQuietly(val) {
20
- this._val = val;
21
- }
22
- }
23
- exports.MemoizedColor = MemoizedColor;
@@ -1,8 +0,0 @@
1
- export declare class MemoizedNumber {
2
- private _val;
3
- get val(): number;
4
- set val(b: number);
5
- setValQuietly(val: number): void;
6
- private onChangeCallback;
7
- constructor(initialValue: number, onChangeCallback: () => void);
8
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoizedNumber = void 0;
4
- class MemoizedNumber {
5
- constructor(initialValue, onChangeCallback) {
6
- this._val = initialValue;
7
- this.onChangeCallback = onChangeCallback;
8
- }
9
- get val() {
10
- return this._val;
11
- }
12
- set val(b) {
13
- if (this._val === b)
14
- return;
15
- this._val = b;
16
- this.onChangeCallback();
17
- }
18
- setValQuietly(val) {
19
- this._val = val;
20
- }
21
- }
22
- exports.MemoizedNumber = MemoizedNumber;
@@ -1,9 +0,0 @@
1
- import { Quaternion } from "../ValueObjects";
2
- export declare class MemoizedQuaternion {
3
- private _val;
4
- get val(): Quaternion;
5
- set val(v: Quaternion);
6
- setValQuietly(val: Quaternion): void;
7
- private onChangeCallback;
8
- constructor(initialValue: Quaternion, onChangeCallback: () => void);
9
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoizedQuaternion = void 0;
4
- const ValueObjects_1 = require("../ValueObjects");
5
- class MemoizedQuaternion {
6
- constructor(initialValue, onChangeCallback) {
7
- this._val = initialValue;
8
- this.onChangeCallback = onChangeCallback;
9
- }
10
- get val() {
11
- return this._val;
12
- }
13
- set val(v) {
14
- if (ValueObjects_1.Quaternion.Equal(v, this._val))
15
- return;
16
- this._val = v;
17
- this.onChangeCallback();
18
- }
19
- setValQuietly(val) {
20
- this._val = val;
21
- }
22
- }
23
- exports.MemoizedQuaternion = MemoizedQuaternion;
@@ -1,8 +0,0 @@
1
- export declare class MemoizedString {
2
- private _val;
3
- get val(): string;
4
- set val(b: string);
5
- setValQuietly(val: string): void;
6
- private onChangeCallback;
7
- constructor(initialValue: string, onChangeCallback: () => void);
8
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoizedString = void 0;
4
- class MemoizedString {
5
- constructor(initialValue, onChangeCallback) {
6
- this._val = initialValue;
7
- this.onChangeCallback = onChangeCallback;
8
- }
9
- get val() {
10
- return this._val;
11
- }
12
- set val(b) {
13
- if (this._val === b)
14
- return;
15
- this._val = b;
16
- this.onChangeCallback();
17
- }
18
- setValQuietly(val) {
19
- this._val = val;
20
- }
21
- }
22
- exports.MemoizedString = MemoizedString;
@@ -1,9 +0,0 @@
1
- import { Vector2 } from "../ValueObjects";
2
- export declare class MemoizedVector2 {
3
- private _val;
4
- get val(): Vector2;
5
- set val(v: Vector2);
6
- setValQuietly(val: Vector2): void;
7
- private onChangeCallback;
8
- constructor(initialValue: Vector2, onChangeCallback: () => void);
9
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoizedVector2 = void 0;
4
- const ValueObjects_1 = require("../ValueObjects");
5
- class MemoizedVector2 {
6
- constructor(initialValue, onChangeCallback) {
7
- this._val = initialValue;
8
- this.onChangeCallback = onChangeCallback;
9
- }
10
- get val() {
11
- return this._val;
12
- }
13
- set val(v) {
14
- if (ValueObjects_1.Vector2.Equal(v, this._val))
15
- return;
16
- this._val = v;
17
- this.onChangeCallback();
18
- }
19
- setValQuietly(val) {
20
- this._val = val;
21
- }
22
- }
23
- exports.MemoizedVector2 = MemoizedVector2;
@@ -1,9 +0,0 @@
1
- import { Vector3 } from "../ValueObjects/Vector3";
2
- export declare class MemoizedVector3 {
3
- private _val;
4
- get val(): Vector3;
5
- set val(v: Vector3);
6
- setValQuietly(val: Vector3): void;
7
- private onChangeCallback;
8
- constructor(initialValue: Vector3, onChangeCallback: () => void);
9
- }