@vived/app 2.30.0 → 2.32.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/lib/Entities/AppDispatcher.d.ts +21 -0
- package/lib/Entities/AppDispatcher.js +61 -0
- package/lib/Entities/Babylon.d.ts +7 -18
- package/lib/Entities/Babylon.js +48 -52
- package/lib/Entities/BaseApp.d.ts +6 -4
- package/lib/Entities/BaseApp.js +12 -9
- package/lib/Entities/MessageSystem.d.ts +1 -7
- package/lib/Entities/MessageSystem.js +6 -11
- package/lib/PresentationManagers/IsAuthoringPM.d.ts +3 -3
- package/lib/PresentationManagers/IsAuthoringPM.js +5 -7
- package/lib/PresentationManagers/IsRenderingPM.d.ts +9 -0
- package/lib/PresentationManagers/IsRenderingPM.js +20 -0
- package/lib/UseCases/Handlers/SetZSpaceEnabledBase.d.ts +10 -0
- package/lib/UseCases/Handlers/SetZSpaceEnabledBase.js +32 -0
- package/lib/UseCases/Handlers/StartZSpaceBase.d.ts +10 -0
- package/lib/UseCases/Handlers/StartZSpaceBase.js +32 -0
- package/lib/UseCases/Handlers/StopZSpaceBase.d.ts +8 -0
- package/lib/UseCases/Handlers/StopZSpaceBase.js +24 -0
- package/lib/UseCases/Handlers/index.d.ts +2 -0
- package/lib/UseCases/Handlers/index.js +2 -0
- package/lib/UseCases/HoverLabels/trySetHoverLabel.js +3 -2
- package/package.json +1 -1
|
@@ -4,11 +4,29 @@ export interface AssetMetaDTO {
|
|
|
4
4
|
name: string;
|
|
5
5
|
description: string;
|
|
6
6
|
}
|
|
7
|
+
export interface ShowAlertDTO {
|
|
8
|
+
title: string;
|
|
9
|
+
message: string;
|
|
10
|
+
closeButtonLabel: string;
|
|
11
|
+
closeCallback: () => void;
|
|
12
|
+
}
|
|
13
|
+
export interface ShowConfirmDTO {
|
|
14
|
+
title: string;
|
|
15
|
+
message: string;
|
|
16
|
+
confirmButtonLabel: string;
|
|
17
|
+
cancelButtonLabel: string;
|
|
18
|
+
confirmCallback: () => void;
|
|
19
|
+
cancelCallback: () => void;
|
|
20
|
+
}
|
|
7
21
|
export declare abstract class AppDispatcher {
|
|
8
22
|
abstract registerHostHandler: (hostHandler: Handler) => void;
|
|
9
23
|
abstract dispatch: (request: Request) => void;
|
|
10
24
|
abstract stateHasChanged: (state: object, validationErrorMessage?: string) => void;
|
|
11
25
|
abstract stateIsCompleted: () => void;
|
|
26
|
+
abstract goToPreviousState: () => void;
|
|
27
|
+
abstract goToNextState: () => void;
|
|
28
|
+
abstract hasPreviousState: () => Promise<boolean>;
|
|
29
|
+
abstract hasNextState: () => Promise<boolean>;
|
|
12
30
|
abstract getAppAssetsURL: () => Promise<string>;
|
|
13
31
|
abstract registerExternalStylesheets: (stylesheets: string[]) => void;
|
|
14
32
|
abstract appIsReady: () => void;
|
|
@@ -24,5 +42,8 @@ export declare abstract class AppDispatcher {
|
|
|
24
42
|
abstract getAssetMeta: (assetID: string) => Promise<AssetMetaDTO>;
|
|
25
43
|
abstract getAssetsForOwner: (ownerID: string) => Promise<AssetMetaDTO[]>;
|
|
26
44
|
abstract submitNewActivityAsset: (file: File) => Promise<string>;
|
|
45
|
+
abstract stopZSpace: () => void;
|
|
46
|
+
abstract showAlert: (data: ShowAlertDTO) => void;
|
|
47
|
+
abstract showConfirm: (data: ShowConfirmDTO) => void;
|
|
27
48
|
}
|
|
28
49
|
export declare function makeAppDispatcher(): AppDispatcher;
|
|
@@ -228,6 +228,67 @@ class AppDistpatcherImp extends AppDispatcher {
|
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
230
|
};
|
|
231
|
+
this.goToPreviousState = () => {
|
|
232
|
+
this.formRequestAndDispatch("GO_TO_PREVIOUS_STATE", 1);
|
|
233
|
+
};
|
|
234
|
+
this.goToNextState = () => {
|
|
235
|
+
this.formRequestAndDispatch("GO_TO_NEXT_STATE", 1);
|
|
236
|
+
};
|
|
237
|
+
this.stopZSpace = () => {
|
|
238
|
+
this.formRequestAndDispatch("STOP_ZSPACE", 1);
|
|
239
|
+
};
|
|
240
|
+
this.hasNextState = () => {
|
|
241
|
+
return new Promise((resolve, reject) => {
|
|
242
|
+
const callback = (hasNextState) => {
|
|
243
|
+
resolve(hasNextState);
|
|
244
|
+
};
|
|
245
|
+
const payload = {
|
|
246
|
+
callback,
|
|
247
|
+
};
|
|
248
|
+
if (!this.hostHandler) {
|
|
249
|
+
reject(new Error("No host handler has been registered"));
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
this.formRequestAndDispatch("HAS_NEXT_STATE", 1, payload);
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
};
|
|
256
|
+
this.hasPreviousState = () => {
|
|
257
|
+
return new Promise((resolve, reject) => {
|
|
258
|
+
const callback = (hasPreviousState) => {
|
|
259
|
+
resolve(hasPreviousState);
|
|
260
|
+
};
|
|
261
|
+
const payload = {
|
|
262
|
+
callback,
|
|
263
|
+
};
|
|
264
|
+
if (!this.hostHandler) {
|
|
265
|
+
reject(new Error("No host handler has been registered"));
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
this.formRequestAndDispatch("HAS_PREVIOUS_STATE", 1, payload);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
};
|
|
272
|
+
this.showAlert = (data) => {
|
|
273
|
+
const payload = {
|
|
274
|
+
title: data.title,
|
|
275
|
+
message: data.message,
|
|
276
|
+
closeButtonLabel: data.closeButtonLabel,
|
|
277
|
+
closeCallback: data.closeCallback,
|
|
278
|
+
};
|
|
279
|
+
this.formRequestAndDispatch("SHOW_ALERT", 1, payload);
|
|
280
|
+
};
|
|
281
|
+
this.showConfirm = (data) => {
|
|
282
|
+
const payload = {
|
|
283
|
+
title: data.title,
|
|
284
|
+
message: data.message,
|
|
285
|
+
confirmCallback: data.confirmCallback,
|
|
286
|
+
cancelButtonLabel: data.cancelButtonLabel,
|
|
287
|
+
cancelCallback: data.cancelCallback,
|
|
288
|
+
confirmButtonLabel: data.confirmButtonLabel,
|
|
289
|
+
};
|
|
290
|
+
this.formRequestAndDispatch("SHOW_CONFIRM", 1, payload);
|
|
291
|
+
};
|
|
231
292
|
}
|
|
232
293
|
formRequestAndDispatch(type, version, payload) {
|
|
233
294
|
const request = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ParametricLine,
|
|
1
|
+
import { ParametricLine, Vector2, Vector3 } from "../ValueObjects";
|
|
2
2
|
export declare type OnBabylonChange = () => void;
|
|
3
3
|
export interface ScenePick {
|
|
4
4
|
mouseRay: ParametricLine;
|
|
@@ -6,17 +6,18 @@ export interface ScenePick {
|
|
|
6
6
|
worldPickPoint?: Vector3;
|
|
7
7
|
objectPickMeta?: object;
|
|
8
8
|
}
|
|
9
|
-
export declare type ScenePicker = (pixelPos: Vector2) => ScenePick;
|
|
10
|
-
export declare type SceneRayer = (pixelPos: Vector2) => ParametricLine;
|
|
11
9
|
export interface Babylon {
|
|
12
10
|
engine: unknown;
|
|
13
11
|
scene: unknown;
|
|
14
12
|
workingCanvas?: HTMLCanvasElement;
|
|
15
13
|
showInspector: boolean;
|
|
16
14
|
renderCanvas?: HTMLCanvasElement;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
isRendering: boolean;
|
|
16
|
+
pixelToSceneRay: (pixelPos: Vector2) => ParametricLine;
|
|
17
|
+
sceneRayPick: (ray: ParametricLine) => ScenePick | undefined;
|
|
18
|
+
scenePixelPick: (pixelPos: Vector2) => ScenePick | undefined;
|
|
19
|
+
sceneObjectRayPick: (ray: ParametricLine) => string | undefined;
|
|
20
|
+
sceneObjectPixelPick: (pixelPos: Vector2) => string | undefined;
|
|
20
21
|
makeSceneObjectMeta: (id: string) => object;
|
|
21
22
|
updateCanvasSize: () => void;
|
|
22
23
|
submitRenderCanvas: (canvas: HTMLCanvasElement) => void;
|
|
@@ -24,19 +25,7 @@ export interface Babylon {
|
|
|
24
25
|
registerResizeEnging: (resizeEngine: () => void) => void;
|
|
25
26
|
registerStartRendering: (startRendering: (canvas: HTMLCanvasElement) => void) => void;
|
|
26
27
|
registerStopRendering: (stopRendering: (canvas: HTMLCanvasElement) => void) => void;
|
|
27
|
-
registerScenePicker: (picker: ScenePicker) => void;
|
|
28
|
-
registerSceneRayer: (rayer: SceneRayer) => void;
|
|
29
28
|
addObserver: (observer: OnBabylonChange) => void;
|
|
30
29
|
removeObserver: (observer: OnBabylonChange) => void;
|
|
31
30
|
}
|
|
32
31
|
export declare function makeBabylon(): Babylon;
|
|
33
|
-
export declare class SceneObjectPickErrorNoPicker extends Error {
|
|
34
|
-
constructor();
|
|
35
|
-
}
|
|
36
|
-
export declare class SceneObjectPickErrorNoPick extends Error {
|
|
37
|
-
constructor();
|
|
38
|
-
}
|
|
39
|
-
export declare class SceneObjectPickErrorNoID extends Error {
|
|
40
|
-
constructor();
|
|
41
|
-
}
|
|
42
|
-
export declare type SceneObjectPickErrors = SceneObjectPickErrorNoPicker | SceneObjectPickErrorNoPick | SceneObjectPickErrorNoID;
|
package/lib/Entities/Babylon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.makeBabylon = void 0;
|
|
4
4
|
const ValueObjects_1 = require("../ValueObjects");
|
|
5
5
|
const MemoizedBoolean_1 = require("./MemoizedBoolean");
|
|
6
6
|
const MemoizedVector2_1 = require("./MemoizedVector2");
|
|
@@ -11,18 +11,6 @@ function makeBabylon() {
|
|
|
11
11
|
exports.makeBabylon = makeBabylon;
|
|
12
12
|
class BabylonImp {
|
|
13
13
|
constructor() {
|
|
14
|
-
this._scenePickerHasBeenSet = false;
|
|
15
|
-
this.scenePick = () => {
|
|
16
|
-
console.warn("orignal scene picker");
|
|
17
|
-
return {
|
|
18
|
-
mouseRay: ValueObjects_1.ParametricLine.Forward(),
|
|
19
|
-
hit: false,
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
this.sceneRay = () => {
|
|
23
|
-
console.warn("orignal scene ray");
|
|
24
|
-
return ValueObjects_1.ParametricLine.Forward();
|
|
25
|
-
};
|
|
26
14
|
this.observers = new ObserverList_1.ObserverList();
|
|
27
15
|
this.updateCanvasSize = () => {
|
|
28
16
|
if (!this.workingCanvas)
|
|
@@ -77,33 +65,56 @@ class BabylonImp {
|
|
|
77
65
|
this.removeObserver = (observer) => {
|
|
78
66
|
this.observers.remove(observer);
|
|
79
67
|
};
|
|
80
|
-
this.
|
|
81
|
-
|
|
82
|
-
|
|
68
|
+
this.makeSceneObjectMeta = (id) => {
|
|
69
|
+
return { sceneObjectID: id };
|
|
70
|
+
};
|
|
71
|
+
this.getSceneObjectIDFromMeta = (meta) => {
|
|
72
|
+
if (meta === null || meta === void 0 ? void 0 : meta.hasOwnProperty("sceneObjectID")) {
|
|
73
|
+
return meta.sceneObjectID;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
83
78
|
};
|
|
84
|
-
this.
|
|
85
|
-
|
|
79
|
+
this.memoizedIsRendering = new MemoizedBoolean_1.MemoizedBoolean(false, this.observers.notify);
|
|
80
|
+
this.sceneRayPick = (ray) => {
|
|
81
|
+
throw new Error("Scene ray pick has not been injected");
|
|
86
82
|
};
|
|
87
|
-
this.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
this.sceneObjectRayPick = (ray) => {
|
|
84
|
+
try {
|
|
85
|
+
const pick = this.sceneRayPick(ray);
|
|
86
|
+
if (pick === undefined)
|
|
87
|
+
return;
|
|
88
|
+
const sceneObjectId = this.getSceneObjectIDFromMeta(pick.objectPickMeta);
|
|
89
|
+
return sceneObjectId;
|
|
91
90
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return
|
|
91
|
+
catch (e) {
|
|
92
|
+
console.warn(e);
|
|
93
|
+
return;
|
|
95
94
|
}
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
};
|
|
96
|
+
this.sceneObjectPixelPick = (pixelPos) => {
|
|
97
|
+
try {
|
|
98
|
+
const ray = this.pixelToSceneRay(pixelPos);
|
|
99
|
+
return this.sceneObjectRayPick(ray);
|
|
98
100
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return
|
|
101
|
+
catch (e) {
|
|
102
|
+
console.warn(e);
|
|
103
|
+
return;
|
|
102
104
|
}
|
|
103
|
-
return ValueObjects_1.resolve(sceneObjectId);
|
|
104
105
|
};
|
|
105
|
-
this.
|
|
106
|
-
|
|
106
|
+
this.scenePixelPick = (pixelPos) => {
|
|
107
|
+
try {
|
|
108
|
+
const ray = this.pixelToSceneRay(pixelPos);
|
|
109
|
+
return this.sceneRayPick(ray);
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
console.warn(e);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
this.pixelToSceneRay = (pixelPos) => {
|
|
117
|
+
throw new Error("Pixel to scene ray has not been injected");
|
|
107
118
|
};
|
|
108
119
|
this.memoizedShowInspector = new MemoizedBoolean_1.MemoizedBoolean(false, this.observers.notify);
|
|
109
120
|
this.memoizedCanvasSize = new MemoizedVector2_1.MemoizedVector2(ValueObjects_1.Vector2.One(), this.observers.notify);
|
|
@@ -123,25 +134,10 @@ class BabylonImp {
|
|
|
123
134
|
set canvasSize(val) {
|
|
124
135
|
this.memoizedCanvasSize.val = val;
|
|
125
136
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
constructor() {
|
|
129
|
-
super();
|
|
130
|
-
this.message = "No picker has been registered";
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
exports.SceneObjectPickErrorNoPicker = SceneObjectPickErrorNoPicker;
|
|
134
|
-
class SceneObjectPickErrorNoPick extends Error {
|
|
135
|
-
constructor() {
|
|
136
|
-
super();
|
|
137
|
-
this.message = "Nothing was picked on";
|
|
137
|
+
get isRendering() {
|
|
138
|
+
return this.memoizedIsRendering.val;
|
|
138
139
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
class SceneObjectPickErrorNoID extends Error {
|
|
142
|
-
constructor() {
|
|
143
|
-
super();
|
|
144
|
-
this.message = "Picked object does not have a scene ID";
|
|
140
|
+
set isRendering(val) {
|
|
141
|
+
this.memoizedIsRendering.val = val;
|
|
145
142
|
}
|
|
146
143
|
}
|
|
147
|
-
exports.SceneObjectPickErrorNoID = SceneObjectPickErrorNoID;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
1
2
|
export declare type OnBaseAppChange = () => void;
|
|
2
|
-
export
|
|
3
|
-
isAuthoring: boolean;
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export declare abstract class BaseApp extends ObservableEntity {
|
|
4
|
+
abstract get isAuthoring(): boolean;
|
|
5
|
+
abstract set isAuthoring(val: boolean);
|
|
6
|
+
abstract startRendering: (container: HTMLElement) => void;
|
|
7
|
+
abstract stopRendering: () => void;
|
|
6
8
|
}
|
|
7
9
|
export declare function makeBaseApp(): BaseApp;
|
package/lib/Entities/BaseApp.js
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeBaseApp = void 0;
|
|
3
|
+
exports.makeBaseApp = exports.BaseApp = void 0;
|
|
4
4
|
const MemoizedBoolean_1 = require("./MemoizedBoolean");
|
|
5
|
-
const
|
|
5
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
6
|
+
class BaseApp extends ObservableEntity_1.ObservableEntity {
|
|
7
|
+
}
|
|
8
|
+
exports.BaseApp = BaseApp;
|
|
6
9
|
function makeBaseApp() {
|
|
7
10
|
return new BaseAppImp();
|
|
8
11
|
}
|
|
9
12
|
exports.makeBaseApp = makeBaseApp;
|
|
10
|
-
class BaseAppImp {
|
|
13
|
+
class BaseAppImp extends BaseApp {
|
|
11
14
|
constructor() {
|
|
12
|
-
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
-
this.observers.add(observer);
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.startRendering = (container) => {
|
|
17
|
+
throw new Error("[Base App] Start rendering function has not been injected");
|
|
16
18
|
};
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
+
this.stopRendering = () => {
|
|
20
|
+
throw new Error("[Base App] Stop rendering function has not been injected");
|
|
19
21
|
};
|
|
22
|
+
this.memoizedIsAuthoring = new MemoizedBoolean_1.MemoizedBoolean(false, this.notify);
|
|
20
23
|
}
|
|
21
24
|
get isAuthoring() {
|
|
22
25
|
return this.memoizedIsAuthoring.val;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import { Result } from "../ValueObjects";
|
|
2
1
|
export declare type MessageDataFile = {
|
|
3
2
|
[key: string]: string;
|
|
4
3
|
};
|
|
5
4
|
export interface MessageSystem {
|
|
6
5
|
setMessages: (messages: MessageDataFile) => void;
|
|
7
|
-
getMessage: (keyword: string) =>
|
|
8
|
-
}
|
|
9
|
-
export declare class MessageSystemImp implements MessageSystem {
|
|
10
|
-
private messages;
|
|
11
|
-
setMessages: (messages: MessageDataFile) => void;
|
|
12
|
-
getMessage: (keyword: string) => Result<string, Error>;
|
|
6
|
+
getMessage: (keyword: string, fallbackMessage?: string) => string | undefined;
|
|
13
7
|
}
|
|
14
8
|
export declare function makeMessageSystem(): MessageSystem;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeMessageSystem =
|
|
4
|
-
const ValueObjects_1 = require("../ValueObjects");
|
|
3
|
+
exports.makeMessageSystem = void 0;
|
|
5
4
|
class MessageSystemImp {
|
|
6
5
|
constructor() {
|
|
7
6
|
this.messages = new Map();
|
|
@@ -13,19 +12,15 @@ class MessageSystemImp {
|
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
};
|
|
16
|
-
this.getMessage = (keyword) => {
|
|
17
|
-
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const err = new Error("Message System cant find message from keyword: " + keyword);
|
|
23
|
-
return new ValueObjects_1.Rejected(err);
|
|
15
|
+
this.getMessage = (keyword, fallbackMessage) => {
|
|
16
|
+
let msg = this.messages.get(keyword);
|
|
17
|
+
if (msg === undefined) {
|
|
18
|
+
msg = fallbackMessage;
|
|
24
19
|
}
|
|
20
|
+
return msg;
|
|
25
21
|
};
|
|
26
22
|
}
|
|
27
23
|
}
|
|
28
|
-
exports.MessageSystemImp = MessageSystemImp;
|
|
29
24
|
function makeMessageSystem() {
|
|
30
25
|
return new MessageSystemImp();
|
|
31
26
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BaseApp } from "../Entities";
|
|
2
|
-
|
|
2
|
+
import { PresentionManager } from "./PresentationManager";
|
|
3
|
+
export declare class IsAuthoringPM extends PresentionManager {
|
|
3
4
|
private baseApp;
|
|
4
5
|
private updateView;
|
|
5
6
|
private lastSetState?;
|
|
6
|
-
|
|
7
|
-
dispose(): void;
|
|
7
|
+
doUpdateView: () => void;
|
|
8
8
|
constructor(baseApp: BaseApp, updateView: (isAuthoring: boolean) => void);
|
|
9
9
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IsAuthoringPM = void 0;
|
|
4
|
-
|
|
4
|
+
const PresentationManager_1 = require("./PresentationManager");
|
|
5
|
+
class IsAuthoringPM extends PresentationManager_1.PresentionManager {
|
|
5
6
|
constructor(baseApp, updateView) {
|
|
7
|
+
super(baseApp);
|
|
8
|
+
this.baseApp = baseApp;
|
|
9
|
+
this.updateView = updateView;
|
|
6
10
|
this.doUpdateView = () => {
|
|
7
11
|
const isAuthoring = this.baseApp.isAuthoring;
|
|
8
12
|
if (isAuthoring === this.lastSetState)
|
|
@@ -10,13 +14,7 @@ class IsAuthoringPM {
|
|
|
10
14
|
this.updateView(isAuthoring);
|
|
11
15
|
this.lastSetState = isAuthoring;
|
|
12
16
|
};
|
|
13
|
-
this.baseApp = baseApp;
|
|
14
|
-
this.updateView = updateView;
|
|
15
17
|
this.doUpdateView();
|
|
16
|
-
this.baseApp.addObserver(this.doUpdateView);
|
|
17
|
-
}
|
|
18
|
-
dispose() {
|
|
19
|
-
this.baseApp.removeObserver(this.doUpdateView);
|
|
20
18
|
}
|
|
21
19
|
}
|
|
22
20
|
exports.IsAuthoringPM = IsAuthoringPM;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseApp } from "../Entities";
|
|
2
|
+
import { PresentionManager } from "./PresentationManager";
|
|
3
|
+
export declare class IsRenderingPM extends PresentionManager {
|
|
4
|
+
private baseApp;
|
|
5
|
+
private updateView;
|
|
6
|
+
private lastSetState?;
|
|
7
|
+
doUpdateView: () => void;
|
|
8
|
+
constructor(baseApp: BaseApp, updateView: (isAuthoring: boolean) => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsRenderingPM = void 0;
|
|
4
|
+
const PresentationManager_1 = require("./PresentationManager");
|
|
5
|
+
class IsRenderingPM extends PresentationManager_1.PresentionManager {
|
|
6
|
+
constructor(baseApp, updateView) {
|
|
7
|
+
super(baseApp);
|
|
8
|
+
this.baseApp = baseApp;
|
|
9
|
+
this.updateView = updateView;
|
|
10
|
+
this.doUpdateView = () => {
|
|
11
|
+
const isRendering = this.baseApp.isRendering;
|
|
12
|
+
if (isRendering === this.lastSetState)
|
|
13
|
+
return;
|
|
14
|
+
this.updateView(isRendering);
|
|
15
|
+
this.lastSetState = isRendering;
|
|
16
|
+
};
|
|
17
|
+
this.doUpdateView();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.IsRenderingPM = IsRenderingPM;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppHandler, RequestHandler } from "../../Entities";
|
|
2
|
+
export declare type SetZSpaceEnabledAction = (isEnabled: boolean) => void;
|
|
3
|
+
export declare class SetZSpaceEnabledBase extends RequestHandler {
|
|
4
|
+
readonly requestType = "SET_ZSPACE_ENABLED";
|
|
5
|
+
readonly payloadVersion = 1;
|
|
6
|
+
action: SetZSpaceEnabledAction;
|
|
7
|
+
handleRequest: (version: number, payload: unknown) => void;
|
|
8
|
+
private castPayloadV1;
|
|
9
|
+
constructor(handler: AppHandler);
|
|
10
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SetZSpaceEnabledBase = void 0;
|
|
4
|
+
const Entities_1 = require("../../Entities");
|
|
5
|
+
class SetZSpaceEnabledBase extends Entities_1.RequestHandler {
|
|
6
|
+
constructor(handler) {
|
|
7
|
+
super();
|
|
8
|
+
this.requestType = "SET_ZSPACE_ENABLED";
|
|
9
|
+
this.payloadVersion = 1;
|
|
10
|
+
this.action = () => {
|
|
11
|
+
throw new Entities_1.ActionNotImplemented(this.requestType);
|
|
12
|
+
};
|
|
13
|
+
this.handleRequest = (version, payload) => {
|
|
14
|
+
if (version === this.payloadVersion) {
|
|
15
|
+
const { isEnabled } = this.castPayloadV1(payload);
|
|
16
|
+
this.action(isEnabled);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new Entities_1.UnsupportedRequestVerion(this.requestType, version);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
handler.registerRequestHandler(this);
|
|
23
|
+
}
|
|
24
|
+
castPayloadV1(payload) {
|
|
25
|
+
const castPayload = payload;
|
|
26
|
+
if (castPayload.isEnabled === undefined) {
|
|
27
|
+
throw new Entities_1.UnableToParsePayload(this.requestType, 1, JSON.stringify(payload));
|
|
28
|
+
}
|
|
29
|
+
return castPayload;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.SetZSpaceEnabledBase = SetZSpaceEnabledBase;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppHandler, RequestHandler } from "../../Entities";
|
|
2
|
+
export declare type StartZSpaceAction = (device: string, session: any) => void;
|
|
3
|
+
export declare class StartZSpaceBase extends RequestHandler {
|
|
4
|
+
readonly requestType = "START_ZSPACE";
|
|
5
|
+
readonly payloadVersion = 1;
|
|
6
|
+
action: StartZSpaceAction;
|
|
7
|
+
handleRequest: (version: number, payload: unknown) => void;
|
|
8
|
+
private castPayloadV1;
|
|
9
|
+
constructor(handler: AppHandler);
|
|
10
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StartZSpaceBase = void 0;
|
|
4
|
+
const Entities_1 = require("../../Entities");
|
|
5
|
+
class StartZSpaceBase extends Entities_1.RequestHandler {
|
|
6
|
+
constructor(handler) {
|
|
7
|
+
super();
|
|
8
|
+
this.requestType = "START_ZSPACE";
|
|
9
|
+
this.payloadVersion = 1;
|
|
10
|
+
this.action = () => {
|
|
11
|
+
throw new Entities_1.ActionNotImplemented(this.requestType);
|
|
12
|
+
};
|
|
13
|
+
this.handleRequest = (version, payload) => {
|
|
14
|
+
if (version === this.payloadVersion) {
|
|
15
|
+
const { device, session } = this.castPayloadV1(payload);
|
|
16
|
+
this.action(device, session);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new Entities_1.UnsupportedRequestVerion(this.requestType, version);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
handler.registerRequestHandler(this);
|
|
23
|
+
}
|
|
24
|
+
castPayloadV1(payload) {
|
|
25
|
+
const castPayload = payload;
|
|
26
|
+
if (castPayload.device === undefined || castPayload.session === undefined) {
|
|
27
|
+
throw new Entities_1.UnableToParsePayload(this.requestType, 1, JSON.stringify(payload));
|
|
28
|
+
}
|
|
29
|
+
return castPayload;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.StartZSpaceBase = StartZSpaceBase;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AppHandler, RequestHandler } from "../../Entities";
|
|
2
|
+
export declare class StopZSpaceBase extends RequestHandler {
|
|
3
|
+
readonly requestType = "STOP_ZSPACE";
|
|
4
|
+
readonly payloadVersion = 1;
|
|
5
|
+
action: () => void;
|
|
6
|
+
handleRequest: (version: number) => void;
|
|
7
|
+
constructor(handler: AppHandler);
|
|
8
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StopZSpaceBase = void 0;
|
|
4
|
+
const Entities_1 = require("../../Entities");
|
|
5
|
+
class StopZSpaceBase extends Entities_1.RequestHandler {
|
|
6
|
+
constructor(handler) {
|
|
7
|
+
super();
|
|
8
|
+
this.requestType = "STOP_ZSPACE";
|
|
9
|
+
this.payloadVersion = 1;
|
|
10
|
+
this.action = () => {
|
|
11
|
+
throw new Entities_1.ActionNotImplemented(this.requestType);
|
|
12
|
+
};
|
|
13
|
+
this.handleRequest = (version) => {
|
|
14
|
+
if (version === this.payloadVersion) {
|
|
15
|
+
this.action();
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
throw new Entities_1.UnsupportedRequestVerion(this.requestType, version);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
handler.registerRequestHandler(this);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.StopZSpaceBase = StopZSpaceBase;
|
|
@@ -2,6 +2,8 @@ export * from "./DisposeAppBase";
|
|
|
2
2
|
export * from "./SetAppStateBase";
|
|
3
3
|
export * from "./SetDevicePreviewBase";
|
|
4
4
|
export * from "./SetIsAuthoringBase";
|
|
5
|
+
export * from "./StartZSpaceBase";
|
|
5
6
|
export * from "./ShowBabylonInspectorBase";
|
|
6
7
|
export * from "./StartAppBase";
|
|
7
8
|
export * from "./StopAppBase";
|
|
9
|
+
export * from "./StopZSpaceBase";
|
|
@@ -14,6 +14,8 @@ __exportStar(require("./DisposeAppBase"), exports);
|
|
|
14
14
|
__exportStar(require("./SetAppStateBase"), exports);
|
|
15
15
|
__exportStar(require("./SetDevicePreviewBase"), exports);
|
|
16
16
|
__exportStar(require("./SetIsAuthoringBase"), exports);
|
|
17
|
+
__exportStar(require("./StartZSpaceBase"), exports);
|
|
17
18
|
__exportStar(require("./ShowBabylonInspectorBase"), exports);
|
|
18
19
|
__exportStar(require("./StartAppBase"), exports);
|
|
19
20
|
__exportStar(require("./StopAppBase"), exports);
|
|
21
|
+
__exportStar(require("./StopZSpaceBase"), exports);
|
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.makeTrySetHoverLabel = void 0;
|
|
4
4
|
function makeTrySetHoverLabel(hoverLabels, babylon) {
|
|
5
5
|
return function trySetHoverLabel(position) {
|
|
6
|
-
babylon.
|
|
6
|
+
const sceneObjectID = babylon.sceneObjectPixelPick(position);
|
|
7
|
+
if (sceneObjectID) {
|
|
7
8
|
hoverLabels.showLabelForSceneObject(sceneObjectID, position);
|
|
8
|
-
}
|
|
9
|
+
}
|
|
9
10
|
};
|
|
10
11
|
}
|
|
11
12
|
exports.makeTrySetHoverLabel = makeTrySetHoverLabel;
|