@vived/app 2.8.0 → 2.10.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 (49) hide show
  1. package/lib/Entities/Babylon.d.ts +14 -0
  2. package/lib/Entities/Babylon.js +18 -0
  3. package/lib/Entities/FocusCamera.d.ts +70 -0
  4. package/lib/Entities/FocusCamera.js +243 -0
  5. package/lib/Entities/MouseInput.d.ts +15 -0
  6. package/lib/Entities/MouseInput.js +116 -0
  7. package/lib/Entities/MouseSceneInput.d.ts +5 -14
  8. package/lib/Entities/MouseSceneInput.js +6 -24
  9. package/lib/Entities/OrbitCamera.d.ts +59 -0
  10. package/lib/Entities/OrbitCamera.js +173 -4
  11. package/lib/Entities/TouchInput.d.ts +20 -0
  12. package/lib/Entities/TouchInput.js +111 -0
  13. package/lib/Entities/index.d.ts +3 -2
  14. package/lib/Entities/index.js +3 -2
  15. package/lib/Interface/Controllers/makeAppHandler.d.ts +1 -1
  16. package/lib/Interface/Controllers/makeAppHandler.js +12 -10
  17. package/lib/PresentationManagers/FocusCameraPM.d.ts +14 -0
  18. package/lib/PresentationManagers/FocusCameraPM.js +31 -0
  19. package/lib/PresentationManagers/index.d.ts +1 -1
  20. package/lib/PresentationManagers/index.js +1 -1
  21. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +16 -0
  22. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +63 -0
  23. package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +36 -0
  24. package/lib/UseCases/FocusCamera/LerpFocusCamera.js +71 -0
  25. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +10 -0
  26. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +35 -0
  27. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +10 -0
  28. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +36 -0
  29. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +10 -0
  30. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +24 -0
  31. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +10 -0
  32. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +32 -0
  33. package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +22 -0
  34. package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +81 -0
  35. package/lib/UseCases/FocusCamera/index.d.ts +7 -0
  36. package/lib/UseCases/FocusCamera/index.js +19 -0
  37. package/lib/UseCases/OrbitCamera/LerpOrbitCamera.d.ts +36 -0
  38. package/lib/UseCases/OrbitCamera/LerpOrbitCamera.js +71 -0
  39. package/lib/UseCases/OrbitCamera/PixelDolly_OrbitCamera.d.ts +9 -0
  40. package/lib/UseCases/OrbitCamera/PixelDolly_OrbitCamera.js +31 -0
  41. package/lib/UseCases/OrbitCamera/PixelPlanePan_OrbitCamera.d.ts +10 -0
  42. package/lib/UseCases/OrbitCamera/PixelPlanePan_OrbitCamera.js +31 -0
  43. package/lib/UseCases/OrbitCamera/SerializeOrbitCamera.d.ts +22 -0
  44. package/lib/UseCases/OrbitCamera/SerializeOrbitCamera.js +81 -0
  45. package/lib/UseCases/OrbitCamera/index.d.ts +4 -0
  46. package/lib/UseCases/OrbitCamera/index.js +16 -0
  47. package/lib/UseCases/index.d.ts +1 -2
  48. package/lib/UseCases/index.js +1 -2
  49. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PixelPlanePan_OrbitCamera = void 0;
4
+ const Entities_1 = require("../../Entities");
5
+ class PixelPlanePan_OrbitCamera {
6
+ constructor(orbitCamera, babylon) {
7
+ this.orbitCamera = orbitCamera;
8
+ this.babylon = babylon;
9
+ this.doPan = (pixelPosition) => {
10
+ if (!this.plane || !this.previousPixelPos) {
11
+ throw new Error("[PixelPlanePan_OrbitCamera] You must initialize first!");
12
+ }
13
+ const initialRay = this.babylon.sceneRay(this.previousPixelPos);
14
+ const finalRay = this.babylon.sceneRay(pixelPosition);
15
+ const p1 = this.plane.intersectLine(initialRay);
16
+ const p2 = this.plane.intersectLine(finalRay);
17
+ if (!p1 || !p2)
18
+ return;
19
+ const delta = p2.subtract(p1);
20
+ const currentTarget = this.orbitCamera.target;
21
+ const newTarget = new Entities_1.Vector3(currentTarget.x - delta.x, currentTarget.y - delta.y, currentTarget.z - delta.z);
22
+ this.orbitCamera.target = new Entities_1.Vector3(newTarget.x, newTarget.y, newTarget.z);
23
+ this.previousPixelPos = pixelPosition;
24
+ };
25
+ this.initializePan = (initialPixelPos, panPlane) => {
26
+ this.plane = panPlane;
27
+ this.previousPixelPos = initialPixelPos;
28
+ };
29
+ }
30
+ }
31
+ exports.PixelPlanePan_OrbitCamera = PixelPlanePan_OrbitCamera;
@@ -0,0 +1,22 @@
1
+ import { OrbitCamera, SerializedSystem, StateMachine } from "../../Entities";
2
+ export declare class SerializedOrbitCamera implements SerializedSystem {
3
+ name: string;
4
+ seriliziationVersion: number;
5
+ private orbitCamera;
6
+ private stateMachine;
7
+ getSystemState(): object;
8
+ applySystemState(serializedState: object, version: number, transitionTime: number): void;
9
+ applyDefaultState(transitionDuration: number): void;
10
+ private applyV1Data;
11
+ private applyImmediate;
12
+ private applyLerp;
13
+ constructor(orbitCamera: OrbitCamera, stateMachine: StateMachine);
14
+ }
15
+ export interface CameraDataV1 {
16
+ alpha: number;
17
+ beta: number;
18
+ radius: number;
19
+ target_x: number;
20
+ target_y: number;
21
+ target_z: number;
22
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SerializedOrbitCamera = void 0;
4
+ const _1 = require(".");
5
+ const Entities_1 = require("../../Entities");
6
+ class SerializedOrbitCamera {
7
+ constructor(orbitCamera, stateMachine) {
8
+ this.name = "orbitCamera";
9
+ this.seriliziationVersion = 1;
10
+ this.orbitCamera = orbitCamera;
11
+ this.stateMachine = stateMachine;
12
+ stateMachine.registerSerializedSystem(this);
13
+ }
14
+ getSystemState() {
15
+ const data = {
16
+ alpha: this.orbitCamera.alpha,
17
+ beta: this.orbitCamera.beta,
18
+ radius: this.orbitCamera.radius,
19
+ target_x: this.orbitCamera.target.x,
20
+ target_y: this.orbitCamera.target.y,
21
+ target_z: this.orbitCamera.target.z,
22
+ };
23
+ return data;
24
+ }
25
+ applySystemState(serializedState, version, transitionTime) {
26
+ try {
27
+ if (version === 1) {
28
+ const castState = serializedState;
29
+ this.applyV1Data(castState, transitionTime);
30
+ }
31
+ else {
32
+ console.warn(`[SerializedCamera] Unsupported version number ${version}. Defaulting`);
33
+ this.applyDefaultState(transitionTime);
34
+ }
35
+ }
36
+ catch (e) {
37
+ console.warn(`[SerializedCamera] Caught when deserializing ${e}. Defaulting`);
38
+ this.applyDefaultState(transitionTime);
39
+ }
40
+ }
41
+ applyDefaultState(transitionDuration) {
42
+ const alpha = this.orbitCamera.defaultAlpha;
43
+ const beta = this.orbitCamera.defaultBeta;
44
+ const radius = this.orbitCamera.defaultRadius;
45
+ const target = this.orbitCamera.defaultTarget;
46
+ if (transitionDuration === 0) {
47
+ this.applyImmediate(alpha, beta, radius, target);
48
+ }
49
+ else {
50
+ this.applyLerp(alpha, beta, radius, target, transitionDuration);
51
+ }
52
+ }
53
+ applyV1Data(data, transitionTime) {
54
+ const { alpha, beta, radius, target_x, target_y, target_z } = data;
55
+ const target = new Entities_1.Vector3(target_x, target_y, target_z);
56
+ if (transitionTime === 0) {
57
+ this.applyImmediate(alpha, beta, radius, target);
58
+ }
59
+ else {
60
+ this.applyLerp(alpha, beta, radius, target, transitionTime);
61
+ }
62
+ }
63
+ applyImmediate(alpha, beta, radius, target) {
64
+ this.orbitCamera.cancelLerp();
65
+ this.orbitCamera.alpha = alpha;
66
+ this.orbitCamera.beta = beta;
67
+ this.orbitCamera.radius = radius;
68
+ this.orbitCamera.target = target;
69
+ }
70
+ applyLerp(alpha, beta, radius, target, transitionTime) {
71
+ const lerpParams = {
72
+ duration: transitionTime,
73
+ finalRadius: radius,
74
+ finalBeta: beta,
75
+ finalAlpha: alpha,
76
+ finalTarget: target,
77
+ };
78
+ new _1.LerpOrbitCamera(this.orbitCamera, this.stateMachine.transitionEaseFunction, lerpParams);
79
+ }
80
+ }
81
+ exports.SerializedOrbitCamera = SerializedOrbitCamera;
@@ -0,0 +1,4 @@
1
+ export * from "./PixelPlanePan_OrbitCamera";
2
+ export * from "./LerpOrbitCamera";
3
+ export * from "./SerializeOrbitCamera";
4
+ export * from "./PixelDolly_OrbitCamera";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./PixelPlanePan_OrbitCamera"), exports);
14
+ __exportStar(require("./LerpOrbitCamera"), exports);
15
+ __exportStar(require("./SerializeOrbitCamera"), exports);
16
+ __exportStar(require("./PixelDolly_OrbitCamera"), exports);
@@ -1,3 +1,2 @@
1
1
  export * from "./setDevicePreview";
2
- export * from "./LerpOrbitCamera";
3
- export * from "./SerializeOrbitCamera";
2
+ export * from "./FocusCamera";
@@ -11,5 +11,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./setDevicePreview"), exports);
14
- __exportStar(require("./LerpOrbitCamera"), exports);
15
- __exportStar(require("./SerializeOrbitCamera"), exports);
14
+ __exportStar(require("./FocusCamera"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vived/app",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "Public package for the VIVED Learning App system",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",