@vived/app 4.14.0 → 4.15.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/AppObject/AppObjectComponent.d.ts +2 -1
- package/lib/AppObject/AppObjectComponent.js +16 -6
- package/lib/Components/Babylon/Mocks/MockBabylonRenderingUC.d.ts +2 -3
- package/lib/Components/Babylon/Mocks/MockBabylonRenderingUC.js +3 -3
- package/lib/Components/Babylon/Mocks/MockPixelToSceneRayUC.d.ts +1 -1
- package/lib/Components/Babylon/Mocks/MockPixelToSceneRayUC.js +3 -3
- package/lib/Components/Babylon/Mocks/MockSceneRayPickUC.d.ts +1 -1
- package/lib/Components/Babylon/Mocks/MockSceneRayPickUC.js +3 -3
- package/lib/Components/Babylon/UC/BabylonRenderingUC.d.ts +0 -9
- package/lib/Components/Babylon/UC/BabylonRenderingUC.js +1 -14
- package/lib/Components/Babylon/UC/PixelToSceneRayUC.d.ts +0 -7
- package/lib/Components/Babylon/UC/PixelToSceneRayUC.js +1 -12
- package/lib/Components/Babylon/UC/ScenePixelPickUC.d.ts +0 -7
- package/lib/Components/Babylon/UC/ScenePixelPickUC.js +1 -12
- package/lib/Components/Babylon/UC/SceneRayPickUC.d.ts +0 -7
- package/lib/Components/Babylon/UC/SceneRayPickUC.js +1 -12
- package/lib/Components/Babylon/index.d.ts +1 -0
- package/lib/Components/Babylon/index.js +1 -0
- package/lib/Components/Challenge/Controller/index.d.ts +1 -0
- package/lib/Components/Challenge/Controller/index.js +13 -0
- package/lib/Components/Challenge/Controller/setChallenge.d.ts +2 -0
- package/lib/Components/Challenge/Controller/setChallenge.js +13 -0
- package/lib/Components/Challenge/Entities/ChallengeEntity.d.ts +29 -0
- package/lib/Components/Challenge/Entities/ChallengeEntity.js +85 -0
- package/lib/Components/Challenge/Entities/index.d.ts +1 -0
- package/lib/Components/Challenge/Entities/index.js +13 -0
- package/lib/Components/Challenge/Mocks/MockChallengeAuthorHelpPM.d.ts +8 -0
- package/lib/Components/Challenge/Mocks/MockChallengeAuthorHelpPM.js +15 -0
- package/lib/Components/Challenge/Mocks/MockChallengeConsumerHelpPM.d.ts +8 -0
- package/lib/Components/Challenge/Mocks/MockChallengeConsumerHelpPM.js +15 -0
- package/lib/Components/Challenge/Mocks/MockSelectedChallengePM.d.ts +8 -0
- package/lib/Components/Challenge/Mocks/MockSelectedChallengePM.js +15 -0
- package/lib/Components/Challenge/Mocks/MockSetChallengeUC.d.ts +8 -0
- package/lib/Components/Challenge/Mocks/MockSetChallengeUC.js +15 -0
- package/lib/Components/Challenge/Mocks/index.d.ts +4 -0
- package/lib/Components/Challenge/Mocks/index.js +16 -0
- package/lib/Components/Challenge/PMs/ChallengeAuthorHelpPM.d.ts +11 -0
- package/lib/Components/Challenge/PMs/ChallengeAuthorHelpPM.js +51 -0
- package/lib/Components/Challenge/PMs/ChallengeConsumerHelpPM.d.ts +12 -0
- package/lib/Components/Challenge/PMs/ChallengeConsumerHelpPM.js +66 -0
- package/lib/Components/Challenge/PMs/SelectedChallengePM.d.ts +13 -0
- package/lib/Components/Challenge/PMs/SelectedChallengePM.js +56 -0
- package/lib/Components/Challenge/PMs/index.d.ts +3 -0
- package/lib/Components/Challenge/PMs/index.js +15 -0
- package/lib/Components/Challenge/React/challengeAuthorHelpHookAdapter.d.ts +3 -0
- package/lib/Components/Challenge/React/challengeAuthorHelpHookAdapter.js +23 -0
- package/lib/Components/Challenge/React/challengeConsumerHelpHookAdapter.d.ts +3 -0
- package/lib/Components/Challenge/React/challengeConsumerHelpHookAdapter.js +23 -0
- package/lib/Components/Challenge/React/index.d.ts +3 -0
- package/lib/Components/Challenge/React/index.js +15 -0
- package/lib/Components/Challenge/React/selectedChallengeHookAdapter.d.ts +3 -0
- package/lib/Components/Challenge/React/selectedChallengeHookAdapter.js +29 -0
- package/lib/Components/Challenge/UCs/SerializeChallenge.d.ts +17 -0
- package/lib/Components/Challenge/UCs/SerializeChallenge.js +56 -0
- package/lib/Components/Challenge/UCs/SetChallengeUC.d.ts +7 -0
- package/lib/Components/Challenge/UCs/SetChallengeUC.js +43 -0
- package/lib/Components/Challenge/UCs/SetChallengeUndo.d.ts +11 -0
- package/lib/Components/Challenge/UCs/SetChallengeUndo.js +37 -0
- package/lib/Components/Challenge/UCs/index.d.ts +3 -0
- package/lib/Components/Challenge/UCs/index.js +15 -0
- package/lib/Components/Challenge/index.d.ts +6 -0
- package/lib/Components/Challenge/index.js +18 -0
- package/lib/Components/StateMachine/Entities/StateMachineEntity.js +11 -6
- package/lib/Components/StateMachine/index.d.ts +1 -0
- package/lib/Components/StateMachine/index.js +1 -0
- package/lib/Components/Transform3D/Mocks/MockBumpTransformScaleAboutPixelPoint.d.ts +2 -0
- package/lib/Components/Transform3D/Mocks/MockPinchTransformUC.d.ts +2 -0
- package/lib/Components/Transform3D/Mocks/MockRayPanScaleTransformUC.d.ts +2 -0
- package/lib/Components/Transform3D/Mocks/MockRayScaleTransform.d.ts +2 -0
- package/lib/Components/Transform3D/UC/BumpTransformScaleAboutPixelPoint.d.ts +2 -1
- package/lib/Components/Transform3D/UC/BumpTransformScaleAboutPixelPoint.js +9 -3
- package/lib/Components/Transform3D/UC/PinchTransform.d.ts +2 -1
- package/lib/Components/Transform3D/UC/PinchTransform.js +11 -6
- package/lib/Components/Transform3D/UC/RayPanScaleTransform.d.ts +2 -1
- package/lib/Components/Transform3D/UC/RayPanScaleTransform.js +10 -5
- package/lib/Components/Transform3D/UC/ScaleTransform.d.ts +2 -1
- package/lib/Components/Transform3D/UC/ScaleTransform.js +7 -3
- package/lib/Components/index.d.ts +1 -0
- package/lib/Components/index.js +1 -0
- package/lib/Types/ReactHookPmAdapter.d.ts +6 -0
- package/lib/Types/ReactHookPmAdapter.js +2 -0
- package/lib/Types/index.d.ts +1 -0
- package/lib/Types/index.js +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="jest" />
|
|
2
2
|
import { AppObject } from "../../../AppObject";
|
|
3
|
+
import { ParametricPlane } from "../../../ValueObjects";
|
|
3
4
|
import { RayPanScaleTransformUC } from "../UC";
|
|
4
5
|
export declare class MockRayPanScaleTransformUC extends RayPanScaleTransformUC {
|
|
5
6
|
enabled: boolean;
|
|
@@ -10,6 +11,7 @@ export declare class MockRayPanScaleTransformUC extends RayPanScaleTransformUC {
|
|
|
10
11
|
maxX?: number | undefined;
|
|
11
12
|
minY?: number | undefined;
|
|
12
13
|
maxY?: number | undefined;
|
|
14
|
+
pickPlane?: ParametricPlane | undefined;
|
|
13
15
|
update: jest.Mock<any, any>;
|
|
14
16
|
initialize: jest.Mock<any, any>;
|
|
15
17
|
finish: jest.Mock<any, any>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="jest" />
|
|
2
2
|
import { AppObject } from "../../../AppObject";
|
|
3
|
+
import { ParametricPlane } from "../../../ValueObjects";
|
|
3
4
|
import { ScaleTransformUC } from "../UC";
|
|
4
5
|
export declare class MockRayScaleTransform extends ScaleTransformUC {
|
|
5
6
|
enabled: boolean;
|
|
@@ -7,6 +8,7 @@ export declare class MockRayScaleTransform extends ScaleTransformUC {
|
|
|
7
8
|
raySensitivity: number;
|
|
8
9
|
minScale?: number | undefined;
|
|
9
10
|
maxScale?: number | undefined;
|
|
11
|
+
pickPlane?: ParametricPlane | undefined;
|
|
10
12
|
updateRay: jest.Mock<any, any>;
|
|
11
13
|
initializeRay: jest.Mock<any, any>;
|
|
12
14
|
finish: jest.Mock<any, any>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { AppObject, AppObjectUC } from "../../../AppObject";
|
|
2
|
-
import { Vector2 } from "../../../ValueObjects";
|
|
2
|
+
import { ParametricPlane, Vector2 } from "../../../ValueObjects";
|
|
3
3
|
export declare abstract class BumpTransformScaleAboutPixelPointUC extends AppObjectUC {
|
|
4
4
|
static readonly type = "BumpTransformScaleAboutPixelPointUC";
|
|
5
5
|
abstract sensitivity: number;
|
|
6
6
|
abstract minScale?: number | undefined;
|
|
7
7
|
abstract maxScale?: number | undefined;
|
|
8
|
+
abstract pickPlane?: ParametricPlane;
|
|
8
9
|
abstract enabled: boolean;
|
|
9
10
|
abstract allow(): boolean;
|
|
10
11
|
abstract bump(direction: "IN" | "OUT", pixelPosition: Vector2): void;
|
|
@@ -23,7 +23,7 @@ class BumpTransformScaleAboutPixelPointUCImp extends BumpTransformScaleAboutPixe
|
|
|
23
23
|
return true;
|
|
24
24
|
};
|
|
25
25
|
this.bump = (direction, pixelPosition) => {
|
|
26
|
-
var _a;
|
|
26
|
+
var _a, _b, _c;
|
|
27
27
|
if (!this.enabled)
|
|
28
28
|
return;
|
|
29
29
|
if (!this.transform)
|
|
@@ -36,8 +36,14 @@ class BumpTransformScaleAboutPixelPointUCImp extends BumpTransformScaleAboutPixe
|
|
|
36
36
|
}
|
|
37
37
|
const currentScale = this.transform.worldScale.x;
|
|
38
38
|
const scaleDelta = bumpDirection * this.sensitivity * currentScale;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
let pickPoint = ValueObjects_1.Vector3.Zero();
|
|
40
|
+
if (this.pickPlane) {
|
|
41
|
+
const pickRay = Babylon_1.pixelToSceneRay(pixelPosition, this.appObjects);
|
|
42
|
+
pickPoint = (_a = this.pickPlane.intersectLine(pickRay)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
pickPoint = (_c = (_b = Babylon_1.scenePixelPick(pixelPosition, this.appObjects)) === null || _b === void 0 ? void 0 : _b.worldPickPoint) !== null && _c !== void 0 ? _c : ValueObjects_1.Vector3.Zero();
|
|
46
|
+
}
|
|
41
47
|
this.bumpScaleAboutPoint(scaleDelta, pickPoint);
|
|
42
48
|
Dispatcher_1.dispatchStateChange(this.appObjects);
|
|
43
49
|
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AppObject, AppObjectUC } from "../../../AppObject";
|
|
2
|
-
import { Vector2 } from "../../../ValueObjects";
|
|
2
|
+
import { ParametricPlane, Vector2 } from "../../../ValueObjects";
|
|
3
3
|
export declare abstract class PinchTransformUC extends AppObjectUC {
|
|
4
4
|
static readonly type = "PinchTransformUC";
|
|
5
5
|
abstract sensitivity: number;
|
|
6
6
|
abstract enabled: boolean;
|
|
7
7
|
abstract minScale?: number;
|
|
8
8
|
abstract maxScale?: number;
|
|
9
|
+
abstract pickPlane?: ParametricPlane;
|
|
9
10
|
abstract doPinch: (touchPos1: Vector2, touchPos2: Vector2) => void;
|
|
10
11
|
abstract initializePinch: (touchPos1: Vector2, touchPos2: Vector2) => void;
|
|
11
12
|
abstract finishPinch: () => void;
|
|
@@ -20,7 +20,7 @@ class PinchTransformUCImp extends PinchTransformUC {
|
|
|
20
20
|
this.sensitivity = 0.01;
|
|
21
21
|
this.enabled = true;
|
|
22
22
|
this.previousDistanceBetweenTouches = 0;
|
|
23
|
-
this.
|
|
23
|
+
this._panPlane = ValueObjects_1.ParametricPlane.XY();
|
|
24
24
|
this.pickOffset = ValueObjects_1.Vector3.Zero();
|
|
25
25
|
this.initialScale = 0;
|
|
26
26
|
this.initializePinch = (touchPos1, touchPos2) => {
|
|
@@ -30,11 +30,16 @@ class PinchTransformUCImp extends PinchTransformUC {
|
|
|
30
30
|
this.previousDistanceBetweenTouches = this.getTouchDistance(touchPos1, touchPos2);
|
|
31
31
|
const touchCenter = this.getTouchCenter(touchPos1, touchPos2);
|
|
32
32
|
const scenePick = Babylon_1.scenePixelPick(touchCenter, this.appObjects);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
if (this.pickPlane) {
|
|
34
|
+
this._panPlane = this.pickPlane;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const pickPoint = (_a = scenePick === null || scenePick === void 0 ? void 0 : scenePick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
38
|
+
const pickPlaneDirection = ValueObjects_1.Vector3.Backward();
|
|
39
|
+
this._panPlane = ValueObjects_1.ParametricPlane.FromPointNormal(pickPoint, pickPlaneDirection);
|
|
40
|
+
}
|
|
36
41
|
const pickRay = Babylon_1.pixelToSceneRay(touchCenter, this.appObjects);
|
|
37
|
-
const planePick = (_b = this.
|
|
42
|
+
const planePick = (_b = this._panPlane.intersectLine(pickRay)) !== null && _b !== void 0 ? _b : ValueObjects_1.Vector3.Zero();
|
|
38
43
|
this.pickOffset = this.transform.worldPointToLocal(planePick);
|
|
39
44
|
this.initialScale = this.transform.worldScale.x;
|
|
40
45
|
};
|
|
@@ -58,7 +63,7 @@ class PinchTransformUCImp extends PinchTransformUC {
|
|
|
58
63
|
this.transform.worldScale = new ValueObjects_1.Vector3(newScale, newScale, newScale);
|
|
59
64
|
const touchCenter = this.getTouchCenter(touchPos1, touchPos2);
|
|
60
65
|
const pickRay = Babylon_1.pixelToSceneRay(touchCenter, this.appObjects);
|
|
61
|
-
const planePick = (_a = this.
|
|
66
|
+
const planePick = (_a = this._panPlane.intersectLine(pickRay)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
62
67
|
const globalOffset = this.transform.localPointToWorld(this.pickOffset);
|
|
63
68
|
const delta = ValueObjects_1.Vector3.Subtract(planePick, globalOffset);
|
|
64
69
|
const currentWorldPos = this.transform.worldPosition;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppObject, AppObjectUC } from "../../../AppObject";
|
|
2
|
-
import { ParametricLine } from "../../../ValueObjects";
|
|
2
|
+
import { ParametricLine, ParametricPlane } from "../../../ValueObjects";
|
|
3
3
|
export declare abstract class RayPanScaleTransformUC extends AppObjectUC {
|
|
4
4
|
static readonly type = "RayPanScaleTransformUC";
|
|
5
5
|
abstract sensitivity: number;
|
|
@@ -10,6 +10,7 @@ export declare abstract class RayPanScaleTransformUC extends AppObjectUC {
|
|
|
10
10
|
abstract maxX?: number;
|
|
11
11
|
abstract minY?: number;
|
|
12
12
|
abstract maxY?: number;
|
|
13
|
+
abstract pickPlane?: ParametricPlane;
|
|
13
14
|
abstract update: (ray: ParametricLine) => void;
|
|
14
15
|
abstract initialize: (ray: ParametricLine) => void;
|
|
15
16
|
abstract finish: () => void;
|
|
@@ -22,16 +22,21 @@ class RayPanScaleTransformUCImp extends RayPanScaleTransformUC {
|
|
|
22
22
|
this.allowUpdate = false;
|
|
23
23
|
this.initialScale = 1;
|
|
24
24
|
this.pickOffset = ValueObjects_1.Vector3.Zero();
|
|
25
|
-
this.
|
|
25
|
+
this._panPlane = ValueObjects_1.ParametricPlane.XY();
|
|
26
26
|
this.lastRayLength = 0;
|
|
27
27
|
this.initialize = (ray) => {
|
|
28
28
|
var _a, _b;
|
|
29
29
|
this.allowUpdate = false;
|
|
30
30
|
if (!this.transform)
|
|
31
31
|
return;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
if (this.pickPlane) {
|
|
33
|
+
this._panPlane = this.pickPlane;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const pick = Babylon_1.sceneRayPick(ray, this.appObjects);
|
|
37
|
+
this._panPlane = ValueObjects_1.ParametricPlane.FromPointNormal((_a = pick === null || pick === void 0 ? void 0 : pick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero(), ValueObjects_1.Vector3.Backward());
|
|
38
|
+
}
|
|
39
|
+
const pickPoint = (_b = this._panPlane.intersectLine(ray)) !== null && _b !== void 0 ? _b : ValueObjects_1.Vector3.Zero();
|
|
35
40
|
this.lastRayLength = ValueObjects_1.ParametricLine.GetDistanceToPoint(ray, pickPoint);
|
|
36
41
|
this.pickOffset = this.transform.worldPointToLocal(pickPoint);
|
|
37
42
|
this.initialScale = this.transform.worldScale.x;
|
|
@@ -45,7 +50,7 @@ class RayPanScaleTransformUCImp extends RayPanScaleTransformUC {
|
|
|
45
50
|
return;
|
|
46
51
|
if (!this.transform)
|
|
47
52
|
return;
|
|
48
|
-
const pick = (_a = this.
|
|
53
|
+
const pick = (_a = this._panPlane.intersectLine(ray)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
49
54
|
this.updateScale(ray, pick);
|
|
50
55
|
this.updatePosition(pick);
|
|
51
56
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppObject, AppObjectUC } from "../../../AppObject";
|
|
2
|
-
import { ParametricLine, Vector2 } from "../../../ValueObjects";
|
|
2
|
+
import { ParametricLine, ParametricPlane, Vector2 } from "../../../ValueObjects";
|
|
3
3
|
export declare abstract class ScaleTransformUC extends AppObjectUC {
|
|
4
4
|
static readonly type = "ScaleTransformUC";
|
|
5
5
|
abstract raySensitivity: number;
|
|
@@ -7,6 +7,7 @@ export declare abstract class ScaleTransformUC extends AppObjectUC {
|
|
|
7
7
|
abstract enabled: boolean;
|
|
8
8
|
abstract minScale?: number;
|
|
9
9
|
abstract maxScale?: number;
|
|
10
|
+
abstract pickPlane?: ParametricPlane;
|
|
10
11
|
abstract initializeRay: (ray: ParametricLine) => void;
|
|
11
12
|
abstract updateRay: (ray: ParametricLine) => void;
|
|
12
13
|
abstract initializePixel: (pixel: Vector2) => void;
|
|
@@ -92,12 +92,16 @@ class ScaleTransformUCImp extends ScaleTransformUC {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
doInitialize(ray) {
|
|
95
|
-
var _a;
|
|
95
|
+
var _a, _b, _c;
|
|
96
96
|
this.isScaling = false;
|
|
97
97
|
if (!this.transform)
|
|
98
98
|
return;
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
if (this.pickPlane) {
|
|
100
|
+
this.pickPoint = (_a = this.pickPlane.intersectLine(ray)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.pickPoint = (_c = (_b = Babylon_1.sceneRayPick(ray, this.appObjects)) === null || _b === void 0 ? void 0 : _b.worldPickPoint) !== null && _c !== void 0 ? _c : ValueObjects_1.Vector3.Zero();
|
|
104
|
+
}
|
|
101
105
|
this.initialScale = this.transform.worldScale.x;
|
|
102
106
|
this.isScaling = true;
|
|
103
107
|
}
|
package/lib/Components/index.js
CHANGED
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
__exportStar(require("./App"), exports);
|
|
14
14
|
__exportStar(require("./Babylon"), exports);
|
|
15
15
|
__exportStar(require("./Camera"), exports);
|
|
16
|
+
__exportStar(require("./Challenge"), exports);
|
|
16
17
|
__exportStar(require("./ChannelModel"), exports);
|
|
17
18
|
__exportStar(require("./Dispatcher"), exports);
|
|
18
19
|
__exportStar(require("./Enablement"), exports);
|
package/lib/Types/index.d.ts
CHANGED
package/lib/Types/index.js
CHANGED