@idetik/core 0.40.0 → 0.40.2
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/assets/worker_kernel-CBlE4MBI.js.map +1 -1
- package/dist/index.d.ts +1717 -381
- package/dist/index.js +981 -193
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +32 -32
- package/dist/index.umd.cjs.map +1 -1
- package/dist/types/src/core/channel.d.ts +7 -1
- package/dist/types/src/core/channel.d.ts.map +1 -1
- package/dist/types/src/core/image_source_policy.d.ts +4 -4
- package/dist/types/src/core/image_source_policy.d.ts.map +1 -1
- package/dist/types/src/core/layer.d.ts +136 -21
- package/dist/types/src/core/layer.d.ts.map +1 -1
- package/dist/types/src/core/renderable_object.d.ts +108 -3
- package/dist/types/src/core/renderable_object.d.ts.map +1 -1
- package/dist/types/src/core/viewport.d.ts +82 -2
- package/dist/types/src/core/viewport.d.ts.map +1 -1
- package/dist/types/src/data/chunk.d.ts +37 -2
- package/dist/types/src/data/chunk.d.ts.map +1 -1
- package/dist/types/src/data/chunk_manager.d.ts +5 -0
- package/dist/types/src/data/chunk_manager.d.ts.map +1 -1
- package/dist/types/src/data/ome_zarr/image_source.d.ts +56 -13
- package/dist/types/src/data/ome_zarr/image_source.d.ts.map +1 -1
- package/dist/types/src/data/ome_zarr/metadata_loaders.d.ts +4 -4
- package/dist/types/src/data/ome_zarr/metadata_loaders.d.ts.map +1 -1
- package/dist/types/src/idetik.d.ts +129 -59
- package/dist/types/src/idetik.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +29 -8
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/layers/axes_layer.d.ts +30 -5
- package/dist/types/src/layers/axes_layer.d.ts.map +1 -1
- package/dist/types/src/layers/image_layer.d.ts +106 -12
- package/dist/types/src/layers/image_layer.d.ts.map +1 -1
- package/dist/types/src/layers/label_layer.d.ts +106 -5
- package/dist/types/src/layers/label_layer.d.ts.map +1 -1
- package/dist/types/src/layers/point_picking.d.ts +7 -2
- package/dist/types/src/layers/point_picking.d.ts.map +1 -1
- package/dist/types/src/layers/volume_layer.d.ts +87 -5
- package/dist/types/src/layers/volume_layer.d.ts.map +1 -1
- package/dist/types/src/math/axes.d.ts +3 -0
- package/dist/types/src/math/axes.d.ts.map +1 -1
- package/dist/types/src/math/box2.d.ts +34 -4
- package/dist/types/src/math/box2.d.ts.map +1 -1
- package/dist/types/src/math/box3.d.ts +38 -4
- package/dist/types/src/math/box3.d.ts.map +1 -1
- package/dist/types/src/math/color.d.ts +49 -2
- package/dist/types/src/math/color.d.ts.map +1 -1
- package/dist/types/src/math/frustum.d.ts +28 -0
- package/dist/types/src/math/frustum.d.ts.map +1 -1
- package/dist/types/src/math/transforms.d.ts +57 -0
- package/dist/types/src/math/transforms.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/camera.d.ts +55 -0
- package/dist/types/src/objects/cameras/camera.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/controls.d.ts +88 -1
- package/dist/types/src/objects/cameras/controls.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/orbit_controls.d.ts +56 -1
- package/dist/types/src/objects/cameras/orbit_controls.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/orthographic_camera.d.ts +90 -13
- package/dist/types/src/objects/cameras/orthographic_camera.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/perspective_camera.d.ts +65 -3
- package/dist/types/src/objects/cameras/perspective_camera.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/image_renderable.d.ts +48 -3
- package/dist/types/src/objects/renderable/image_renderable.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/label_image_renderable.d.ts +66 -4
- package/dist/types/src/objects/renderable/label_image_renderable.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/points_renderable.d.ts +47 -2
- package/dist/types/src/objects/renderable/points_renderable.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/projected_line_renderable.d.ts +27 -3
- package/dist/types/src/objects/renderable/projected_line_renderable.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/volume_renderable.d.ts +63 -3
- package/dist/types/src/objects/renderable/volume_renderable.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,18 +1,52 @@
|
|
|
1
1
|
import { mat4, vec3 } from "gl-matrix";
|
|
2
|
+
/**
|
|
3
|
+
* Axis-aligned bounding box defined by minimum and maximum corners.
|
|
4
|
+
*
|
|
5
|
+
* Box3 represents a 3D region bounded by two corners: `min` and `max`. It
|
|
6
|
+
* is used for spatial queries, culling tests, intersection checks, and
|
|
7
|
+
* computing bounding volumes. A default-constructed box is empty and
|
|
8
|
+
* intersection treats boxes as half-open intervals.
|
|
9
|
+
*
|
|
10
|
+
* @group Math
|
|
11
|
+
*/
|
|
2
12
|
export declare class Box3 {
|
|
13
|
+
/** Minimum corner of the box. */
|
|
3
14
|
min: vec3;
|
|
15
|
+
/** Maximum corner of the box. */
|
|
4
16
|
max: vec3;
|
|
5
17
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
18
|
+
* Creates a box from optional corner points. The corners are cloned.
|
|
19
|
+
* When a corner is omitted the box starts empty.
|
|
20
|
+
*
|
|
21
|
+
* @param min - The minimum corner.
|
|
22
|
+
* @param max - The maximum corner.
|
|
10
23
|
*/
|
|
11
24
|
constructor(min?: vec3, max?: vec3);
|
|
25
|
+
/** Returns a deep copy of the box. */
|
|
12
26
|
clone(): Box3;
|
|
27
|
+
/** Returns `true` when the box encloses no volume. */
|
|
13
28
|
isEmpty(): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Tests whether two boxes overlap. Boxes are treated as half-open
|
|
31
|
+
* intervals so touching faces do not count as overlap.
|
|
32
|
+
*
|
|
33
|
+
* @param a - The first box.
|
|
34
|
+
* @param b - The second box.
|
|
35
|
+
*/
|
|
14
36
|
static intersects(a: Box3, b: Box3): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Grows the box in place to contain the given point.
|
|
39
|
+
*
|
|
40
|
+
* @param p - The point to include.
|
|
41
|
+
*/
|
|
15
42
|
expandWithPoint(p: vec3): void;
|
|
43
|
+
/**
|
|
44
|
+
* Transforms the box in place by the given matrix. The result is the
|
|
45
|
+
* axis-aligned box of the eight transformed corners so the box can grow
|
|
46
|
+
* under rotation.
|
|
47
|
+
*
|
|
48
|
+
* @param matrix - The transform to apply.
|
|
49
|
+
*/
|
|
16
50
|
applyTransform(matrix: mat4): void;
|
|
17
51
|
}
|
|
18
52
|
//# sourceMappingURL=box3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box3.d.ts","sourceRoot":"","sources":["../../../../src/math/box3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,qBAAa,IAAI;
|
|
1
|
+
{"version":3,"file":"box3.d.ts","sourceRoot":"","sources":["../../../../src/math/box3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;GASG;AACH,qBAAa,IAAI;IACf,iCAAiC;IAC1B,GAAG,EAAE,IAAI,CAAC;IACjB,iCAAiC;IAC1B,GAAG,EAAE,IAAI,CAAC;IAEjB;;;;;;OAMG;gBACS,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI;IASlC,sCAAsC;IAC/B,KAAK;IAIZ,sDAAsD;IAC/C,OAAO,IAAI,OAAO;IAQzB;;;;;;OAMG;WACW,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO;IAOnD;;;;OAIG;IACI,eAAe,CAAC,CAAC,EAAE,IAAI;IAS9B;;;;;;OAMG;IACI,cAAc,CAAC,MAAM,EAAE,IAAI;CAuBnC"}
|
|
@@ -1,28 +1,75 @@
|
|
|
1
1
|
import { vec3, vec4 } from "gl-matrix";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* A value convertible to {@link Color}.
|
|
4
|
+
*/
|
|
3
5
|
export type ColorLike = Color | vec3 | vec4 | string;
|
|
4
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Immutable RGBA color with components in `[0, 1]`.
|
|
8
|
+
*
|
|
9
|
+
* Color represents an RGBA value with four components. It is used for channel
|
|
10
|
+
* tints, label color maps, and wireframe overlays. Components are validated
|
|
11
|
+
* at construction and never change. Every API that takes a color accepts a
|
|
12
|
+
* {@link ColorLike} so hex strings and component arrays coerce automatically
|
|
13
|
+
* through {@link from}. Common colors are available as static presets.
|
|
14
|
+
*
|
|
15
|
+
* @group Math
|
|
16
|
+
*/
|
|
5
17
|
export declare class Color {
|
|
18
|
+
/** Opaque red `#ff0000`. */
|
|
6
19
|
static readonly RED: Color;
|
|
20
|
+
/** Opaque green `#00ff00`. */
|
|
7
21
|
static readonly GREEN: Color;
|
|
22
|
+
/** Opaque blue `#0000ff`. */
|
|
8
23
|
static readonly BLUE: Color;
|
|
24
|
+
/** Opaque yellow `#ffff00`. */
|
|
9
25
|
static readonly YELLOW: Color;
|
|
26
|
+
/** Opaque magenta `#ff00ff`. */
|
|
10
27
|
static readonly MAGENTA: Color;
|
|
28
|
+
/** Opaque cyan `#00ffff`. */
|
|
11
29
|
static readonly CYAN: Color;
|
|
30
|
+
/** Opaque black `#000000`. */
|
|
12
31
|
static readonly BLACK: Color;
|
|
32
|
+
/** Opaque white `#ffffff`. */
|
|
13
33
|
static readonly WHITE: Color;
|
|
34
|
+
/** Fully transparent black. */
|
|
14
35
|
static readonly TRANSPARENT: Color;
|
|
15
36
|
private readonly rgba_;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a color from RGBA components in `[0, 1]`.
|
|
39
|
+
*
|
|
40
|
+
* @param r - The red component.
|
|
41
|
+
* @param g - The green component.
|
|
42
|
+
* @param b - The blue component.
|
|
43
|
+
* @param a - The alpha component. Defaults to `1`.
|
|
44
|
+
*/
|
|
16
45
|
constructor(r: number, g: number, b: number, a?: number);
|
|
46
|
+
/** The RGB components as a three-element array. */
|
|
17
47
|
get rgb(): [number, number, number];
|
|
48
|
+
/** The RGBA components as a four-element array. */
|
|
18
49
|
get rgba(): readonly [number, number, number, number];
|
|
50
|
+
/** The red component. */
|
|
19
51
|
get r(): number;
|
|
52
|
+
/** The green component. */
|
|
20
53
|
get g(): number;
|
|
54
|
+
/** The blue component. */
|
|
21
55
|
get b(): number;
|
|
56
|
+
/** The alpha component. */
|
|
22
57
|
get a(): number;
|
|
58
|
+
/** The color as a `#rrggbb` hex string. Alpha is dropped. */
|
|
23
59
|
get rgbHex(): string;
|
|
60
|
+
/** The color packed into a 32-bit integer as RGBA bytes. */
|
|
24
61
|
get packed(): number;
|
|
62
|
+
/**
|
|
63
|
+
* Converts a {@link ColorLike} value to a `Color`.
|
|
64
|
+
*
|
|
65
|
+
* @param colorLike - The value to convert.
|
|
66
|
+
*/
|
|
25
67
|
static from(colorLike: ColorLike): Color;
|
|
68
|
+
/**
|
|
69
|
+
* Parses a `#rrggbb` hex string into an opaque color.
|
|
70
|
+
*
|
|
71
|
+
* @param hex - The hex string with or without the leading `#`.
|
|
72
|
+
*/
|
|
26
73
|
static fromRgbHex(hex: string): Color;
|
|
27
74
|
private toHexComponent;
|
|
28
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../src/math/color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../src/math/color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAErD;;;;;;;;;;GAUG;AACH,qBAAa,KAAK;IAChB,4BAA4B;IAC5B,gBAAuB,GAAG,EAAE,KAAK,CAA4B;IAC7D,8BAA8B;IAC9B,gBAAuB,KAAK,EAAE,KAAK,CAA4B;IAC/D,6BAA6B;IAC7B,gBAAuB,IAAI,EAAE,KAAK,CAA4B;IAC9D,+BAA+B;IAC/B,gBAAuB,MAAM,EAAE,KAAK,CAA4B;IAChE,gCAAgC;IAChC,gBAAuB,OAAO,EAAE,KAAK,CAA4B;IACjE,6BAA6B;IAC7B,gBAAuB,IAAI,EAAE,KAAK,CAA4B;IAC9D,8BAA8B;IAC9B,gBAAuB,KAAK,EAAE,KAAK,CAA4B;IAC/D,8BAA8B;IAC9B,gBAAuB,KAAK,EAAE,KAAK,CAA4B;IAC/D,+BAA+B;IAC/B,gBAAuB,WAAW,EAAE,KAAK,CAAiC;IAG1E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4C;IAElE;;;;;;;OAOG;gBACS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM;IAUvD,mDAAmD;IACnD,IAAW,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAEzC;IAED,mDAAmD;IACnD,IAAW,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAE3D;IAED,yBAAyB;IACzB,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,2BAA2B;IAC3B,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,0BAA0B;IAC1B,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,2BAA2B;IAC3B,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,6DAA6D;IAC7D,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,4DAA4D;IAC5D,IAAW,MAAM,IAAI,MAAM,CAO1B;IAED;;;;OAIG;WACW,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK;IAgB/C;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAa5C,OAAO,CAAC,cAAc;CAMvB"}
|
|
@@ -1,9 +1,37 @@
|
|
|
1
1
|
import { Box3 } from "./box3";
|
|
2
2
|
import { mat4 } from "gl-matrix";
|
|
3
|
+
/**
|
|
4
|
+
* Camera view frustum defined by six world-space planes.
|
|
5
|
+
*
|
|
6
|
+
* Frustum represents the visible region of a camera as six bounding
|
|
7
|
+
* planes. It is used for culling tests and visibility checks against
|
|
8
|
+
* bounding boxes. The planes are extracted from a view-projection matrix
|
|
9
|
+
* and normalized so distances are in world units.
|
|
10
|
+
*
|
|
11
|
+
* @group Math
|
|
12
|
+
*/
|
|
3
13
|
export declare class Frustum {
|
|
4
14
|
private readonly planes_;
|
|
15
|
+
/**
|
|
16
|
+
* Creates a frustum from a view-projection matrix.
|
|
17
|
+
*
|
|
18
|
+
* @param m - The combined view-projection matrix.
|
|
19
|
+
*/
|
|
5
20
|
constructor(m: mat4);
|
|
21
|
+
/**
|
|
22
|
+
* Re-extracts the six planes from a view-projection matrix.
|
|
23
|
+
*
|
|
24
|
+
* @param m - The combined view-projection matrix.
|
|
25
|
+
*/
|
|
6
26
|
setWithViewProjection(m: mat4): void;
|
|
27
|
+
/**
|
|
28
|
+
* Tests whether a box is at least partly inside the frustum. The test
|
|
29
|
+
* is conservative. A box outside the frustum but near a corner can be
|
|
30
|
+
* reported as intersecting, which only costs a draw of an offscreen
|
|
31
|
+
* object.
|
|
32
|
+
*
|
|
33
|
+
* @param box - The world-space box to test.
|
|
34
|
+
*/
|
|
7
35
|
intersectsWithBox3(box: Box3): boolean;
|
|
8
36
|
}
|
|
9
37
|
//# sourceMappingURL=frustum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frustum.d.ts","sourceRoot":"","sources":["../../../../src/math/frustum.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAQ,MAAM,WAAW,CAAC;AAEvC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;
|
|
1
|
+
{"version":3,"file":"frustum.d.ts","sourceRoot":"","sources":["../../../../src/math/frustum.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAQ,MAAM,WAAW,CAAC;AAEvC;;;;;;;;;GASG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAErE;;;;OAIG;gBACS,CAAC,EAAE,IAAI;IAcnB;;;;OAIG;IACI,qBAAqB,CAAC,CAAC,EAAE,IAAI;IA0CpC;;;;;;;OAOG;IACI,kBAAkB,CAAC,GAAG,EAAE,IAAI;CAWpC"}
|
|
@@ -1,21 +1,78 @@
|
|
|
1
1
|
import { mat4, vec3, quat } from "gl-matrix";
|
|
2
|
+
/**
|
|
3
|
+
* Transform defined by translation, rotation, and scale components.
|
|
4
|
+
*
|
|
5
|
+
* TRS transform represents a placement in world space composed as
|
|
6
|
+
* translation times rotation times scale. It is used to position cameras
|
|
7
|
+
* and renderable objects through their `transform` property. The matrix
|
|
8
|
+
* is computed lazily and cached.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* const transform = camera.transform;
|
|
12
|
+
* transform.setTranslation([0, 0, radius]);
|
|
13
|
+
* transform.targetTo([0, 0, 0]);
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @group Math
|
|
17
|
+
*/
|
|
2
18
|
export declare class TrsTransform {
|
|
3
19
|
private dirty_;
|
|
4
20
|
private matrix_;
|
|
5
21
|
private rotation_;
|
|
6
22
|
private translation_;
|
|
7
23
|
private scale_;
|
|
24
|
+
/**
|
|
25
|
+
* Composes the given rotation onto the current rotation.
|
|
26
|
+
*
|
|
27
|
+
* @param q - The rotation to apply.
|
|
28
|
+
*/
|
|
8
29
|
addRotation(q: quat): void;
|
|
30
|
+
/**
|
|
31
|
+
* Replaces the rotation with the given quaternion.
|
|
32
|
+
*
|
|
33
|
+
* @param q - The new rotation.
|
|
34
|
+
*/
|
|
9
35
|
setRotation(q: quat): void;
|
|
36
|
+
/** A copy of the rotation quaternion. */
|
|
10
37
|
get rotation(): import("gl-matrix").vec4;
|
|
38
|
+
/**
|
|
39
|
+
* Adds the given offset to the translation.
|
|
40
|
+
*
|
|
41
|
+
* @param vec - The offset to add.
|
|
42
|
+
*/
|
|
11
43
|
addTranslation(vec: vec3): void;
|
|
44
|
+
/**
|
|
45
|
+
* Replaces the translation with the given vector.
|
|
46
|
+
*
|
|
47
|
+
* @param vec - The new translation.
|
|
48
|
+
*/
|
|
12
49
|
setTranslation(vec: vec3): void;
|
|
50
|
+
/** A copy of the translation vector. */
|
|
13
51
|
get translation(): vec3;
|
|
52
|
+
/**
|
|
53
|
+
* Multiplies the scale componentwise by the given vector.
|
|
54
|
+
*
|
|
55
|
+
* @param vec - The scale factors to apply.
|
|
56
|
+
*/
|
|
14
57
|
addScale(vec: vec3): void;
|
|
58
|
+
/**
|
|
59
|
+
* Replaces the scale with the given vector.
|
|
60
|
+
*
|
|
61
|
+
* @param vec - The new scale.
|
|
62
|
+
*/
|
|
15
63
|
setScale(vec: vec3): void;
|
|
64
|
+
/**
|
|
65
|
+
* Rotates the transform to face the given target point. Uses `+Y` as
|
|
66
|
+
* world up.
|
|
67
|
+
*
|
|
68
|
+
* @param target - The world-space point to face.
|
|
69
|
+
*/
|
|
16
70
|
targetTo(target: vec3): void;
|
|
71
|
+
/** A copy of the scale vector. */
|
|
17
72
|
get scale(): vec3;
|
|
73
|
+
/** The composed transform matrix. Recomputed when stale. */
|
|
18
74
|
get matrix(): mat4;
|
|
75
|
+
/** The inverse of the composed transform matrix. */
|
|
19
76
|
get inverse(): mat4;
|
|
20
77
|
private computeMatrix;
|
|
21
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../src/math/transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,IAAI,EAAE,IAAI,EAAY,MAAM,WAAW,CAAC;AAK7D,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,MAAM,CAA4B;
|
|
1
|
+
{"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../src/math/transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,IAAI,EAAE,IAAI,EAAY,MAAM,WAAW,CAAC;AAK7D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,MAAM,CAA4B;IAE1C;;;;OAIG;IACI,WAAW,CAAC,CAAC,EAAE,IAAI;IAK1B;;;;OAIG;IACI,WAAW,CAAC,CAAC,EAAE,IAAI;IAK1B,yCAAyC;IACzC,IAAW,QAAQ,6BAElB;IAED;;;;OAIG;IACI,cAAc,CAAC,GAAG,EAAE,IAAI;IAK/B;;;;OAIG;IACI,cAAc,CAAC,GAAG,EAAE,IAAI;IAK/B,wCAAwC;IACxC,IAAW,WAAW,SAErB;IAED;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,IAAI;IAKzB;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,IAAI;IAKzB;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,IAAI;IAgB5B,kCAAkC;IAClC,IAAW,KAAK,SAEf;IAED,4DAA4D;IAC5D,IAAW,MAAM,SAMhB;IAED,oDAAoD;IACpD,IAAW,OAAO,SAEjB;IAED,OAAO,CAAC,aAAa;CAQtB"}
|
|
@@ -2,26 +2,81 @@ import { Node } from "../../core/node";
|
|
|
2
2
|
import { Frustum } from "../../math/frustum";
|
|
3
3
|
import { TrsTransform } from "../../math/transforms";
|
|
4
4
|
import { mat4, vec3 } from "gl-matrix";
|
|
5
|
+
/** Identifies a concrete camera implementation. */
|
|
5
6
|
export type CameraType = "OrthographicCamera" | "PerspectiveCamera";
|
|
7
|
+
/**
|
|
8
|
+
* Abstract base class for cameras.
|
|
9
|
+
*
|
|
10
|
+
* A camera pairs a world-space transform with a projection, producing the
|
|
11
|
+
* view and projection matrices used to render a viewport. The concrete
|
|
12
|
+
* cameras, {@link OrthographicCamera} and {@link PerspectiveCamera}, define
|
|
13
|
+
* the projection. This class provides the shared transform, derived
|
|
14
|
+
* matrices, and navigation helpers.
|
|
15
|
+
*
|
|
16
|
+
* @group Cameras
|
|
17
|
+
*/
|
|
6
18
|
export declare abstract class Camera extends Node {
|
|
7
19
|
private readonly transform_;
|
|
20
|
+
/** @hidden */
|
|
8
21
|
protected projectionMatrix_: mat4;
|
|
22
|
+
/** @hidden */
|
|
9
23
|
protected near_: number;
|
|
24
|
+
/** @hidden */
|
|
10
25
|
protected far_: number;
|
|
26
|
+
/** @hidden */
|
|
11
27
|
protected abstract updateProjectionMatrix(): void;
|
|
28
|
+
/** Identifies the camera type. */
|
|
12
29
|
abstract get type(): CameraType;
|
|
30
|
+
/** Recomputes the camera's projection matrix. */
|
|
13
31
|
update(): void;
|
|
32
|
+
/** The camera's projection matrix. */
|
|
14
33
|
get projectionMatrix(): mat4;
|
|
34
|
+
/** The camera's world-space transform. */
|
|
15
35
|
get transform(): TrsTransform;
|
|
36
|
+
/** The view matrix: the inverse of the camera's world transform. */
|
|
16
37
|
get viewMatrix(): mat4;
|
|
38
|
+
/** The camera's local right axis in world space. */
|
|
17
39
|
get right(): vec3;
|
|
40
|
+
/** The camera's local up axis in world space. */
|
|
18
41
|
get up(): vec3;
|
|
42
|
+
/**
|
|
43
|
+
* Computes the combined view-projection matrix.
|
|
44
|
+
*
|
|
45
|
+
* @returns The projection matrix multiplied by the view matrix.
|
|
46
|
+
*/
|
|
19
47
|
getViewProjection(): mat4;
|
|
48
|
+
/** The view frustum derived from the current view-projection. */
|
|
20
49
|
get frustum(): Frustum;
|
|
50
|
+
/**
|
|
51
|
+
* Sets the aspect ratio (width / height) of the viewport the camera
|
|
52
|
+
* renders into. Called automatically by the owning viewport when it
|
|
53
|
+
* resizes.
|
|
54
|
+
*
|
|
55
|
+
* @param aspectRatio - The viewport's width divided by its height.
|
|
56
|
+
*/
|
|
21
57
|
abstract setAspectRatio(aspectRatio: number): void;
|
|
58
|
+
/**
|
|
59
|
+
* Zooms the view by the given factor relative to the current zoom level.
|
|
60
|
+
* Factors greater than `1` zoom in and factors between `0` and `1` zoom
|
|
61
|
+
* out.
|
|
62
|
+
*
|
|
63
|
+
* @param factor - The magnification factor to apply.
|
|
64
|
+
*/
|
|
22
65
|
abstract zoom(factor: number): void;
|
|
66
|
+
/**
|
|
67
|
+
* Moves the camera by the given world-space offset.
|
|
68
|
+
*
|
|
69
|
+
* @param vec - The translation to add to the camera's position.
|
|
70
|
+
*/
|
|
23
71
|
pan(vec: vec3): void;
|
|
72
|
+
/** The camera's world-space position. */
|
|
24
73
|
get position(): vec3;
|
|
74
|
+
/**
|
|
75
|
+
* Transforms a position from clip space to world space.
|
|
76
|
+
*
|
|
77
|
+
* @param position - The clip-space position to transform.
|
|
78
|
+
* @returns The corresponding world-space position.
|
|
79
|
+
*/
|
|
25
80
|
clipToWorld(position: vec3): vec3;
|
|
26
81
|
}
|
|
27
82
|
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAQ,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAEpE,8BAAsB,MAAO,SAAQ,IAAI;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,SAAS,CAAC,iBAAiB,OAAiB;IAC5C,SAAS,CAAC,KAAK,SAAK;IACpB,SAAS,CAAC,IAAI,SAAK;IAEnB,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IAEjD,aAAoB,IAAI,IAAI,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAQ,MAAM,WAAW,CAAC;AAE7C,mDAAmD;AACnD,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,8BAAsB,MAAO,SAAQ,IAAI;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,cAAc;IACd,SAAS,CAAC,iBAAiB,OAAiB;IAC5C,cAAc;IACd,SAAS,CAAC,KAAK,SAAK;IACpB,cAAc;IACd,SAAS,CAAC,IAAI,SAAK;IAEnB,cAAc;IACd,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IAEjD,kCAAkC;IAClC,aAAoB,IAAI,IAAI,UAAU,CAAC;IAEvC,iDAAiD;IAC1C,MAAM;IAIb,sCAAsC;IACtC,IAAI,gBAAgB,SAEnB;IAED,0CAA0C;IAC1C,IAAW,SAAS,iBAEnB;IAED,oEAAoE;IACpE,IAAI,UAAU,SAEb;IAED,oDAAoD;IACpD,IAAI,KAAK,SAGR;IAED,iDAAiD;IACjD,IAAI,EAAE,SAGL;IAED;;;;OAIG;IACI,iBAAiB,IAAI,IAAI;IAIhC,iEAAiE;IACjE,IAAI,OAAO,YAEV;IAED;;;;;;OAMG;aACa,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAEzD;;;;;;OAMG;aACa,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAE1C;;;;OAIG;IACI,GAAG,CAAC,GAAG,EAAE,IAAI;IAIpB,yCAAyC;IACzC,IAAW,QAAQ,SAElB;IAED;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;CAoBzC"}
|
|
@@ -1,18 +1,105 @@
|
|
|
1
1
|
import { OrthographicCamera } from "./orthographic_camera";
|
|
2
2
|
import { EventContext } from "../../core/event_dispatcher";
|
|
3
|
+
/**
|
|
4
|
+
* The contract between a viewport and its camera controls.
|
|
5
|
+
*
|
|
6
|
+
* Implement this interface to drive a camera with custom input logic and
|
|
7
|
+
* assign it to a viewport through its `cameraControls` property. The
|
|
8
|
+
* viewport passes pointer and wheel events to `onEvent` unless a layer
|
|
9
|
+
* stops propagation.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* class ClickToZoomControls implements CameraControls {
|
|
13
|
+
* constructor(private camera: OrthographicCamera) {}
|
|
14
|
+
*
|
|
15
|
+
* get isMoving() {
|
|
16
|
+
* return false;
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* onUpdate(dt: number) {}
|
|
20
|
+
*
|
|
21
|
+
* onEvent(event: EventContext) {
|
|
22
|
+
* if (event.type === "pointerdown") this.camera.zoom(2);
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* viewport.cameraControls = new ClickToZoomControls(camera);
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @group Controls
|
|
30
|
+
*/
|
|
3
31
|
export interface CameraControls {
|
|
32
|
+
/**
|
|
33
|
+
* Whether the camera is in motion from user interaction. Layers may
|
|
34
|
+
* read this to reduce rendering quality while the view changes.
|
|
35
|
+
*/
|
|
4
36
|
readonly isMoving: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Advances time-based motion such as damping. Called automatically by
|
|
39
|
+
* the render loop.
|
|
40
|
+
*
|
|
41
|
+
* @param dt - Time since the last frame in seconds.
|
|
42
|
+
*/
|
|
5
43
|
onUpdate(dt: number): void;
|
|
44
|
+
/**
|
|
45
|
+
* Handles a pointer or wheel event. Called automatically by the owning
|
|
46
|
+
* viewport unless a layer stops propagation.
|
|
47
|
+
*
|
|
48
|
+
* @param event - The event with clip and world coordinates attached.
|
|
49
|
+
*/
|
|
6
50
|
onEvent(event: EventContext): void;
|
|
7
51
|
}
|
|
8
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* Camera controls for 2D pan and zoom with an orthographic camera.
|
|
54
|
+
*
|
|
55
|
+
* Dragging with the left mouse button pans the view and the scroll wheel
|
|
56
|
+
* zooms around the cursor, keeping the point under the pointer fixed.
|
|
57
|
+
* Movement applies immediately with no inertia or damping.
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* const camera = new OrthographicCamera({
|
|
61
|
+
* left: 0,
|
|
62
|
+
* right: 1024,
|
|
63
|
+
* top: 0,
|
|
64
|
+
* bottom: 1024,
|
|
65
|
+
* });
|
|
66
|
+
*
|
|
67
|
+
* const idetik = new Idetik({
|
|
68
|
+
* canvas,
|
|
69
|
+
* viewports: [{
|
|
70
|
+
* camera,
|
|
71
|
+
* layers: [imageLayer],
|
|
72
|
+
* cameraControls: new PanZoomControls(camera),
|
|
73
|
+
* }],
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @group Controls
|
|
78
|
+
*/
|
|
9
79
|
export declare class PanZoomControls implements CameraControls {
|
|
10
80
|
private readonly camera_;
|
|
11
81
|
private dragActive_;
|
|
12
82
|
private dragStart_;
|
|
83
|
+
/**
|
|
84
|
+
* Creates pan and zoom controls for the given camera.
|
|
85
|
+
*
|
|
86
|
+
* @param camera - The orthographic camera to control.
|
|
87
|
+
*/
|
|
13
88
|
constructor(camera: OrthographicCamera);
|
|
89
|
+
/** Whether a pan drag is in progress. */
|
|
14
90
|
get isMoving(): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Handles a pointer or wheel event. Called automatically by the owning
|
|
93
|
+
* viewport unless a layer stops propagation.
|
|
94
|
+
*
|
|
95
|
+
* @param event - The event with clip and world coordinates attached.
|
|
96
|
+
*/
|
|
15
97
|
onEvent(event: EventContext): void;
|
|
98
|
+
/**
|
|
99
|
+
* Does nothing. Pan and zoom apply immediately with no inertia.
|
|
100
|
+
*
|
|
101
|
+
* @param _delta - Time since the last frame in seconds. Unused.
|
|
102
|
+
*/
|
|
16
103
|
onUpdate(_delta: number): void;
|
|
17
104
|
private onWheel;
|
|
18
105
|
private onPointerDown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/controls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/controls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;OAIG;gBACS,MAAM,EAAE,kBAAkB;IAItC,yCAAyC;IACzC,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;;;;OAKG;IACI,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAkBzC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM;IAE9B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;CAQrB"}
|
|
@@ -2,14 +2,46 @@ import { CameraControls } from "./controls";
|
|
|
2
2
|
import { EventContext } from "../../core/event_dispatcher";
|
|
3
3
|
import { PerspectiveCamera } from "./perspective_camera";
|
|
4
4
|
import { vec3 } from "gl-matrix";
|
|
5
|
+
/**
|
|
6
|
+
* Initialization properties for constructing orbit controls.
|
|
7
|
+
*/
|
|
5
8
|
export type OrbitControlsProps = {
|
|
9
|
+
/** Distance from the target in world units. Defaults to `1`. */
|
|
6
10
|
radius?: number;
|
|
11
|
+
/** Initial azimuth angle in radians. Defaults to `0`. */
|
|
7
12
|
yaw?: number;
|
|
13
|
+
/** Initial elevation angle in radians. Defaults to `0`. */
|
|
8
14
|
pitch?: number;
|
|
15
|
+
/** The point the camera orbits. Defaults to the origin. */
|
|
9
16
|
target?: vec3;
|
|
17
|
+
/** Velocity decay rate between `0` and `1`. Defaults to `0.5`. */
|
|
10
18
|
dampingFactor?: number;
|
|
11
19
|
};
|
|
12
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Camera controls for orbiting a perspective camera around a target.
|
|
22
|
+
*
|
|
23
|
+
* Dragging with the left mouse button orbits, dragging with `Shift` held
|
|
24
|
+
* or with the middle button pans the target, and the scroll wheel zooms by
|
|
25
|
+
* changing the orbit radius. Input adds velocity that damping decays over time.
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
28
|
+
* const camera = new PerspectiveCamera({ near: 1.0 });
|
|
29
|
+
*
|
|
30
|
+
* const idetik = new Idetik({
|
|
31
|
+
* canvas,
|
|
32
|
+
* viewports: [{
|
|
33
|
+
* camera,
|
|
34
|
+
* layers: [volumeLayer],
|
|
35
|
+
* cameraControls: new OrbitControls(camera, {
|
|
36
|
+
* radius: 100,
|
|
37
|
+
* target: [40, 40, 10],
|
|
38
|
+
* }),
|
|
39
|
+
* }],
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @group Controls
|
|
44
|
+
*/
|
|
13
45
|
export declare class OrbitControls implements CameraControls {
|
|
14
46
|
private readonly camera_;
|
|
15
47
|
private readonly orbitVelocity_;
|
|
@@ -18,13 +50,36 @@ export declare class OrbitControls implements CameraControls {
|
|
|
18
50
|
private readonly currCenter_;
|
|
19
51
|
private readonly dampingFactor_;
|
|
20
52
|
private currMouseButton_;
|
|
53
|
+
/**
|
|
54
|
+
* Creates orbit controls and moves the camera to the initial pose.
|
|
55
|
+
*
|
|
56
|
+
* @param camera - The perspective camera to control.
|
|
57
|
+
* @param params - Initialization properties.
|
|
58
|
+
*/
|
|
21
59
|
constructor(camera: PerspectiveCamera, params?: OrbitControlsProps);
|
|
60
|
+
/** The current distance from the target in world units. */
|
|
22
61
|
get radius(): number;
|
|
62
|
+
/** The current azimuth angle in radians. */
|
|
23
63
|
get yaw(): number;
|
|
64
|
+
/** The current elevation angle in radians. */
|
|
24
65
|
get pitch(): number;
|
|
66
|
+
/** A copy of the point the camera orbits. */
|
|
25
67
|
get target(): vec3;
|
|
68
|
+
/** Whether any orbit, pan, or zoom velocity remains. */
|
|
26
69
|
get isMoving(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Handles a pointer or wheel event. Called automatically by the owning
|
|
72
|
+
* viewport unless a layer stops propagation.
|
|
73
|
+
*
|
|
74
|
+
* @param event - The event with clip and world coordinates attached.
|
|
75
|
+
*/
|
|
27
76
|
onEvent(event: EventContext): void;
|
|
77
|
+
/**
|
|
78
|
+
* Applies pending velocities to the camera and decays them toward zero.
|
|
79
|
+
* Called automatically by the render loop once per frame.
|
|
80
|
+
*
|
|
81
|
+
* @param dt - Time since the last frame in seconds.
|
|
82
|
+
*/
|
|
28
83
|
onUpdate(dt: number): void;
|
|
29
84
|
private onPointerDown;
|
|
30
85
|
private onPointerMove;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orbit_controls.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/orbit_controls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAY,IAAI,EAAE,MAAM,WAAW,CAAC;AAa3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"orbit_controls.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/orbit_controls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAY,IAAI,EAAE,MAAM,WAAW,CAAC;AAa3C;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAE9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,OAAO,CAAC,gBAAgB,CAAqB;IAE7C;;;;;OAKG;gBACS,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAsBlE,2DAA2D;IAC3D,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,4CAA4C;IAC5C,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,8CAA8C;IAC9C,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,6CAA6C;IAC7C,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,wDAAwD;IACxD,IAAW,QAAQ,IAAI,OAAO,CAS7B;IAED;;;;;OAKG;IACI,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAkBzC;;;;;OAKG;IACI,QAAQ,CAAC,EAAE,EAAE,MAAM;IAmC1B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;CAU1B"}
|