@flighthq/camera 0.2.1-next.841.373388f → 0.3.0-edge.1516.1b4fb2b
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/basis.d.ts +1 -1
- package/dist/basis.d.ts.map +1 -1
- package/dist/camera.d.ts +2 -2
- package/dist/camera.d.ts.map +1 -1
- package/dist/camera.js +31 -21
- package/dist/camera.js.map +1 -1
- package/dist/camera2d.d.ts +1 -1
- package/dist/camera2d.d.ts.map +1 -1
- package/dist/contract.d.ts +16 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +16 -0
- package/dist/contract.js.map +1 -0
- package/dist/culling.d.ts +1 -1
- package/dist/culling.d.ts.map +1 -1
- package/dist/culling.js +1 -1
- package/dist/culling.js.map +1 -1
- package/dist/depth.d.ts +1 -1
- package/dist/depth.d.ts.map +1 -1
- package/dist/frustumCorners.d.ts +1 -1
- package/dist/frustumCorners.d.ts.map +1 -1
- package/dist/frustumCorners.js +1 -1
- package/dist/frustumCorners.js.map +1 -1
- package/dist/index.d.ts +1 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -15
- package/dist/index.js.map +1 -1
- package/dist/intersection.d.ts +1 -1
- package/dist/intersection.d.ts.map +1 -1
- package/dist/parallax.d.ts +1 -1
- package/dist/parallax.d.ts.map +1 -1
- package/dist/parallax.js +1 -1
- package/dist/parallax.js.map +1 -1
- package/dist/picking.d.ts +1 -1
- package/dist/picking.d.ts.map +1 -1
- package/dist/picking.js +1 -1
- package/dist/picking.js.map +1 -1
- package/dist/projection.d.ts +2 -2
- package/dist/projection.d.ts.map +1 -1
- package/dist/projection.js +1 -1
- package/dist/projection.js.map +1 -1
- package/dist/projection2d.d.ts +1 -1
- package/dist/projection2d.d.ts.map +1 -1
- package/dist/projection2d.js +1 -1
- package/dist/projection2d.js.map +1 -1
- package/dist/shadowCamera.d.ts +1 -1
- package/dist/shadowCamera.d.ts.map +1 -1
- package/dist/viewMatrix.d.ts +1 -1
- package/dist/viewMatrix.d.ts.map +1 -1
- package/dist/viewMatrix.js +1 -1
- package/dist/viewMatrix.js.map +1 -1
- package/dist/visibleBounds.d.ts +1 -1
- package/dist/visibleBounds.d.ts.map +1 -1
- package/dist/visibleBounds.js +1 -1
- package/dist/visibleBounds.js.map +1 -1
- package/dist/zoom.d.ts +1 -1
- package/dist/zoom.d.ts.map +1 -1
- package/dist/zoom.js +1 -1
- package/dist/zoom.js.map +1 -1
- package/package.json +8 -4
- package/src/basis.test.ts +1 -1
- package/src/camera.test.ts +42 -22
- package/src/culling.test.ts +1 -1
- package/src/frustumCorners.test.ts +2 -2
- package/src/intersection.test.ts +1 -1
- package/src/parallax.test.ts +1 -1
- package/src/picking.test.ts +1 -1
- package/src/projection.test.ts +2 -2
- package/src/projection2d.test.ts +1 -1
- package/src/shadowCamera.test.ts +2 -2
- package/src/viewMatrix.test.ts +1 -1
- package/src/visibleBounds.test.ts +1 -1
- package/src/zoom.test.ts +1 -1
package/dist/basis.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera3D, Vector3Like } from '@flighthq/types';
|
|
1
|
+
import type { Camera3D, Vector3Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera3DForward(out: Vector3Like, camera: Readonly<Camera3D>): void;
|
|
3
3
|
export declare function getCamera3DPosition(out: Vector3Like, camera: Readonly<Camera3D>): void;
|
|
4
4
|
export declare function getCamera3DRight(out: Vector3Like, camera: Readonly<Camera3D>): void;
|
package/dist/basis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basis.d.ts","sourceRoot":"","sources":["../src/basis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"basis.d.ts","sourceRoot":"","sources":["../src/basis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAOrF;AAWD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAuBtF;AAMD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAKnF;AAMD,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAKhF"}
|
package/dist/camera.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera3D, Camera3DOptions, Matrix4Like, Vector3Like } from '@flighthq/types';
|
|
1
|
+
import type { Camera3D, Camera3DOptions, Matrix4Like, Vector3Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function createCamera3D(opts: Readonly<Camera3DOptions>): Camera3D;
|
|
3
3
|
export declare function getCamera3DInverseViewProjectionMatrix4(out: Matrix4Like, camera: Readonly<Camera3D>, aspect: number): boolean;
|
|
4
4
|
export declare function getCamera3DViewProjectionMatrix4(out: Matrix4Like, camera: Readonly<Camera3D>, aspect: number): void;
|
|
@@ -6,5 +6,5 @@ export declare function setCamera3DAspect(camera: Camera3D, aspect: number): voi
|
|
|
6
6
|
export declare function setCamera3DJitter(camera: Camera3D, x: number, y: number): void;
|
|
7
7
|
export declare function setCamera3DViewMatrix4FromLookAt(camera: Camera3D, eye: Readonly<Vector3Like>, target: Readonly<Vector3Like>, up: Readonly<Vector3Like>): void;
|
|
8
8
|
export declare function setCamera3DViewMatrix4FromMatrix4(camera: Camera3D, view: Readonly<Matrix4Like>): void;
|
|
9
|
-
export declare function updateCamera3DInverseViewProjection(camera: Camera3D
|
|
9
|
+
export declare function updateCamera3DInverseViewProjection(camera: Readonly<Camera3D>, aspect: number): boolean;
|
|
10
10
|
//# sourceMappingURL=camera.d.ts.map
|
package/dist/camera.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUpG,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CASxE;AASD,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAGT;AAQD,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAInH;AAQD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOxE;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAG9E;AAOD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC1B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC7B,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,GACxB,IAAI,CAEN;AAID,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAErG;AAMD,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIvG"}
|
package/dist/camera.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { createEntity } from '@flighthq/entity';
|
|
2
|
-
import { createMatrix4, createVector2, inverseMatrix4, multiplyMatrix4, setMatrix4LookAt } from '@flighthq/geometry';
|
|
1
|
+
import { createEntity } from '@flighthq/entity/contract';
|
|
2
|
+
import { createMatrix4, createVector2, inverseMatrix4, multiplyMatrix4, setMatrix4LookAt, } from '@flighthq/geometry/contract';
|
|
3
3
|
import { setProjectionMatrix4 } from './projection';
|
|
4
4
|
// Allocates a 3D camera. The camera stores its projection descriptor, a world->view Matrix4
|
|
5
5
|
// (`view`, initialized to identity), the clip-plane distances `near`/`far`, the per-frame
|
|
6
|
-
// sub-pixel NDC `jitter` (
|
|
7
|
-
// `inverseViewProjection`
|
|
8
|
-
//
|
|
9
|
-
//
|
|
6
|
+
// sub-pixel NDC `jitter` (applied to every projection, initialized to zero), and the last
|
|
7
|
+
// `inverseViewProjection` computed for a reconstruction pass (initialized to identity). The view
|
|
8
|
+
// matrix is canonical: the camera has no separate Transform3D — a Matrix4 is the only world->view
|
|
9
|
+
// representation.
|
|
10
10
|
export function createCamera3D(opts) {
|
|
11
11
|
return createEntity({
|
|
12
12
|
far: opts.far,
|
|
@@ -19,12 +19,11 @@ export function createCamera3D(opts) {
|
|
|
19
19
|
}
|
|
20
20
|
// Writes the inverse of the camera's view-projection matrix into `out` and returns true, or
|
|
21
21
|
// returns false (writing NaN into `out`) when the view-projection is non-invertible. `aspect`
|
|
22
|
-
// is the viewport width / height.
|
|
23
|
-
//
|
|
22
|
+
// is the viewport width / height. Skybox and other world-position reconstruction passes use this
|
|
23
|
+
// calculation to refresh Camera3D.inverseViewProjection immediately before consuming it.
|
|
24
24
|
//
|
|
25
25
|
// Reads camera fields into a scratch matrix before writing `out`, so it is safe even if `out`
|
|
26
|
-
// aliases the camera's own `inverseViewProjection` or `view`.
|
|
27
|
-
// `updateCamera3DInverseViewProjection` instead to safely update the cached field.
|
|
26
|
+
// aliases the camera's own `inverseViewProjection` or `view`.
|
|
28
27
|
export function getCamera3DInverseViewProjectionMatrix4(out, camera, aspect) {
|
|
29
28
|
getCamera3DViewProjectionMatrix4(__scratchViewProjection, camera, aspect);
|
|
30
29
|
return inverseMatrix4(out, __scratchViewProjection);
|
|
@@ -37,6 +36,7 @@ export function getCamera3DInverseViewProjectionMatrix4(out, camera, aspect) {
|
|
|
37
36
|
// aliases the camera's own `view`.
|
|
38
37
|
export function getCamera3DViewProjectionMatrix4(out, camera, aspect) {
|
|
39
38
|
setProjectionMatrix4(__scratchProjection, camera.projection, aspect, camera.near, camera.far);
|
|
39
|
+
applyCamera3DProjectionJitter(__scratchProjection, camera.jitter.x, camera.jitter.y);
|
|
40
40
|
multiplyMatrix4(out, __scratchProjection, camera.view);
|
|
41
41
|
}
|
|
42
42
|
// Sets the viewport aspect ratio (width / height) on the camera's projection, in place. For a
|
|
@@ -53,8 +53,8 @@ export function setCamera3DAspect(camera, aspect) {
|
|
|
53
53
|
}
|
|
54
54
|
projection.halfWidth = projection.halfHeight * aspect;
|
|
55
55
|
}
|
|
56
|
-
// Sets the camera's per-frame sub-pixel jitter offset (in NDC), in place.
|
|
57
|
-
//
|
|
56
|
+
// Sets the camera's per-frame sub-pixel jitter offset (in NDC), in place. Every view-projection
|
|
57
|
+
// helper applies it to clip X/Y before the perspective divide.
|
|
58
58
|
export function setCamera3DJitter(camera, x, y) {
|
|
59
59
|
camera.jitter.x = x;
|
|
60
60
|
camera.jitter.y = y;
|
|
@@ -72,20 +72,30 @@ export function setCamera3DViewMatrix4FromLookAt(camera, eye, target, up) {
|
|
|
72
72
|
export function setCamera3DViewMatrix4FromMatrix4(camera, view) {
|
|
73
73
|
camera.view.m.set(view.m);
|
|
74
74
|
}
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
// Call this once per frame after setting the view matrix and before any effects that read
|
|
80
|
-
// camera.inverseViewProjection (TAA, velocity, fog, depth-of-field).
|
|
75
|
+
// Refreshes the camera's required inverse-view-projection cache for the supplied viewport aspect.
|
|
76
|
+
// Returns true on success or false when projection×view is non-invertible, leaving the prior valid
|
|
77
|
+
// cache untouched. Reconstruction consumers call this immediately before reading the field so it
|
|
78
|
+
// cannot silently drift after mutable camera inputs change.
|
|
81
79
|
export function updateCamera3DInverseViewProjection(camera, aspect) {
|
|
82
|
-
// Write into a scratch first so the cache is never clobbered with NaN on failure.
|
|
83
80
|
const ok = getCamera3DInverseViewProjectionMatrix4(__scratchInverse, camera, aspect);
|
|
84
|
-
if (ok)
|
|
81
|
+
if (ok)
|
|
85
82
|
camera.inverseViewProjection.m.set(__scratchInverse.m);
|
|
86
|
-
}
|
|
87
83
|
return ok;
|
|
88
84
|
}
|
|
85
|
+
// Applies an NDC translation to a projection matrix: clip.xy += jitter * clip.w. Expressing it as
|
|
86
|
+
// row operations handles perspective (offset in m[8]/m[9]) and orthographic (m[12]/m[13]) matrices
|
|
87
|
+
// uniformly.
|
|
88
|
+
function applyCamera3DProjectionJitter(out, x, y) {
|
|
89
|
+
const m = out.m;
|
|
90
|
+
m[0] += x * m[3];
|
|
91
|
+
m[4] += x * m[7];
|
|
92
|
+
m[8] += x * m[11];
|
|
93
|
+
m[12] += x * m[15];
|
|
94
|
+
m[1] += y * m[3];
|
|
95
|
+
m[5] += y * m[7];
|
|
96
|
+
m[9] += y * m[11];
|
|
97
|
+
m[13] += y * m[15];
|
|
98
|
+
}
|
|
89
99
|
// Scratch matrices reused by the view-projection helpers. Single-threaded; not re-entrant.
|
|
90
100
|
const __scratchInverse = createMatrix4();
|
|
91
101
|
const __scratchProjection = createMatrix4();
|
package/dist/camera.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,4FAA4F;AAC5F,0FAA0F;AAC1F,0FAA0F;AAC1F,iGAAiG;AACjG,kGAAkG;AAClG,kBAAkB;AAClB,MAAM,UAAU,cAAc,CAAC,IAA+B;IAC5D,OAAO,YAAY,CAAC;QAClB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,qBAAqB,EAAE,aAAa,EAAE;QACtC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,aAAa,EAAE;KACtB,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,8FAA8F;AAC9F,iGAAiG;AACjG,yFAAyF;AACzF,EAAE;AACF,8FAA8F;AAC9F,8DAA8D;AAC9D,MAAM,UAAU,uCAAuC,CACrD,GAAgB,EAChB,MAA0B,EAC1B,MAAc;IAEd,gCAAgC,CAAC,uBAAuB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1E,OAAO,cAAc,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;AACtD,CAAC;AAED,6FAA6F;AAC7F,gGAAgG;AAChG,UAAU;AACV,EAAE;AACF,8FAA8F;AAC9F,mCAAmC;AACnC,MAAM,UAAU,gCAAgC,CAAC,GAAgB,EAAE,MAA0B,EAAE,MAAc;IAC3G,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9F,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrF,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,8FAA8F;AAC9F,iGAAiG;AACjG,iGAAiG;AACjG,+FAA+F;AAC/F,gGAAgG;AAChG,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,MAAc;IAChE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC;AACxD,CAAC;AAED,gGAAgG;AAChG,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,CAAS,EAAE,CAAS;IACtE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,iGAAiG;AACjG,gGAAgG;AAChG,4BAA4B;AAC5B,EAAE;AACF,4FAA4F;AAC5F,MAAM,UAAU,gCAAgC,CAC9C,MAAgB,EAChB,GAA0B,EAC1B,MAA6B,EAC7B,EAAyB;IAEzB,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,kGAAkG;AAClG,qFAAqF;AACrF,MAAM,UAAU,iCAAiC,CAAC,MAAgB,EAAE,IAA2B;IAC7F,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,kGAAkG;AAClG,mGAAmG;AACnG,iGAAiG;AACjG,4DAA4D;AAC5D,MAAM,UAAU,mCAAmC,CAAC,MAA0B,EAAE,MAAc;IAC5F,MAAM,EAAE,GAAG,uCAAuC,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrF,IAAI,EAAE;QAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,kGAAkG;AAClG,mGAAmG;AACnG,aAAa;AACb,SAAS,6BAA6B,CAAC,GAAgB,EAAE,CAAS,EAAE,CAAS;IAC3E,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC;AAED,2FAA2F;AAC3F,MAAM,gBAAgB,GAAG,aAAa,EAAE,CAAC;AACzC,MAAM,mBAAmB,GAAG,aAAa,EAAE,CAAC;AAC5C,MAAM,uBAAuB,GAAG,aAAa,EAAE,CAAC"}
|
package/dist/camera2d.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Camera2D, Camera2DOptions } from '@flighthq/types';
|
|
1
|
+
import type { Camera2D, Camera2DOptions } from '@flighthq/types/contract';
|
|
2
2
|
export declare function createCamera2D(viewportWidth: number, viewportHeight: number, options?: Readonly<Camera2DOptions>): Camera2D;
|
|
3
3
|
//# sourceMappingURL=camera2d.d.ts.map
|
package/dist/camera2d.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera2d.d.ts","sourceRoot":"","sources":["../src/camera2d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"camera2d.d.ts","sourceRoot":"","sources":["../src/camera2d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAM1E,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,QAAQ,CASV"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './basis';
|
|
2
|
+
export * from './camera';
|
|
3
|
+
export * from './camera2d';
|
|
4
|
+
export * from './culling';
|
|
5
|
+
export * from './depth';
|
|
6
|
+
export * from './frustumCorners';
|
|
7
|
+
export * from './intersection';
|
|
8
|
+
export * from './parallax';
|
|
9
|
+
export * from './picking';
|
|
10
|
+
export * from './projection';
|
|
11
|
+
export * from './projection2d';
|
|
12
|
+
export * from './shadowCamera';
|
|
13
|
+
export * from './viewMatrix';
|
|
14
|
+
export * from './visibleBounds';
|
|
15
|
+
export * from './zoom';
|
|
16
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
|
package/dist/contract.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './basis';
|
|
2
|
+
export * from './camera';
|
|
3
|
+
export * from './camera2d';
|
|
4
|
+
export * from './culling';
|
|
5
|
+
export * from './depth';
|
|
6
|
+
export * from './frustumCorners';
|
|
7
|
+
export * from './intersection';
|
|
8
|
+
export * from './parallax';
|
|
9
|
+
export * from './picking';
|
|
10
|
+
export * from './projection';
|
|
11
|
+
export * from './projection2d';
|
|
12
|
+
export * from './shadowCamera';
|
|
13
|
+
export * from './viewMatrix';
|
|
14
|
+
export * from './visibleBounds';
|
|
15
|
+
export * from './zoom';
|
|
16
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
|
package/dist/culling.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AabbLike, BoundingSphereLike, Camera3D, FrustumLike, Vector3Like } from '@flighthq/types';
|
|
1
|
+
import type { AabbLike, BoundingSphereLike, Camera3D, FrustumLike, Vector3Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera3DFrustum(out: FrustumLike, camera: Readonly<Camera3D>, aspect: number): void;
|
|
3
3
|
export declare function isBoxInCamera3DFrustum(camera: Readonly<Camera3D>, aabb: Readonly<AabbLike>, aspect: number): boolean;
|
|
4
4
|
export declare function isPointInCamera3DFrustum(camera: Readonly<Camera3D>, point: Readonly<Vector3Like>, aspect: number): boolean;
|
package/dist/culling.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"culling.d.ts","sourceRoot":"","sources":["../src/culling.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"culling.d.ts","sourceRoot":"","sources":["../src/culling.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAYjH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAGrG;AAOD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGpH;AAID,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAGT;AAID,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAGT"}
|
package/dist/culling.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createFrustum, createMatrix4, isFrustumContainingPoint, isFrustumIntersectingAabb, isFrustumIntersectingSphere, setFrustumFromMatrix4, } from '@flighthq/geometry';
|
|
1
|
+
import { createFrustum, createMatrix4, isFrustumContainingPoint, isFrustumIntersectingAabb, isFrustumIntersectingSphere, setFrustumFromMatrix4, } from '@flighthq/geometry/contract';
|
|
2
2
|
import { getCamera3DViewProjectionMatrix4 } from './camera';
|
|
3
3
|
// Extracts the six clip planes of the camera's view frustum into `out` and returns true.
|
|
4
4
|
// The planes are normalized with inward-pointing normals (the convention used by geometry's
|
package/dist/culling.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"culling.js","sourceRoot":"","sources":["../src/culling.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"culling.js","sourceRoot":"","sources":["../src/culling.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAE5D,yFAAyF;AACzF,4FAA4F;AAC5F,uFAAuF;AACvF,uCAAuC;AACvC,EAAE;AACF,8FAA8F;AAC9F,2GAA2G;AAC3G,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,GAAgB,EAAE,MAA0B,EAAE,MAAc;IAC7F,gCAAgC,CAAC,uBAAuB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1E,qBAAqB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;AACtD,CAAC;AAED,0FAA0F;AAC1F,6FAA6F;AAC7F,EAAE;AACF,2FAA2F;AAC3F,2FAA2F;AAC3F,MAAM,UAAU,sBAAsB,CAAC,MAA0B,EAAE,IAAwB,EAAE,MAAc;IACzG,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,yBAAyB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,wEAAwE;AACxE,uCAAuC;AACvC,MAAM,UAAU,wBAAwB,CACtC,MAA0B,EAC1B,KAA4B,EAC5B,MAAc;IAEd,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,wBAAwB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,wFAAwF;AACxF,+FAA+F;AAC/F,MAAM,UAAU,yBAAyB,CACvC,MAA0B,EAC1B,MAAoC,EACpC,MAAc;IAEd,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,2BAA2B,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,wEAAwE;AACxE,MAAM,uBAAuB,GAAG,aAAa,EAAE,CAAC;AAChD,MAAM,gBAAgB,GAAG,aAAa,EAAE,CAAC"}
|
package/dist/depth.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera3D } from '@flighthq/types';
|
|
1
|
+
import type { Camera3D } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera3DLinearDepth(camera: Readonly<Camera3D>, ndcZ: number): number;
|
|
3
3
|
export declare function getCamera3DViewSpaceZ(camera: Readonly<Camera3D>, ndcZ: number): number;
|
|
4
4
|
//# sourceMappingURL=depth.d.ts.map
|
package/dist/depth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../src/depth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../src/depth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAazD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBvF;AAOD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtF"}
|
package/dist/frustumCorners.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Camera3D, Vector3Like } from '@flighthq/types';
|
|
1
|
+
import type { Camera3D, Vector3Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera3DFrustumCorners(out: [Vector3Like, Vector3Like, Vector3Like, Vector3Like, Vector3Like, Vector3Like, Vector3Like, Vector3Like], camera: Readonly<Camera3D>, aspect: number): boolean;
|
|
3
3
|
//# sourceMappingURL=frustumCorners.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frustumCorners.d.ts","sourceRoot":"","sources":["../src/frustumCorners.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"frustumCorners.d.ts","sourceRoot":"","sources":["../src/frustumCorners.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAoBtE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,EAC7G,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAyCT"}
|
package/dist/frustumCorners.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMatrix4, inverseMatrix4 } from '@flighthq/geometry';
|
|
1
|
+
import { createMatrix4, inverseMatrix4 } from '@flighthq/geometry/contract';
|
|
2
2
|
import { getCamera3DViewProjectionMatrix4 } from './camera';
|
|
3
3
|
// Writes the 8 world-space corners of the camera frustum into `out` (a length-8 array of
|
|
4
4
|
// Vector3Like) and returns true. Returns false (leaving `out` untouched) when the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frustumCorners.js","sourceRoot":"","sources":["../src/frustumCorners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"frustumCorners.js","sourceRoot":"","sources":["../src/frustumCorners.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './camera';
|
|
3
|
-
export * from './camera2d';
|
|
4
|
-
export * from './culling';
|
|
5
|
-
export * from './depth';
|
|
6
|
-
export * from './frustumCorners';
|
|
7
|
-
export * from './intersection';
|
|
8
|
-
export * from './parallax';
|
|
9
|
-
export * from './picking';
|
|
10
|
-
export * from './projection';
|
|
11
|
-
export * from './projection2d';
|
|
12
|
-
export * from './shadowCamera';
|
|
13
|
-
export * from './viewMatrix';
|
|
14
|
-
export * from './visibleBounds';
|
|
15
|
-
export * from './zoom';
|
|
1
|
+
export { configureDirectionalShadowCamera3D, configureDirectionalShadowCamera3DTightFit, createCamera2D, createCamera3D, createOrthographicProjection, createPerspectiveProjection, getCamera2DParallaxPoint, getCamera2DViewMatrix, getCamera2DVisibleBounds, getCamera3DForward, getCamera3DFrustum, getCamera3DFrustumCorners, getCamera3DInverseViewProjectionMatrix4, getCamera3DLinearDepth, getCamera3DPosition, getCamera3DRayThroughBoundingSphere, getCamera3DRight, getCamera3DScreenToWorldRay, getCamera3DUp, getCamera3DViewProjectionMatrix4, getCamera3DViewSpaceZ, getCamera3DWorldToScreen, intersectCamera3DRayWithPlane, isBoxInCamera3DFrustum, isOrthographicProjection, isPerspectiveProjection, isPointInCamera3DFrustum, isSphereInCamera3DFrustum, projectCamera2DPoint, setCamera3DAspect, setCamera3DJitter, setCamera3DViewMatrix4FromLookAt, setCamera3DViewMatrix4FromMatrix4, setProjectionMatrix4, unprojectCamera2DPoint, updateCamera3DInverseViewProjection, zoomCamera2DAtScreenPoint, } from './contract';
|
|
16
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,0CAA0C,EAC1C,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,uCAAuC,EACvC,sBAAsB,EACtB,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,gCAAgC,EAChC,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,gCAAgC,EAChC,iCAAiC,EACjC,oBAAoB,EACpB,sBAAsB,EACtB,mCAAmC,EACnC,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './camera';
|
|
3
|
-
export * from './camera2d';
|
|
4
|
-
export * from './culling';
|
|
5
|
-
export * from './depth';
|
|
6
|
-
export * from './frustumCorners';
|
|
7
|
-
export * from './intersection';
|
|
8
|
-
export * from './parallax';
|
|
9
|
-
export * from './picking';
|
|
10
|
-
export * from './projection';
|
|
11
|
-
export * from './projection2d';
|
|
12
|
-
export * from './shadowCamera';
|
|
13
|
-
export * from './viewMatrix';
|
|
14
|
-
export * from './visibleBounds';
|
|
15
|
-
export * from './zoom';
|
|
1
|
+
export { configureDirectionalShadowCamera3D, configureDirectionalShadowCamera3DTightFit, createCamera2D, createCamera3D, createOrthographicProjection, createPerspectiveProjection, getCamera2DParallaxPoint, getCamera2DViewMatrix, getCamera2DVisibleBounds, getCamera3DForward, getCamera3DFrustum, getCamera3DFrustumCorners, getCamera3DInverseViewProjectionMatrix4, getCamera3DLinearDepth, getCamera3DPosition, getCamera3DRayThroughBoundingSphere, getCamera3DRight, getCamera3DScreenToWorldRay, getCamera3DUp, getCamera3DViewProjectionMatrix4, getCamera3DViewSpaceZ, getCamera3DWorldToScreen, intersectCamera3DRayWithPlane, isBoxInCamera3DFrustum, isOrthographicProjection, isPerspectiveProjection, isPointInCamera3DFrustum, isSphereInCamera3DFrustum, projectCamera2DPoint, setCamera3DAspect, setCamera3DJitter, setCamera3DViewMatrix4FromLookAt, setCamera3DViewMatrix4FromMatrix4, setProjectionMatrix4, unprojectCamera2DPoint, updateCamera3DInverseViewProjection, zoomCamera2DAtScreenPoint, } from './contract';
|
|
16
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,0CAA0C,EAC1C,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,uCAAuC,EACvC,sBAAsB,EACtB,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,gCAAgC,EAChC,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,gCAAgC,EAChC,iCAAiC,EACjC,oBAAoB,EACpB,sBAAsB,EACtB,mCAAmC,EACnC,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
|
package/dist/intersection.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BoundingSphereLike, Camera3D, PlaneLike, Ray3DLike, Vector3Like } from '@flighthq/types';
|
|
1
|
+
import type { BoundingSphereLike, Camera3D, PlaneLike, Ray3DLike, Vector3Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera3DRayThroughBoundingSphere(out: Ray3DLike, camera: Readonly<Camera3D>, sphere: Readonly<BoundingSphereLike>, aspect: number): boolean;
|
|
3
3
|
export declare function intersectCamera3DRayWithPlane(out: Vector3Like, ray: Readonly<Ray3DLike>, plane: Readonly<PlaneLike>): boolean;
|
|
4
4
|
//# sourceMappingURL=intersection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../src/intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../src/intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAiBhH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAUT;AAgBD,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GACzB,OAAO,CA0BT"}
|
package/dist/parallax.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Camera2D, Vector2Like } from '@flighthq/types';
|
|
1
|
+
import type { Camera2D, Vector2Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera2DParallaxPoint(camera: Readonly<Camera2D>, factor: number, out: Vector2Like): void;
|
|
3
3
|
//# sourceMappingURL=parallax.d.ts.map
|
package/dist/parallax.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallax.d.ts","sourceRoot":"","sources":["../src/parallax.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parallax.d.ts","sourceRoot":"","sources":["../src/parallax.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAkBtE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAI3G"}
|
package/dist/parallax.js
CHANGED
package/dist/parallax.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallax.js","sourceRoot":"","sources":["../src/parallax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parallax.js","sourceRoot":"","sources":["../src/parallax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,2FAA2F;AAC3F,EAAE;AACF,mGAAmG;AACnG,sGAAsG;AACtG,sGAAsG;AACtG,6BAA6B;AAC7B,EAAE;AACF,qFAAqF;AACrF,kGAAkG;AAClG,uCAAuC;AACvC,kGAAkG;AAClG,EAAE;AACF,gGAAgG;AAChG,gCAAgC;AAChC,MAAM,UAAU,wBAAwB,CAAC,MAA0B,EAAE,MAAc,EAAE,GAAgB;IACnG,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;IACjE,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;AACpE,CAAC;AAED,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC"}
|
package/dist/picking.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera3D, Ray3DLike, Vector3Like } from '@flighthq/types';
|
|
1
|
+
import type { Camera3D, Ray3DLike, Vector3Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera3DScreenToWorldRay(out: Ray3DLike, camera: Readonly<Camera3D>, ndcX: number, ndcY: number, aspect: number): boolean;
|
|
3
3
|
export declare function getCamera3DWorldToScreen(out: Vector3Like, camera: Readonly<Camera3D>, worldPoint: Readonly<Vector3Like>, aspect: number): boolean;
|
|
4
4
|
//# sourceMappingURL=picking.d.ts.map
|
package/dist/picking.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking.d.ts","sourceRoot":"","sources":["../src/picking.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"picking.d.ts","sourceRoot":"","sources":["../src/picking.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAcjF,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CA8CT;AAUD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAkBT"}
|
package/dist/picking.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMatrix4, createVector3, inverseMatrix4, normalizeVector3, subtractVector3 } from '@flighthq/geometry';
|
|
1
|
+
import { createMatrix4, createVector3, inverseMatrix4, normalizeVector3, subtractVector3, } from '@flighthq/geometry/contract';
|
|
2
2
|
import { getCamera3DViewProjectionMatrix4 } from './camera';
|
|
3
3
|
// Writes the world-space ray from the camera through an NDC screen point (ndcX, ndcY) into
|
|
4
4
|
// `out` and returns true, or returns false (leaving `out` untouched) when the view-projection
|
package/dist/picking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking.js","sourceRoot":"","sources":["../src/picking.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"picking.js","sourceRoot":"","sources":["../src/picking.ts"],"names":[],"mappings":"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"}
|
package/dist/projection.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Matrix4Like } from '@flighthq/types';
|
|
2
|
-
import type { OrthographicProjection, OrthographicProjectionOptions, PerspectiveProjection, PerspectiveProjectionOptions, Projection } from '@flighthq/types';
|
|
1
|
+
import type { Matrix4Like } from '@flighthq/types/contract';
|
|
2
|
+
import type { OrthographicProjection, OrthographicProjectionOptions, PerspectiveProjection, PerspectiveProjectionOptions, Projection } from '@flighthq/types/contract';
|
|
3
3
|
export declare function createOrthographicProjection(opts: Readonly<OrthographicProjectionOptions>): OrthographicProjection;
|
|
4
4
|
export declare function createPerspectiveProjection(opts: Readonly<PerspectiveProjectionOptions>): PerspectiveProjection;
|
|
5
5
|
export declare function isOrthographicProjection(projection: Readonly<Projection>): projection is OrthographicProjection;
|
package/dist/projection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,UAAU,EACX,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,6BAA6B,CAAC,GAAG,sBAAsB,CAMlH;AAID,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAAG,qBAAqB,CAM/G;AAGD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,sBAAsB,CAE/G;AAGD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,qBAAqB,CAE7G;AAUD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,IAAI,CAWN"}
|
package/dist/projection.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setOrthographicMatrix4, setPerspectiveMatrix4 } from '@flighthq/geometry';
|
|
1
|
+
import { setOrthographicMatrix4, setPerspectiveMatrix4 } from '@flighthq/geometry/contract';
|
|
2
2
|
// Builds an orthographic projection descriptor from explicit view-volume half-extents (in
|
|
3
3
|
// view-space units). The full visible width is 2*halfWidth and height 2*halfHeight; the
|
|
4
4
|
// clip-plane distances live on the owning Camera3D, not the projection.
|
package/dist/projection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAU5F,0FAA0F;AAC1F,wFAAwF;AACxF,wEAAwE;AACxE,MAAM,UAAU,4BAA4B,CAAC,IAA6C;IACxF,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,cAAc;KACrB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,gGAAgG;AAChG,MAAM,UAAU,2BAA2B,CAAC,IAA4C;IACtF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,wBAAwB,CAAC,UAAgC;IACvE,OAAO,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC;AAC5C,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,UAAgC;IACtE,OAAO,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC;AAC3C,CAAC;AAED,iGAAiG;AACjG,uFAAuF;AACvF,iGAAiG;AACjG,iGAAiG;AACjG,6CAA6C;AAC7C,EAAE;AACF,4FAA4F;AAC5F,yCAAyC;AACzC,MAAM,UAAU,oBAAoB,CAClC,GAAgB,EAChB,UAAgC,EAChC,MAAc,EACd,IAAY,EACZ,GAAW;IAEX,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,0FAA0F;QAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QACpD,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,sBAAsB,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACzF,CAAC"}
|
package/dist/projection2d.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera2D, Vector2Like } from '@flighthq/types';
|
|
1
|
+
import type { Camera2D, Vector2Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function projectCamera2DPoint(camera: Readonly<Camera2D>, worldX: number, worldY: number, out: Vector2Like): void;
|
|
3
3
|
export declare function unprojectCamera2DPoint(camera: Readonly<Camera2D>, screenX: number, screenY: number, out: Vector2Like): void;
|
|
4
4
|
//# sourceMappingURL=projection2d.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection2d.d.ts","sourceRoot":"","sources":["../src/projection2d.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"projection2d.d.ts","sourceRoot":"","sources":["../src/projection2d.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMtE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,GACf,IAAI,CAGN;AAKD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,WAAW,GACf,IAAI,CAGN"}
|
package/dist/projection2d.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMatrix, inverseMatrixTransformPointXY, matrixTransformPointXY } from '@flighthq/geometry';
|
|
1
|
+
import { createMatrix, inverseMatrixTransformPointXY, matrixTransformPointXY } from '@flighthq/geometry/contract';
|
|
2
2
|
import { getCamera2DViewMatrix } from './viewMatrix';
|
|
3
3
|
// Projects a world point to its screen position through the camera's view matrix and writes the
|
|
4
4
|
// result to `out` (world -> screen). The inverse is `unprojectCamera2DPoint`.
|
package/dist/projection2d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection2d.js","sourceRoot":"","sources":["../src/projection2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"projection2d.js","sourceRoot":"","sources":["../src/projection2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGlH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,gGAAgG;AAChG,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAClC,MAA0B,EAC1B,MAAc,EACd,MAAc,EACd,GAAgB;IAEhB,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,8FAA8F;AAC9F,wFAAwF;AACxF,0BAA0B;AAC1B,MAAM,UAAU,sBAAsB,CACpC,MAA0B,EAC1B,OAAe,EACf,OAAe,EACf,GAAgB;IAEhB,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,6BAA6B,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC"}
|
package/dist/shadowCamera.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AabbLike, Camera3D, Vector3Like } from '@flighthq/types';
|
|
1
|
+
import type { AabbLike, Camera3D, Vector3Like } from '@flighthq/types/contract';
|
|
2
2
|
export declare function configureDirectionalShadowCamera3D(camera: Camera3D, lightDirection: Readonly<Vector3Like>, sceneBounds: Readonly<AabbLike>): void;
|
|
3
3
|
export declare function configureDirectionalShadowCamera3DTightFit(camera: Camera3D, lightDirection: Readonly<Vector3Like>, worldBounds: Readonly<AabbLike>, padding?: number): void;
|
|
4
4
|
//# sourceMappingURL=shadowCamera.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowCamera.d.ts","sourceRoot":"","sources":["../src/shadowCamera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"shadowCamera.d.ts","sourceRoot":"","sources":["../src/shadowCamera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAahF,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,QAAQ,EAChB,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,EACrC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC9B,IAAI,CA8BN;AAWD,wBAAgB,0CAA0C,CACxD,MAAM,EAAE,QAAQ,EAChB,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,EACrC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC/B,OAAO,SAAI,GACV,IAAI,CAgEN"}
|
package/dist/viewMatrix.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Camera2D, MatrixLike } from '@flighthq/types';
|
|
1
|
+
import type { Camera2D, MatrixLike } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera2DViewMatrix(camera: Readonly<Camera2D>, out: MatrixLike): void;
|
|
3
3
|
//# sourceMappingURL=viewMatrix.d.ts.map
|
package/dist/viewMatrix.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewMatrix.d.ts","sourceRoot":"","sources":["../src/viewMatrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"viewMatrix.d.ts","sourceRoot":"","sources":["../src/viewMatrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAcrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAIvF"}
|
package/dist/viewMatrix.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setTransformMatrix, translateMatrixByVectorXY } from '@flighthq/geometry';
|
|
1
|
+
import { setTransformMatrix, translateMatrixByVectorXY } from '@flighthq/geometry/contract';
|
|
2
2
|
// Writes the camera's world->screen affine into `out`.
|
|
3
3
|
//
|
|
4
4
|
// Composition order (outermost transform applied last to a world point):
|
package/dist/viewMatrix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewMatrix.js","sourceRoot":"","sources":["../src/viewMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"viewMatrix.js","sourceRoot":"","sources":["../src/viewMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAG5F,uDAAuD;AACvD,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,qGAAqG;AACrG,EAAE;AACF,kGAAkG;AAClG,iGAAiG;AACjG,wFAAwF;AACxF,mGAAmG;AACnG,oGAAoG;AACpG,sEAAsE;AACtE,MAAM,UAAU,qBAAqB,CAAC,MAA0B,EAAE,GAAe;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;IAC/G,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC"}
|
package/dist/visibleBounds.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Camera2D, RectangleLike } from '@flighthq/types';
|
|
1
|
+
import type { Camera2D, RectangleLike } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getCamera2DVisibleBounds(camera: Readonly<Camera2D>, out: RectangleLike): void;
|
|
3
3
|
//# sourceMappingURL=visibleBounds.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibleBounds.d.ts","sourceRoot":"","sources":["../src/visibleBounds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"visibleBounds.d.ts","sourceRoot":"","sources":["../src/visibleBounds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAUxE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAI7F"}
|
package/dist/visibleBounds.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMatrix, inverseMatrix, matrixTransformBounds } from '@flighthq/geometry';
|
|
1
|
+
import { createMatrix, inverseMatrix, matrixTransformBounds } from '@flighthq/geometry/contract';
|
|
2
2
|
import { getCamera2DViewMatrix } from './viewMatrix';
|
|
3
3
|
// Writes the axis-aligned world rectangle the viewport currently covers into `out` — the conservative
|
|
4
4
|
// cull bound that feeds `@flighthq/spatial` / the renderer's cull. Computed by unprojecting the four
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibleBounds.js","sourceRoot":"","sources":["../src/visibleBounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"visibleBounds.js","sourceRoot":"","sources":["../src/visibleBounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,sGAAsG;AACtG,qGAAqG;AACrG,oGAAoG;AACpG,+FAA+F;AAC/F,kGAAkG;AAClG,gEAAgE;AAChE,MAAM,UAAU,wBAAwB,CAAC,MAA0B,EAAE,GAAkB;IACrF,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC7C,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,cAAc,GAAG,YAAY,EAAE,CAAC;AACtC,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC"}
|
package/dist/zoom.d.ts
CHANGED
package/dist/zoom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../src/zoom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../src/zoom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAWzD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMhH"}
|
package/dist/zoom.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createVector2 } from '@flighthq/geometry';
|
|
1
|
+
import { createVector2 } from '@flighthq/geometry/contract';
|
|
2
2
|
import { unprojectCamera2DPoint } from './projection2d';
|
|
3
3
|
// Sets the camera's `zoom` while keeping the world point currently under `(screenX, screenY)` fixed
|
|
4
4
|
// on screen (zoom-to-cursor). Because the view's linear part depends only on zoom and rotation (not
|
package/dist/zoom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom.js","sourceRoot":"","sources":["../src/zoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"zoom.js","sourceRoot":"","sources":["../src/zoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,oGAAoG;AACpG,oGAAoG;AACpG,+FAA+F;AAC/F,2FAA2F;AAC3F,EAAE;AACF,sGAAsG;AACtG,kEAAkE;AAClE,MAAM,UAAU,yBAAyB,CAAC,MAAgB,EAAE,OAAe,EAAE,OAAe,EAAE,IAAY;IACxG,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AACrC,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/camera",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-edge.1516.1b4fb2b",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./contract": {
|
|
18
|
+
"types": "./dist/contract.d.ts",
|
|
19
|
+
"default": "./dist/contract.js"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"files": [
|
|
@@ -32,9 +36,9 @@
|
|
|
32
36
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
33
37
|
},
|
|
34
38
|
"dependencies": {
|
|
35
|
-
"@flighthq/entity": "0.
|
|
36
|
-
"@flighthq/geometry": "0.
|
|
37
|
-
"@flighthq/types": "0.
|
|
39
|
+
"@flighthq/entity": "0.3.0-edge.1516.1b4fb2b",
|
|
40
|
+
"@flighthq/geometry": "0.3.0-edge.1516.1b4fb2b",
|
|
41
|
+
"@flighthq/types": "0.3.0-edge.1516.1b4fb2b"
|
|
38
42
|
},
|
|
39
43
|
"devDependencies": {
|
|
40
44
|
"typescript": "^5.3.0"
|
package/src/basis.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createVector3 } from '@flighthq/geometry';
|
|
1
|
+
import { createVector3 } from '@flighthq/geometry/contract';
|
|
2
2
|
|
|
3
3
|
import { getCamera3DForward, getCamera3DPosition, getCamera3DRight, getCamera3DUp } from './basis';
|
|
4
4
|
import { createCamera3D, setCamera3DViewMatrix4FromLookAt } from './camera';
|
package/src/camera.test.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
createMatrix4,
|
|
3
|
+
createVector3,
|
|
4
|
+
inverseMatrix4,
|
|
5
|
+
multiplyMatrix4,
|
|
6
|
+
setMatrix4LookAt,
|
|
7
|
+
} from '@flighthq/geometry/contract';
|
|
2
8
|
|
|
3
9
|
import {
|
|
4
10
|
createCamera3D,
|
|
@@ -83,6 +89,23 @@ describe('getCamera3DViewProjectionMatrix4', () => {
|
|
|
83
89
|
}
|
|
84
90
|
});
|
|
85
91
|
|
|
92
|
+
it('applies the camera jitter as an NDC projection offset', () => {
|
|
93
|
+
const camera = createCamera3D({
|
|
94
|
+
far: 100,
|
|
95
|
+
near: 0.1,
|
|
96
|
+
projection: createPerspectiveProjection({ aspect: 1, fovY: 1 }),
|
|
97
|
+
});
|
|
98
|
+
const base = createMatrix4();
|
|
99
|
+
getCamera3DViewProjectionMatrix4(base, camera, 1);
|
|
100
|
+
|
|
101
|
+
setCamera3DJitter(camera, 0.25, -0.5);
|
|
102
|
+
const jittered = createMatrix4();
|
|
103
|
+
getCamera3DViewProjectionMatrix4(jittered, camera, 1);
|
|
104
|
+
|
|
105
|
+
expect(jittered.m[8]).toBeCloseTo(base.m[8] - 0.25);
|
|
106
|
+
expect(jittered.m[9]).toBeCloseTo(base.m[9] + 0.5);
|
|
107
|
+
});
|
|
108
|
+
|
|
86
109
|
it('is safe when out aliases the camera view', () => {
|
|
87
110
|
const projection = createPerspectiveProjection({ aspect: 1, fovY: 1 });
|
|
88
111
|
const camera = createCamera3D({ far: 100, near: 0.1, projection });
|
|
@@ -175,35 +198,32 @@ describe('setCamera3DViewMatrix4FromMatrix4', () => {
|
|
|
175
198
|
});
|
|
176
199
|
|
|
177
200
|
describe('updateCamera3DInverseViewProjection', () => {
|
|
178
|
-
it('
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
201
|
+
it('refreshes the required cache from the jittered projection', () => {
|
|
202
|
+
const camera = createCamera3D({
|
|
203
|
+
far: 100,
|
|
204
|
+
near: 0.1,
|
|
205
|
+
projection: createPerspectiveProjection({ aspect: 1, fovY: 1 }),
|
|
206
|
+
});
|
|
207
|
+
setCamera3DJitter(camera, 0.25, -0.5);
|
|
208
|
+
expect(updateCamera3DInverseViewProjection(camera, 1.5)).toBe(true);
|
|
185
209
|
|
|
186
|
-
// Compute expected inverse independently.
|
|
187
210
|
const vp = createMatrix4();
|
|
188
211
|
getCamera3DViewProjectionMatrix4(vp, camera, 1.5);
|
|
189
212
|
const expected = createMatrix4();
|
|
190
213
|
inverseMatrix4(expected, vp);
|
|
191
|
-
|
|
192
|
-
for (let i = 0; i < 16; i++) {
|
|
193
|
-
expect(camera.inverseViewProjection.m[i]).toBeCloseTo(expected.m[i]);
|
|
194
|
-
}
|
|
214
|
+
for (let i = 0; i < 16; i++) expect(camera.inverseViewProjection.m[i]).toBeCloseTo(expected.m[i]);
|
|
195
215
|
});
|
|
196
216
|
|
|
197
|
-
it('
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
217
|
+
it('leaves the last valid cache untouched for a non-invertible projection', () => {
|
|
218
|
+
const camera = createCamera3D({
|
|
219
|
+
far: 100,
|
|
220
|
+
near: 0.1,
|
|
221
|
+
projection: createPerspectiveProjection({ aspect: 1, fovY: 1 }),
|
|
222
|
+
});
|
|
203
223
|
camera.inverseViewProjection.m[0] = 42;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
expect(
|
|
224
|
+
camera.near = 1;
|
|
225
|
+
camera.far = 1;
|
|
226
|
+
expect(updateCamera3DInverseViewProjection(camera, 1)).toBe(false);
|
|
207
227
|
expect(camera.inverseViewProjection.m[0]).toBe(42);
|
|
208
228
|
});
|
|
209
229
|
});
|
package/src/culling.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createAabb, createBoundingSphere, createFrustum, createVector3 } from '@flighthq/geometry';
|
|
1
|
+
import { createAabb, createBoundingSphere, createFrustum, createVector3 } from '@flighthq/geometry/contract';
|
|
2
2
|
|
|
3
3
|
import { createCamera3D, setCamera3DViewMatrix4FromLookAt } from './camera';
|
|
4
4
|
import {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createVector3 } from '@flighthq/geometry';
|
|
2
|
-
import type { Vector3Like } from '@flighthq/types';
|
|
1
|
+
import { createVector3 } from '@flighthq/geometry/contract';
|
|
2
|
+
import type { Vector3Like } from '@flighthq/types/contract';
|
|
3
3
|
|
|
4
4
|
import { createCamera3D, setCamera3DViewMatrix4FromLookAt } from './camera';
|
|
5
5
|
import { getCamera3DFrustumCorners } from './frustumCorners';
|
package/src/intersection.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createBoundingSphere, createPlane, createRay3D, createVector3 } from '@flighthq/geometry';
|
|
1
|
+
import { createBoundingSphere, createPlane, createRay3D, createVector3 } from '@flighthq/geometry/contract';
|
|
2
2
|
|
|
3
3
|
import { createCamera3D, setCamera3DViewMatrix4FromLookAt } from './camera';
|
|
4
4
|
import { getCamera3DRayThroughBoundingSphere, intersectCamera3DRayWithPlane } from './intersection';
|
package/src/parallax.test.ts
CHANGED
package/src/picking.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createRay3D, createVector3 } from '@flighthq/geometry';
|
|
1
|
+
import { createRay3D, createVector3 } from '@flighthq/geometry/contract';
|
|
2
2
|
|
|
3
3
|
import { createCamera3D, setCamera3DViewMatrix4FromLookAt } from './camera';
|
|
4
4
|
import { getCamera3DScreenToWorldRay, getCamera3DWorldToScreen } from './picking';
|
package/src/projection.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createMatrix4, createPerspectiveMatrix4, setOrthographicMatrix4 } from '@flighthq/geometry';
|
|
2
|
-
import type { OrthographicProjection, PerspectiveProjection } from '@flighthq/types';
|
|
1
|
+
import { createMatrix4, createPerspectiveMatrix4, setOrthographicMatrix4 } from '@flighthq/geometry/contract';
|
|
2
|
+
import type { OrthographicProjection, PerspectiveProjection } from '@flighthq/types/contract';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
createOrthographicProjection,
|
package/src/projection2d.test.ts
CHANGED
package/src/shadowCamera.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createAabb } from '@flighthq/geometry';
|
|
2
|
-
import type { OrthographicProjection } from '@flighthq/types';
|
|
1
|
+
import { createAabb } from '@flighthq/geometry/contract';
|
|
2
|
+
import type { OrthographicProjection } from '@flighthq/types/contract';
|
|
3
3
|
|
|
4
4
|
import { createCamera3D } from './camera';
|
|
5
5
|
import { createPerspectiveProjection } from './projection';
|
package/src/viewMatrix.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMatrix, createVector2, matrixTransformPointXY } from '@flighthq/geometry';
|
|
1
|
+
import { createMatrix, createVector2, matrixTransformPointXY } from '@flighthq/geometry/contract';
|
|
2
2
|
import { describe, expect, it } from 'vitest';
|
|
3
3
|
|
|
4
4
|
import { createCamera2D } from './camera2d';
|
package/src/zoom.test.ts
CHANGED