@flighthq/camera-controls 0.5.1-edge.799.62ef0c7 → 0.5.1-edge.911.32a089f
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/README.md +2 -2
- package/dist/cameraShake.d.ts +3 -1
- package/dist/cameraShake.d.ts.map +1 -1
- package/dist/cameraShake.js +23 -10
- package/dist/cameraShake.js.map +1 -1
- package/dist/contract.d.ts +3 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +3 -0
- package/dist/contract.js.map +1 -1
- package/dist/flyCameraController.d.ts +2 -1
- package/dist/flyCameraController.d.ts.map +1 -1
- package/dist/flyCameraController.js +15 -12
- package/dist/flyCameraController.js.map +1 -1
- package/dist/orbitCameraController.d.ts +2 -1
- package/dist/orbitCameraController.d.ts.map +1 -1
- package/dist/orbitCameraController.js +24 -21
- package/dist/orbitCameraController.js.map +1 -1
- package/package.json +6 -6
- package/src/cameraShake.test.ts +13 -0
- package/src/flyCameraController.test.ts +7 -1
- package/src/orbitCameraController.test.ts +8 -2
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/camera-controls`. Th
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/camera-controls@0.5.1-edge.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/camera-controls@0.5.1-edge.911.32a089f](https://github.com/flighthq/flight/tree/32a089f1342d08547fc2359dfd5e8fe9f7e3c12e/packages/camera-controls)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/32a089f1342d08547fc2359dfd5e8fe9f7e3c12e/LICENSE.md)
|
package/dist/cameraShake.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { CameraShake, CameraShakeOffset, CameraShakeOptions } from '@flighthq/types/contract';
|
|
1
|
+
import type { CameraShake, CameraShakeOffset, CameraShakeOptions, EntityConstruction } from '@flighthq/types/contract';
|
|
2
2
|
export declare function addCameraShakeTrauma(shake: CameraShake, amount: number): void;
|
|
3
3
|
export declare function createCameraShake(options?: Readonly<CameraShakeOptions>): CameraShake;
|
|
4
4
|
export declare function createCameraShakeOffset(): CameraShakeOffset;
|
|
5
|
+
export declare function initializeCameraShake(out: EntityConstruction<CameraShake>, options?: Readonly<CameraShakeOptions>): void;
|
|
6
|
+
export declare function initializeCameraShakeOffset(out: EntityConstruction<CameraShakeOffset>): void;
|
|
5
7
|
export declare function resetCameraShake(shake: CameraShake): void;
|
|
6
8
|
export declare function updateCameraShake(shake: CameraShake, dt: number, out: CameraShakeOffset): void;
|
|
7
9
|
//# sourceMappingURL=cameraShake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cameraShake.d.ts","sourceRoot":"","sources":["../src/cameraShake.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"cameraShake.d.ts","sourceRoot":"","sources":["../src/cameraShake.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEvH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAIrF;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAI3D;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EACpC,OAAO,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACrC,IAAI,CAON;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAO5F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAGzD;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA8B9F"}
|
package/dist/cameraShake.js
CHANGED
|
@@ -1,20 +1,33 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { clamp } from '@flighthq/math/contract';
|
|
3
3
|
export function addCameraShakeTrauma(shake, amount) {
|
|
4
4
|
shake.trauma = clamp(shake.trauma + amount, 0, 1);
|
|
5
5
|
}
|
|
6
6
|
export function createCameraShake(options) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
rotationAmplitude: options?.rotationAmplitude ?? 3,
|
|
11
|
-
time: 0,
|
|
12
|
-
translationAmplitude: options?.translationAmplitude ?? 0.5,
|
|
13
|
-
trauma: 0,
|
|
14
|
-
});
|
|
7
|
+
const out = allocateEntity();
|
|
8
|
+
initializeCameraShake(out, options);
|
|
9
|
+
return finishEntity(out);
|
|
15
10
|
}
|
|
16
11
|
export function createCameraShakeOffset() {
|
|
17
|
-
|
|
12
|
+
const out = allocateEntity();
|
|
13
|
+
initializeCameraShakeOffset(out);
|
|
14
|
+
return finishEntity(out);
|
|
15
|
+
}
|
|
16
|
+
export function initializeCameraShake(out, options) {
|
|
17
|
+
out.decay = options?.decay ?? 1.5;
|
|
18
|
+
out.frequency = options?.frequency ?? 15;
|
|
19
|
+
out.rotationAmplitude = options?.rotationAmplitude ?? 3;
|
|
20
|
+
out.time = 0;
|
|
21
|
+
out.translationAmplitude = options?.translationAmplitude ?? 0.5;
|
|
22
|
+
out.trauma = 0;
|
|
23
|
+
}
|
|
24
|
+
export function initializeCameraShakeOffset(out) {
|
|
25
|
+
out.rotationX = 0;
|
|
26
|
+
out.rotationY = 0;
|
|
27
|
+
out.rotationZ = 0;
|
|
28
|
+
out.x = 0;
|
|
29
|
+
out.y = 0;
|
|
30
|
+
out.z = 0;
|
|
18
31
|
}
|
|
19
32
|
export function resetCameraShake(shake) {
|
|
20
33
|
shake.trauma = 0;
|
package/dist/cameraShake.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cameraShake.js","sourceRoot":"","sources":["../src/cameraShake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"cameraShake.js","sourceRoot":"","sources":["../src/cameraShake.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -3,4 +3,7 @@ export * from './flyCameraController';
|
|
|
3
3
|
export * from './follow';
|
|
4
4
|
export * from './framing';
|
|
5
5
|
export * from './orbitCameraController';
|
|
6
|
+
export { initializeFlyCameraController } from './flyCameraController';
|
|
7
|
+
export { initializeCameraShake, initializeCameraShakeOffset } from './cameraShake';
|
|
8
|
+
export { initializeOrbitCameraController } from './orbitCameraController';
|
|
6
9
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -3,4 +3,7 @@ export * from './flyCameraController';
|
|
|
3
3
|
export * from './follow';
|
|
4
4
|
export * from './framing';
|
|
5
5
|
export * from './orbitCameraController';
|
|
6
|
+
export { initializeFlyCameraController } from './flyCameraController';
|
|
7
|
+
export { initializeCameraShake, initializeCameraShakeOffset } from './cameraShake';
|
|
8
|
+
export { initializeOrbitCameraController } from './orbitCameraController';
|
|
6
9
|
//# sourceMappingURL=contract.js.map
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Camera3D, FlyCameraController, FlyCameraControllerOptions } from '@flighthq/types/contract';
|
|
1
|
+
import type { Camera3D, EntityConstruction, FlyCameraController, FlyCameraControllerOptions } from '@flighthq/types/contract';
|
|
2
2
|
export declare function cloneFlyCameraController(source: Readonly<FlyCameraController>): FlyCameraController;
|
|
3
3
|
export declare function copyFlyCameraController(out: FlyCameraController, source: Readonly<FlyCameraController>): void;
|
|
4
4
|
export declare function createFlyCameraController(options?: Readonly<FlyCameraControllerOptions>): FlyCameraController;
|
|
5
|
+
export declare function initializeFlyCameraController(out: EntityConstruction<FlyCameraController>, options?: Readonly<FlyCameraControllerOptions>): void;
|
|
5
6
|
export declare function lookFlyCameraController(controller: FlyCameraController, deltaYaw: number, deltaPitch: number): void;
|
|
6
7
|
export declare function moveFlyCameraController(controller: FlyCameraController, forward: number, right: number, up: number): void;
|
|
7
8
|
export declare function resetFlyCameraController(controller: FlyCameraController, options?: Readonly<FlyCameraControllerOptions>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flyCameraController.d.ts","sourceRoot":"","sources":["../src/flyCameraController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"flyCameraController.d.ts","sourceRoot":"","sources":["../src/flyCameraController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAInG;AAID,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAW7G;AAED,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,mBAAmB,CAI7G;AAKD,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,EAC5C,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,IAAI,CAYN;AAKD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAGnH;AAMD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,mBAAmB,EAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,IAAI,CAON;AAID,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,mBAAmB,EAC/B,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,IAAI,CAcN;AAGD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAG7E;AAMD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAqBpH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setCamera3DViewMatrix4FromLookAt } from '@flighthq/camera/contract';
|
|
2
|
-
import {
|
|
2
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
3
3
|
import { createVector3 } from '@flighthq/geometry/contract';
|
|
4
4
|
import { clamp, damp, deltaAngle } from '@flighthq/math/contract';
|
|
5
5
|
// Allocates an independent Entity containing the same controller value state.
|
|
@@ -22,23 +22,26 @@ export function copyFlyCameraController(out, source) {
|
|
|
22
22
|
out.smoothTime = source.smoothTime;
|
|
23
23
|
out.yaw = source.yaw;
|
|
24
24
|
}
|
|
25
|
+
export function createFlyCameraController(options) {
|
|
26
|
+
const out = allocateEntity();
|
|
27
|
+
initializeFlyCameraController(out, options);
|
|
28
|
+
return finishEntity(out);
|
|
29
|
+
}
|
|
25
30
|
// Allocates a fly / first-person controller. `position` defaults to the origin, `yaw`/`pitch` to 0
|
|
26
31
|
// (looking down -Z), `pitch` limits to just inside ±90° (no gimbal flip), and `smoothTime` to 0 (the
|
|
27
32
|
// look angles snap to their goal each update). Current and goal angles start equal.
|
|
28
|
-
export function
|
|
33
|
+
export function initializeFlyCameraController(out, options) {
|
|
29
34
|
const yaw = options?.yaw ?? 0;
|
|
30
35
|
const pitch = options?.pitch ?? 0;
|
|
31
36
|
const position = options?.position;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
yaw,
|
|
41
|
-
});
|
|
37
|
+
out.goalPitch = pitch;
|
|
38
|
+
out.goalYaw = yaw;
|
|
39
|
+
out.maxPitch = options?.maxPitch ?? DEFAULT_MAX_PITCH;
|
|
40
|
+
out.minPitch = options?.minPitch ?? DEFAULT_MIN_PITCH;
|
|
41
|
+
out.pitch = pitch;
|
|
42
|
+
out.position = createVector3(position?.x ?? 0, position?.y ?? 0, position?.z ?? 0);
|
|
43
|
+
out.smoothTime = options?.smoothTime ?? 0;
|
|
44
|
+
out.yaw = yaw;
|
|
42
45
|
}
|
|
43
46
|
// Moves the goal look angles by the given radian deltas: `deltaYaw` turns horizontally (unbounded),
|
|
44
47
|
// `deltaPitch` looks up/down (clamped to [minPitch, maxPitch]). The app maps a mouse-look delta to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flyCameraController.js","sourceRoot":"","sources":["../src/flyCameraController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"flyCameraController.js","sourceRoot":"","sources":["../src/flyCameraController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { Camera3D, OrbitCameraController, OrbitCameraControllerOptions } from '@flighthq/types/contract';
|
|
1
|
+
import type { Camera3D, EntityConstruction, OrbitCameraController, OrbitCameraControllerOptions } from '@flighthq/types/contract';
|
|
2
2
|
export declare function cloneOrbitCameraController(source: Readonly<OrbitCameraController>): OrbitCameraController;
|
|
3
3
|
export declare function copyOrbitCameraController(out: OrbitCameraController, source: Readonly<OrbitCameraController>): void;
|
|
4
4
|
export declare function createOrbitCameraController(options?: Readonly<OrbitCameraControllerOptions>): OrbitCameraController;
|
|
5
5
|
export declare function dollyOrbitCameraController(controller: OrbitCameraController, deltaDistance: number): void;
|
|
6
|
+
export declare function initializeOrbitCameraController(out: EntityConstruction<OrbitCameraController>, options?: Readonly<OrbitCameraControllerOptions>): void;
|
|
6
7
|
export declare function panOrbitCameraController(controller: OrbitCameraController, deltaRight: number, deltaUp: number): void;
|
|
7
8
|
export declare function panOrbitCameraControllerInViewPlane(controller: OrbitCameraController, deltaRight: number, deltaUp: number): void;
|
|
8
9
|
export declare function resetOrbitCameraController(controller: OrbitCameraController, options?: Readonly<OrbitCameraControllerOptions>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orbitCameraController.d.ts","sourceRoot":"","sources":["../src/orbitCameraController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"orbitCameraController.d.ts","sourceRoot":"","sources":["../src/orbitCameraController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAIzG;AAID,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAenH;AAED,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAAG,qBAAqB,CAInH;AAID,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAMzG;AAMD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EAC9C,OAAO,CAAC,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC/C,IAAI,CAiBN;AAMD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAOrH;AAID,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,qBAAqB,EACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,IAAI,CASN;AAID,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,qBAAqB,EACjC,OAAO,CAAC,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC/C,IAAI,CAmBN;AAKD,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,qBAAqB,EACjC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,IAAI,CAGN;AAGD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAIjF;AAOD,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,MAAM,GAChB,IAAI,CAwBN"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setCamera3DViewMatrix4FromLookAt } from '@flighthq/camera/contract';
|
|
2
|
-
import {
|
|
2
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
3
3
|
import { createVector3 } from '@flighthq/geometry/contract';
|
|
4
4
|
import { clamp, damp, deltaAngle } from '@flighthq/math/contract';
|
|
5
5
|
// Allocates an independent Entity containing the same controller value state.
|
|
@@ -26,34 +26,37 @@ export function copyOrbitCameraController(out, source) {
|
|
|
26
26
|
out.target.y = source.target.y;
|
|
27
27
|
out.target.z = source.target.z;
|
|
28
28
|
}
|
|
29
|
+
export function createOrbitCameraController(options) {
|
|
30
|
+
const out = allocateEntity();
|
|
31
|
+
initializeOrbitCameraController(out, options);
|
|
32
|
+
return finishEntity(out);
|
|
33
|
+
}
|
|
34
|
+
// Moves the goal distance (dolly / zoom) by `deltaDistance`, clamped to [minDistance, maxDistance].
|
|
35
|
+
// Negative moves the eye toward the target.
|
|
36
|
+
export function dollyOrbitCameraController(controller, deltaDistance) {
|
|
37
|
+
controller.goalDistance = clamp(controller.goalDistance + deltaDistance, controller.minDistance, controller.maxDistance);
|
|
38
|
+
}
|
|
29
39
|
// Allocates an orbit controller. `target` defaults to the origin, `distance` to 10, angles to 0;
|
|
30
40
|
// `polar` limits default to just inside ±90° so the look-at up vector never degenerates, `distance`
|
|
31
41
|
// to (0.01, +∞), and `smoothTime` to 0 (no damping — the camera snaps to the goal each update). The
|
|
32
42
|
// current and goal coordinates start equal, so a controller with no verb calls holds a fixed view.
|
|
33
|
-
export function
|
|
43
|
+
export function initializeOrbitCameraController(out, options) {
|
|
34
44
|
const azimuth = options?.azimuth ?? 0;
|
|
35
45
|
const polar = options?.polar ?? 0;
|
|
36
46
|
const distance = options?.distance ?? 10;
|
|
37
47
|
const target = options?.target;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
target: createVector3(target?.x ?? 0, target?.y ?? 0, target?.z ?? 0),
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
// Moves the goal distance (dolly / zoom) by `deltaDistance`, clamped to [minDistance, maxDistance].
|
|
54
|
-
// Negative moves the eye toward the target.
|
|
55
|
-
export function dollyOrbitCameraController(controller, deltaDistance) {
|
|
56
|
-
controller.goalDistance = clamp(controller.goalDistance + deltaDistance, controller.minDistance, controller.maxDistance);
|
|
48
|
+
out.azimuth = azimuth;
|
|
49
|
+
out.distance = distance;
|
|
50
|
+
out.goalAzimuth = azimuth;
|
|
51
|
+
out.goalDistance = distance;
|
|
52
|
+
out.goalPolar = polar;
|
|
53
|
+
out.maxDistance = options?.maxDistance ?? Number.POSITIVE_INFINITY;
|
|
54
|
+
out.maxPolar = options?.maxPolar ?? DEFAULT_MAX_POLAR;
|
|
55
|
+
out.minDistance = options?.minDistance ?? DEFAULT_MIN_DISTANCE;
|
|
56
|
+
out.minPolar = options?.minPolar ?? DEFAULT_MIN_POLAR;
|
|
57
|
+
out.polar = polar;
|
|
58
|
+
out.smoothTime = options?.smoothTime ?? 0;
|
|
59
|
+
out.target = createVector3(target?.x ?? 0, target?.y ?? 0, target?.z ?? 0);
|
|
57
60
|
}
|
|
58
61
|
// Slides the orbit `target` in a world-up plane: `deltaRight` along the camera's horizontal right axis
|
|
59
62
|
// (at the current goal azimuth), `deltaUp` along world Y. Because the eye is derived from the target
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orbitCameraController.js","sourceRoot":"","sources":["../src/orbitCameraController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"orbitCameraController.js","sourceRoot":"","sources":["../src/orbitCameraController.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/camera-controls",
|
|
3
|
-
"version": "0.5.1-edge.
|
|
3
|
+
"version": "0.5.1-edge.911.32a089f",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/camera": "0.5.1-edge.
|
|
42
|
-
"@flighthq/entity": "0.5.1-edge.
|
|
43
|
-
"@flighthq/geometry": "0.5.1-edge.
|
|
44
|
-
"@flighthq/math": "0.5.1-edge.
|
|
45
|
-
"@flighthq/types": "0.5.1-edge.
|
|
41
|
+
"@flighthq/camera": "0.5.1-edge.911.32a089f",
|
|
42
|
+
"@flighthq/entity": "0.5.1-edge.911.32a089f",
|
|
43
|
+
"@flighthq/geometry": "0.5.1-edge.911.32a089f",
|
|
44
|
+
"@flighthq/math": "0.5.1-edge.911.32a089f",
|
|
45
|
+
"@flighthq/types": "0.5.1-edge.911.32a089f"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"typescript": "^5.3.0"
|
package/src/cameraShake.test.ts
CHANGED
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
addCameraShakeTrauma,
|
|
5
5
|
createCameraShake,
|
|
6
6
|
createCameraShakeOffset,
|
|
7
|
+
initializeCameraShake,
|
|
8
|
+
initializeCameraShakeOffset,
|
|
7
9
|
resetCameraShake,
|
|
8
10
|
updateCameraShake,
|
|
9
11
|
} from './cameraShake';
|
|
@@ -58,6 +60,17 @@ describe('createCameraShakeOffset', () => {
|
|
|
58
60
|
});
|
|
59
61
|
});
|
|
60
62
|
|
|
63
|
+
describe('initializeCameraShake', () => {
|
|
64
|
+
it('is the construction initializer of createCameraShake', () => {
|
|
65
|
+
expect(typeof initializeCameraShake).toBe('function');
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
describe('initializeCameraShakeOffset', () => {
|
|
70
|
+
it('is the construction initializer of createCameraShakeOffset', () => {
|
|
71
|
+
expect(typeof initializeCameraShakeOffset).toBe('function');
|
|
72
|
+
});
|
|
73
|
+
});
|
|
61
74
|
describe('resetCameraShake', () => {
|
|
62
75
|
it('zeros trauma and time', () => {
|
|
63
76
|
const shake = createCameraShake();
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
cloneFlyCameraController,
|
|
12
12
|
copyFlyCameraController,
|
|
13
13
|
createFlyCameraController,
|
|
14
|
+
initializeFlyCameraController,
|
|
14
15
|
lookFlyCameraController,
|
|
15
16
|
moveFlyCameraController,
|
|
16
17
|
resetFlyCameraController,
|
|
@@ -69,6 +70,12 @@ describe('createFlyCameraController', () => {
|
|
|
69
70
|
});
|
|
70
71
|
});
|
|
71
72
|
|
|
73
|
+
describe('initializeFlyCameraController', () => {
|
|
74
|
+
it('is the construction initializer of createFlyCameraController', () => {
|
|
75
|
+
expect(typeof initializeFlyCameraController).toBe('function');
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
72
79
|
describe('lookFlyCameraController', () => {
|
|
73
80
|
it('adds to the goal angles and clamps pitch', () => {
|
|
74
81
|
const c = createFlyCameraController({ minPitch: -1, maxPitch: 1 });
|
|
@@ -107,7 +114,6 @@ describe('snapFlyCameraController', () => {
|
|
|
107
114
|
expect(c.yaw).toBe(3);
|
|
108
115
|
});
|
|
109
116
|
});
|
|
110
|
-
|
|
111
117
|
describe('updateFlyCameraController', () => {
|
|
112
118
|
it('snaps to the goal when smoothTime is 0 and writes the look-at view', () => {
|
|
113
119
|
const c = createFlyCameraController({ position: createVector3(0, 0, 5) }); // yaw/pitch 0 => looks toward -Z
|
|
@@ -12,10 +12,11 @@ import {
|
|
|
12
12
|
copyOrbitCameraController,
|
|
13
13
|
createOrbitCameraController,
|
|
14
14
|
dollyOrbitCameraController,
|
|
15
|
-
|
|
15
|
+
initializeOrbitCameraController,
|
|
16
16
|
panOrbitCameraController,
|
|
17
17
|
panOrbitCameraControllerInViewPlane,
|
|
18
18
|
resetOrbitCameraController,
|
|
19
|
+
rotateOrbitCameraController,
|
|
19
20
|
snapOrbitCameraController,
|
|
20
21
|
updateOrbitCameraController,
|
|
21
22
|
} from './orbitCameraController';
|
|
@@ -86,6 +87,12 @@ describe('dollyOrbitCameraController', () => {
|
|
|
86
87
|
});
|
|
87
88
|
});
|
|
88
89
|
|
|
90
|
+
describe('initializeOrbitCameraController', () => {
|
|
91
|
+
it('is the construction initializer of createOrbitCameraController', () => {
|
|
92
|
+
expect(typeof initializeOrbitCameraController).toBe('function');
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
89
96
|
describe('panOrbitCameraController', () => {
|
|
90
97
|
it('slides the target along right (at azimuth 0) and world up', () => {
|
|
91
98
|
const c = createOrbitCameraController();
|
|
@@ -141,7 +148,6 @@ describe('snapOrbitCameraController', () => {
|
|
|
141
148
|
expect(c.polar).toBe(0.5);
|
|
142
149
|
});
|
|
143
150
|
});
|
|
144
|
-
|
|
145
151
|
describe('updateOrbitCameraController', () => {
|
|
146
152
|
it('snaps to the goal when smoothTime is 0 and writes the look-at view', () => {
|
|
147
153
|
const c = createOrbitCameraController({ distance: 10 }); // azimuth 0, polar 0 => eye (0,0,10)
|