@flighthq/camera-controls 0.2.1-next.585.c7219b8 → 0.2.1-next.640.ec2ea9a

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/dist/framing.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { BoundingSphereLike, OrbitCameraController, OrthographicProjection, PerspectiveProjection, Projection } from '@flighthq/types';
2
2
  export declare function frameOrbitCameraControllerToSphere(controller: OrbitCameraController, projection: Projection, sphere: Readonly<BoundingSphereLike>, aspect: number, padding?: number): boolean;
3
- export declare function getPerspectiveFrameDistanceToSphere(projection: Readonly<PerspectiveProjection>, radius: number, aspect: number, padding?: number): number;
3
+ export declare function getPerspectiveProjectionFrameDistanceToSphere(projection: Readonly<PerspectiveProjection>, radius: number, aspect: number, padding?: number): number;
4
4
  export declare function setOrthographicProjectionFrameToSphere(projection: OrthographicProjection, radius: number, aspect: number, padding?: number): void;
5
5
  //# sourceMappingURL=framing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../src/framing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAOzB,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,qBAAqB,EACjC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,GACV,OAAO,CAeT;AAKD,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,GACV,MAAM,CAKR;AAID,wBAAgB,sCAAsC,CACpD,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,GACV,IAAI,CASN"}
1
+ {"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../src/framing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAOzB,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,qBAAqB,EACjC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,GACV,OAAO,CAeT;AAKD,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,GACV,MAAM,CAKR;AAID,wBAAgB,sCAAsC,CACpD,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,SAAI,GACV,IAAI,CASN"}
package/dist/framing.js CHANGED
@@ -8,7 +8,7 @@ export function frameOrbitCameraControllerToSphere(controller, projection, spher
8
8
  if (!(sphere.radius >= 0) || !(aspect > 0) || !(padding > 0))
9
9
  return false;
10
10
  if (projection.kind === 'perspective') {
11
- const distance = getPerspectiveFrameDistanceToSphere(projection, sphere.radius, aspect, padding);
11
+ const distance = getPerspectiveProjectionFrameDistanceToSphere(projection, sphere.radius, aspect, padding);
12
12
  if (!Number.isFinite(distance))
13
13
  return false;
14
14
  controller.goalDistance = clamp(distance, controller.minDistance, controller.maxDistance);
@@ -24,7 +24,7 @@ export function frameOrbitCameraControllerToSphere(controller, projection, spher
24
24
  // Computes the eye-to-center distance that contains a sphere in both dimensions of a perspective
25
25
  // viewport. `padding` is a radius multiplier (1 is tangent). Clip-plane policy remains with the
26
26
  // camera owner and is intentionally not hidden here.
27
- export function getPerspectiveFrameDistanceToSphere(projection, radius, aspect, padding = 1) {
27
+ export function getPerspectiveProjectionFrameDistanceToSphere(projection, radius, aspect, padding = 1) {
28
28
  const paddedRadius = radius * padding;
29
29
  const verticalHalfFov = projection.fovY * 0.5;
30
30
  const horizontalHalfFov = Math.atan(Math.tan(verticalHalfFov) * aspect);
@@ -1 +1 @@
1
- {"version":3,"file":"framing.js","sourceRoot":"","sources":["../src/framing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASvC,qGAAqG;AACrG,+FAA+F;AAC/F,kGAAkG;AAClG,oGAAoG;AACpG,6FAA6F;AAC7F,MAAM,UAAU,kCAAkC,CAChD,UAAiC,EACjC,UAAsB,EACtB,MAAoC,EACpC,MAAc,EACd,OAAO,GAAG,CAAC;IAEX,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3E,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,mCAAmC,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,sCAAsC,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IAED,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iGAAiG;AACjG,gGAAgG;AAChG,qDAAqD;AACrD,MAAM,UAAU,mCAAmC,CACjD,UAA2C,EAC3C,MAAc,EACd,MAAc,EACd,OAAO,GAAG,CAAC;IAEX,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,CAAC;IACxE,OAAO,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,mGAAmG;AACnG,sFAAsF;AACtF,MAAM,UAAU,sCAAsC,CACpD,UAAkC,EAClC,MAAc,EACd,MAAc,EACd,OAAO,GAAG,CAAC;IAEX,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,UAAU,CAAC,UAAU,GAAG,YAAY,CAAC;QACrC,UAAU,CAAC,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;QAC9C,UAAU,CAAC,SAAS,GAAG,YAAY,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"framing.js","sourceRoot":"","sources":["../src/framing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASvC,qGAAqG;AACrG,+FAA+F;AAC/F,kGAAkG;AAClG,oGAAoG;AACpG,6FAA6F;AAC7F,MAAM,UAAU,kCAAkC,CAChD,UAAiC,EACjC,UAAsB,EACtB,MAAoC,EACpC,MAAc,EACd,OAAO,GAAG,CAAC;IAEX,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3E,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,6CAA6C,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,sCAAsC,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IAED,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iGAAiG;AACjG,gGAAgG;AAChG,qDAAqD;AACrD,MAAM,UAAU,6CAA6C,CAC3D,UAA2C,EAC3C,MAAc,EACd,MAAc,EACd,OAAO,GAAG,CAAC;IAEX,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,CAAC;IACxE,OAAO,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,mGAAmG;AACnG,sFAAsF;AACtF,MAAM,UAAU,sCAAsC,CACpD,UAAkC,EAClC,MAAc,EACd,MAAc,EACd,OAAO,GAAG,CAAC;IAEX,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,UAAU,CAAC,UAAU,GAAG,YAAY,CAAC;QACrC,UAAU,CAAC,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;QAC9C,UAAU,CAAC,SAAS,GAAG,YAAY,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -2,11 +2,11 @@ import type { Camera3D, OrbitCameraController, OrbitCameraControllerOptions } fr
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
- export declare function dollyCameraController(controller: OrbitCameraController, deltaDistance: number): void;
6
- export declare function orbitCameraController(controller: OrbitCameraController, deltaAzimuth: number, deltaPolar: number): void;
7
- export declare function panCameraController(controller: OrbitCameraController, deltaRight: number, deltaUp: number): void;
5
+ export declare function dollyOrbitCameraController(controller: OrbitCameraController, deltaDistance: number): void;
6
+ export declare function panOrbitCameraController(controller: OrbitCameraController, deltaRight: number, deltaUp: number): void;
8
7
  export declare function panOrbitCameraControllerInViewPlane(controller: OrbitCameraController, deltaRight: number, deltaUp: number): void;
9
8
  export declare function resetOrbitCameraController(controller: OrbitCameraController, options?: Readonly<OrbitCameraControllerOptions>): void;
9
+ export declare function rotateOrbitCameraController(controller: OrbitCameraController, deltaAzimuth: number, deltaPolar: number): void;
10
10
  export declare function snapOrbitCameraController(controller: OrbitCameraController): void;
11
11
  export declare function updateOrbitCameraController(controller: OrbitCameraController, camera: Camera3D, deltaTime: number): void;
12
12
  //# sourceMappingURL=orbitCameraController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orbitCameraController.d.ts","sourceRoot":"","sources":["../src/orbitCameraController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAGrG,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;AAMD,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAAG,qBAAqB,CAmBnH;AAID,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAMpG;AAKD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,qBAAqB,EACjC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,IAAI,CAGN;AAMD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAOhH;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;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
+ {"version":3,"file":"orbitCameraController.d.ts","sourceRoot":"","sources":["../src/orbitCameraController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAGrG,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;AAMD,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAAG,qBAAqB,CAmBnH;AAID,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAMzG;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"}
@@ -52,21 +52,14 @@ export function createOrbitCameraController(options) {
52
52
  }
53
53
  // Moves the goal distance (dolly / zoom) by `deltaDistance`, clamped to [minDistance, maxDistance].
54
54
  // Negative moves the eye toward the target.
55
- export function dollyCameraController(controller, deltaDistance) {
55
+ export function dollyOrbitCameraController(controller, deltaDistance) {
56
56
  controller.goalDistance = clamp(controller.goalDistance + deltaDistance, controller.minDistance, controller.maxDistance);
57
57
  }
58
- // Moves the goal orbit angles by the given radian deltas: `deltaAzimuth` rotates horizontally
59
- // (unbounded), `deltaPolar` vertically (clamped to [minPolar, maxPolar]). The app maps a pointer drag
60
- // to these; `updateOrbitCameraController` eases the current angles toward the goal.
61
- export function orbitCameraController(controller, deltaAzimuth, deltaPolar) {
62
- controller.goalAzimuth += deltaAzimuth;
63
- controller.goalPolar = clamp(controller.goalPolar + deltaPolar, controller.minPolar, controller.maxPolar);
64
- }
65
58
  // Slides the orbit `target` in a world-up plane: `deltaRight` along the camera's horizontal right axis
66
59
  // (at the current goal azimuth), `deltaUp` along world Y. Because the eye is derived from the target
67
60
  // each update, panning the target pans the whole view. Reads the target into locals before writing so
68
61
  // aliasing is safe.
69
- export function panCameraController(controller, deltaRight, deltaUp) {
62
+ export function panOrbitCameraController(controller, deltaRight, deltaUp) {
70
63
  const cosAzimuth = Math.cos(controller.goalAzimuth);
71
64
  const sinAzimuth = Math.sin(controller.goalAzimuth);
72
65
  const target = controller.target;
@@ -74,7 +67,7 @@ export function panCameraController(controller, deltaRight, deltaUp) {
74
67
  target.y += deltaUp;
75
68
  target.z += -sinAzimuth * deltaRight;
76
69
  }
77
- // Slides the orbit target in the actual camera view plane. Unlike `panCameraController`, `deltaUp`
70
+ // Slides the orbit target in the actual camera view plane. Unlike `panOrbitCameraController`, `deltaUp`
78
71
  // follows screen-up at the goal polar angle, so it can change all three target coordinates.
79
72
  export function panOrbitCameraControllerInViewPlane(controller, deltaRight, deltaUp) {
80
73
  const cosAzimuth = Math.cos(controller.goalAzimuth);
@@ -108,6 +101,13 @@ export function resetOrbitCameraController(controller, options) {
108
101
  controller.target.y = target?.y ?? 0;
109
102
  controller.target.z = target?.z ?? 0;
110
103
  }
104
+ // Moves the goal orbit angles by the given radian deltas: `deltaAzimuth` rotates horizontally
105
+ // (unbounded), `deltaPolar` vertically (clamped to [minPolar, maxPolar]). The app maps a pointer drag
106
+ // to these; `updateOrbitCameraController` eases the current angles toward the goal.
107
+ export function rotateOrbitCameraController(controller, deltaAzimuth, deltaPolar) {
108
+ controller.goalAzimuth += deltaAzimuth;
109
+ controller.goalPolar = clamp(controller.goalPolar + deltaPolar, controller.minPolar, controller.maxPolar);
110
+ }
111
111
  // Snaps current spherical state to the clamped goal without writing a camera.
112
112
  export function snapOrbitCameraController(controller) {
113
113
  controller.azimuth = controller.goalAzimuth;
@@ -1 +1 @@
1
- {"version":3,"file":"orbitCameraController.js","sourceRoot":"","sources":["../src/orbitCameraController.ts"],"names":[],"mappings":"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"}
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.2.1-next.585.c7219b8",
3
+ "version": "0.2.1-next.640.ec2ea9a",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/flighthq/flight.git",
@@ -32,11 +32,11 @@
32
32
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
33
33
  },
34
34
  "dependencies": {
35
- "@flighthq/camera": "0.2.1-next.585.c7219b8",
36
- "@flighthq/entity": "0.2.1-next.585.c7219b8",
37
- "@flighthq/geometry": "0.2.1-next.585.c7219b8",
38
- "@flighthq/math": "0.2.1-next.585.c7219b8",
39
- "@flighthq/types": "0.2.1-next.585.c7219b8"
35
+ "@flighthq/camera": "0.2.1-next.640.ec2ea9a",
36
+ "@flighthq/entity": "0.2.1-next.640.ec2ea9a",
37
+ "@flighthq/geometry": "0.2.1-next.640.ec2ea9a",
38
+ "@flighthq/math": "0.2.1-next.640.ec2ea9a",
39
+ "@flighthq/types": "0.2.1-next.640.ec2ea9a"
40
40
  },
41
41
  "devDependencies": {
42
42
  "typescript": "^5.3.0"
@@ -4,7 +4,7 @@ import { describe, expect, it } from 'vitest';
4
4
 
5
5
  import {
6
6
  frameOrbitCameraControllerToSphere,
7
- getPerspectiveFrameDistanceToSphere,
7
+ getPerspectiveProjectionFrameDistanceToSphere,
8
8
  setOrthographicProjectionFrameToSphere,
9
9
  } from './framing';
10
10
  import { createOrbitCameraController } from './orbitCameraController';
@@ -39,16 +39,18 @@ describe('frameOrbitCameraControllerToSphere', () => {
39
39
  });
40
40
  });
41
41
 
42
- describe('getPerspectiveFrameDistanceToSphere', () => {
42
+ describe('getPerspectiveProjectionFrameDistanceToSphere', () => {
43
43
  it('uses the limiting vertical field for a wide viewport', () => {
44
44
  const projection = createPerspectiveProjection({ aspect: 2, fovY: Math.PI / 2 });
45
- expect(getPerspectiveFrameDistanceToSphere(projection, 2, 2)).toBeCloseTo(2 / Math.sin(Math.PI / 4));
45
+ expect(getPerspectiveProjectionFrameDistanceToSphere(projection, 2, 2)).toBeCloseTo(2 / Math.sin(Math.PI / 4));
46
46
  });
47
47
 
48
48
  it('uses the limiting horizontal field for a tall viewport', () => {
49
49
  const projection = createPerspectiveProjection({ aspect: 0.5, fovY: Math.PI / 2 });
50
50
  const horizontalHalfFov = Math.atan(0.5);
51
- expect(getPerspectiveFrameDistanceToSphere(projection, 2, 0.5)).toBeCloseTo(2 / Math.sin(horizontalHalfFov));
51
+ expect(getPerspectiveProjectionFrameDistanceToSphere(projection, 2, 0.5)).toBeCloseTo(
52
+ 2 / Math.sin(horizontalHalfFov),
53
+ );
52
54
  });
53
55
  });
54
56
 
@@ -7,9 +7,9 @@ import {
7
7
  cloneOrbitCameraController,
8
8
  copyOrbitCameraController,
9
9
  createOrbitCameraController,
10
- dollyCameraController,
11
- orbitCameraController,
12
- panCameraController,
10
+ dollyOrbitCameraController,
11
+ rotateOrbitCameraController,
12
+ panOrbitCameraController,
13
13
  panOrbitCameraControllerInViewPlane,
14
14
  resetOrbitCameraController,
15
15
  snapOrbitCameraController,
@@ -70,31 +70,22 @@ describe('createOrbitCameraController', () => {
70
70
  });
71
71
  });
72
72
 
73
- describe('dollyCameraController', () => {
73
+ describe('dollyOrbitCameraController', () => {
74
74
  it('moves the goal distance, clamped to the range', () => {
75
75
  const c = createOrbitCameraController({ distance: 5, minDistance: 2, maxDistance: 8 });
76
- dollyCameraController(c, 2);
76
+ dollyOrbitCameraController(c, 2);
77
77
  expect(c.goalDistance).toBe(7);
78
- dollyCameraController(c, 100);
78
+ dollyOrbitCameraController(c, 100);
79
79
  expect(c.goalDistance).toBe(8);
80
- dollyCameraController(c, -100);
80
+ dollyOrbitCameraController(c, -100);
81
81
  expect(c.goalDistance).toBe(2);
82
82
  });
83
83
  });
84
84
 
85
- describe('orbitCameraController', () => {
86
- it('adds to the goal angles and clamps polar', () => {
87
- const c = createOrbitCameraController({ minPolar: -1, maxPolar: 1 });
88
- orbitCameraController(c, 0.5, 2);
89
- expect(c.goalAzimuth).toBe(0.5);
90
- expect(c.goalPolar).toBe(1); // clamped
91
- });
92
- });
93
-
94
- describe('panCameraController', () => {
85
+ describe('panOrbitCameraController', () => {
95
86
  it('slides the target along right (at azimuth 0) and world up', () => {
96
87
  const c = createOrbitCameraController();
97
- panCameraController(c, 3, 2);
88
+ panOrbitCameraController(c, 3, 2);
98
89
  expect(c.target.x).toBeCloseTo(3); // right = (cos0, 0, -sin0) = (1,0,0)
99
90
  expect(c.target.y).toBeCloseTo(2);
100
91
  expect(c.target.z).toBeCloseTo(0);
@@ -127,6 +118,15 @@ describe('resetOrbitCameraController', () => {
127
118
  });
128
119
  });
129
120
 
121
+ describe('rotateOrbitCameraController', () => {
122
+ it('adds to the goal angles and clamps polar', () => {
123
+ const c = createOrbitCameraController({ minPolar: -1, maxPolar: 1 });
124
+ rotateOrbitCameraController(c, 0.5, 2);
125
+ expect(c.goalAzimuth).toBe(0.5);
126
+ expect(c.goalPolar).toBe(1); // clamped
127
+ });
128
+ });
129
+
130
130
  describe('snapOrbitCameraController', () => {
131
131
  it('snaps current values to clamped goals', () => {
132
132
  const c = createOrbitCameraController({ maxDistance: 6, maxPolar: 0.5 });
@@ -152,7 +152,7 @@ describe('updateOrbitCameraController', () => {
152
152
 
153
153
  it('eases toward the goal when smoothTime is positive', () => {
154
154
  const c = createOrbitCameraController({ smoothTime: 0.5 });
155
- orbitCameraController(c, 1, 0);
155
+ rotateOrbitCameraController(c, 1, 0);
156
156
  updateOrbitCameraController(c, testCamera(), 0.016);
157
157
  expect(c.azimuth).toBeGreaterThan(0);
158
158
  expect(c.azimuth).toBeLessThan(1); // has not reached the goal in one small step