@idetik/core 0.45.5 → 0.46.1

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.
@@ -1,7 +1,7 @@
1
- import { IdetikContext } from "../idetik";
1
+ import type { IdetikContext } from "../idetik";
2
2
  import { RenderableObject } from "./renderable_object";
3
3
  import { EventContext } from "./event_dispatcher";
4
- import { Viewport } from "./viewport";
4
+ import type { Viewport } from "./viewport";
5
5
  /**
6
6
  * The loading lifecycle state of a layer.
7
7
  */
@@ -115,6 +115,8 @@ export declare abstract class Layer {
115
115
  * @param _event - The event with clip and world coordinates attached.
116
116
  */
117
117
  onEvent(_event: EventContext): void;
118
+ /** Whether the layer is attached to a viewport. */
119
+ get attached(): boolean;
118
120
  /**
119
121
  * Lifecycle hook that is called automatically when a layer is
120
122
  * is attached to a viewport. A layer can only be attached to one viewport
@@ -1 +1 @@
1
- {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../../../src/core/layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../../../src/core/layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,aAAa,GACb,UAAU,GACV,mBAAmB,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,QAAQ,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,UAAU,KACnB,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,8BAAsB,KAAK;IACzB,oDAAoD;IACpD,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC;;;OAGG;IACI,SAAS,EAAE,SAAS,CAAC;IAE5B;;;;;;;;OAQG;IACI,QAAQ,EAAE,OAAO,CAAC;IAEzB,kEAAkE;IAClE,SAAS,CAAC,mBAAmB,UAAS;IAEtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IACJ,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;OAIG;gBACS,EACV,OAAa,EACb,SAAkB,EAClB,QAAQ,GACT,GAAE,UAAe;IAMlB;;;;OAIG;IACH,IAAW,kBAAkB,YAE5B;IAED,mEAAmE;IACnE,IAAW,OAAO,IAKQ,MAAM,CAH/B;IAED,kDAAkD;IAClD,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAQ/B;IAED;;;;;;OAMG;aACa,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAEjD;;;;;;OAMG;IACI,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAE1C,mDAAmD;IACnD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;;;;;OAMG;IACI,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAa/C;;;;;OAKG;IACI,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM/C,cAAc;IACd,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAE/C,cAAc;IACd,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAE/C;;;;OAIG;IACH,IAAW,cAAc,IAAI,WAAW,CACtC,MAAM,GAAG,IAAI,EACb,SAAS,gBAAgB,EAAE,CAC5B,CAEA;IAED,2CAA2C;IAC3C,IAAW,KAAK,eAEf;IAED;;;;OAIG;IACI,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB;IAI3D;;;;OAIG;IACI,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB;IAQ9D;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU;IAMvC;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,CACjB,MAAM,EAAE,gBAAgB,EACxB,aAAa,GAAE,MAAM,GAAG,IAAW;IAUrC,iDAAiD;IACjD,SAAS,CAAC,YAAY;IAItB;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG9C"}
@@ -4,15 +4,14 @@ import { CameraControls } from "../objects/cameras/controls";
4
4
  import { Box2 } from "../math/box2";
5
5
  import { vec2, vec3 } from "gl-matrix";
6
6
  import { EventDispatcher } from "./event_dispatcher";
7
- import { IdetikContext } from "../idetik";
8
7
  /**
9
8
  * Initialization properties for constructing a viewport.
10
9
  */
11
10
  export type ViewportProps = {
12
11
  /** Unique id. Defaults to the element id or a generated id. */
13
12
  id?: string;
14
- /** Host element. Defaults to the Idetik canvas. */
15
- element?: HTMLElement;
13
+ /** Host element. */
14
+ domElement: HTMLElement;
16
15
  /** The camera the viewport renders with. */
17
16
  camera: Camera;
18
17
  /** Layers to render in order. */
@@ -20,17 +19,11 @@ export type ViewportProps = {
20
19
  /** Input controls driving the camera. */
21
20
  cameraControls?: CameraControls;
22
21
  };
23
- interface ResolvedViewportProps extends ViewportProps {
24
- id: string;
25
- element: HTMLElement;
26
- context: IdetikContext;
27
- }
28
22
  /**
29
23
  * A region of the canvas that renders a stack of layers through a camera.
30
24
  *
31
25
  * Every viewport draws into the shared canvas through the area of its host
32
- * element. The element defaults to the canvas itself and must be unique
33
- * across viewports.
26
+ * element. The element must be unique across viewports.
34
27
  *
35
28
  * Viewports also route input. Pointer and wheel events on the host element
36
29
  * are enriched with clip and world coordinates and a picking ray, sent to
@@ -38,12 +31,13 @@ interface ResolvedViewportProps extends ViewportProps {
38
31
  * propagation.
39
32
  *
40
33
  * ```ts
41
- * const idetik = new Idetik({
42
- * canvas,
43
- * viewports: [{ id: 'main', camera, layers: [imageLayer] }],
34
+ * const viewport = new Viewport({
35
+ * domElement: canvas,
36
+ * camera,
37
+ * layers: [imageLayer],
44
38
  * });
39
+ * const idetik = new Idetik({ canvas, viewports: [viewport] });
45
40
  *
46
- * const viewport = idetik.getViewport('main')!;
47
41
  * viewport.addLayer(labelLayer);
48
42
  * ```
49
43
  *
@@ -53,24 +47,23 @@ export declare class Viewport {
53
47
  /** The viewport's unique identifier. */
54
48
  readonly id: string;
55
49
  /** The host element defining the viewport's area. */
56
- readonly element: HTMLElement;
50
+ readonly domElement: HTMLElement;
57
51
  /** The camera the viewport renders with. */
58
52
  readonly camera: Camera;
59
53
  /** The pointer and wheel event dispatcher for the host element. */
60
54
  readonly events: EventDispatcher;
61
55
  /** Input controls driving the camera. */
62
56
  cameraControls?: CameraControls;
63
- private readonly context_;
64
57
  private layers_;
65
- /** @hidden */
66
- constructor(props: ResolvedViewportProps);
58
+ constructor(props: ViewportProps);
67
59
  /**
68
60
  * The layers rendered by this viewport in order. Layers with `occludes`
69
61
  * set draw before non-occluding layers regardless of stack order.
70
62
  */
71
63
  get layers(): readonly Layer[];
72
64
  /**
73
- * Adds a layer to the top of the stack.
65
+ * Adds a layer to the top of the stack. Throws if the viewport already
66
+ * contains the layer.
74
67
  *
75
68
  * @param layer - The layer to add.
76
69
  */
@@ -89,14 +82,17 @@ export declare class Viewport {
89
82
  */
90
83
  updateSize(): void;
91
84
  /**
92
- * Computes the viewport's box relative to the given canvas in device pixels.
85
+ * Computes the viewport's box relative to the given element in device
86
+ * pixels, with `y` flipped to match WebGL's bottom-left origin.
93
87
  *
94
- * @param canvas - The canvas to compute the box against.
95
- * @returns The viewport's box in the canvas's coordinate space.
88
+ * @param element - The element to compute the box against, typically the
89
+ * canvas.
90
+ * @returns The viewport's box in the element's coordinate space.
96
91
  */
97
- getBoxRelativeTo(canvas: HTMLCanvasElement): Box2;
92
+ getBoxRelativeTo(element: HTMLElement): Box2;
98
93
  /**
99
- * The viewport's rectangle in the drawing buffer in device pixels.
94
+ * The viewport's size in device pixels. Measured relative to its own host
95
+ * element, so `x` and `y` are always `0`.
100
96
  */
101
97
  getBufferRect(): {
102
98
  x: number;
@@ -123,13 +119,4 @@ export declare class Viewport {
123
119
  private getBox;
124
120
  private updateAspectRatio;
125
121
  }
126
- export declare function validateNewViewport(viewport: {
127
- id: string;
128
- element: HTMLElement;
129
- }, existingViewports: {
130
- id: string;
131
- element: HTMLElement;
132
- }[]): void;
133
- export declare function parseViewportProps(props: ViewportProps[], canvas: HTMLCanvasElement, context: IdetikContext): Viewport[];
134
- export {};
135
122
  //# sourceMappingURL=viewport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../../src/core/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAgB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,+DAA+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,yCAAyC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,UAAU,qBAAsB,SAAQ,aAAa;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAQ;IACnB,wCAAwC;IACxC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,SAAgB,OAAO,EAAE,WAAW,CAAC;IACrC,4CAA4C;IAC5C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,yCAAyC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAKvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,OAAO,CAAC,OAAO,CAAe;IAE9B,cAAc;gBACF,KAAK,EAAE,qBAAqB;IAkCxC;;;OAGG;IACH,IAAW,MAAM,IAAI,SAAS,KAAK,EAAE,CAEpC;IAED;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKnC;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAStC,4CAA4C;IACrC,eAAe,IAAI,IAAI;IAO9B;;;OAGG;IACI,UAAU,IAAI,IAAI;IAIzB;;;;;OAKG;IACI,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IA0BxD;;OAEG;IACI,aAAa,IAAI;QACtB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB;IAID;;;;;;OAMG;IACI,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAU5D;;;;;;OAMG;IACI,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAK7D,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,iBAAiB;CAY1B;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,EAC9C,iBAAiB,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,EAAE,GACxD,IAAI,CAmBN;AAQD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,aAAa,GACrB,QAAQ,EAAE,CAYZ"}
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../../src/core/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAgB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,+DAA+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,yCAAyC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAQ;IACnB,wCAAwC;IACxC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,SAAgB,UAAU,EAAE,WAAW,CAAC;IACxC,4CAA4C;IAC5C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,yCAAyC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAe;gBAElB,KAAK,EAAE,aAAa;IA+BhC;;;OAGG;IACH,IAAW,MAAM,IAAI,SAAS,KAAK,EAAE,CAEpC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOnC;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAQtC,4CAA4C;IACrC,eAAe,IAAI,IAAI;IAI9B;;;OAGG;IACI,UAAU,IAAI,IAAI;IAIzB;;;;;;;OAOG;IACI,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IA0BnD;;;OAGG;IACI,aAAa,IAAI;QACtB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB;IAID;;;;;;OAMG;IACI,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAU5D;;;;;;OAMG;IACI,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAK7D,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,iBAAiB;CAY1B"}
@@ -1,6 +1,6 @@
1
1
  import { ChunkManager } from "./data/chunk_manager";
2
2
  import { Stats } from "./core/stats";
3
- import { Viewport, ViewportProps } from "./core/viewport";
3
+ import { Viewport } from "./core/viewport";
4
4
  /**
5
5
  * An object updated once per frame after all viewports have rendered.
6
6
  *
@@ -27,8 +27,8 @@ export type Overlay = {
27
27
  export type IdetikProps = {
28
28
  /** The canvas element to render into. */
29
29
  canvas: HTMLCanvasElement;
30
- /** Viewport definitions to create at startup. */
31
- viewports?: ViewportProps[];
30
+ /** Viewports to render at startup. */
31
+ viewports?: Viewport[];
32
32
  /** Overlays to run each frame. */
33
33
  overlays?: Overlay[];
34
34
  /** Shows an FPS meter. Defaults to `false`. */
@@ -67,13 +67,15 @@ export type IdetikContext = {
67
67
  * bottom: 1024,
68
68
  * });
69
69
  *
70
+ * const canvas = document.querySelector<HTMLCanvasElement>('canvas')!;
70
71
  * const idetik = new Idetik({
71
- * canvas: document.querySelector('canvas')!,
72
- * viewports: [{
72
+ * canvas,
73
+ * viewports: [new Viewport({
74
+ * domElement: canvas,
73
75
  * camera,
74
76
  * layers: [layer],
75
77
  * cameraControls: new PanZoomControls(camera),
76
- * }],
78
+ * })],
77
79
  * });
78
80
  *
79
81
  * idetik.start();
@@ -94,6 +96,7 @@ export declare class Idetik {
94
96
  private readonly context_;
95
97
  private readonly renderer_;
96
98
  private readonly viewports_;
99
+ private readonly attachments_;
97
100
  private readonly stats_?;
98
101
  private readonly sizeObserver_;
99
102
  private lastAnimationId_?;
@@ -122,11 +125,10 @@ export declare class Idetik {
122
125
  /**
123
126
  * Adds a viewport at runtime.
124
127
  *
125
- * @param props - The viewport definition. The `element` defaults to the
126
- * canvas and must be unique across viewports.
127
- * @returns The created viewport.
128
+ * @param viewport - The viewport to add.
129
+ * @returns The added viewport.
128
130
  */
129
- addViewport(props: ViewportProps): Viewport;
131
+ addViewport(viewport: Viewport): Viewport;
130
132
  /**
131
133
  * Removes a previously added viewport.
132
134
  *
@@ -159,6 +161,8 @@ export declare class Idetik {
159
161
  * @returns The instance, for chaining.
160
162
  */
161
163
  start(): this;
164
+ private detachRemovedLayers;
165
+ private renderViewport;
162
166
  private animate;
163
167
  /**
164
168
  * Stops the render loop and disconnects input handlers.
@@ -1 +1 @@
1
- {"version":3,"file":"idetik.d.ts","sourceRoot":"","sources":["../../../src/idetik.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAGL,QAAQ,EACR,aAAa,EACd,MAAM,iBAAiB,CAAC;AAKzB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,sCAAsC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iDAAiD;IACjD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,MAAM;IACjB,kDAAkD;IAClD,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,mEAAmE;IACnE,SAAgB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpC,4DAA4D;IAC5D,SAAgB,KAAK,EAAE,KAAK,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAElD,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;OAIG;gBACS,MAAM,EAAE,WAAW;IA6C/B,oDAAoD;IACpD,IAAW,KAAK,WAEf;IAED,qDAAqD;IACrD,IAAW,MAAM,WAEhB;IAED,qCAAqC;IACrC,IAAW,SAAS,IAAI,SAAS,QAAQ,EAAE,CAE1C;IAED,0CAA0C;IAC1C,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIpD;;;;;;OAMG;IACI,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ;IAiBlD;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAuBlD;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;;;;OAKG;IACI,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAW/C;;;;OAIG;IACI,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIpD;;;;OAIG;IACI,KAAK;IAkBZ,OAAO,CAAC,OAAO;IA0Bf;;OAEG;IACI,IAAI;CAcZ"}
1
+ {"version":3,"file":"idetik.d.ts","sourceRoot":"","sources":["../../../src/idetik.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAM3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,sCAAsC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,sCAAsC;IACtC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAqCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,MAAM;IACjB,kDAAkD;IAClD,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,mEAAmE;IACnE,SAAgB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpC,4DAA4D;IAC5D,SAAgB,KAAK,EAAE,KAAK,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAElD,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;OAIG;gBACS,MAAM,EAAE,WAAW;IA8C/B,oDAAoD;IACpD,IAAW,KAAK,WAEf;IAED,qDAAqD;IACrD,IAAW,MAAM,WAEhB;IAED,qCAAqC;IACrC,IAAW,SAAS,IAAI,SAAS,QAAQ,EAAE,CAE1C;IAED,0CAA0C;IAC1C,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIpD;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;IAgBhD;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IA6BlD;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;;;;OAKG;IACI,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAW/C;;;;OAIG;IACI,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIpD;;;;OAIG;IACI,KAAK;IAkBZ,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,OAAO;IA2Bf;;OAEG;IACI,IAAI;CAcZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -74,11 +74,12 @@ export type PanZoomControlsProps = {
74
74
  *
75
75
  * const idetik = new Idetik({
76
76
  * canvas,
77
- * viewports: [{
77
+ * viewports: [new Viewport({
78
+ * domElement: canvas,
78
79
  * camera,
79
80
  * layers: [imageLayer],
80
81
  * cameraControls: new PanZoomControls(camera),
81
- * }],
82
+ * })],
82
83
  * });
83
84
  * ```
84
85
  *
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;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,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;OAKG;gBACS,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,oBAAoB;IAKrE,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;IAoBf,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;CAQrB"}
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,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;OAKG;gBACS,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,oBAAoB;IAKrE,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;IAoBf,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;CAQrB"}
@@ -31,14 +31,15 @@ export type OrbitControlsProps = {
31
31
  *
32
32
  * const idetik = new Idetik({
33
33
  * canvas,
34
- * viewports: [{
34
+ * viewports: [new Viewport({
35
+ * domElement: canvas,
35
36
  * camera,
36
37
  * layers: [volumeLayer],
37
38
  * cameraControls: new OrbitControls(camera, {
38
39
  * radius: 100,
39
40
  * target: [40, 40, 10],
40
41
  * }),
41
- * }],
42
+ * })],
42
43
  * });
43
44
  * ```
44
45
  *
@@ -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,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,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;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,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;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO,CAAC,gBAAgB,CAAqB;IAE7C;;;;;OAKG;gBACS,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAwBlE,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;IAYf,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;CAU1B"}
1
+ {"version":3,"file":"orbit_controls.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/orbit_controls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,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;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO,CAAC,gBAAgB,CAAqB;IAE7C;;;;;OAKG;gBACS,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAwBlE,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;IAYf,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;CAU1B"}
@@ -55,13 +55,15 @@ export type OrthographicCameraProps = {
55
55
  * bottom: 1024
56
56
  * });
57
57
  *
58
+ * const canvas = document.querySelector<HTMLCanvasElement>('canvas')!;
58
59
  * const idetik = new Idetik({
59
- * canvas: document.querySelector('canvas')!,
60
- * viewports: [{
60
+ * canvas,
61
+ * viewports: [new Viewport({
62
+ * domElement: canvas,
61
63
  * camera,
62
64
  * layers: [imageLayer],
63
65
  * cameraControls: new PanZoomControls(camera),
64
- * }],
66
+ * })],
65
67
  * });
66
68
  * ```
67
69
  * @group Cameras
@@ -1 +1 @@
1
- {"version":3,"file":"orthographic_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/orthographic_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAGL,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AAQzB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,kBAAmB,SAAQ,MAAM;IAE5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,oBAAoB,CAAgC;IAC5D,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,YAAY,CAAmB;IAEvC;;;;OAIG;gBACS,KAAK,EAAE,uBAAuB;IAW1C;;;;;OAKG;IACH,IAAW,YAAY,qBAEtB;IAED;;;;;OAKG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM;IAKzC;;;;;;;;OAQG;IACI,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,uBAAuB;IAYrE,0DAA0D;IAC1D,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,8CAA8C;IAC9C,IAAW,WAAW,IAAI,gBAAgB,CAEzC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,gBAAgB;IAoBnD;;;;;;OAMG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAQ1B;;;;;OAKG;IACI,gBAAgB,IAAI,IAAI;IAgB/B,cAAc;IACd,SAAS,CAAC,sBAAsB;CA8BjC"}
1
+ {"version":3,"file":"orthographic_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/orthographic_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAGL,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AAQzB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,kBAAmB,SAAQ,MAAM;IAE5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,oBAAoB,CAAgC;IAC5D,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,YAAY,CAAmB;IAEvC;;;;OAIG;gBACS,KAAK,EAAE,uBAAuB;IAW1C;;;;;OAKG;IACH,IAAW,YAAY,qBAEtB;IAED;;;;;OAKG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM;IAKzC;;;;;;;;OAQG;IACI,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,uBAAuB;IAYrE,0DAA0D;IAC1D,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,8CAA8C;IAC9C,IAAW,WAAW,IAAI,gBAAgB,CAEzC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,gBAAgB;IAoBnD;;;;;;OAMG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAQ1B;;;;;OAKG;IACI,gBAAgB,IAAI,IAAI;IAgB/B,cAAc;IACd,SAAS,CAAC,sBAAsB;CA8BjC"}
@@ -35,9 +35,15 @@ export type PerspectiveCameraProps = {
35
35
  * target: [0, 0, 0],
36
36
  * });
37
37
  *
38
+ * const canvas = document.querySelector<HTMLCanvasElement>('canvas')!;
38
39
  * const idetik = new Idetik({
39
- * canvas: document.querySelector('canvas')!,
40
- * viewports: [{ camera, layers: [volumeLayer], cameraControls: controls }],
40
+ * canvas,
41
+ * viewports: [new Viewport({
42
+ * domElement: canvas,
43
+ * camera,
44
+ * layers: [volumeLayer],
45
+ * cameraControls: controls
46
+ * })],
41
47
  * });
42
48
  * ```
43
49
  *
@@ -1 +1 @@
1
- {"version":3,"file":"perspective_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/perspective_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAkB,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;OAIG;gBACS,KAAK,GAAE,sBAA2B;IAyB9C;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM;IAKzC,yDAAyD;IACzD,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,6CAA6C;IAC7C,IAAW,GAAG,WAEb;IAED;;;;;;;;;OASG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAS1B,cAAc;IACd,SAAS,CAAC,sBAAsB;CASjC"}
1
+ {"version":3,"file":"perspective_camera.d.ts","sourceRoot":"","sources":["../../../../../src/objects/cameras/perspective_camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAkB,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;OAIG;gBACS,KAAK,GAAE,sBAA2B;IAyB9C;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM;IAKzC,yDAAyD;IACzD,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,6CAA6C;IAC7C,IAAW,GAAG,WAEb;IAED;;;;;;;;;OASG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM;IAS1B,cAAc;IACd,SAAS,CAAC,sBAAsB;CASjC"}
@@ -1,5 +1,6 @@
1
1
  import type { Chunk } from "../src/data/chunk";
2
2
  import { Viewport } from "@/core/viewport";
3
+ import { Layer } from "@/core/layer";
3
4
  import { OrthographicCamera } from "@/objects/cameras/orthographic_camera";
4
5
  import type { IdetikContext } from "@/idetik";
5
6
  type ChunkOverrides = Partial<Omit<Chunk, "shape" | "chunkIndex" | "scale" | "offset">> & {
@@ -21,6 +22,14 @@ export declare function waitFor(check: () => boolean, { timeout, interval }?: {
21
22
  export declare function createTestElement(id?: string): HTMLElement;
22
23
  export declare function createTestCamera(): OrthographicCamera;
23
24
  export declare function createTestContext(): IdetikContext;
25
+ export declare class TrackingLayer extends Layer {
26
+ readonly type = "TrackingLayer";
27
+ attachCount: number;
28
+ detachCount: number;
29
+ update(): void;
30
+ protected attach(): void;
31
+ protected detach(): void;
32
+ }
24
33
  export declare function createTestViewport(id?: string): Viewport;
25
34
  export {};
26
35
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,KAAK,cAAc,GAAG,OAAO,CAC3B,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC,CACzD,GAAG;IACF,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,SAAS,CAAC,SAAS,GAAE,cAAmB,GAAG,KAAK,CA2B/D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI;qBAUjC,WAAW;;iBAkBpB,OAAO;EAEvB;AAED,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,OAAO,EACpB,EAAE,OAAa,EAAE,QAAY,EAAE;;;CAAK,iBAQrC;AAED,wBAAgB,iBAAiB,CAAC,EAAE,GAAE,MAAuB,GAAG,WAAW,CAI1E;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAErD;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAE,MAAwB,GAAG,QAAQ,CAOzE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,KAAK,cAAc,GAAG,OAAO,CAC3B,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC,CACzD,GAAG;IACF,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,SAAS,CAAC,SAAS,GAAE,cAAmB,GAAG,KAAK,CA2B/D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI;qBAUjC,WAAW;;iBAkBpB,OAAO;EAEvB;AAED,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,OAAO,EACpB,EAAE,OAAa,EAAE,QAAY,EAAE;;;CAAK,iBAQrC;AAED,wBAAgB,iBAAiB,CAAC,EAAE,GAAE,MAAuB,GAAG,WAAW,CAI1E;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAErD;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,IAAI,mBAAmB;IAChC,WAAW,SAAK;IAChB,WAAW,SAAK;IAEhB,MAAM;IAEb,SAAS,CAAC,MAAM;IAIhB,SAAS,CAAC,MAAM;CAGjB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAE,MAAwB,GAAG,QAAQ,CAMzE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idetik/core",
3
- "version": "0.45.5",
3
+ "version": "0.46.1",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "repository": {