@atlas-viewer/atlas 3.0.2 → 3.0.3

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/index.d.cts CHANGED
@@ -1,2204 +1,2336 @@
1
- import { Strand, Projection as Projection$1 } from '@atlas-viewer/dna';
2
- import { ImageService as ImageService$1, ViewingDirection as ViewingDirection$1 } from '@iiif/presentation-3';
3
- import LRUCache from 'lru-cache';
4
- import * as React from 'react';
5
- import React__default, { ReactNode } from 'react';
6
- import { RectReadOnly } from 'react-use-measure';
7
- import * as react_jsx_runtime from 'react/jsx-runtime';
8
- import { CanvasNormalized, ManifestNormalized } from '@iiif/presentation-3-normalized';
9
-
1
+ import { Projection as Projection$1, Strand } from "@atlas-viewer/dna";
2
+ import { ImageService as ImageService$1, ViewingDirection as ViewingDirection$1 } from "@iiif/presentation-3";
3
+ import LRUCache from "lru-cache";
4
+ import { HookOptions as HookOptions$1 } from "src/standalone";
5
+ import * as react0 from "react";
6
+ import React, { ReactNode } from "react";
7
+ import { RectReadOnly } from "react-use-measure";
8
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
9
+ import { CanvasNormalized, ManifestNormalized } from "@iiif/presentation-3-normalized";
10
+
11
+ //#region src/events.d.ts
10
12
  declare const supportedEventAttributes: readonly ["onMouseDown", "onMouseEnter", "onMouseLeave", "onMouseMove", "onMouseOut", "onMouseOver", "onMouseUp", "onTouchCancel", "onTouchEnd", "onTouchMove", "onTouchStart", "onPointerDown", "onPointerMove", "onPointerUp", "onPointerCancel", "onPointerEnter", "onPointerLeave", "onPointerOver", "onPointerOut", "onScroll", "onWheel", "onClick", "onDragStart", "onDragEnd", "onDragEnter", "onDragExit", "onDrag", "onDragOver", "onContextMenu"];
11
13
  declare function createDefaultEventMap(): SupportedEventMap;
12
14
  declare const supportedEventMap: {
13
- mousedown: keyof SupportedEvents;
14
- mouseenter: keyof SupportedEvents;
15
- mouseleave: keyof SupportedEvents;
16
- mousemove: keyof SupportedEvents;
17
- mouseout: keyof SupportedEvents;
18
- mouseover: keyof SupportedEvents;
19
- mouseup: keyof SupportedEvents;
20
- touchcancel: keyof SupportedEvents;
21
- touchend: keyof SupportedEvents;
22
- touchmove: keyof SupportedEvents;
23
- touchstart: keyof SupportedEvents;
24
- pointerdown: keyof SupportedEvents;
25
- pointermove: keyof SupportedEvents;
26
- pointerup: keyof SupportedEvents;
27
- pointercancel: keyof SupportedEvents;
28
- pointerenter: keyof SupportedEvents;
29
- pointerleave: keyof SupportedEvents;
30
- pointerover: keyof SupportedEvents;
31
- pointerout: keyof SupportedEvents;
32
- scroll: keyof SupportedEvents;
33
- wheel: keyof SupportedEvents;
34
- click: keyof SupportedEvents;
35
- dragstart: keyof SupportedEvents;
36
- dragend: keyof SupportedEvents;
37
- dragenter: keyof SupportedEvents;
38
- dragexit: keyof SupportedEvents;
39
- drag: keyof SupportedEvents;
40
- dragover: keyof SupportedEvents;
41
- contextmenu: keyof SupportedEvents;
15
+ mousedown: keyof SupportedEvents;
16
+ mouseenter: keyof SupportedEvents;
17
+ mouseleave: keyof SupportedEvents;
18
+ mousemove: keyof SupportedEvents;
19
+ mouseout: keyof SupportedEvents;
20
+ mouseover: keyof SupportedEvents;
21
+ mouseup: keyof SupportedEvents;
22
+ touchcancel: keyof SupportedEvents;
23
+ touchend: keyof SupportedEvents;
24
+ touchmove: keyof SupportedEvents;
25
+ touchstart: keyof SupportedEvents;
26
+ pointerdown: keyof SupportedEvents;
27
+ pointermove: keyof SupportedEvents;
28
+ pointerup: keyof SupportedEvents;
29
+ pointercancel: keyof SupportedEvents;
30
+ pointerenter: keyof SupportedEvents;
31
+ pointerleave: keyof SupportedEvents;
32
+ pointerover: keyof SupportedEvents;
33
+ pointerout: keyof SupportedEvents;
34
+ scroll: keyof SupportedEvents;
35
+ wheel: keyof SupportedEvents;
36
+ click: keyof SupportedEvents;
37
+ dragstart: keyof SupportedEvents;
38
+ dragend: keyof SupportedEvents;
39
+ dragenter: keyof SupportedEvents;
40
+ dragexit: keyof SupportedEvents;
41
+ drag: keyof SupportedEvents;
42
+ dragover: keyof SupportedEvents;
43
+ contextmenu: keyof SupportedEvents;
42
44
  };
43
45
  type SupportedEvents = {
44
- onMouseDown(e: any): void;
45
- onMouseEnter(e: any): void;
46
- onMouseLeave(e: any): void;
47
- onMouseMove(e: any): void;
48
- onMouseOut(e: any): void;
49
- onMouseOver(e: any): void;
50
- onMouseUp(e: any): void;
51
- onTouchCancel(e: any): void;
52
- onTouchEnd(e: any): void;
53
- onTouchMove(e: any): void;
54
- onTouchStart(e: any): void;
55
- onPointerDown(e: any): void;
56
- onPointerMove(e: any): void;
57
- onPointerUp(e: any): void;
58
- onPointerCancel(e: any): void;
59
- onPointerEnter(e: any): void;
60
- onPointerLeave(e: any): void;
61
- onPointerOver(e: any): void;
62
- onPointerOut(e: any): void;
63
- onScroll(e: any): void;
64
- onWheel(e: any): void;
65
- onClick(e: any): void;
66
- onDragStart(e: any): void;
67
- onDragEnd(e: any): void;
68
- onDragEnter(e: any): void;
69
- onDragExit(e: any): void;
70
- onDrag(e: any): void;
71
- onDragOver(e: any): void;
72
- onContextMenu(e: any): void;
46
+ onMouseDown(e: any): void;
47
+ onMouseEnter(e: any): void;
48
+ onMouseLeave(e: any): void;
49
+ onMouseMove(e: any): void;
50
+ onMouseOut(e: any): void;
51
+ onMouseOver(e: any): void;
52
+ onMouseUp(e: any): void;
53
+ onTouchCancel(e: any): void;
54
+ onTouchEnd(e: any): void;
55
+ onTouchMove(e: any): void;
56
+ onTouchStart(e: any): void;
57
+ onPointerDown(e: any): void;
58
+ onPointerMove(e: any): void;
59
+ onPointerUp(e: any): void;
60
+ onPointerCancel(e: any): void;
61
+ onPointerEnter(e: any): void;
62
+ onPointerLeave(e: any): void;
63
+ onPointerOver(e: any): void;
64
+ onPointerOut(e: any): void;
65
+ onScroll(e: any): void;
66
+ onWheel(e: any): void;
67
+ onClick(e: any): void;
68
+ onDragStart(e: any): void;
69
+ onDragEnd(e: any): void;
70
+ onDragEnter(e: any): void;
71
+ onDragExit(e: any): void;
72
+ onDrag(e: any): void;
73
+ onDragOver(e: any): void;
74
+ onContextMenu(e: any): void;
73
75
  };
74
76
  type SupportedEventNames = 'mousedown' | 'mouseenter' | 'mouseleave' | 'mousemove' | 'mouseout' | 'mouseover' | 'mouseup' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchstart' | 'pointerdown' | 'pointermove' | 'pointerup' | 'pointercancel' | 'pointerenter' | 'pointerleave' | 'pointerover' | 'pointerout' | 'scroll' | 'wheel' | 'click' | 'dragstart' | 'dragend' | 'dragenter' | 'dragexit' | 'drag' | 'dragover' | 'contextmenu';
75
- type SupportedEventMap = {
76
- [Name in keyof SupportedEvents]: Array<SupportedEvents[Name]>;
77
- };
78
-
77
+ type SupportedEventMap = { [Name in keyof SupportedEvents]: Array<SupportedEvents[Name]> };
78
+ //#endregion
79
+ //#region src/world-objects/paint.d.ts
79
80
  type Paintable = SpacialContent;
80
81
  type Paint = [Paintable, Strand, Strand | undefined];
81
-
82
+ //#endregion
83
+ //#region src/world-objects/abstract-object.d.ts
82
84
  interface AbstractObject {
83
- id: string;
84
- height: number;
85
- width: number;
86
- layers: Paintable[];
85
+ id: string;
86
+ height: number;
87
+ width: number;
88
+ layers: Paintable[];
87
89
  }
88
-
90
+ //#endregion
91
+ //#region src/aom.d.ts
89
92
  interface AtlasObjectModel<Props, SupportedChildElements> {
90
- applyProps(props: Props): void;
91
- appendChild(item: SupportedChildElements): void;
92
- removeChild(item: SupportedChildElements): void;
93
- insertBefore(item: SupportedChildElements, before: SupportedChildElements): void;
94
- hideInstance(): void;
93
+ applyProps(props: Props): void;
94
+ appendChild(item: SupportedChildElements): void;
95
+ removeChild(item: SupportedChildElements): void;
96
+ insertBefore(item: SupportedChildElements, before: SupportedChildElements): void;
97
+ hideInstance(): void;
95
98
  }
96
-
99
+ //#endregion
100
+ //#region src/world-objects/render-pipeline.d.ts
97
101
  interface RenderPipeline {
98
- getAllPointsAt(target: Strand, aggregate: Strand, scale: number): Paint[];
99
- transform(op: Strand): void;
102
+ getAllPointsAt(target: Strand, aggregate: Strand, scale: number): Paint[];
103
+ transform(op: Strand): void;
100
104
  }
101
-
105
+ //#endregion
106
+ //#region src/world-objects/abstract-world-object.d.ts
102
107
  /**
103
108
  * @deprecated
104
109
  */
105
110
  interface AbstractWorldObject extends AbstractObject, RenderPipeline {
106
- x: number;
107
- y: number;
108
- scale: number;
109
- time: WorldTime[];
110
- points: Strand;
111
- worldPoints: Strand;
112
- atScale(factor: number): void;
113
- translate(x: number, y: number): void;
114
- getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => Promise<void>>;
111
+ x: number;
112
+ y: number;
113
+ scale: number;
114
+ time: WorldTime[];
115
+ points: Strand;
116
+ worldPoints: Strand;
117
+ atScale(factor: number): void;
118
+ translate(x: number, y: number): void;
119
+ getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => Promise<void>>;
115
120
  }
116
-
121
+ //#endregion
122
+ //#region src/world-objects/image.d.ts
117
123
  declare function fromImage(image: {
118
- src: string;
119
- height: number;
124
+ src: string;
125
+ height: number;
126
+ width: number;
127
+ target?: {
120
128
  width: number;
121
- target?: {
122
- width: number;
123
- height: number;
124
- };
129
+ height: number;
130
+ };
125
131
  }): WorldObject;
126
-
132
+ //#endregion
133
+ //#region src/world-objects/zone.d.ts
127
134
  interface ZoneInterface {
128
- id: string;
129
- config: Required<ZoneConfig>;
130
- objects: WorldObject[];
131
- points: Strand;
132
- recalculateBounds(): void;
133
- getPointsAt(target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
135
+ id: string;
136
+ config: Required<ZoneConfig>;
137
+ objects: WorldObject[];
138
+ points: Strand;
139
+ recalculateBounds(): void;
140
+ getPointsAt(target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
134
141
  }
135
142
  type ZoneConfig = {
136
- margin?: number;
143
+ margin?: number;
137
144
  };
138
145
  declare class Zone implements ZoneInterface {
139
- id: string;
140
- config: Required<ZoneConfig>;
141
- points: Strand;
142
- objects: WorldObject[];
143
- constructor(objects: [WorldObject, ...WorldObject[]], config?: ZoneConfig);
144
- recalculateBounds(): void;
145
- getPointsAt(target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
146
+ id: string;
147
+ config: Required<ZoneConfig>;
148
+ points: Strand;
149
+ objects: WorldObject[];
150
+ constructor(objects: [WorldObject, ...WorldObject[]], config?: ZoneConfig);
151
+ recalculateBounds(): void;
152
+ getPointsAt(target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
146
153
  }
147
-
154
+ //#endregion
155
+ //#region src/spacial-content/abstract-content.d.ts
148
156
  /**
149
157
  * @deprecated
150
158
  */
151
159
  declare abstract class AbstractContent<Props = any, SupportedLayers = never> extends BaseObject<Props, SupportedLayers> implements SpacialContent {
152
- abstract readonly id: string;
153
- readonly type: 'spacial-content';
154
- abstract points: Strand;
155
- abstract readonly display: DisplayData;
156
- getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
160
+ abstract readonly id: string;
161
+ readonly type: 'spacial-content';
162
+ abstract points: Strand;
163
+ abstract readonly display: DisplayData;
164
+ getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
157
165
  }
158
-
166
+ //#endregion
167
+ //#region src/spacial-content/composite-resource.d.ts
159
168
  type RenderOptions = {
160
- renderSmallestFallback: boolean;
161
- renderLayers: number;
162
- minSize: number;
163
- maxImageSize: number;
164
- quality: number;
169
+ renderSmallestFallback: boolean;
170
+ renderLayers: number;
171
+ minSize: number;
172
+ maxImageSize: number;
173
+ quality: number;
165
174
  };
166
175
  type CompositeResourceProps = RenderOptions;
167
176
  declare class CompositeResource extends AbstractContent implements SpacialContent, AtlasObjectModel<CompositeResourceProps, SpacialContent> {
168
- readonly id: string;
169
- readonly display: DisplayData;
170
- points: Strand;
177
+ readonly id: string;
178
+ readonly display: DisplayData;
179
+ points: Strand;
180
+ images: SpacialContent[];
181
+ allImages: SpacialContent[];
182
+ scaleFactors: number[];
183
+ aggregateBuffer: Strand;
184
+ lazyLoader?: () => Promise<SpacialContent[]>;
185
+ isFullyLoaded: boolean;
186
+ maxScaleFactor: number;
187
+ renderOptions: RenderOptions;
188
+ constructor(data: {
189
+ id: string;
190
+ width: number;
191
+ height: number;
171
192
  images: SpacialContent[];
172
- allImages: SpacialContent[];
173
- scaleFactors: number[];
174
- aggregateBuffer: Strand;
175
- lazyLoader?: () => Promise<SpacialContent[]>;
176
- isFullyLoaded: boolean;
177
- maxScaleFactor: number;
178
- renderOptions: RenderOptions;
179
- constructor(data: {
180
- id: string;
181
- width: number;
182
- height: number;
183
- images: SpacialContent[];
184
- loadFullImages?: () => Promise<SpacialContent[]>;
185
- renderOptions?: RenderOptions;
186
- });
187
- applyProps(props: CompositeResourceProps): void;
188
- appendChild(item: SpacialContent): void;
189
- removeChild(item: SpacialContent): void;
190
- insertBefore(item: SpacialContent, before: SpacialContent): void;
191
- hideInstance(): void;
192
- addImages(images: SpacialContent[]): void;
193
- sortByScales(): void;
194
- _scheduleSortByScales: boolean;
195
- _sortByScales: () => void;
196
- loadFullResource: () => Promise<void>;
197
- fallback: (() => Promise<void>)[];
198
- getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => Promise<void>>;
199
- getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
193
+ loadFullImages?: () => Promise<SpacialContent[]>;
194
+ renderOptions?: RenderOptions;
195
+ });
196
+ applyProps(props: CompositeResourceProps): void;
197
+ appendChild(item: SpacialContent): void;
198
+ removeChild(item: SpacialContent): void;
199
+ insertBefore(item: SpacialContent, before: SpacialContent): void;
200
+ hideInstance(): void;
201
+ addImages(images: SpacialContent[]): void;
202
+ sortByScales(): void;
203
+ _scheduleSortByScales: boolean;
204
+ _sortByScales: () => void;
205
+ loadFullResource: () => Promise<void>;
206
+ fallback: (() => Promise<void>)[];
207
+ getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => Promise<void>>;
208
+ getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
200
209
  }
201
-
210
+ //#endregion
211
+ //#region src/objects/base-object.d.ts
202
212
  declare abstract class BaseObject<Props = any, SupportedChildElements = never> implements AtlasObjectModel<Props, SupportedChildElements> {
203
- __id: string;
204
- __revision: number;
205
- __host: any;
206
- __onCreate?: () => void;
207
- __parent?: CompositeResource;
208
- __owner: {
209
- value: WorldObject | undefined;
210
- };
211
- __state: any;
212
- eventHandlers: SupportedEventMap;
213
- scale: number;
214
- layers: SupportedChildElements[];
215
- time: WorldTime[];
216
- _crop?: Strand;
217
- cropData?: {
218
- x: number;
219
- y: number;
220
- width: number;
221
- height: number;
222
- };
223
- get crop(): Strand | undefined;
224
- set crop(crop: Strand | undefined);
225
- id: string;
226
- abstract points: Strand;
227
- getObjectsAt(target: Strand): SupportedChildElements[] | Array<[SupportedChildElements, any[]]>;
228
- getAllPointsAt(target: Strand, aggregate: Strand, scale: number): Paint[];
229
- getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
230
- protected constructor();
231
- addEventListener: <Name extends SupportedEventNames>(name: Name, cb: (e: any) => void, options?: {
232
- capture: boolean;
233
- passive: boolean;
234
- }) => void;
235
- removeEventListener: <Name extends SupportedEventNames>(name: Name, cb: (e: any) => void) => void;
236
- dispatchEvent<Name extends keyof SupportedEvents>(name: Name, e: any): boolean;
237
- get x(): number;
238
- get y(): number;
239
- get width(): number;
240
- get height(): number;
241
- translate(x: number, y: number): void;
242
- atScale(factor: number): void;
243
- transform(op: Strand): void;
244
- applyProps(props: Props): void;
245
- appendChild(item: SupportedChildElements): void;
246
- removeChild(item: SupportedChildElements): void;
247
- insertBefore(item: SupportedChildElements, before: SupportedChildElements): void;
248
- hideInstance(): void;
249
- }
250
-
251
- type WorldObjectProps = {
252
- id: string;
213
+ __id: string;
214
+ __revision: number;
215
+ __host: any;
216
+ __onCreate?: () => void;
217
+ __parent?: CompositeResource;
218
+ __owner: {
219
+ value: WorldObject | undefined;
220
+ };
221
+ __state: any;
222
+ eventHandlers: SupportedEventMap;
223
+ scale: number;
224
+ layers: SupportedChildElements[];
225
+ time: WorldTime[];
226
+ _crop?: Strand;
227
+ cropData?: {
228
+ x: number;
229
+ y: number;
253
230
  width: number;
254
231
  height: number;
255
- scale?: number;
256
- x?: number;
257
- y?: number;
258
- rotation?: number;
232
+ };
233
+ get crop(): Strand | undefined;
234
+ set crop(crop: Strand | undefined);
235
+ id: string;
236
+ abstract points: Strand;
237
+ getObjectsAt(target: Strand): SupportedChildElements[] | Array<[SupportedChildElements, any[]]>;
238
+ getAllPointsAt(target: Strand, aggregate: Strand, scale: number): Paint[];
239
+ getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
240
+ protected constructor();
241
+ addEventListener: <Name$1 extends SupportedEventNames>(name: Name$1, cb: (e: any) => void, options?: {
242
+ capture: boolean;
243
+ passive: boolean;
244
+ }) => void;
245
+ removeEventListener: <Name$1 extends SupportedEventNames>(name: Name$1, cb: (e: any) => void) => void;
246
+ dispatchEvent<Name$1 extends keyof SupportedEvents>(name: Name$1, e: any): boolean;
247
+ get x(): number;
248
+ get y(): number;
249
+ get width(): number;
250
+ get height(): number;
251
+ translate(x: number, y: number): void;
252
+ atScale(factor: number): void;
253
+ transform(op: Strand): void;
254
+ applyProps(props: Props): void;
255
+ appendChild(item: SupportedChildElements): void;
256
+ removeChild(item: SupportedChildElements): void;
257
+ insertBefore(item: SupportedChildElements, before: SupportedChildElements): void;
258
+ hideInstance(): void;
259
+ }
260
+ //#endregion
261
+ //#region src/world-objects/world-object.d.ts
262
+ type WorldObjectProps = {
263
+ id: string;
264
+ width: number;
265
+ height: number;
266
+ scale?: number;
267
+ x?: number;
268
+ y?: number;
269
+ rotation?: number;
259
270
  };
260
271
  declare class WorldObject extends BaseObject<WorldObjectProps, Paintable> {
261
- id: string;
262
- type: string;
263
- scale: number;
264
- layers: Paintable[];
265
- /**
266
- * This position in the world local to the scale of the object.
267
- * So a 1000x1000 drawn at 0.1 scale at x=5, y=10 on the world would have world points 50,100,1000,1000
268
- *
269
- * To get it's world-relative position you need to multiple the scale out.
270
- */
271
- points: Strand;
272
- /**
273
- * These are relative to where to object is in the world at the scale of the world.
274
- * So a 1000x1000 drawn at 0.1 scale at x=5, y=10 on the world would have world points 0,0,100,100
275
- */
276
- worldPoints: Strand;
277
- intersectionBuffer: Strand;
278
- aggregateBuffer: Strand;
279
- invertedBuffer: Strand;
280
- rotation: number;
281
- filteredPointsBuffer: Strand;
282
- _updatedList: any[];
283
- geometry?: any;
284
- constructor(props?: AbstractObject, position?: {
285
- x: number;
286
- y: number;
287
- });
288
- static createWithProps(props: WorldObjectProps): WorldObject;
289
- applyProps(props: WorldObjectProps): void;
290
- appendChild(item: Paintable): void;
291
- removeChild(item: Paintable): void;
292
- insertBefore(item: Paintable, before: Paintable): void;
293
- hideInstance(): void;
294
- getObjectsAt(target: Strand, all?: boolean): Paintable[];
295
- applyRotation(target: Strand): Strand;
296
- getAllPointsAt(target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
297
- addLayers(paintables: Paintable[]): void;
298
- getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
299
- }
300
-
301
- type WorldTarget = {
272
+ id: string;
273
+ type: string;
274
+ scale: number;
275
+ layers: Paintable[];
276
+ /**
277
+ * This position in the world local to the scale of the object.
278
+ * So a 1000x1000 drawn at 0.1 scale at x=5, y=10 on the world would have world points 50,100,1000,1000
279
+ *
280
+ * To get it's world-relative position you need to multiple the scale out.
281
+ */
282
+ points: Strand;
283
+ /**
284
+ * These are relative to where to object is in the world at the scale of the world.
285
+ * So a 1000x1000 drawn at 0.1 scale at x=5, y=10 on the world would have world points 0,0,100,100
286
+ */
287
+ worldPoints: Strand;
288
+ intersectionBuffer: Strand;
289
+ aggregateBuffer: Strand;
290
+ invertedBuffer: Strand;
291
+ rotation: number;
292
+ filteredPointsBuffer: Strand;
293
+ _updatedList: any[];
294
+ geometry?: any;
295
+ constructor(props?: AbstractObject, position?: {
302
296
  x: number;
303
297
  y: number;
304
- width?: number;
305
- height?: number;
298
+ });
299
+ static createWithProps(props: WorldObjectProps): WorldObject;
300
+ applyProps(props: WorldObjectProps): void;
301
+ appendChild(item: Paintable): void;
302
+ removeChild(item: Paintable): void;
303
+ insertBefore(item: Paintable, before: Paintable): void;
304
+ hideInstance(): void;
305
+ getObjectsAt(target: Strand, all?: boolean): Paintable[];
306
+ applyRotation(target: Strand): Strand;
307
+ getAllPointsAt(target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
308
+ addLayers(paintables: Paintable[]): void;
309
+ getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
310
+ }
311
+ //#endregion
312
+ //#region src/world.d.ts
313
+ type WorldTarget = {
314
+ x: number;
315
+ y: number;
316
+ width?: number;
317
+ height?: number;
306
318
  };
307
319
  type WorldProps = {
308
- width: number;
309
- height: number;
310
- viewingDirection: ViewingDirection;
320
+ width: number;
321
+ height: number;
322
+ viewingDirection: ViewingDirection;
311
323
  };
312
324
  declare class World extends BaseObject<WorldProps, WorldObject> {
313
- id: string;
314
- _width: number;
315
- _height: number;
316
- aspectRatio: number;
317
- viewingDirection: ViewingDirection;
318
- aggregateBuffer: Strand;
319
- isDirty: boolean;
320
- zones: ZoneInterface[];
321
- filteredPointsBuffer: Strand;
322
- selectedZone?: number;
323
- triggerQueue: Array<[string, any]>;
324
- activatedEvents: string[];
325
- _updatedList: any[];
326
- translationBuffer: Strand;
327
- needsRecalculate: boolean;
328
- emptyPaintables: never[];
329
- renderOrder: number[];
330
- get x(): number;
331
- get y(): number;
332
- get width(): number;
333
- get height(): number;
334
- points: Strand;
335
- private objects;
336
- subscriptions: Array<(type: string, changes?: unknown) => void>;
337
- constructor(width?: number, height?: number, worldObjectCount?: number, viewingDirection?: ViewingDirection);
338
- static withProps(props: WorldProps): World;
339
- applyProps(props: WorldProps): void;
340
- propagateTouchEvent(eventName: string, e: TouchEvent, touchTargets: Array<{
341
- x: number;
342
- y: number;
343
- }>): any[][];
344
- propagatePointerEvent<Name extends keyof SupportedEvents>(eventName: Name, e: any, x: number, y: number, opts?: {
345
- bubbles?: boolean;
346
- cancelable?: boolean;
347
- }): any[];
348
- _propagateEventTargets: any[];
349
- propagateEvent(eventName: string, e: any, worldObjects: [WorldObject, SpacialContent[]][], { bubbles, cancelable }?: {
350
- bubbles?: boolean;
351
- cancelable?: boolean;
352
- }): any[];
353
- appendChild(item: WorldObject): void;
354
- removeChild(item: WorldObject): void;
355
- insertBefore(item: WorldObject, before: WorldObject): void;
356
- hideInstance(): void;
357
- asWorldObject(): WorldObject | null;
358
- addZone(zone: ZoneInterface): void;
359
- selectZone(id: string | number): void;
360
- deselectZone(): void;
361
- getActiveZone(): ZoneInterface | undefined;
362
- hasActiveZone(): boolean;
363
- private checkResizeInternalBuffer;
364
- appendWorldObject(object: WorldObject): number;
365
- recalculateWorldSize(): boolean;
366
- /**
367
- * @deprecated
368
- */
369
- addObjectAt(object: AbstractObject, target: WorldTarget): WorldObject;
370
- scaleWorldObject(index: number, factor: number): void;
371
- translateWorldObject(index: number, x: number, y: number): void;
372
- resize(width: number, height: number): this;
373
- getObjects(): (WorldObject | null)[];
374
- getPoints(): Strand;
375
- getPointsFromViewer(target: Viewer, aggregate?: Strand): Paint[];
376
- addLayoutSubscriber(subscription: (type: string, data: unknown) => void): () => void;
377
- getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
378
- getObjectsAt(target: Strand, all?: boolean): Array<[WorldObject, Paintable[]]>;
379
- getPointsAt(target: Strand, aggregate?: Strand, scaleFactor?: number): Paint[];
380
- _alreadyFlushed: any;
381
- flushSubscriptions(): void;
382
- trigger<T>(type: string, data?: T): void;
383
- triggerEventActivation(): void;
384
- triggerRepaint(): void;
385
- gotoRegion(data: {
386
- x: number;
387
- y: number;
388
- height: number;
389
- width: number;
390
- padding?: number;
391
- nudge?: boolean;
392
- immediate?: boolean;
393
- }): void;
394
- goHome(immediate?: boolean): void;
395
- zoomTo(factor: number, point?: {
396
- x: number;
397
- y: number;
398
- }, stream?: boolean): void;
399
- zoomIn(point?: {
400
- x: number;
401
- y: number;
402
- }): void;
403
- zoomOut(point?: {
404
- x: number;
405
- y: number;
406
- }): void;
407
- constraintBounds(immediate?: boolean): void;
325
+ id: string;
326
+ _width: number;
327
+ _height: number;
328
+ aspectRatio: number;
329
+ viewingDirection: ViewingDirection;
330
+ aggregateBuffer: Strand;
331
+ isDirty: boolean;
332
+ zones: ZoneInterface[];
333
+ filteredPointsBuffer: Strand;
334
+ selectedZone?: number;
335
+ triggerQueue: Array<[string, any]>;
336
+ activatedEvents: string[];
337
+ _updatedList: any[];
338
+ translationBuffer: Strand;
339
+ needsRecalculate: boolean;
340
+ emptyPaintables: never[];
341
+ renderOrder: number[];
342
+ get x(): number;
343
+ get y(): number;
344
+ get width(): number;
345
+ get height(): number;
346
+ points: Strand;
347
+ private objects;
348
+ subscriptions: Array<(type: string, changes?: unknown) => void>;
349
+ constructor(width?: number, height?: number, worldObjectCount?: number, viewingDirection?: ViewingDirection);
350
+ static withProps(props: WorldProps): World;
351
+ applyProps(props: WorldProps): void;
352
+ propagateTouchEvent(eventName: string, e: TouchEvent, touchTargets: Array<{
353
+ x: number;
354
+ y: number;
355
+ }>): any[][];
356
+ propagatePointerEvent<Name$1 extends keyof SupportedEvents>(eventName: Name$1, e: any, x: number, y: number, opts?: {
357
+ bubbles?: boolean;
358
+ cancelable?: boolean;
359
+ }): any[];
360
+ _propagateEventTargets: any[];
361
+ propagateEvent(eventName: string, e: any, worldObjects: [WorldObject, SpacialContent[]][], {
362
+ bubbles,
363
+ cancelable
364
+ }?: {
365
+ bubbles?: boolean;
366
+ cancelable?: boolean;
367
+ }): any[];
368
+ appendChild(item: WorldObject): void;
369
+ removeChild(item: WorldObject): void;
370
+ insertBefore(item: WorldObject, before: WorldObject): void;
371
+ hideInstance(): void;
372
+ asWorldObject(): WorldObject | null;
373
+ addZone(zone: ZoneInterface): void;
374
+ selectZone(id: string | number): void;
375
+ deselectZone(): void;
376
+ getActiveZone(): ZoneInterface | undefined;
377
+ hasActiveZone(): boolean;
378
+ private checkResizeInternalBuffer;
379
+ appendWorldObject(object: WorldObject): number;
380
+ recalculateWorldSize(): boolean;
381
+ /**
382
+ * @deprecated
383
+ */
384
+ addObjectAt(object: AbstractObject, target: WorldTarget): WorldObject;
385
+ scaleWorldObject(index: number, factor: number): void;
386
+ translateWorldObject(index: number, x: number, y: number): void;
387
+ resize(width: number, height: number): this;
388
+ getObjects(): (WorldObject | null)[];
389
+ getPoints(): Strand;
390
+ getPointsFromViewer(target: Viewer, aggregate?: Strand): Paint[];
391
+ addLayoutSubscriber(subscription: (type: string, data: unknown) => void): () => void;
392
+ getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
393
+ getObjectsAt(target: Strand, all?: boolean): Array<[WorldObject, Paintable[]]>;
394
+ getPointsAt(target: Strand, aggregate?: Strand, scaleFactor?: number): Paint[];
395
+ _alreadyFlushed: any;
396
+ flushSubscriptions(): void;
397
+ trigger<T>(type: string, data?: T): void;
398
+ triggerEventActivation(): void;
399
+ triggerRepaint(): void;
400
+ gotoRegion(data: {
401
+ x: number;
402
+ y: number;
403
+ height: number;
404
+ width: number;
405
+ padding?: number;
406
+ nudge?: boolean;
407
+ immediate?: boolean;
408
+ }): void;
409
+ goHome(immediate?: boolean): void;
410
+ zoomTo(factor: number, point?: {
411
+ x: number;
412
+ y: number;
413
+ }, stream?: boolean): void;
414
+ zoomIn(point?: {
415
+ x: number;
416
+ y: number;
417
+ }): void;
418
+ zoomOut(point?: {
419
+ x: number;
420
+ y: number;
421
+ }): void;
422
+ constraintBounds(immediate?: boolean): void;
408
423
  }
409
-
424
+ //#endregion
425
+ //#region src/renderer/renderer.d.ts
410
426
  interface Renderer {
411
- beforeFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
412
- paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
413
- afterFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
414
- getScale(width: number, height: number, dpi?: boolean): number;
415
- prepareLayer(paint: SpacialContent, point: Strand): void;
416
- finishLayer(paint: SpacialContent, point: Strand): void;
417
- afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
418
- pendingUpdate(): boolean;
419
- getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
420
- getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
421
- isReady(): boolean;
422
- resize(): void;
423
- resize(width?: number, height?: number): void;
424
- triggerResize?: () => void;
425
- reset(): void;
426
- getRendererScreenPosition(): {
427
- x: number;
428
- y: number;
429
- width: number;
430
- height: number;
431
- top: number;
432
- left: number;
433
- } | undefined;
427
+ beforeFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
428
+ paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
429
+ afterFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
430
+ getScale(width: number, height: number, dpi?: boolean): number;
431
+ prepareLayer(paint: SpacialContent, point: Strand): void;
432
+ finishLayer(paint: SpacialContent, point: Strand): void;
433
+ afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
434
+ pendingUpdate(): boolean;
435
+ getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
436
+ getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
437
+ isReady(): boolean;
438
+ resize(): void;
439
+ resize(width?: number, height?: number): void;
440
+ triggerResize?: () => void;
441
+ reset(): void;
442
+ getRendererScreenPosition(): {
443
+ x: number;
444
+ y: number;
445
+ width: number;
446
+ height: number;
447
+ top: number;
448
+ left: number;
449
+ } | undefined;
434
450
  }
435
-
451
+ //#endregion
452
+ //#region src/utility/easing-functions.d.ts
436
453
  type EasingFunction = (progress: number) => number;
437
454
  declare const bounceOut: EasingFunction;
438
455
  type EasingFunctionNames = 'linear' | 'easeInQuad' | 'easeOutQuad' | 'easeInOutQuad' | 'easeInCubic' | 'easeOutCubic' | 'easeInOutCubic' | 'easeInQuart' | 'easeOutQuart' | 'easeInOutQuart' | 'easeInQuint' | 'easeOutQuint' | 'easeInOutQuint' | 'easeInSine' | 'easeOutSine' | 'easeInOutSine' | 'easeInExpo' | 'easeOutExpo' | 'easeInOutExpo' | 'easeInCirc' | 'easeOutCirc' | 'easeInOutCirc' | 'easeInBack' | 'easeOutBack' | 'easeInOutBack' | 'easeInElastic' | 'easeOutElastic' | 'easeInOutElastic' | 'easeInBounce' | 'easeOutBounce' | 'easeInOutBounce';
439
- declare const easingFunctions: {
440
- [key in EasingFunctionNames]: EasingFunction;
441
- };
442
-
456
+ declare const easingFunctions: { [key in EasingFunctionNames]: EasingFunction };
457
+ //#endregion
458
+ //#region src/modules/transition-manager/transition-manager.d.ts
443
459
  type PendingTransition = {
444
- from: Strand;
445
- to: Strand;
446
- elapsed_time: number;
447
- total_time: number;
448
- timingFunction: EasingFunction;
449
- done: boolean;
450
- constrain: boolean;
451
- callback?: () => void;
460
+ from: Strand;
461
+ to: Strand;
462
+ elapsed_time: number;
463
+ total_time: number;
464
+ timingFunction: EasingFunction;
465
+ done: boolean;
466
+ constrain: boolean;
467
+ callback?: () => void;
452
468
  };
453
469
  declare class TransitionManager {
454
- runtime: Runtime;
455
- readonly pendingTransition: PendingTransition;
456
- constructor(runtime: Runtime);
457
- hasPending(): boolean;
458
- getPendingTransition(): PendingTransition;
459
- getPendingFrom(): Strand;
460
- customTransition(func: (transition: PendingTransition) => void): void;
461
- stopTransition(): void;
462
- runTransition(target: Strand, delta: number): void;
463
- lastZoomTo: {
464
- factor: number;
465
- options: any;
466
- } | null;
467
- resumeTransition(): void;
468
- zoomTo(factor: number, options?: {
469
- origin?: Position;
470
- stream?: boolean;
471
- minZoomFactor?: number;
472
- transition?: {
473
- duration?: number;
474
- easing?: EasingFunction;
475
- };
476
- }): void;
477
- isConstraining: boolean;
478
- constrainBounds({ transition, panPadding, }?: {
479
- panPadding?: number;
480
- transition?: {
481
- duration?: number;
482
- easing?: EasingFunction;
483
- };
484
- }): void;
485
- applyTransition(target: Strand, transition?: {
486
- duration?: number;
487
- easing?: EasingFunction;
488
- constrain?: boolean;
489
- }, defaults?: {
490
- duration: number;
491
- easing: EasingFunction;
492
- constrain?: boolean;
493
- callback?: () => void;
494
- }, { stream, }?: {
495
- stream?: boolean;
496
- }): void;
497
- lastGoToRegion: null | {
498
- target: any;
499
- options: any;
470
+ runtime: Runtime;
471
+ readonly pendingTransition: PendingTransition;
472
+ constructor(runtime: Runtime);
473
+ hasPending(): boolean;
474
+ getPendingTransition(): PendingTransition;
475
+ getPendingFrom(): Strand;
476
+ customTransition(func: (transition: PendingTransition) => void): void;
477
+ stopTransition(): void;
478
+ runTransition(target: Strand, delta: number): void;
479
+ lastZoomTo: {
480
+ factor: number;
481
+ options: any;
482
+ } | null;
483
+ resumeTransition(): void;
484
+ zoomTo(factor: number, options?: {
485
+ origin?: Position;
486
+ stream?: boolean;
487
+ minZoomFactor?: number;
488
+ transition?: {
489
+ duration?: number;
490
+ easing?: EasingFunction;
500
491
  };
501
- goToRegion(target: {
502
- x: number;
503
- y: number;
504
- width: number;
505
- height: number;
506
- padding?: number;
507
- }, { transition, }?: {
508
- transition?: {
509
- duration?: number;
510
- easing?: EasingFunction;
511
- };
512
- }): void;
492
+ }): void;
493
+ isConstraining: boolean;
494
+ constrainBounds({
495
+ transition,
496
+ panPadding
497
+ }?: {
498
+ panPadding?: number;
499
+ transition?: {
500
+ duration?: number;
501
+ easing?: EasingFunction;
502
+ };
503
+ }): void;
504
+ applyTransition(target: Strand, transition?: {
505
+ duration?: number;
506
+ easing?: EasingFunction;
507
+ constrain?: boolean;
508
+ }, defaults?: {
509
+ duration: number;
510
+ easing: EasingFunction;
511
+ constrain?: boolean;
512
+ callback?: () => void;
513
+ }, {
514
+ stream
515
+ }?: {
516
+ stream?: boolean;
517
+ }): void;
518
+ lastGoToRegion: null | {
519
+ target: any;
520
+ options: any;
521
+ };
522
+ goToRegion(target: {
523
+ x: number;
524
+ y: number;
525
+ width: number;
526
+ height: number;
527
+ padding?: number;
528
+ }, {
529
+ transition
530
+ }?: {
531
+ transition?: {
532
+ duration?: number;
533
+ easing?: EasingFunction;
534
+ };
535
+ }): void;
513
536
  }
514
-
537
+ //#endregion
538
+ //#region src/renderer/runtime.d.ts
515
539
  type RuntimeHooks = {
516
- useFrame: Array<(time: number) => void>;
517
- useBeforeFrame: Array<(time: number) => void>;
518
- useAfterFrame: Array<(time: number) => void>;
519
- useAfterPaint: Array<(paint: Paint) => void>;
540
+ useFrame: Array<(time: number) => void>;
541
+ useBeforeFrame: Array<(time: number) => void>;
542
+ useAfterFrame: Array<(time: number) => void>;
543
+ useAfterPaint: Array<(paint: Paint) => void>;
520
544
  };
521
545
  type UnwrapHook<T> = T extends Array<infer R> ? R : never;
522
546
  type UnwrapHookArg<T> = T extends Array<(arg: infer R) => any> ? R : never;
523
547
  type ViewerMode = 'static' | 'explore' | 'sketch';
524
548
  type ViewerFilters = {
525
- grayscale: number;
526
- contrast: number;
527
- brightness: number;
528
- saturate: number;
529
- hueRotate: number;
530
- sepia: number;
531
- invert: number;
532
- blur: number;
549
+ grayscale: number;
550
+ contrast: number;
551
+ brightness: number;
552
+ saturate: number;
553
+ hueRotate: number;
554
+ sepia: number;
555
+ invert: number;
556
+ blur: number;
533
557
  };
534
558
  type HookOptions = {
535
- enableFilters?: boolean;
536
- filters: ViewerFilters;
559
+ enableFilters?: boolean;
560
+ filters: ViewerFilters;
537
561
  };
538
562
  type RuntimeOptions = {
539
- visibilityRatio: number;
540
- maxOverZoom: number;
541
- maxUnderZoom: number;
563
+ visibilityRatio: number;
564
+ maxOverZoom: number;
565
+ maxUnderZoom: number;
542
566
  };
543
567
  declare class Runtime {
544
- id: string;
545
- ready: boolean;
546
- get x(): number;
547
- set x(x: number);
548
- get y(): number;
549
- set y(y: number);
550
- get x2(): number;
551
- set x2(x2: number);
552
- get y2(): number;
553
- set y2(y2: number);
554
- get width(): number;
555
- set width(width: number);
556
- get height(): number;
557
- set height(height: number);
558
- renderer: Renderer;
559
- world: World;
560
- target: Strand;
561
- homePosition: Strand;
562
- manualHomePosition: boolean;
563
- manualFocalPosition: boolean;
564
- focalPosition: Strand;
565
- transitionManager: TransitionManager;
566
- aggregate: Strand;
567
- transformBuffer: Strand;
568
- lastTarget: Strand;
569
- zoomBuffer: Strand;
570
- logNextRender: boolean;
571
- pendingUpdate: boolean;
572
- isCommitting: boolean;
573
- firstRender: boolean;
574
- lastTime: number;
575
- stopId?: number;
576
- mode: ViewerMode;
577
- controllers: RuntimeController[];
578
- controllersRunning: boolean;
579
- controllerStopFunctions: Array<() => void>;
580
- maxScaleFactor: number;
581
- _viewerToWorld: {
582
- x: number;
583
- y: number;
584
- };
585
- _lastGoodScale: number;
586
- hooks: RuntimeHooks;
587
- fpsLimit: number | undefined;
588
- options: RuntimeOptions;
589
- hookOptions: HookOptions;
590
- constructor(renderer: Renderer, world: World, target: Viewer, controllers?: RuntimeController[], options?: Partial<RuntimeOptions>);
591
- setHomePosition(position?: Projection): void;
592
- startControllers(): void;
593
- stopControllers(): void;
594
- updateControllerPosition(): void;
595
- triggerResize(): void;
596
- addController(controller: RuntimeController): void;
597
- cover(): void;
598
- getRendererScreenPosition(): {
599
- x: number;
600
- y: number;
601
- width: number;
602
- height: number;
603
- top: number;
604
- left: number;
605
- } | undefined;
606
- updateRendererScreenPosition(): void;
607
- setOptions(options: Partial<RuntimeOptions>): void;
608
- goHome(options?: {
609
- cover?: boolean;
610
- position?: Strand;
611
- }): void;
612
- /**
613
- * Resize world
614
- *
615
- * This is generally called when the world is re-sized. This recalculates the current target accordingly. It needs to
616
- * be improved, tested and planned.
617
- *
618
- * @param fromWidth
619
- * @param toWidth
620
- * @param fromHeight
621
- * @param toHeight
622
- */
623
- resize(fromWidth: number, toWidth: number, fromHeight: number, toHeight: number): void;
624
- updateFocalPosition(widthDiff?: number, heightDiff?: number): void;
625
- _viewport: {
626
- x: number;
627
- y: number;
628
- width: number;
629
- height: number;
630
- };
631
- /**
632
- * Get Viewport
633
- *
634
- * Returns a projection based on the current target.
635
- *
636
- * @todo rename to getProjection.
637
- * @todo evaluate if we actually need this.
638
- */
639
- getViewport(): Projection;
640
- /**
641
- * Set Viewport
642
- *
643
- * This is a helper for setting the viewport based on x, y, width and height, opposed to the x1, y1, x2, y2 native
644
- * co-ordinates of the target.
645
- *
646
- * @param data
647
- */
648
- setViewport: (data: {
649
- x?: number;
650
- y?: number;
651
- width?: number;
652
- height?: number;
653
- }) => void;
654
- constrainBounds(target: Strand, { panPadding, ref }?: {
655
- ref?: boolean;
656
- panPadding?: number;
657
- }): readonly [boolean, Strand];
658
- /**
659
- * Get bounds
660
- *
661
- * Returns the minimum and maximum bounds. This absolutely needs improved. With the addition of zones this is becoming
662
- * more of an issue. It has to take into account the current layout. There also needs to be a new method for creating
663
- * a "home" view that will fit the content to the view.
664
- */
665
- getBounds(options: {
666
- padding: number;
667
- target?: Strand;
668
- }): {
669
- readonly minX: number;
670
- readonly maxX: number;
671
- readonly minY: number;
672
- readonly maxY: number;
673
- };
674
- getScaleFactor(dpi?: boolean): number;
675
- /**
676
- * Zoom
677
- */
678
- getZoomedPosition(factor: number, { origin, fromPos: _fromPos, }: {
679
- origin?: {
680
- x: number;
681
- y: number;
682
- };
683
- fromPos?: Strand;
684
- }): Strand;
685
- clampRegion({ x, y, width, height, padding, }: {
686
- x: number;
687
- y: number;
688
- width: number;
689
- height: number;
690
- padding?: number;
691
- }): {
692
- x: number;
693
- y: number;
694
- width: number;
695
- height: number;
696
- };
697
- /**
698
- * Converts units from the viewer to the world.
699
- *
700
- * Needs to be tested, as this will become more important with the event system.
701
- *
702
- * @param x
703
- * @param y
704
- */
705
- viewerToWorld(x: number, y: number): {
706
- x: number;
707
- y: number;
708
- };
709
- /**
710
- * Converts units from the viewer to the world.
711
- *
712
- * Needs to be tested, as this will become more important with the event system.
713
- *
714
- * @param x
715
- * @param y
716
- * @param width
717
- * @param height
718
- */
719
- worldToViewer(x: number, y: number, width: number, height: number): {
720
- x: number;
721
- y: number;
722
- width: number;
723
- height: number;
724
- strand: Strand;
568
+ id: string;
569
+ ready: boolean;
570
+ get x(): number;
571
+ set x(x: number);
572
+ get y(): number;
573
+ set y(y: number);
574
+ get x2(): number;
575
+ set x2(x2: number);
576
+ get y2(): number;
577
+ set y2(y2: number);
578
+ get width(): number;
579
+ set width(width: number);
580
+ get height(): number;
581
+ set height(height: number);
582
+ renderer: Renderer;
583
+ world: World;
584
+ target: Strand;
585
+ homePosition: Strand;
586
+ manualHomePosition: boolean;
587
+ manualFocalPosition: boolean;
588
+ focalPosition: Strand;
589
+ transitionManager: TransitionManager;
590
+ aggregate: Strand;
591
+ transformBuffer: Strand;
592
+ lastTarget: Strand;
593
+ zoomBuffer: Strand;
594
+ logNextRender: boolean;
595
+ pendingUpdate: boolean;
596
+ isCommitting: boolean;
597
+ firstRender: boolean;
598
+ lastTime: number;
599
+ stopId?: number;
600
+ mode: ViewerMode;
601
+ controllers: RuntimeController[];
602
+ controllersRunning: boolean;
603
+ controllerStopFunctions: Array<() => void>;
604
+ maxScaleFactor: number;
605
+ _viewerToWorld: {
606
+ x: number;
607
+ y: number;
608
+ };
609
+ _lastGoodScale: number;
610
+ hooks: RuntimeHooks;
611
+ fpsLimit: number | undefined;
612
+ options: RuntimeOptions;
613
+ hookOptions: HookOptions;
614
+ constructor(renderer: Renderer, world: World, target: Viewer, controllers?: RuntimeController[], options?: Partial<RuntimeOptions>);
615
+ setHomePosition(position?: Projection): void;
616
+ startControllers(): void;
617
+ stopControllers(): void;
618
+ updateControllerPosition(): void;
619
+ triggerResize(): void;
620
+ addController(controller: RuntimeController): void;
621
+ cover(): void;
622
+ getRendererScreenPosition(): {
623
+ x: number;
624
+ y: number;
625
+ width: number;
626
+ height: number;
627
+ top: number;
628
+ left: number;
629
+ } | undefined;
630
+ updateRendererScreenPosition(): void;
631
+ setOptions(options: Partial<RuntimeOptions>): void;
632
+ goHome(options?: {
633
+ cover?: boolean;
634
+ position?: Strand;
635
+ }): void;
636
+ /**
637
+ * Resize world
638
+ *
639
+ * This is generally called when the world is re-sized. This recalculates the current target accordingly. It needs to
640
+ * be improved, tested and planned.
641
+ *
642
+ * @param fromWidth
643
+ * @param toWidth
644
+ * @param fromHeight
645
+ * @param toHeight
646
+ */
647
+ resize(fromWidth: number, toWidth: number, fromHeight: number, toHeight: number): void;
648
+ updateFocalPosition(widthDiff?: number, heightDiff?: number): void;
649
+ _viewport: {
650
+ x: number;
651
+ y: number;
652
+ width: number;
653
+ height: number;
654
+ };
655
+ /**
656
+ * Get Viewport
657
+ *
658
+ * Returns a projection based on the current target.
659
+ *
660
+ * @todo rename to getProjection.
661
+ * @todo evaluate if we actually need this.
662
+ */
663
+ getViewport(): Projection;
664
+ /**
665
+ * Set Viewport
666
+ *
667
+ * This is a helper for setting the viewport based on x, y, width and height, opposed to the x1, y1, x2, y2 native
668
+ * co-ordinates of the target.
669
+ *
670
+ * @param data
671
+ */
672
+ setViewport: (data: {
673
+ x?: number;
674
+ y?: number;
675
+ width?: number;
676
+ height?: number;
677
+ }) => void;
678
+ constrainBounds(target: Strand, {
679
+ panPadding,
680
+ ref
681
+ }?: {
682
+ ref?: boolean;
683
+ panPadding?: number;
684
+ }): readonly [boolean, Strand];
685
+ /**
686
+ * Get bounds
687
+ *
688
+ * Returns the minimum and maximum bounds. This absolutely needs improved. With the addition of zones this is becoming
689
+ * more of an issue. It has to take into account the current layout. There also needs to be a new method for creating
690
+ * a "home" view that will fit the content to the view.
691
+ */
692
+ getBounds(options: {
693
+ padding: number;
694
+ target?: Strand;
695
+ }): {
696
+ readonly minX: number;
697
+ readonly maxX: number;
698
+ readonly minY: number;
699
+ readonly maxY: number;
700
+ };
701
+ getScaleFactor(dpi?: boolean): number;
702
+ /**
703
+ * Zoom
704
+ */
705
+ getZoomedPosition(factor: number, {
706
+ origin,
707
+ fromPos: _fromPos
708
+ }: {
709
+ origin?: {
710
+ x: number;
711
+ y: number;
725
712
  };
726
- /**
727
- * Set scale
728
- *
729
- * This will set the scale of the target, with an optional origin.
730
- *
731
- * @param scaleFactor
732
- * @param origin
733
- */
734
- setScale(scaleFactor: number, origin?: {
735
- x: number;
736
- y: number;
737
- }): void;
738
- /**
739
- * Sync runtime instances
740
- *
741
- * Allows a single controller to drive 2 runtime instances, or 2 controllers to both
742
- * control each other.
743
- *
744
- * @param runtime
745
- */
746
- syncTo(runtime: Runtime): () => void;
747
- /**
748
- * Stop the runtime
749
- *
750
- * Stops the internal clock, where no more updates will occur. Returns a function to restart it.
751
- */
752
- stop(): () => void;
753
- reset(): void;
754
- selectZone(zone: number | string): void;
755
- deselectZone(): void;
756
- hook<Name extends keyof RuntimeHooks, Arg = UnwrapHookArg<Name>>(name: keyof RuntimeHooks, arg: Arg): void;
757
- registerHook<Name extends keyof RuntimeHooks, Hook = UnwrapHook<Name>>(name: Name, hook: Hook): () => void;
758
- /**
759
- * Render
760
- *
761
- * The hottest path in the runtime, called every 16.7ms, if possible in the future be double-timed on 120hz monitors.
762
- *
763
- * @ param t
764
- */
765
- render: (t: number) => void;
766
- updateNextFrame(): void;
713
+ fromPos?: Strand;
714
+ }): Strand;
715
+ clampRegion({
716
+ x,
717
+ y,
718
+ width,
719
+ height,
720
+ padding
721
+ }: {
722
+ x: number;
723
+ y: number;
724
+ width: number;
725
+ height: number;
726
+ padding?: number;
727
+ }): {
728
+ x: number;
729
+ y: number;
730
+ width: number;
731
+ height: number;
732
+ };
733
+ /**
734
+ * Converts units from the viewer to the world.
735
+ *
736
+ * Needs to be tested, as this will become more important with the event system.
737
+ *
738
+ * @param x
739
+ * @param y
740
+ */
741
+ viewerToWorld(x: number, y: number): {
742
+ x: number;
743
+ y: number;
744
+ };
745
+ /**
746
+ * Converts units from the viewer to the world.
747
+ *
748
+ * Needs to be tested, as this will become more important with the event system.
749
+ *
750
+ * @param x
751
+ * @param y
752
+ * @param width
753
+ * @param height
754
+ */
755
+ worldToViewer(x: number, y: number, width: number, height: number): {
756
+ x: number;
757
+ y: number;
758
+ width: number;
759
+ height: number;
760
+ strand: Strand;
761
+ };
762
+ /**
763
+ * Set scale
764
+ *
765
+ * This will set the scale of the target, with an optional origin.
766
+ *
767
+ * @param scaleFactor
768
+ * @param origin
769
+ */
770
+ setScale(scaleFactor: number, origin?: {
771
+ x: number;
772
+ y: number;
773
+ }): void;
774
+ /**
775
+ * Sync runtime instances
776
+ *
777
+ * Allows a single controller to drive 2 runtime instances, or 2 controllers to both
778
+ * control each other.
779
+ *
780
+ * @param runtime
781
+ */
782
+ syncTo(runtime: Runtime): () => void;
783
+ /**
784
+ * Stop the runtime
785
+ *
786
+ * Stops the internal clock, where no more updates will occur. Returns a function to restart it.
787
+ */
788
+ stop(): () => void;
789
+ reset(): void;
790
+ selectZone(zone: number | string): void;
791
+ deselectZone(): void;
792
+ hook<Name$1 extends keyof RuntimeHooks, Arg = UnwrapHookArg<Name$1>>(name: keyof RuntimeHooks, arg: Arg): void;
793
+ registerHook<Name$1 extends keyof RuntimeHooks, Hook = UnwrapHook<Name$1>>(name: Name$1, hook: Hook): () => void;
794
+ /**
795
+ * Render
796
+ *
797
+ * The hottest path in the runtime, called every 16.7ms, if possible in the future be double-timed on 120hz monitors.
798
+ *
799
+ * @ param t
800
+ */
801
+ render: (t: number) => void;
802
+ updateNextFrame(): void;
767
803
  }
768
-
804
+ //#endregion
805
+ //#region src/types.d.ts
769
806
  type RuntimeController = {
770
- start(runtime: Runtime): () => void;
771
- updatePosition(x: number, y: number, width: number, height: number): void;
807
+ start(runtime: Runtime): () => void;
808
+ updatePosition(x: number, y: number, width: number, height: number): void;
772
809
  };
773
810
  interface Position {
774
- x: number;
775
- y: number;
811
+ x: number;
812
+ y: number;
776
813
  }
777
814
  interface PositionPair {
778
- x1: number;
779
- y1: number;
780
- x2: number;
781
- y2: number;
815
+ x1: number;
816
+ y1: number;
817
+ x2: number;
818
+ y2: number;
782
819
  }
783
820
  interface SpacialSize {
784
- width: number;
785
- height: number;
821
+ width: number;
822
+ height: number;
786
823
  }
787
824
  interface Scaled {
788
- scale: number;
789
- }
790
- interface Projection extends Position, SpacialSize {
791
- }
792
- interface Viewer extends Projection, Scaled {
825
+ scale: number;
793
826
  }
827
+ interface Projection extends Position, SpacialSize {}
828
+ interface Viewer extends Projection, Scaled {}
794
829
  interface DisplayData extends SpacialSize, Position, Scaled {
795
- points: Strand;
796
- rotation?: number;
830
+ points: Strand;
831
+ rotation?: number;
797
832
  }
798
833
  interface WorldTime {
799
- start: number;
800
- end: number;
834
+ start: number;
835
+ end: number;
801
836
  }
802
837
  type ViewingDirection = 'left-to-right' | 'right-to-left' | 'top-to-bottom' | 'bottom-to-top';
803
838
  /** @internal */
804
839
  type PointerEvents = {
805
- onClick(e: any): void;
806
- onWheel(e: any): void;
807
- onPointerDown(e: any): void;
808
- onPointerUp(e: any): void;
809
- onMouseLeave(e: any): void;
810
- onMouseMove(e: any): void;
811
- onTouchCancel(e: any): void;
812
- onTouchEnd(e: any): void;
813
- onTouchMove(e: any): void;
814
- onTouchStart(e: any): void;
840
+ onClick(e: any): void;
841
+ onWheel(e: any): void;
842
+ onPointerDown(e: any): void;
843
+ onPointerUp(e: any): void;
844
+ onMouseLeave(e: any): void;
845
+ onMouseMove(e: any): void;
846
+ onTouchCancel(e: any): void;
847
+ onTouchEnd(e: any): void;
848
+ onTouchMove(e: any): void;
849
+ onTouchStart(e: any): void;
815
850
  };
816
851
  interface TextWrapperOptions {
817
- /**
818
- * Text style that includes font size (in px), font weight, font family, etc.
819
- */
820
- font?: string;
821
- /**
822
- * Number - 'n' times font size where 1 is equivalent to '100%'. Also the property can be set in '%' or 'px'.
823
- */
824
- lineHeight?: string | number;
825
- /**
826
- * Horizontal alignment of each line.
827
- */
828
- textAlign?: 'left' | 'center' | 'right';
829
- /**
830
- * Vertical alignment of the whole text block.
831
- */
832
- verticalAlign?: 'top' | 'middle' | 'bottom';
833
- /**
834
- * Horizontal padding (in px) that is equally set on left and right sides.
835
- */
836
- paddingX?: number;
837
- /**
838
- * Vertical padding (in px) that is equally set on top and bottoms.
839
- */
840
- paddingY?: number;
841
- /**
842
- * Fit canvas' container size instead of its own size.
843
- */
844
- fitParent?: boolean;
845
- /**
846
- * "auto" - text goes to the next line on a whole word when there's no room
847
- * "word" - each next word is placed on a new line
848
- */
849
- lineBreak?: 'auto' | 'word';
850
- /**
851
- * Ignore given font size and line height and resize text to fill its padded container.
852
- */
853
- sizeToFill?: boolean;
854
- /**
855
- * If above option is true text won't be bigger than set.
856
- */
857
- maxFontSizeToFill?: number;
858
- /**
859
- * Allow text outline based on canvas context configuration.
860
- */
861
- strokeText?: boolean;
862
- /**
863
- * All lines will try to match the same width with flexed spaces between the words.
864
- */
865
- justifyLines?: boolean;
866
- /**
867
- * Text breaks on a new line character "\n". Supports multiple consecutive new lines.
868
- */
869
- allowNewLine?: boolean;
870
- /**
871
- * Text is rendered based on device pixel ratio.
872
- */
873
- renderHDPI?: boolean;
874
- /**
875
- * Text is underlined according to context.strokeStyle and context.lineWidth
876
- */
877
- textDecoration?: 'none' | 'underline';
852
+ /**
853
+ * Text style that includes font size (in px), font weight, font family, etc.
854
+ */
855
+ font?: string;
856
+ /**
857
+ * Number - 'n' times font size where 1 is equivalent to '100%'. Also the property can be set in '%' or 'px'.
858
+ */
859
+ lineHeight?: string | number;
860
+ /**
861
+ * Horizontal alignment of each line.
862
+ */
863
+ textAlign?: 'left' | 'center' | 'right';
864
+ /**
865
+ * Vertical alignment of the whole text block.
866
+ */
867
+ verticalAlign?: 'top' | 'middle' | 'bottom';
868
+ /**
869
+ * Horizontal padding (in px) that is equally set on left and right sides.
870
+ */
871
+ paddingX?: number;
872
+ /**
873
+ * Vertical padding (in px) that is equally set on top and bottoms.
874
+ */
875
+ paddingY?: number;
876
+ /**
877
+ * Fit canvas' container size instead of its own size.
878
+ */
879
+ fitParent?: boolean;
880
+ /**
881
+ * "auto" - text goes to the next line on a whole word when there's no room
882
+ * "word" - each next word is placed on a new line
883
+ */
884
+ lineBreak?: 'auto' | 'word';
885
+ /**
886
+ * Ignore given font size and line height and resize text to fill its padded container.
887
+ */
888
+ sizeToFill?: boolean;
889
+ /**
890
+ * If above option is true text won't be bigger than set.
891
+ */
892
+ maxFontSizeToFill?: number;
893
+ /**
894
+ * Allow text outline based on canvas context configuration.
895
+ */
896
+ strokeText?: boolean;
897
+ /**
898
+ * All lines will try to match the same width with flexed spaces between the words.
899
+ */
900
+ justifyLines?: boolean;
901
+ /**
902
+ * Text breaks on a new line character "\n". Supports multiple consecutive new lines.
903
+ */
904
+ allowNewLine?: boolean;
905
+ /**
906
+ * Text is rendered based on device pixel ratio.
907
+ */
908
+ renderHDPI?: boolean;
909
+ /**
910
+ * Text is underlined according to context.strokeStyle and context.lineWidth
911
+ */
912
+ textDecoration?: 'none' | 'underline';
878
913
  }
879
-
914
+ //#endregion
915
+ //#region src/spacial-content/image-texture.d.ts
880
916
  type UpdateTextureFunction = () => {
881
- source: TexImageSource | undefined;
882
- hash: any;
917
+ source: TexImageSource | undefined;
918
+ hash: any;
883
919
  };
884
920
  type ImageTextureProps = {
885
- id: string;
886
- display?: {
887
- width: number;
888
- height: number;
889
- };
890
- target: {
891
- width: number;
892
- height: number;
893
- };
894
- scale?: number;
895
- getTexture: UpdateTextureFunction;
921
+ id: string;
922
+ display?: {
923
+ width: number;
924
+ height: number;
925
+ };
926
+ target: {
927
+ width: number;
928
+ height: number;
929
+ };
930
+ scale?: number;
931
+ getTexture: UpdateTextureFunction;
896
932
  };
897
933
  declare class ImageTexture extends BaseObject implements SpacialContent {
898
- readonly type = "spacial-content";
899
- id: string;
934
+ readonly type = "spacial-content";
935
+ id: string;
936
+ uri: string;
937
+ display: DisplayData;
938
+ points: Strand;
939
+ getTexture: UpdateTextureFunction;
940
+ constructor(data?: {
941
+ id?: string;
900
942
  uri: string;
901
- display: DisplayData;
902
- points: Strand;
903
- getTexture: UpdateTextureFunction;
904
- constructor(data?: {
905
- id?: string;
906
- uri: string;
907
- width: number;
908
- height: number;
909
- scale?: number;
910
- });
911
- applyProps(props: ImageTextureProps): void;
912
- getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
943
+ width: number;
944
+ height: number;
945
+ scale?: number;
946
+ });
947
+ applyProps(props: ImageTextureProps): void;
948
+ getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
913
949
  }
914
-
950
+ //#endregion
951
+ //#region src/spacial-content/spacial-content.d.ts
915
952
  interface SpacialContent {
916
- readonly id: string;
917
- readonly type: 'spacial-content';
918
- readonly display: DisplayData;
919
- __id?: string;
920
- __parent?: CompositeResource;
921
- __owner: {
922
- value: WorldObject | undefined;
923
- };
924
- __host?: any;
925
- priority?: boolean;
926
- points: Strand;
927
- crop?: Strand;
928
- cropData?: {
929
- x: number;
930
- y: number;
931
- width: number;
932
- height: number;
933
- };
934
- style?: {
935
- opacity: number;
936
- };
937
- getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
938
- getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
939
- transform(op: Strand): void;
940
- loadFullResource?(): Promise<void>;
941
- dispatchEvent(event: string, e: any): void;
942
- getImageUrl?: (index: number) => string;
943
- getTexture?: UpdateTextureFunction;
953
+ readonly id: string;
954
+ readonly type: 'spacial-content';
955
+ readonly display: DisplayData;
956
+ __id?: string;
957
+ __parent?: CompositeResource;
958
+ __owner: {
959
+ value: WorldObject | undefined;
960
+ };
961
+ __host?: any;
962
+ priority?: boolean;
963
+ points: Strand;
964
+ crop?: Strand;
965
+ cropData?: {
966
+ x: number;
967
+ y: number;
968
+ width: number;
969
+ height: number;
970
+ };
971
+ style?: {
972
+ opacity: number;
973
+ };
974
+ getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => void | Promise<void>>;
975
+ getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
976
+ transform(op: Strand): void;
977
+ loadFullResource?(): Promise<void>;
978
+ dispatchEvent(event: string, e: any): void;
979
+ getImageUrl?: (index: number) => string;
980
+ getTexture?: UpdateTextureFunction;
944
981
  }
945
-
982
+ //#endregion
983
+ //#region src/spacial-content/single-image.d.ts
946
984
  type SingleImageProps = {
947
- uri: string;
948
- id?: string;
949
- display?: {
950
- width: number;
951
- height: number;
952
- rotation?: number;
953
- };
954
- target: {
955
- width: number;
956
- height: number;
957
- x?: number;
958
- y?: number;
959
- };
960
- crop?: {
961
- x: number;
962
- y: number;
963
- width: number;
964
- height: number;
965
- };
966
- scale?: number;
967
- priority?: boolean;
968
- style?: any;
985
+ uri: string;
986
+ id?: string;
987
+ display?: {
988
+ width: number;
989
+ height: number;
990
+ rotation?: number;
991
+ };
992
+ target: {
993
+ width: number;
994
+ height: number;
995
+ x?: number;
996
+ y?: number;
997
+ };
998
+ crop?: {
999
+ x: number;
1000
+ y: number;
1001
+ width: number;
1002
+ height: number;
1003
+ };
1004
+ scale?: number;
1005
+ priority?: boolean;
1006
+ style?: any;
969
1007
  };
970
1008
  declare class SingleImage extends BaseObject implements SpacialContent {
971
- readonly type = "spacial-content";
972
- /**
973
- * An identifier for this image. Will default to the image URI.
974
- */
975
- id: string;
976
- /**
977
- * The URI of the image being painted.
978
- */
1009
+ readonly type = "spacial-content";
1010
+ /**
1011
+ * An identifier for this image. Will default to the image URI.
1012
+ */
1013
+ id: string;
1014
+ /**
1015
+ * The URI of the image being painted.
1016
+ */
1017
+ uri: string;
1018
+ /**
1019
+ * The real height and width of the image. For example a 1000x1000 painted at 100x100 would contain
1020
+ * the display data for 1000x1000 and `this.points` would scale that down to 100x100. This is used to
1021
+ * calculate the scale.
1022
+ */
1023
+ display: DisplayData;
1024
+ /**
1025
+ * Points are relative to the world object.
1026
+ * Does not change when viewport moves
1027
+ * Does not change if world object position changes.
1028
+ * */
1029
+ points: Strand;
1030
+ /**
1031
+ * Displayed as priority
1032
+ */
1033
+ priority?: boolean;
1034
+ /**
1035
+ * Some simple styling options
1036
+ */
1037
+ style: {
1038
+ opacity: number;
1039
+ };
1040
+ constructor(data?: {
1041
+ id?: string;
979
1042
  uri: string;
980
- /**
981
- * The real height and width of the image. For example a 1000x1000 painted at 100x100 would contain
982
- * the display data for 1000x1000 and `this.points` would scale that down to 100x100. This is used to
983
- * calculate the scale.
984
- */
985
- display: DisplayData;
986
- /**
987
- * Points are relative to the world object.
988
- * Does not change when viewport moves
989
- * Does not change if world object position changes.
990
- * */
991
- points: Strand;
992
- /**
993
- * Displayed as priority
994
- */
995
- priority?: boolean;
996
- /**
997
- * Some simple styling options
998
- */
999
- style: {
1000
- opacity: number;
1001
- };
1002
- constructor(data?: {
1003
- id?: string;
1004
- uri: string;
1005
- width: number;
1006
- height: number;
1007
- scale?: number;
1008
- x?: number;
1009
- y?: number;
1010
- rotation?: number;
1011
- });
1012
- applyProps(props: SingleImageProps): void;
1013
- getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
1014
- static fromSvg(svg: string, target: SpacialSize, display?: SpacialSize, id?: string): SingleImage;
1015
- static fromImage(uri: string, target: SpacialSize, display?: SpacialSize, id?: string): SingleImage;
1016
- getImageUrl(): string;
1043
+ width: number;
1044
+ height: number;
1045
+ scale?: number;
1046
+ x?: number;
1047
+ y?: number;
1048
+ rotation?: number;
1049
+ });
1050
+ applyProps(props: SingleImageProps): void;
1051
+ getAllPointsAt(target: Strand, aggregate?: Strand, scale?: number): Paint[];
1052
+ static fromSvg(svg: string, target: SpacialSize, display?: SpacialSize, id?: string): SingleImage;
1053
+ static fromImage(uri: string, target: SpacialSize, display?: SpacialSize, id?: string): SingleImage;
1054
+ getImageUrl(): string;
1017
1055
  }
1018
-
1056
+ //#endregion
1057
+ //#region src/spacial-content/tiled-image.d.ts
1019
1058
  declare class TiledImage extends BaseObject implements SpacialContent {
1020
- readonly id: string;
1021
- readonly type = "spacial-content";
1022
- readonly display: DisplayData;
1023
- tileWidth: number;
1024
- style: {
1025
- opacity: number;
1026
- };
1059
+ readonly id: string;
1060
+ readonly type = "spacial-content";
1061
+ readonly display: DisplayData;
1062
+ tileWidth: number;
1063
+ style: {
1064
+ opacity: number;
1065
+ };
1066
+ points: Strand;
1067
+ service?: ImageService$1;
1068
+ format: string;
1069
+ crop2?: Strand;
1070
+ version3?: boolean;
1071
+ tileUrl: string;
1072
+ constructor(data: {
1073
+ url: string;
1074
+ scaleFactor: number;
1027
1075
  points: Strand;
1028
- service?: ImageService$1;
1029
- format: string;
1030
- crop2?: Strand;
1076
+ displayPoints?: Strand;
1077
+ tileWidth: number;
1078
+ width: number;
1079
+ height: number;
1080
+ format?: string;
1081
+ id?: string;
1031
1082
  version3?: boolean;
1032
- tileUrl: string;
1033
- constructor(data: {
1034
- url: string;
1035
- scaleFactor: number;
1036
- points: Strand;
1037
- displayPoints?: Strand;
1038
- tileWidth: number;
1039
- width: number;
1040
- height: number;
1041
- format?: string;
1042
- id?: string;
1043
- version3?: boolean;
1044
- });
1045
- applyProps(props: any): void;
1046
- static fromTile(url: string, canvas: {
1047
- width: number;
1048
- height: number;
1049
- }, tile: {
1050
- width: number;
1051
- height?: number;
1052
- }, scaleFactor: number, service?: ImageService$1, format?: string, useFloorCalc?: boolean, version3?: boolean): TiledImage;
1053
- getImageUrl(index: number): string;
1054
- getAllPointsAt(target: Strand, aggregate?: Strand, scaleFactor?: number): Paint[];
1055
- transform(op: Strand): void;
1056
- getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => Promise<void>>;
1083
+ });
1084
+ applyProps(props: any): void;
1085
+ static fromTile(url: string, canvas: {
1086
+ width: number;
1087
+ height: number;
1088
+ }, tile: {
1089
+ width: number;
1090
+ height?: number;
1091
+ }, scaleFactor: number, service?: ImageService$1, format?: string, useFloorCalc?: boolean, version3?: boolean): TiledImage;
1092
+ getImageUrl(index: number): string;
1093
+ getAllPointsAt(target: Strand, aggregate?: Strand, scaleFactor?: number): Paint[];
1094
+ transform(op: Strand): void;
1095
+ getScheduledUpdates(target: Strand, scaleFactor: number): Array<() => Promise<void>>;
1057
1096
  }
1058
-
1097
+ //#endregion
1098
+ //#region src/objects/box.d.ts
1059
1099
  type BoxProps = {
1060
- id: string;
1061
- target: {
1062
- x: number;
1063
- y: number;
1064
- width: number;
1065
- height: number;
1066
- };
1067
- className?: string;
1068
- href?: string;
1069
- title?: string;
1070
- hrefTarget?: string;
1071
- interactive?: boolean;
1072
- relativeSize?: boolean;
1073
- relativeStyle?: boolean;
1074
- html?: boolean;
1075
- style?: BoxStyle;
1076
- backgroundColor?: string;
1077
- border?: string;
1100
+ id: string;
1101
+ target: {
1102
+ x: number;
1103
+ y: number;
1104
+ width: number;
1105
+ height: number;
1106
+ };
1107
+ className?: string;
1108
+ href?: string;
1109
+ title?: string;
1110
+ hrefTarget?: string;
1111
+ interactive?: boolean;
1112
+ relativeSize?: boolean;
1113
+ relativeStyle?: boolean;
1114
+ html?: boolean;
1115
+ style?: BoxStyle;
1116
+ backgroundColor?: string;
1117
+ border?: string;
1078
1118
  };
1079
1119
  type BoxStyle = _BoxStyle & {
1080
- ':hover'?: _BoxStyle;
1081
- ':active'?: _BoxStyle;
1120
+ ':hover'?: _BoxStyle;
1121
+ ':active'?: _BoxStyle;
1082
1122
  };
1083
1123
  type _BoxStyle = Partial<{
1084
- backgroundColor: string;
1085
- opacity: number;
1086
- boxShadow: string;
1087
- borderColor: string;
1088
- borderWidth: string;
1089
- borderStyle: string;
1090
- outlineColor: string;
1091
- outlineWidth: string;
1092
- outlineOffset: string;
1093
- outlineStyle: string;
1094
- border: string;
1095
- outline: string;
1096
- background: string;
1124
+ backgroundColor: string;
1125
+ opacity: number;
1126
+ boxShadow: string;
1127
+ borderColor: string;
1128
+ borderWidth: string;
1129
+ borderStyle: string;
1130
+ outlineColor: string;
1131
+ outlineWidth: string;
1132
+ outlineOffset: string;
1133
+ outlineStyle: string;
1134
+ border: string;
1135
+ outline: string;
1136
+ background: string;
1097
1137
  }>;
1098
1138
  declare class Box extends BaseObject<BoxProps> implements SpacialContent {
1099
- id: string;
1100
- type: 'spacial-content';
1139
+ id: string;
1140
+ type: 'spacial-content';
1141
+ points: Strand;
1142
+ hoverEvents: boolean;
1143
+ activeEvents: boolean;
1144
+ display: {
1145
+ x: number;
1146
+ y: number;
1147
+ scale: number;
1148
+ width: number;
1149
+ height: number;
1101
1150
  points: Strand;
1102
- hoverEvents: boolean;
1103
- activeEvents: boolean;
1104
- display: {
1105
- x: number;
1106
- y: number;
1107
- scale: number;
1108
- width: number;
1109
- height: number;
1110
- points: Strand;
1111
- };
1112
- _parsed: {
1113
- border: {
1114
- id: string | null;
1115
- match: string[];
1116
- };
1117
- outline: {
1118
- id: string | null;
1119
- match: string[];
1120
- };
1151
+ };
1152
+ _parsed: {
1153
+ border: {
1154
+ id: string | null;
1155
+ match: string[];
1121
1156
  };
1122
- hovering?: boolean;
1123
- pressing?: boolean;
1124
- props: {
1125
- href?: string;
1126
- hrefTarget?: string;
1127
- title?: string;
1128
- backgroundColor?: string;
1129
- border?: string;
1130
- interactive?: boolean;
1131
- className?: string;
1132
- relativeSize?: boolean;
1133
- relativeStyle?: boolean;
1134
- html?: boolean;
1135
- style?: BoxStyle;
1136
- hoverStyles?: BoxStyle;
1137
- pressStyles?: BoxStyle;
1157
+ outline: {
1158
+ id: string | null;
1159
+ match: string[];
1138
1160
  };
1139
- constructor();
1140
- getAllPointsAt(target: Strand, aggregate: Strand): Paint[];
1141
- addHover: () => void;
1142
- removeHover: () => void;
1143
- addPress: () => void;
1144
- removePress: () => void;
1145
- applyProps(props?: Partial<BoxProps>): void;
1146
- }
1147
-
1148
- type TextProps = TextWrapperOptions & {
1149
- id: string;
1150
- text: string;
1151
- target: {
1152
- x: number;
1153
- y: number;
1154
- width: number;
1155
- height: number;
1156
- };
1157
- color: string;
1158
- backgroundColor: string;
1159
- fontSize: number;
1160
- fontFamily: string;
1161
- interactive?: boolean;
1162
- };
1163
- declare class Text extends BaseObject<TextProps> implements SpacialContent {
1164
- type: 'spacial-content';
1165
- id: string;
1166
- points: Strand;
1167
- color: string;
1161
+ };
1162
+ hovering?: boolean;
1163
+ pressing?: boolean;
1164
+ props: {
1165
+ href?: string;
1166
+ hrefTarget?: string;
1167
+ title?: string;
1168
1168
  backgroundColor?: string;
1169
- hovering?: boolean;
1170
- pressing?: boolean;
1171
- text: string;
1172
- display: {
1173
- x: number;
1174
- y: number;
1175
- scale: number;
1176
- width: number;
1177
- height: number;
1178
- points: Strand;
1179
- };
1169
+ border?: string;
1170
+ interactive?: boolean;
1180
1171
  className?: string;
1172
+ relativeSize?: boolean;
1173
+ relativeStyle?: boolean;
1181
1174
  html?: boolean;
1182
- interactive: boolean;
1183
- props: TextWrapperOptions & {
1184
- title?: string;
1185
- href?: string;
1186
- hrefTarget?: string;
1187
- interactive?: boolean;
1188
- relativeSize?: boolean;
1189
- relativeStyle?: boolean;
1190
- className?: string;
1191
- html?: boolean;
1192
- };
1193
- constructor();
1194
- getAllPointsAt(target: Strand, aggregate: Strand): Paint[];
1195
- applyProps({ id, target, text, color, backgroundColor, fontSize, interactive, fontFamily, ...props }: Partial<TextProps>): void;
1175
+ style?: BoxStyle;
1176
+ hoverStyles?: BoxStyle;
1177
+ pressStyles?: BoxStyle;
1178
+ };
1179
+ constructor();
1180
+ getAllPointsAt(target: Strand, aggregate: Strand): Paint[];
1181
+ addHover: () => void;
1182
+ removeHover: () => void;
1183
+ addPress: () => void;
1184
+ removePress: () => void;
1185
+ applyProps(props?: Partial<BoxProps>): void;
1196
1186
  }
1197
-
1198
- type GeometryProps = {
1199
- id: string;
1200
- target: {
1201
- x: number;
1202
- y: number;
1203
- width: number;
1204
- height: number;
1205
- };
1206
- open?: boolean;
1207
- points: [number, number][];
1208
- className?: string;
1209
- href?: string;
1187
+ //#endregion
1188
+ //#region src/objects/text.d.ts
1189
+ type TextProps = TextWrapperOptions & {
1190
+ id: string;
1191
+ text: string;
1192
+ target: {
1193
+ x: number;
1194
+ y: number;
1195
+ width: number;
1196
+ height: number;
1197
+ };
1198
+ color: string;
1199
+ backgroundColor: string;
1200
+ fontSize: number;
1201
+ fontFamily: string;
1202
+ interactive?: boolean;
1203
+ };
1204
+ declare class Text extends BaseObject<TextProps> implements SpacialContent {
1205
+ type: 'spacial-content';
1206
+ id: string;
1207
+ points: Strand;
1208
+ color: string;
1209
+ backgroundColor?: string;
1210
+ hovering?: boolean;
1211
+ pressing?: boolean;
1212
+ text: string;
1213
+ display: {
1214
+ x: number;
1215
+ y: number;
1216
+ scale: number;
1217
+ width: number;
1218
+ height: number;
1219
+ points: Strand;
1220
+ };
1221
+ className?: string;
1222
+ html?: boolean;
1223
+ interactive: boolean;
1224
+ props: TextWrapperOptions & {
1210
1225
  title?: string;
1226
+ href?: string;
1211
1227
  hrefTarget?: string;
1212
1228
  interactive?: boolean;
1213
1229
  relativeSize?: boolean;
1214
1230
  relativeStyle?: boolean;
1231
+ className?: string;
1215
1232
  html?: boolean;
1216
- style?: GeometryStyle;
1217
- backgroundColor?: string;
1218
- border?: string;
1233
+ };
1234
+ constructor();
1235
+ getAllPointsAt(target: Strand, aggregate: Strand): Paint[];
1236
+ applyProps({
1237
+ id,
1238
+ target,
1239
+ text,
1240
+ color,
1241
+ backgroundColor,
1242
+ fontSize,
1243
+ interactive,
1244
+ fontFamily,
1245
+ ...props
1246
+ }: Partial<TextProps>): void;
1247
+ }
1248
+ //#endregion
1249
+ //#region src/objects/geometry.d.ts
1250
+ type GeometryProps = {
1251
+ id: string;
1252
+ target: {
1253
+ x: number;
1254
+ y: number;
1255
+ width: number;
1256
+ height: number;
1257
+ };
1258
+ open?: boolean;
1259
+ points: [number, number][];
1260
+ className?: string;
1261
+ href?: string;
1262
+ title?: string;
1263
+ hrefTarget?: string;
1264
+ interactive?: boolean;
1265
+ relativeSize?: boolean;
1266
+ relativeStyle?: boolean;
1267
+ html?: boolean;
1268
+ style?: GeometryStyle;
1269
+ backgroundColor?: string;
1270
+ border?: string;
1219
1271
  };
1220
1272
  type GeometryStyle = _GeometryStyle & {
1221
- ':hover'?: _GeometryStyle;
1222
- ':active'?: _GeometryStyle;
1273
+ ':hover'?: _GeometryStyle;
1274
+ ':active'?: _GeometryStyle;
1223
1275
  };
1224
1276
  type _GeometryStyle = Partial<{
1225
- backgroundColor: string;
1226
- opacity: number;
1227
- boxShadow: string;
1228
- borderColor: string;
1229
- borderWidth: string;
1230
- borderStyle: string;
1231
- outlineColor: string;
1232
- outlineWidth: string;
1233
- outlineOffset: string;
1234
- outlineStyle: string;
1235
- border: string;
1236
- outline: string;
1237
- background: string;
1277
+ backgroundColor: string;
1278
+ opacity: number;
1279
+ boxShadow: string;
1280
+ borderColor: string;
1281
+ borderWidth: string;
1282
+ borderStyle: string;
1283
+ outlineColor: string;
1284
+ outlineWidth: string;
1285
+ outlineOffset: string;
1286
+ outlineStyle: string;
1287
+ border: string;
1288
+ outline: string;
1289
+ background: string;
1238
1290
  }>;
1239
1291
  declare class Geometry extends BaseObject<GeometryProps> implements SpacialContent {
1240
- id: string;
1241
- type: 'spacial-content';
1242
- isShape: boolean;
1292
+ id: string;
1293
+ type: 'spacial-content';
1294
+ isShape: boolean;
1295
+ points: Strand;
1296
+ hoverEvents: boolean;
1297
+ activeEvents: boolean;
1298
+ display: {
1299
+ x: number;
1300
+ y: number;
1301
+ scale: number;
1302
+ width: number;
1303
+ height: number;
1243
1304
  points: Strand;
1244
- hoverEvents: boolean;
1245
- activeEvents: boolean;
1246
- display: {
1247
- x: number;
1248
- y: number;
1249
- scale: number;
1250
- width: number;
1251
- height: number;
1252
- points: Strand;
1253
- };
1254
- boundingBox: {
1255
- x: number;
1256
- y: number;
1257
- width: number;
1258
- height: number;
1259
- } | null;
1260
- _parsed: {
1261
- border: {
1262
- id: string | null;
1263
- match: string[];
1264
- };
1265
- outline: {
1266
- id: string | null;
1267
- match: string[];
1268
- };
1269
- };
1270
- hovering?: boolean;
1271
- pressing?: boolean;
1272
- props: {
1273
- href?: string;
1274
- hrefTarget?: string;
1275
- title?: string;
1276
- backgroundColor?: string;
1277
- border?: string;
1278
- interactive?: boolean;
1279
- open?: boolean;
1280
- className?: string;
1281
- relativeSize?: boolean;
1282
- relativeStyle?: boolean;
1283
- html?: boolean;
1284
- style?: GeometryStyle;
1285
- hoverStyles?: GeometryStyle;
1286
- pressStyles?: GeometryStyle;
1305
+ };
1306
+ boundingBox: {
1307
+ x: number;
1308
+ y: number;
1309
+ width: number;
1310
+ height: number;
1311
+ } | null;
1312
+ _parsed: {
1313
+ border: {
1314
+ id: string | null;
1315
+ match: string[];
1287
1316
  };
1288
- shape: {
1289
- type: 'none';
1290
- } | {
1291
- type: 'polygon';
1292
- points: [number, number][];
1293
- open?: boolean;
1317
+ outline: {
1318
+ id: string | null;
1319
+ match: string[];
1294
1320
  };
1295
- constructor();
1296
- updateBoundingBox(): void;
1297
- intersects(pointer?: [number, number] | null): boolean;
1298
- getAllPointsAt(target: Strand, aggregate: Strand): Paint[];
1299
- addHover: () => void;
1300
- removeHover: () => void;
1301
- addPress: () => void;
1302
- removePress: () => void;
1303
- applyProps(props?: Partial<GeometryProps>): void;
1321
+ };
1322
+ hovering?: boolean;
1323
+ pressing?: boolean;
1324
+ props: {
1325
+ href?: string;
1326
+ hrefTarget?: string;
1327
+ title?: string;
1328
+ backgroundColor?: string;
1329
+ border?: string;
1330
+ interactive?: boolean;
1331
+ open?: boolean;
1332
+ className?: string;
1333
+ relativeSize?: boolean;
1334
+ relativeStyle?: boolean;
1335
+ html?: boolean;
1336
+ style?: GeometryStyle;
1337
+ hoverStyles?: GeometryStyle;
1338
+ pressStyles?: GeometryStyle;
1339
+ };
1340
+ shape: {
1341
+ type: 'none';
1342
+ } | {
1343
+ type: 'polygon';
1344
+ points: [number, number][];
1345
+ open?: boolean;
1346
+ };
1347
+ constructor();
1348
+ updateBoundingBox(): void;
1349
+ intersects(pointer?: [number, number] | null): boolean;
1350
+ getAllPointsAt(target: Strand, aggregate: Strand): Paint[];
1351
+ addHover: () => void;
1352
+ removeHover: () => void;
1353
+ addPress: () => void;
1354
+ removePress: () => void;
1355
+ applyProps(props?: Partial<GeometryProps>): void;
1304
1356
  }
1305
-
1357
+ //#endregion
1358
+ //#region src/modules/composite-renderer/composite-renderer.d.ts
1306
1359
  declare class CompositeRenderer implements Renderer {
1307
- renderers: Renderer[];
1308
- length: number;
1309
- constructor(renderers: Array<Renderer | undefined>);
1310
- afterFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
1311
- afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
1312
- beforeFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
1313
- triggerResize(): void;
1314
- getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
1315
- getScale(width: number, height: number): number;
1316
- getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
1317
- getRendererScreenPosition(): {
1318
- x: number;
1319
- y: number;
1320
- width: number;
1321
- height: number;
1322
- top: number;
1323
- left: number;
1324
- } | undefined;
1325
- isReady(): boolean;
1326
- paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
1327
- pendingUpdate(): boolean;
1328
- prepareLayer(paint: SpacialContent, point: Strand): void;
1329
- finishLayer(paint: SpacialContent, point: Strand): void;
1330
- resize(width?: number, height?: number): void;
1331
- reset(): void;
1332
- }
1333
-
1334
- declare class GridBuilder {
1335
- autoWidth: boolean;
1336
- autoHeight: boolean;
1360
+ renderers: Renderer[];
1361
+ length: number;
1362
+ constructor(renderers: Array<Renderer | undefined>);
1363
+ afterFrame(world: World, delta: number, target: Strand, options: HookOptions$1): void;
1364
+ afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
1365
+ beforeFrame(world: World, delta: number, target: Strand, options: HookOptions$1): void;
1366
+ triggerResize(): void;
1367
+ getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
1368
+ getScale(width: number, height: number): number;
1369
+ getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
1370
+ getRendererScreenPosition(): {
1371
+ x: number;
1372
+ y: number;
1337
1373
  width: number;
1338
1374
  height: number;
1339
- world: World;
1340
- content: WorldObject[];
1341
- viewingDirection: ViewingDirection$1;
1342
- rows?: number;
1343
- columns?: number;
1344
- spacing: number;
1345
- reversed: boolean;
1346
- padding: number;
1347
- constructor();
1348
- setViewingDirection(viewingDirection: ViewingDirection$1): void;
1349
- addContent(content: AbstractObject[]): void;
1350
- setWidth(width: number): void;
1351
- setHeight(height: number): void;
1352
- setSpacing(spacing: number): void;
1353
- setPadding(padding: number): void;
1354
- setRows(rows?: number): void;
1355
- setColumns(columns?: number): void;
1356
- recalculate(): void;
1357
- getWorld(): World;
1375
+ top: number;
1376
+ left: number;
1377
+ } | undefined;
1378
+ isReady(): boolean;
1379
+ paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
1380
+ pendingUpdate(): boolean;
1381
+ prepareLayer(paint: SpacialContent, point: Strand): void;
1382
+ finishLayer(paint: SpacialContent, point: Strand): void;
1383
+ resize(width?: number, height?: number): void;
1384
+ reset(): void;
1358
1385
  }
1359
-
1386
+ //#endregion
1387
+ //#region src/modules/grid-builder/grid-builder.d.ts
1388
+ declare class GridBuilder {
1389
+ autoWidth: boolean;
1390
+ autoHeight: boolean;
1391
+ width: number;
1392
+ height: number;
1393
+ world: World;
1394
+ content: WorldObject[];
1395
+ viewingDirection: ViewingDirection$1;
1396
+ rows?: number;
1397
+ columns?: number;
1398
+ spacing: number;
1399
+ reversed: boolean;
1400
+ padding: number;
1401
+ constructor();
1402
+ setViewingDirection(viewingDirection: ViewingDirection$1): void;
1403
+ addContent(content: AbstractObject[]): void;
1404
+ setWidth(width: number): void;
1405
+ setHeight(height: number): void;
1406
+ setSpacing(spacing: number): void;
1407
+ setPadding(padding: number): void;
1408
+ setRows(rows?: number): void;
1409
+ setColumns(columns?: number): void;
1410
+ recalculate(): void;
1411
+ getWorld(): World;
1412
+ }
1413
+ //#endregion
1414
+ //#region src/modules/popmotion-controller/popmotion-controller.d.ts
1360
1415
  type PopmotionControllerConfig = {
1361
- zoomOutFactor?: number;
1362
- zoomInFactor?: number;
1363
- maxZoomFactor?: number;
1364
- minZoomFactor?: number;
1365
- zoomDuration?: number;
1366
- zoomClamp?: number;
1367
- zoomWheelConstant?: number;
1368
- panBounceStiffness?: number;
1369
- panBounceDamping?: number;
1370
- panTimeConstant?: number;
1371
- panPower?: number;
1372
- nudgeDistance?: number;
1373
- panPadding?: number;
1374
- devicePixelRatio?: number;
1375
- enableWheel?: boolean;
1376
- enableClickToZoom?: boolean;
1377
- ignoreSingleFingerTouch?: boolean;
1378
- enablePanOnWait?: boolean;
1379
- requireMetaKeyForWheelZoom?: boolean;
1380
- panOnWaitDelay?: number;
1381
- parentElement?: HTMLElement | null;
1382
- onPanInSketchMode?: () => void;
1416
+ zoomOutFactor?: number;
1417
+ zoomInFactor?: number;
1418
+ maxZoomFactor?: number;
1419
+ minZoomFactor?: number;
1420
+ zoomDuration?: number;
1421
+ zoomClamp?: number;
1422
+ zoomWheelConstant?: number;
1423
+ panBounceStiffness?: number;
1424
+ panBounceDamping?: number;
1425
+ panTimeConstant?: number;
1426
+ panPower?: number;
1427
+ nudgeDistance?: number;
1428
+ panPadding?: number;
1429
+ devicePixelRatio?: number;
1430
+ enableWheel?: boolean;
1431
+ enableClickToZoom?: boolean;
1432
+ ignoreSingleFingerTouch?: boolean;
1433
+ enablePanOnWait?: boolean;
1434
+ requireMetaKeyForWheelZoom?: boolean;
1435
+ panOnWaitDelay?: number;
1436
+ parentElement?: HTMLElement | null;
1437
+ onPanInSketchMode?: () => void;
1383
1438
  };
1384
1439
  declare const defaultConfig: Required<PopmotionControllerConfig>;
1385
1440
  declare const popmotionController: (config?: PopmotionControllerConfig) => RuntimeController;
1386
-
1441
+ //#endregion
1442
+ //#region src/modules/iiif/shared.d.ts
1387
1443
  type GetTile = {
1444
+ id: string;
1445
+ width: number;
1446
+ height: number;
1447
+ thumbnail?: {
1388
1448
  id: string;
1389
1449
  width: number;
1390
1450
  height: number;
1391
- thumbnail?: {
1392
- id: string;
1393
- width: number;
1394
- height: number;
1395
- };
1396
- imageService: ImageService$1;
1451
+ };
1452
+ imageService: ImageService$1;
1397
1453
  };
1398
1454
  declare function getId(entity: any): string;
1399
-
1455
+ //#endregion
1456
+ //#region src/modules/browser-event-manager/browser-event-manager.d.ts
1400
1457
  type BrowserEventManagerOptions = {
1401
- /** Default 50ms **/
1402
- simulationRate: number;
1458
+ /** Default 50ms **/
1459
+ simulationRate: number;
1403
1460
  };
1404
1461
  declare class BrowserEventManager {
1405
- element: HTMLElement;
1406
- runtime: Runtime;
1407
- unsubscribe: () => any;
1408
- activatedEvents: string[];
1409
- eventHandlers: [string, any][];
1410
- bounds: DOMRect;
1411
- listening: boolean;
1412
- static eventPool: {
1413
- atlas: {
1414
- x: number;
1415
- y: number;
1416
- };
1462
+ element: HTMLElement;
1463
+ runtime: Runtime;
1464
+ unsubscribe: () => any;
1465
+ activatedEvents: string[];
1466
+ eventHandlers: [string, any][];
1467
+ bounds: DOMRect;
1468
+ listening: boolean;
1469
+ static eventPool: {
1470
+ atlas: {
1471
+ x: number;
1472
+ y: number;
1417
1473
  };
1418
- pointerMoveEvent: PointerEvent | undefined;
1419
- pointerEventState: {
1420
- isClicking: boolean;
1421
- isPressed: boolean;
1422
- isDragging: boolean;
1423
- mousedOver: BaseObject[];
1424
- itemsBeingDragged: BaseObject[];
1425
- mouseDownStart: {
1426
- x: number;
1427
- y: number;
1428
- };
1429
- lastTouches: Array<{
1430
- id: number;
1431
- x: number;
1432
- y: number;
1433
- }>;
1474
+ };
1475
+ pointerMoveEvent: PointerEvent | undefined;
1476
+ pointerEventState: {
1477
+ isClicking: boolean;
1478
+ isPressed: boolean;
1479
+ isDragging: boolean;
1480
+ mousedOver: BaseObject[];
1481
+ itemsBeingDragged: BaseObject[];
1482
+ mouseDownStart: {
1483
+ x: number;
1484
+ y: number;
1434
1485
  };
1435
- options: BrowserEventManagerOptions;
1436
- constructor(element: HTMLElement, runtime: Runtime, options?: Partial<BrowserEventManagerOptions>);
1437
- updateBounds(): void;
1438
- layoutSubscriber(type: string): void;
1439
- assignToEvent(e: any, x: number, y: number): void;
1440
- activateEvents(): void;
1441
- _realPointerMove: (e: PointerEvent) => void;
1442
- onWheelEvent: (e: WheelEvent) => void;
1443
- onContextMenu: (e: MouseEvent) => void;
1444
- onTouchEvent: (e: TouchEvent) => void;
1445
- onPointerEvent: (e: PointerEvent | MouseEvent) => void;
1446
- onPointerDown: (e: PointerEvent | MouseEvent) => void;
1447
- onPointerUp: (e: PointerEvent | MouseEvent) => void;
1448
- onPointerMove: (e: PointerEvent | MouseEvent) => void;
1449
- normalizeEventName(event: string): string;
1450
- stop(): void;
1486
+ lastTouches: Array<{
1487
+ id: number;
1488
+ x: number;
1489
+ y: number;
1490
+ }>;
1491
+ };
1492
+ options: BrowserEventManagerOptions;
1493
+ constructor(element: HTMLElement, runtime: Runtime, options?: Partial<BrowserEventManagerOptions>);
1494
+ updateBounds(): void;
1495
+ layoutSubscriber(type: string): void;
1496
+ assignToEvent(e: any, x: number, y: number): void;
1497
+ activateEvents(): void;
1498
+ _realPointerMove: (e: PointerEvent) => void;
1499
+ onWheelEvent: (e: WheelEvent) => void;
1500
+ onContextMenu: (e: MouseEvent) => void;
1501
+ onTouchEvent: (e: TouchEvent) => void;
1502
+ onPointerEvent: (e: PointerEvent | MouseEvent) => void;
1503
+ onPointerDown: (e: PointerEvent | MouseEvent) => void;
1504
+ onPointerUp: (e: PointerEvent | MouseEvent) => void;
1505
+ onPointerMove: (e: PointerEvent | MouseEvent) => void;
1506
+ normalizeEventName(event: string): string;
1507
+ stop(): void;
1451
1508
  }
1452
-
1509
+ //#endregion
1510
+ //#region src/modules/canvas-renderer/canvas-renderer.d.ts
1453
1511
  type CanvasRendererOptions = {
1454
- beforeFrame?: (delta: number) => void;
1455
- debug?: boolean;
1456
- htmlContainer?: HTMLDivElement;
1457
- crossOrigin?: boolean;
1458
- dpi?: number;
1459
- box?: boolean;
1460
- polygon?: boolean;
1461
- lruCache?: boolean;
1512
+ beforeFrame?: (delta: number) => void;
1513
+ debug?: boolean;
1514
+ htmlContainer?: HTMLDivElement;
1515
+ crossOrigin?: boolean;
1516
+ dpi?: number;
1517
+ box?: boolean;
1518
+ polygon?: boolean;
1519
+ lruCache?: boolean;
1462
1520
  };
1463
1521
  type ImageBuffer = {
1464
- canvas: HTMLCanvasElement;
1465
- canvases: string[];
1466
- indices: number[];
1467
- loaded: number[];
1468
- fallback?: ImageBuffer;
1469
- loading: boolean;
1522
+ canvas: HTMLCanvasElement;
1523
+ canvases: string[];
1524
+ indices: number[];
1525
+ loaded: number[];
1526
+ fallback?: ImageBuffer;
1527
+ loading: boolean;
1470
1528
  };
1471
1529
  declare class CanvasRenderer implements Renderer {
1472
- /**
1473
- * The primary viewing space for the viewer.
1474
- */
1475
- canvas: HTMLCanvasElement;
1476
- /**
1477
- * Canvas context for `this.canvas`
1478
- */
1479
- ctx: CanvasRenderingContext2D;
1480
- /**
1481
- * Rendering options added in the constructor.
1482
- */
1483
- options: CanvasRendererOptions;
1484
- /**
1485
- * Number of images loading.
1486
- */
1487
- imagesPending: number;
1488
- /**
1489
- * Number of completed images, used to calculate pending images.
1490
- */
1491
- imagesLoaded: number;
1492
- /**
1493
- * The ids of the completed images, use to dedupe
1494
- */
1495
- imageIdsLoaded: string[];
1496
- /**
1497
- * Can be used to avoid or stop work when frame is or isn't rendering outside of the main loop.
1498
- */
1499
- frameIsRendering: boolean;
1500
- pendingDrawCall: boolean;
1501
- firstMeaningfulPaint: boolean;
1502
- parallelTasks: number;
1503
- frameTasks: number;
1504
- loadingQueueOrdered: boolean;
1505
- loadingQueue: Array<{
1506
- id: string;
1507
- scale: number;
1508
- network?: boolean;
1509
- distance: number;
1510
- shifted?: boolean;
1511
- task: () => Promise<any>;
1512
- }>;
1513
- currentTask: Promise<any>;
1514
- tasksRunning: number;
1515
- stats?: any;
1516
- averageJobTime: number;
1517
- lastKnownScale: number;
1518
- visible: Array<SpacialContent>;
1519
- previousVisible: Array<SpacialContent>;
1520
- rendererPosition: DOMRect;
1521
- dpi: number;
1522
- drawCalls: Array<() => void>;
1523
- lastPaintedObject?: WorldObject;
1524
- hostCache: LRUCache<string, HTMLCanvasElement>;
1525
- invalidated: string[];
1526
- constructor(canvas: HTMLCanvasElement, options?: CanvasRendererOptions);
1527
- getCanvasDims(): {
1528
- width: number;
1529
- height: number;
1530
- };
1531
- resize(): void;
1532
- isReady(): boolean;
1533
- afterFrame(world: World): void;
1534
- doOffscreenWork(): void;
1535
- _worker: () => void;
1536
- _scheduled: any;
1537
- _doWork: () => void;
1538
- getScale(width: number, height: number, dpi?: boolean): number;
1539
- beforeFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
1540
- applyTransform(paint: Paintable, x: number, y: number, width: number, height: number): void;
1541
- clearTransform(): void;
1542
- paint(paint: SpacialContent | Text | Box, index: number, x: number, y: number, width: number, height: number): void;
1543
- loadImage(url: string, callback: (image: HTMLImageElement) => void, err: (e: any) => void, retry?: boolean): void;
1544
- schedulePaintToCanvas(imageBuffer: ImageBuffer, paint: SingleImage | TiledImage, index: number, priority: number): void;
1545
- afterPaintLayer(paint: SpacialContent, transform: Strand): void;
1546
- prepareLayer(paint: SpacialContent, points: Strand): void;
1547
- finishLayer(): void;
1548
- createImageHost(paint: SingleImage | TiledImage): void;
1549
- getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
1550
- getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
1551
- pendingUpdate(): boolean;
1552
- getRendererScreenPosition(): DOMRect;
1553
- reset(): void;
1530
+ /**
1531
+ * The primary viewing space for the viewer.
1532
+ */
1533
+ canvas: HTMLCanvasElement;
1534
+ /**
1535
+ * Canvas context for `this.canvas`
1536
+ */
1537
+ ctx: CanvasRenderingContext2D;
1538
+ /**
1539
+ * Rendering options added in the constructor.
1540
+ */
1541
+ options: CanvasRendererOptions;
1542
+ /**
1543
+ * Number of images loading.
1544
+ */
1545
+ imagesPending: number;
1546
+ /**
1547
+ * Number of completed images, used to calculate pending images.
1548
+ */
1549
+ imagesLoaded: number;
1550
+ /**
1551
+ * The ids of the completed images, use to dedupe
1552
+ */
1553
+ imageIdsLoaded: string[];
1554
+ /**
1555
+ * Can be used to avoid or stop work when frame is or isn't rendering outside of the main loop.
1556
+ */
1557
+ frameIsRendering: boolean;
1558
+ pendingDrawCall: boolean;
1559
+ firstMeaningfulPaint: boolean;
1560
+ parallelTasks: number;
1561
+ frameTasks: number;
1562
+ loadingQueueOrdered: boolean;
1563
+ loadingQueue: Array<{
1564
+ id: string;
1565
+ scale: number;
1566
+ network?: boolean;
1567
+ distance: number;
1568
+ shifted?: boolean;
1569
+ task: () => Promise<any>;
1570
+ }>;
1571
+ currentTask: Promise<any>;
1572
+ tasksRunning: number;
1573
+ stats?: any;
1574
+ averageJobTime: number;
1575
+ lastKnownScale: number;
1576
+ visible: Array<SpacialContent>;
1577
+ previousVisible: Array<SpacialContent>;
1578
+ rendererPosition: DOMRect;
1579
+ dpi: number;
1580
+ drawCalls: Array<() => void>;
1581
+ lastPaintedObject?: WorldObject;
1582
+ hostCache: LRUCache<string, HTMLCanvasElement>;
1583
+ invalidated: string[];
1584
+ constructor(canvas: HTMLCanvasElement, options?: CanvasRendererOptions);
1585
+ getCanvasDims(): {
1586
+ width: number;
1587
+ height: number;
1588
+ };
1589
+ resize(): void;
1590
+ isReady(): boolean;
1591
+ afterFrame(world: World): void;
1592
+ doOffscreenWork(): void;
1593
+ _worker: () => void;
1594
+ _scheduled: any;
1595
+ _doWork: () => void;
1596
+ getScale(width: number, height: number, dpi?: boolean): number;
1597
+ beforeFrame(world: World, delta: number, target: Strand, options: HookOptions): void;
1598
+ applyTransform(paint: Paintable, x: number, y: number, width: number, height: number): void;
1599
+ clearTransform(): void;
1600
+ paint(paint: SpacialContent | Text | Box, index: number, x: number, y: number, width: number, height: number): void;
1601
+ loadImage(url: string, callback: (image: HTMLImageElement) => void, err: (e: any) => void, retry?: boolean): void;
1602
+ schedulePaintToCanvas(imageBuffer: ImageBuffer, paint: SingleImage | TiledImage, index: number, priority: number): void;
1603
+ afterPaintLayer(paint: SpacialContent, transform: Strand): void;
1604
+ prepareLayer(paint: SpacialContent, points: Strand): void;
1605
+ finishLayer(): void;
1606
+ createImageHost(paint: SingleImage | TiledImage): void;
1607
+ getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
1608
+ getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
1609
+ pendingUpdate(): boolean;
1610
+ getRendererScreenPosition(): DOMRect;
1611
+ reset(): void;
1554
1612
  }
1555
-
1613
+ //#endregion
1614
+ //#region src/modules/debug-renderer/debug-renderer.d.ts
1556
1615
  declare class DebugRenderer implements Renderer {
1557
- canvas: HTMLCanvasElement;
1558
- context: CanvasRenderingContext2D;
1559
- heightRatio: number;
1560
- widthRatio: number;
1561
- target: Float32Array;
1562
- initialWidth: number;
1563
- initialHeight: number;
1564
- bounds: Strand | undefined;
1565
- aggregate: Strand;
1566
- delta: number;
1567
- renderNextFrame: boolean;
1568
- constructor(canvas: HTMLCanvasElement);
1569
- isReady(): boolean;
1570
- resize(): void;
1571
- afterFrame(world: World, delta: number, target: Float32Array): void;
1572
- getActiveZone(world: World): ZoneInterface | null;
1573
- getPointsAt(world: World, target: Float32Array, aggregate: Float32Array, scaleFactor: number): Paint[];
1574
- getScale(width: number, height: number): number;
1575
- beforeFrame(world: World, delta: number): void;
1576
- drawImage(): void;
1577
- afterPaintLayer(paint: SpacialContent, transform?: Float32Array): void;
1578
- paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
1579
- prepareLayer(paint: SpacialContent): void;
1580
- pendingUpdate(): boolean;
1581
- hasActiveZone(): boolean;
1582
- getViewportBounds(world: World, target: Float32Array, padding: number): PositionPair | null;
1583
- getRendererScreenPosition(): DOMRect;
1584
- finishLayer(): void;
1585
- reset(): void;
1616
+ canvas: HTMLCanvasElement;
1617
+ context: CanvasRenderingContext2D;
1618
+ heightRatio: number;
1619
+ widthRatio: number;
1620
+ target: Float32Array;
1621
+ initialWidth: number;
1622
+ initialHeight: number;
1623
+ bounds: Strand | undefined;
1624
+ aggregate: Strand;
1625
+ delta: number;
1626
+ renderNextFrame: boolean;
1627
+ constructor(canvas: HTMLCanvasElement);
1628
+ isReady(): boolean;
1629
+ resize(): void;
1630
+ afterFrame(world: World, delta: number, target: Float32Array): void;
1631
+ getActiveZone(world: World): ZoneInterface | null;
1632
+ getPointsAt(world: World, target: Float32Array, aggregate: Float32Array, scaleFactor: number): Paint[];
1633
+ getScale(width: number, height: number): number;
1634
+ beforeFrame(world: World, delta: number): void;
1635
+ drawImage(): void;
1636
+ afterPaintLayer(paint: SpacialContent, transform?: Float32Array): void;
1637
+ paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
1638
+ prepareLayer(paint: SpacialContent): void;
1639
+ pendingUpdate(): boolean;
1640
+ hasActiveZone(): boolean;
1641
+ getViewportBounds(world: World, target: Float32Array, padding: number): PositionPair | null;
1642
+ getRendererScreenPosition(): DOMRect;
1643
+ finishLayer(): void;
1644
+ reset(): void;
1586
1645
  }
1587
-
1646
+ //#endregion
1647
+ //#region src/modules/react-reconciler/presets/_types.d.ts
1588
1648
  type Preset = {
1589
- name: string;
1590
- runtime: Runtime;
1591
- renderer: Renderer;
1592
- controller?: RuntimeController;
1593
- em?: BrowserEventManager;
1594
- ready?: boolean;
1595
- unmount(): void;
1596
- canvas?: HTMLCanvasElement;
1597
- overlay?: HTMLDivElement;
1598
- container?: HTMLDivElement;
1599
- navigator?: HTMLCanvasElement;
1649
+ name: string;
1650
+ runtime: Runtime;
1651
+ renderer: Renderer;
1652
+ controller?: RuntimeController;
1653
+ em?: BrowserEventManager;
1654
+ ready?: boolean;
1655
+ unmount(): void;
1656
+ canvas?: HTMLCanvasElement;
1657
+ overlay?: HTMLDivElement;
1658
+ container?: HTMLDivElement;
1659
+ navigator?: HTMLCanvasElement;
1600
1660
  };
1601
1661
  type PresetArgs = {
1602
- viewport: Viewer;
1603
- forceRefresh: () => void;
1604
- runtimeOptions?: RuntimeOptions;
1605
- containerElement?: HTMLDivElement;
1606
- canvasElement?: HTMLCanvasElement;
1607
- overlayElement?: HTMLDivElement;
1608
- navigatorElement?: HTMLCanvasElement;
1662
+ viewport: Viewer;
1663
+ forceRefresh: () => void;
1664
+ runtimeOptions?: RuntimeOptions;
1665
+ containerElement?: HTMLDivElement;
1666
+ canvasElement?: HTMLCanvasElement;
1667
+ overlayElement?: HTMLDivElement;
1668
+ navigatorElement?: HTMLCanvasElement;
1609
1669
  };
1610
-
1670
+ //#endregion
1671
+ //#region src/modules/react-reconciler/presets/default-preset.d.ts
1611
1672
  type DefaultPresetName = 'default-preset';
1612
1673
  type DefaultPresetOptions = {
1613
- controllerConfig?: any;
1614
- unstable_webglRenderer?: boolean;
1615
- interactive?: boolean;
1616
- dpi?: number;
1617
- debug?: boolean;
1618
- canvasBox?: boolean;
1619
- polygon?: boolean;
1674
+ controllerConfig?: any;
1675
+ unstable_webglRenderer?: boolean;
1676
+ interactive?: boolean;
1677
+ dpi?: number;
1678
+ debug?: boolean;
1679
+ canvasBox?: boolean;
1680
+ polygon?: boolean;
1620
1681
  };
1621
- declare function defaultPreset({ interactive, viewport, forceRefresh, canvasElement, overlayElement, controllerConfig, unstable_webglRenderer, dpi, debug, canvasBox, polygon, navigatorElement, runtimeOptions, }: PresetArgs & DefaultPresetOptions): Preset;
1622
-
1682
+ declare function defaultPreset({
1683
+ interactive,
1684
+ viewport,
1685
+ forceRefresh,
1686
+ canvasElement,
1687
+ overlayElement,
1688
+ controllerConfig,
1689
+ unstable_webglRenderer,
1690
+ dpi,
1691
+ debug,
1692
+ canvasBox,
1693
+ polygon,
1694
+ navigatorElement,
1695
+ runtimeOptions
1696
+ }: PresetArgs & DefaultPresetOptions): Preset;
1697
+ //#endregion
1698
+ //#region src/modules/react-reconciler/presets/static-preset.d.ts
1623
1699
  type StaticPresetName = 'static-preset';
1624
1700
  type StaticPresetOptions = {
1625
- controllerConfig?: any;
1626
- interactive?: boolean;
1627
- };
1628
- declare function staticPreset({ interactive, viewport, forceRefresh, containerElement, overlayElement, controllerConfig, }: PresetArgs & StaticPresetOptions): Preset;
1629
-
1630
- declare const presets: {
1631
- [key in PresetNames]: (options: any) => Preset;
1701
+ controllerConfig?: any;
1702
+ interactive?: boolean;
1632
1703
  };
1704
+ declare function staticPreset({
1705
+ interactive,
1706
+ viewport,
1707
+ forceRefresh,
1708
+ containerElement,
1709
+ overlayElement,
1710
+ controllerConfig
1711
+ }: PresetArgs & StaticPresetOptions): Preset;
1712
+ //#endregion
1713
+ //#region src/modules/react-reconciler/presets/index.d.ts
1714
+ declare const presets: { [key in PresetNames]: (options: any) => Preset };
1633
1715
  type PresetNames = DefaultPresetName | StaticPresetName;
1634
1716
  type Presets = readonly [DefaultPresetName, DefaultPresetOptions] | readonly [StaticPresetName, StaticPresetOptions];
1635
-
1636
- type AtlasProps$1 = {
1637
- debug?: boolean;
1638
- mode?: ViewerMode;
1639
- onCreated?: (ctx: Preset) => void | Promise<void>;
1640
- resetWorldOnChange?: boolean;
1641
- unstable_webglRenderer?: boolean;
1642
- unstable_noReconciler?: boolean;
1643
- overlayStyle?: any;
1644
- containerStyle?: any;
1645
- containerProps?: any;
1646
- controllerConfig?: PopmotionControllerConfig;
1647
- renderPreset?: PresetNames | Presets;
1648
- hideInlineStyle?: boolean;
1649
- homeCover?: true | false | 'start' | 'end';
1650
- homeOnResize?: boolean;
1651
- homePosition?: Projection$1;
1652
- className?: string;
1653
- background?: string;
1654
- enableNavigator?: boolean;
1655
- htmlChildren?: ReactNode;
1656
- children: ReactNode;
1657
- runtimeOptions?: Partial<RuntimeOptions>;
1658
- filters?: Partial<ViewerFilters>;
1717
+ //#endregion
1718
+ //#region src/modules/react-reconciler/Atlas.d.ts
1719
+ type AtlasProps = {
1720
+ debug?: boolean;
1721
+ mode?: ViewerMode;
1722
+ onCreated?: (ctx: Preset) => void | Promise<void>;
1723
+ resetWorldOnChange?: boolean;
1724
+ unstable_webglRenderer?: boolean;
1725
+ unstable_noReconciler?: boolean;
1726
+ overlayStyle?: any;
1727
+ containerStyle?: any;
1728
+ containerProps?: any;
1729
+ controllerConfig?: PopmotionControllerConfig;
1730
+ renderPreset?: PresetNames | Presets;
1731
+ hideInlineStyle?: boolean;
1732
+ homeCover?: true | false | 'start' | 'end';
1733
+ homeOnResize?: boolean;
1734
+ homePosition?: Projection$1;
1735
+ className?: string;
1736
+ background?: string;
1737
+ enableNavigator?: boolean;
1738
+ htmlChildren?: ReactNode;
1739
+ children: ReactNode;
1740
+ runtimeOptions?: Partial<RuntimeOptions>;
1741
+ filters?: Partial<ViewerFilters>;
1659
1742
  };
1660
- declare const Atlas: React__default.FC<AtlasProps$1 & {
1661
- width: number;
1662
- height: number;
1743
+ declare const Atlas: React.FC<AtlasProps & {
1744
+ width: number;
1745
+ height: number;
1663
1746
  }>;
1664
-
1747
+ //#endregion
1748
+ //#region src/modules/react-reconciler/reconciler.d.ts
1665
1749
  declare function applyProps(instance: any, oldProps: any, newProps: any): void;
1666
1750
  declare function activateEvents(world: World, props: any): void;
1667
1751
  declare function unmountComponentAtNode(runtime: Runtime, callback?: (runtime: any) => void): void;
1668
1752
  declare const ReactAtlas: {
1669
- render(whatToRender: any, runtime: any): void;
1670
- unmountComponentAtNode(runtime: Runtime, callback?: (runtime: any) => void): void;
1753
+ render(whatToRender: any, runtime: any): void;
1754
+ unmountComponentAtNode(runtime: Runtime, callback?: (runtime: any) => void): void;
1671
1755
  };
1672
-
1673
- declare const AtlasAuto: React__default.FC<AtlasProps$1 & {
1674
- height?: number | string;
1675
- width?: number | string;
1676
- resizeHash?: number;
1677
- containerProps?: any;
1678
- aspectRatio?: number;
1756
+ //#endregion
1757
+ //#region src/modules/react-reconciler/components/AtlasAuto.d.ts
1758
+ declare const AtlasAuto: React.FC<AtlasProps & {
1759
+ height?: number | string;
1760
+ width?: number | string;
1761
+ resizeHash?: number;
1762
+ containerProps?: any;
1763
+ aspectRatio?: number;
1679
1764
  }>;
1680
-
1681
- declare const AtlasContext: React__default.Context<Preset | null>;
1682
- declare const BoundsContext: React__default.Context<RectReadOnly | null>;
1683
-
1684
- declare const DrawBox: React__default.FC<{
1685
- children?: ReactNode;
1686
- onCreate: (bounds: {
1687
- x: number;
1688
- y: number;
1689
- width: number;
1690
- height: number;
1691
- }) => void;
1765
+ //#endregion
1766
+ //#region src/modules/react-reconciler/components/AtlasContext.d.ts
1767
+ declare const AtlasContext: React.Context<Preset | null>;
1768
+ declare const BoundsContext: React.Context<RectReadOnly | null>;
1769
+ //#endregion
1770
+ //#region src/modules/react-reconciler/components/BoxDraw.d.ts
1771
+ declare const DrawBox: React.FC<{
1772
+ children?: ReactNode;
1773
+ onCreate: (bounds: {
1774
+ x: number;
1775
+ y: number;
1776
+ width: number;
1777
+ height: number;
1778
+ }) => void;
1692
1779
  }>;
1693
-
1694
- declare const HTMLPortal: React__default.FC<{
1695
- children?: ReactNode;
1696
- backgroundColor?: string;
1697
- interactive?: boolean;
1698
- relative?: boolean;
1699
- target?: {
1700
- x: number;
1701
- y: number;
1702
- width: number;
1703
- height: number;
1704
- };
1705
- } & React__default.RefAttributes<Box>>;
1706
-
1707
- type RegionHighlightType = {
1708
- id: any;
1780
+ //#endregion
1781
+ //#region src/modules/react-reconciler/components/HTMLPortal.d.ts
1782
+ declare const HTMLPortal: React.FC<{
1783
+ children?: ReactNode;
1784
+ backgroundColor?: string;
1785
+ interactive?: boolean;
1786
+ relative?: boolean;
1787
+ target?: {
1709
1788
  x: number;
1710
1789
  y: number;
1711
1790
  width: number;
1712
1791
  height: number;
1792
+ };
1793
+ } & React.RefAttributes<Box>>;
1794
+ //#endregion
1795
+ //#region src/modules/react-reconciler/components/RegionHighlight.d.ts
1796
+ type RegionHighlightType = {
1797
+ id: any;
1798
+ x: number;
1799
+ y: number;
1800
+ width: number;
1801
+ height: number;
1713
1802
  };
1714
1803
  type RegionHighlightProps = {
1715
- id?: string;
1716
- region: RegionHighlightType;
1717
- isEditing: boolean;
1718
- rotation?: number;
1719
- onSave: (annotation: RegionHighlightType) => void;
1720
- onClick: (annotation: RegionHighlightType) => void;
1721
- interactive?: boolean;
1722
- maintainAspectRatio?: boolean;
1723
- disableCardinalControls?: boolean;
1724
- style?: BoxStyle;
1725
- children?: ReactNode;
1804
+ id?: string;
1805
+ region: RegionHighlightType;
1806
+ isEditing: boolean;
1807
+ rotation?: number;
1808
+ onSave: (annotation: RegionHighlightType) => void;
1809
+ onClick: (annotation: RegionHighlightType) => void;
1810
+ interactive?: boolean;
1811
+ maintainAspectRatio?: boolean;
1812
+ disableCardinalControls?: boolean;
1813
+ style?: BoxStyle;
1814
+ children?: ReactNode;
1726
1815
  };
1727
- declare function RegionHighlight({ interactive, region, onClick, onSave, maintainAspectRatio, disableCardinalControls, isEditing, rotation, style, }: RegionHighlightProps): react_jsx_runtime.JSX.Element;
1728
-
1816
+ declare function RegionHighlight({
1817
+ interactive,
1818
+ region,
1819
+ onClick,
1820
+ onSave,
1821
+ maintainAspectRatio,
1822
+ disableCardinalControls,
1823
+ isEditing,
1824
+ rotation,
1825
+ style
1826
+ }: RegionHighlightProps): react_jsx_runtime0.JSX.Element;
1827
+ //#endregion
1828
+ //#region src/modules/react-reconciler/components/ResizeWorldItem.d.ts
1729
1829
  type ResizeWorldItemProps = JSX.IntrinsicElements['worldObject'] & {
1730
- handleSize?: number;
1731
- resizable?: boolean;
1732
- rotation?: number;
1733
- onSave: (pos: Partial<{
1734
- x: number;
1735
- y: number;
1736
- width: number;
1737
- height: number;
1738
- }>) => void;
1739
- children?: ReactNode;
1740
- maintainAspectRatio?: boolean;
1741
- disableCardinalControls?: boolean;
1742
- };
1743
- declare function ResizeWorldItem({ handleSize: _handleSize, resizable, onSave, children, maintainAspectRatio, disableCardinalControls, ...props }: ResizeWorldItemProps): react_jsx_runtime.JSX.Element;
1744
-
1745
- declare const TileSet: React__default.FC<{
1746
- tiles: GetTile;
1747
- x?: number;
1748
- y?: number;
1830
+ handleSize?: number;
1831
+ resizable?: boolean;
1832
+ rotation?: number;
1833
+ onSave: (pos: Partial<{
1834
+ x: number;
1835
+ y: number;
1749
1836
  width: number;
1750
1837
  height: number;
1751
- rotation?: number;
1752
- crop?: any;
1753
- children?: ReactNode;
1754
- enableThumbnail?: boolean;
1755
- enableSizes?: boolean;
1756
- onClick?: (e: any) => void;
1757
- renderOptions?: CompositeResourceProps;
1838
+ }>) => void;
1839
+ children?: ReactNode;
1840
+ maintainAspectRatio?: boolean;
1841
+ disableCardinalControls?: boolean;
1842
+ };
1843
+ declare function ResizeWorldItem({
1844
+ handleSize: _handleSize,
1845
+ resizable,
1846
+ onSave,
1847
+ children,
1848
+ maintainAspectRatio,
1849
+ disableCardinalControls,
1850
+ ...props
1851
+ }: ResizeWorldItemProps): react_jsx_runtime0.JSX.Element;
1852
+ //#endregion
1853
+ //#region src/modules/react-reconciler/components/TileSet.d.ts
1854
+ declare const TileSet: React.FC<{
1855
+ tiles: GetTile;
1856
+ x?: number;
1857
+ y?: number;
1858
+ width: number;
1859
+ height: number;
1860
+ rotation?: number;
1861
+ crop?: any;
1862
+ children?: ReactNode;
1863
+ enableThumbnail?: boolean;
1864
+ enableSizes?: boolean;
1865
+ onClick?: (e: any) => void;
1866
+ renderOptions?: CompositeResourceProps;
1758
1867
  }>;
1759
-
1760
- declare const ImageService: React__default.FC<{
1761
- id: string;
1762
- width: number;
1763
- height: number;
1764
- x?: number;
1765
- y?: number;
1766
- rotation?: number;
1767
- scale?: number;
1768
- children?: ReactNode;
1769
- crop?: any;
1770
- enableSizes?: boolean;
1771
- enableThumbnail?: boolean;
1772
- renderOptions?: CompositeResourceProps;
1868
+ //#endregion
1869
+ //#region src/modules/react-reconciler/components/ImageService.d.ts
1870
+ declare const ImageService: React.FC<{
1871
+ id: string;
1872
+ width: number;
1873
+ height: number;
1874
+ x?: number;
1875
+ y?: number;
1876
+ rotation?: number;
1877
+ scale?: number;
1878
+ children?: ReactNode;
1879
+ crop?: any;
1880
+ enableSizes?: boolean;
1881
+ enableThumbnail?: boolean;
1882
+ renderOptions?: CompositeResourceProps;
1773
1883
  }>;
1774
-
1884
+ //#endregion
1885
+ //#region src/modules/react-reconciler/hooks/use-after-frame.d.ts
1775
1886
  declare const useAfterFrame: (callback: (time: number) => void, deps?: any[]) => void;
1776
-
1887
+ //#endregion
1888
+ //#region src/modules/react-reconciler/hooks/use-after-paint.d.ts
1777
1889
  declare const useAfterPaint: (callback: (paint: Paintable) => void, deps?: any[]) => void;
1778
-
1890
+ //#endregion
1891
+ //#region src/modules/react-reconciler/hooks/use-atlas.d.ts
1779
1892
  declare const useAtlas: () => Preset | null;
1780
-
1781
- type AtlasProps = {
1782
- width: number;
1783
- height: number;
1784
- mode?: ViewerMode;
1785
- onCreated?: (ctx: Preset) => void | Promise<void>;
1786
- containerRef?: {
1787
- current?: HTMLElement;
1788
- };
1789
- cover?: boolean;
1790
- resetWorldOnChange?: boolean;
1893
+ //#endregion
1894
+ //#region src/modules/react-reconciler/hooks/use-atlas-image.d.ts
1895
+ type AtlasProps$1 = {
1896
+ width: number;
1897
+ height: number;
1898
+ mode?: ViewerMode;
1899
+ onCreated?: (ctx: Preset) => void | Promise<void>;
1900
+ containerRef?: {
1901
+ current?: HTMLElement;
1902
+ };
1903
+ cover?: boolean;
1904
+ resetWorldOnChange?: boolean;
1791
1905
  };
1792
- declare const useAtlasImage: (children: any, options: AtlasProps) => {
1793
- uri: string | undefined;
1794
- loading?: boolean;
1795
- imageError?: string;
1906
+ declare const useAtlasImage: (children: any, options: AtlasProps$1) => {
1907
+ uri: string | undefined;
1908
+ loading?: boolean;
1909
+ imageError?: string;
1796
1910
  };
1797
-
1911
+ //#endregion
1912
+ //#region src/modules/react-reconciler/hooks/use-before-frame.d.ts
1798
1913
  declare const useBeforeFrame: (callback: (time: number) => void, deps?: any[]) => void;
1799
-
1914
+ //#endregion
1915
+ //#region src/modules/react-reconciler/hooks/use-canvas.d.ts
1800
1916
  declare const useCanvas: () => HTMLCanvasElement | undefined;
1801
-
1917
+ //#endregion
1918
+ //#region src/modules/react-reconciler/hooks/use-controlled-annotation-list.d.ts
1802
1919
  declare const useControlledAnnotationList: (initialList?: Array<{
1920
+ x: number;
1921
+ y: number;
1922
+ width: number;
1923
+ height: number;
1924
+ id: any;
1925
+ }>) => {
1926
+ isEditing: boolean;
1927
+ onDeselect: () => void;
1928
+ selectedAnnotation: string | undefined;
1929
+ onCreateNewAnnotation: (bounds: {
1930
+ x: number;
1931
+ y: number;
1932
+ width: number;
1933
+ height: number;
1934
+ }) => void;
1935
+ annotations: {
1803
1936
  x: number;
1804
1937
  y: number;
1805
1938
  width: number;
1806
1939
  height: number;
1807
1940
  id: any;
1808
- }>) => {
1809
- isEditing: boolean;
1810
- onDeselect: () => void;
1811
- selectedAnnotation: string | undefined;
1812
- onCreateNewAnnotation: (bounds: {
1813
- x: number;
1814
- y: number;
1815
- width: number;
1816
- height: number;
1817
- }) => void;
1818
- annotations: {
1819
- x: number;
1820
- y: number;
1821
- width: number;
1822
- height: number;
1823
- id: any;
1824
- }[];
1825
- onUpdateAnnotation: (newAnno: any) => void;
1826
- setIsEditing: React.Dispatch<React.SetStateAction<boolean>>;
1827
- setSelectedAnnotation: React.Dispatch<React.SetStateAction<string | undefined>>;
1828
- editAnnotation: (id: string) => void;
1829
- addNewAnnotation: () => void;
1941
+ }[];
1942
+ onUpdateAnnotation: (newAnno: any) => void;
1943
+ setIsEditing: react0.Dispatch<react0.SetStateAction<boolean>>;
1944
+ setSelectedAnnotation: react0.Dispatch<react0.SetStateAction<string | undefined>>;
1945
+ editAnnotation: (id: string) => void;
1946
+ addNewAnnotation: () => void;
1830
1947
  };
1831
-
1948
+ //#endregion
1949
+ //#region src/modules/react-reconciler/hooks/use-frame.d.ts
1832
1950
  declare const useFrame: (callback: (time: number) => void, deps?: any[]) => void;
1833
-
1834
- declare const ModeContext: React__default.Context<ViewerMode>;
1951
+ //#endregion
1952
+ //#region src/modules/react-reconciler/hooks/use-mode.d.ts
1953
+ declare const ModeContext: React.Context<ViewerMode>;
1835
1954
  declare const useMode: () => ViewerMode;
1836
1955
  declare function ModeProvider(props: {
1837
- mode: ViewerMode;
1838
- children: React__default.ReactNode;
1839
- }): react_jsx_runtime.JSX.Element;
1840
-
1956
+ mode: ViewerMode;
1957
+ children: React.ReactNode;
1958
+ }): react_jsx_runtime0.JSX.Element;
1959
+ //#endregion
1960
+ //#region src/modules/react-reconciler/hooks/use-resize-world-item.d.ts
1841
1961
  declare const useResizeWorldItem: (props: {
1842
- x: number;
1843
- y: number;
1844
- width: number;
1845
- height: number;
1846
- maintainAspectRatio?: boolean;
1847
- aspectRatio?: number;
1962
+ x: number;
1963
+ y: number;
1964
+ width: number;
1965
+ height: number;
1966
+ maintainAspectRatio?: boolean;
1967
+ aspectRatio?: number;
1848
1968
  }, onSave: (item: {
1849
- x: number;
1850
- y: number;
1851
- width: number;
1852
- height: number;
1969
+ x: number;
1970
+ y: number;
1971
+ width: number;
1972
+ height: number;
1853
1973
  }) => void) => {
1854
- portalRef: React.MutableRefObject<Box | null>;
1855
- mode: ViewerMode;
1856
- mouseEvent: (direction: string) => (e: any) => void;
1857
- onPointerMoveCallback: (e: any) => void;
1858
- isEditing: boolean;
1974
+ portalRef: react0.MutableRefObject<Box | null>;
1975
+ mode: ViewerMode;
1976
+ mouseEvent: (direction: string) => (e: any) => void;
1977
+ onPointerMoveCallback: (e: any) => void;
1978
+ isEditing: boolean;
1859
1979
  };
1860
-
1980
+ //#endregion
1981
+ //#region src/modules/react-reconciler/hooks/use-runtime.d.ts
1861
1982
  declare const useRuntime: () => Runtime | undefined;
1862
-
1863
- declare const useWorldEvent: <Name extends SupportedEventNames>(name: Name, cb: (e: any) => void, deps?: any[]) => void;
1864
-
1983
+ //#endregion
1984
+ //#region src/modules/react-reconciler/hooks/use-world-event.d.ts
1985
+ declare const useWorldEvent: <Name$1 extends SupportedEventNames>(name: Name$1, cb: (e: any) => void, deps?: any[]) => void;
1986
+ //#endregion
1987
+ //#region src/modules/react-reconciler/utility/can-drag.d.ts
1865
1988
  declare function canDrag(ref: {
1866
- current: ViewerMode;
1989
+ current: ViewerMode;
1867
1990
  }): boolean;
1868
-
1991
+ //#endregion
1992
+ //#region src/clean-objects/traits/evented.d.ts
1869
1993
  type AtlasEvent<BaseEvent extends Event> = BaseEvent & {
1870
- atlas: {
1871
- x: number;
1872
- y: number;
1873
- };
1874
- cancelled?: boolean;
1994
+ atlas: {
1995
+ x: number;
1996
+ y: number;
1997
+ };
1998
+ cancelled?: boolean;
1875
1999
  };
1876
2000
  type SupportedEventFunctions = {
1877
- onMouseDown(e: AtlasEvent<MouseEvent>): void;
1878
- onMouseEnter(e: AtlasEvent<MouseEvent>): void;
1879
- onMouseLeave(e: AtlasEvent<MouseEvent>): void;
1880
- onMouseMove(e: AtlasEvent<MouseEvent>): void;
1881
- onMouseOut(e: AtlasEvent<MouseEvent>): void;
1882
- onMouseOver(e: AtlasEvent<MouseEvent>): void;
1883
- onMouseUp(e: AtlasEvent<MouseEvent>): void;
1884
- onTouchCancel(e: AtlasEvent<TouchEvent>): void;
1885
- onTouchEnd(e: AtlasEvent<TouchEvent>): void;
1886
- onTouchMove(e: AtlasEvent<TouchEvent>): void;
1887
- onTouchStart(e: AtlasEvent<TouchEvent>): void;
1888
- onPointerDown(e: AtlasEvent<PointerEvent>): void;
1889
- onPointerMove(e: AtlasEvent<PointerEvent>): void;
1890
- onPointerUp(e: AtlasEvent<PointerEvent>): void;
1891
- onPointerCancel(e: AtlasEvent<PointerEvent>): void;
1892
- onPointerEnter(e: AtlasEvent<PointerEvent>): void;
1893
- onPointerLeave(e: AtlasEvent<PointerEvent>): void;
1894
- onPointerOver(e: AtlasEvent<PointerEvent>): void;
1895
- onPointerOut(e: AtlasEvent<PointerEvent>): void;
1896
- onDragStart(e: AtlasEvent<DragEvent>): void;
1897
- onDragEnd(e: AtlasEvent<DragEvent>): void;
1898
- onDragEnter(e: AtlasEvent<DragEvent>): void;
1899
- onDragExit(e: AtlasEvent<DragEvent>): void;
1900
- onDrag(e: AtlasEvent<DragEvent>): void;
1901
- onDragOver(e: AtlasEvent<DragEvent>): void;
1902
- onScroll(e: AtlasEvent<UIEvent>): void;
1903
- onWheel(e: AtlasEvent<WheelEvent>): void;
1904
- onClick(e: AtlasEvent<MouseEvent>): void;
1905
- onContextMenu(e: AtlasEvent<MouseEvent>): void;
1906
- onUpdate(e: {
1907
- props: any;
1908
- }): void;
2001
+ onMouseDown(e: AtlasEvent<MouseEvent>): void;
2002
+ onMouseEnter(e: AtlasEvent<MouseEvent>): void;
2003
+ onMouseLeave(e: AtlasEvent<MouseEvent>): void;
2004
+ onMouseMove(e: AtlasEvent<MouseEvent>): void;
2005
+ onMouseOut(e: AtlasEvent<MouseEvent>): void;
2006
+ onMouseOver(e: AtlasEvent<MouseEvent>): void;
2007
+ onMouseUp(e: AtlasEvent<MouseEvent>): void;
2008
+ onTouchCancel(e: AtlasEvent<TouchEvent>): void;
2009
+ onTouchEnd(e: AtlasEvent<TouchEvent>): void;
2010
+ onTouchMove(e: AtlasEvent<TouchEvent>): void;
2011
+ onTouchStart(e: AtlasEvent<TouchEvent>): void;
2012
+ onPointerDown(e: AtlasEvent<PointerEvent>): void;
2013
+ onPointerMove(e: AtlasEvent<PointerEvent>): void;
2014
+ onPointerUp(e: AtlasEvent<PointerEvent>): void;
2015
+ onPointerCancel(e: AtlasEvent<PointerEvent>): void;
2016
+ onPointerEnter(e: AtlasEvent<PointerEvent>): void;
2017
+ onPointerLeave(e: AtlasEvent<PointerEvent>): void;
2018
+ onPointerOver(e: AtlasEvent<PointerEvent>): void;
2019
+ onPointerOut(e: AtlasEvent<PointerEvent>): void;
2020
+ onDragStart(e: AtlasEvent<DragEvent>): void;
2021
+ onDragEnd(e: AtlasEvent<DragEvent>): void;
2022
+ onDragEnter(e: AtlasEvent<DragEvent>): void;
2023
+ onDragExit(e: AtlasEvent<DragEvent>): void;
2024
+ onDrag(e: AtlasEvent<DragEvent>): void;
2025
+ onDragOver(e: AtlasEvent<DragEvent>): void;
2026
+ onScroll(e: AtlasEvent<UIEvent>): void;
2027
+ onWheel(e: AtlasEvent<WheelEvent>): void;
2028
+ onClick(e: AtlasEvent<MouseEvent>): void;
2029
+ onContextMenu(e: AtlasEvent<MouseEvent>): void;
2030
+ onUpdate(e: {
2031
+ props: any;
2032
+ }): void;
1909
2033
  };
1910
2034
  type EventListenerProps = Partial<SupportedEventFunctions>;
1911
-
2035
+ //#endregion
2036
+ //#region src/modules/react-reconciler/types.d.ts
1912
2037
  type BaseElement = {
1913
- id?: string;
1914
- ref?: any;
1915
- key?: string | number;
1916
- priority?: boolean;
2038
+ id?: string;
2039
+ ref?: any;
2040
+ key?: string | number;
2041
+ priority?: boolean;
1917
2042
  };
1918
2043
  type AllEvents = EventListenerProps;
1919
2044
  declare global {
1920
- namespace JSX {
1921
- interface IntrinsicElements {
1922
- world: BaseElement & {
1923
- width?: number;
1924
- height?: number;
1925
- children?: React__default.ReactNode;
1926
- } & AllEvents;
1927
- worldObject: BaseElement & {
1928
- children?: React__default.ReactNode;
1929
- height: number;
1930
- scale?: number;
1931
- width: number;
1932
- x?: number;
1933
- y?: number;
1934
- } & AllEvents;
1935
- ['world-object']: BaseElement & {
1936
- children?: React__default.ReactNode;
1937
- height: number;
1938
- scale?: number;
1939
- width: number;
1940
- x?: number;
1941
- y?: number;
1942
- rotation?: number;
1943
- } & AllEvents;
1944
- worldImage: BaseElement & {
1945
- uri: string;
1946
- target: any;
1947
- display: any;
1948
- } & AllEvents;
1949
- ['world-image']: BaseElement & {
1950
- uri: string;
1951
- target: any;
1952
- display: any;
1953
- crop: any;
1954
- } & AllEvents;
1955
- texture: BaseElement & {
1956
- getTexture: UpdateTextureFunction;
1957
- target: any;
1958
- display: any;
1959
- } & AllEvents;
1960
- compositeImage: BaseElement & {
1961
- id?: string;
1962
- width: number;
1963
- height: number;
1964
- children?: React__default.ReactNode;
1965
- };
1966
- shape: BaseElement & GeometryProps;
1967
- ['composite-image']: BaseElement & {
1968
- id?: string;
1969
- width: number;
1970
- height: number;
1971
- children?: React__default.ReactNode;
1972
- crop?: any;
1973
- renderOptions?: CompositeResourceProps;
1974
- } & AllEvents;
1975
- tiledImage: BaseElement & {
1976
- uri: string;
1977
- display: {
1978
- width: number;
1979
- height: number;
1980
- };
1981
- tile: {
1982
- width: number;
1983
- height?: number;
1984
- };
1985
- scaleFactor: number;
1986
- } & AllEvents;
1987
- ['tiled-image']: BaseElement & {
1988
- uri: string;
1989
- display: {
1990
- width: number;
1991
- height: number;
1992
- };
1993
- tile: {
1994
- width: number;
1995
- height?: number;
1996
- };
1997
- scaleFactor: number;
1998
- crop: any;
1999
- version3?: boolean;
2000
- } & AllEvents;
2001
- box: BaseElement & {
2002
- interactive?: boolean;
2003
- backgroundColor?: string;
2004
- className?: string;
2005
- border?: string;
2006
- target?: {
2007
- x?: number;
2008
- y?: number;
2009
- width: number;
2010
- height: number;
2011
- };
2012
- style?: BoxStyle;
2013
- relativeSize?: boolean;
2014
- relativeStyle?: boolean;
2015
- html?: boolean;
2016
- } & AllEvents;
2017
- paragraph: BaseElement & {
2018
- interactive?: boolean;
2019
- id?: string;
2020
- color?: string;
2021
- textAlign?: string;
2022
- lineHeight?: number;
2023
- backgroundColor?: string;
2024
- target?: {
2025
- x: number;
2026
- y: number;
2027
- width: number;
2028
- height: number;
2029
- };
2030
- children?: string;
2031
- paddingX?: number;
2032
- paddingY?: number;
2033
- fontSize?: number;
2034
- fontFamily?: string;
2035
- } & AllEvents;
2036
- }
2045
+ namespace JSX {
2046
+ interface IntrinsicElements {
2047
+ world: BaseElement & {
2048
+ width?: number;
2049
+ height?: number;
2050
+ children?: React.ReactNode;
2051
+ } & AllEvents;
2052
+ worldObject: BaseElement & {
2053
+ children?: React.ReactNode;
2054
+ height: number;
2055
+ scale?: number;
2056
+ width: number;
2057
+ x?: number;
2058
+ y?: number;
2059
+ } & AllEvents;
2060
+ ['world-object']: BaseElement & {
2061
+ children?: React.ReactNode;
2062
+ height: number;
2063
+ scale?: number;
2064
+ width: number;
2065
+ x?: number;
2066
+ y?: number;
2067
+ rotation?: number;
2068
+ } & AllEvents;
2069
+ worldImage: BaseElement & {
2070
+ uri: string;
2071
+ target: any;
2072
+ display: any;
2073
+ } & AllEvents;
2074
+ ['world-image']: BaseElement & {
2075
+ uri: string;
2076
+ target: any;
2077
+ display: any;
2078
+ crop: any;
2079
+ } & AllEvents;
2080
+ texture: BaseElement & {
2081
+ getTexture: UpdateTextureFunction;
2082
+ target: any;
2083
+ display: any;
2084
+ } & AllEvents;
2085
+ compositeImage: BaseElement & {
2086
+ id?: string;
2087
+ width: number;
2088
+ height: number;
2089
+ children?: React.ReactNode;
2090
+ };
2091
+ shape: BaseElement & GeometryProps;
2092
+ ['composite-image']: BaseElement & {
2093
+ id?: string;
2094
+ width: number;
2095
+ height: number;
2096
+ children?: React.ReactNode;
2097
+ crop?: any;
2098
+ renderOptions?: CompositeResourceProps;
2099
+ } & AllEvents;
2100
+ tiledImage: BaseElement & {
2101
+ uri: string;
2102
+ display: {
2103
+ width: number;
2104
+ height: number;
2105
+ };
2106
+ tile: {
2107
+ width: number;
2108
+ height?: number;
2109
+ };
2110
+ scaleFactor: number;
2111
+ } & AllEvents;
2112
+ ['tiled-image']: BaseElement & {
2113
+ uri: string;
2114
+ display: {
2115
+ width: number;
2116
+ height: number;
2117
+ };
2118
+ tile: {
2119
+ width: number;
2120
+ height?: number;
2121
+ };
2122
+ scaleFactor: number;
2123
+ crop: any;
2124
+ version3?: boolean;
2125
+ } & AllEvents;
2126
+ box: BaseElement & {
2127
+ interactive?: boolean;
2128
+ backgroundColor?: string;
2129
+ className?: string;
2130
+ border?: string;
2131
+ target?: {
2132
+ x?: number;
2133
+ y?: number;
2134
+ width: number;
2135
+ height: number;
2136
+ };
2137
+ style?: BoxStyle;
2138
+ relativeSize?: boolean;
2139
+ relativeStyle?: boolean;
2140
+ html?: boolean;
2141
+ } & AllEvents;
2142
+ paragraph: BaseElement & {
2143
+ interactive?: boolean;
2144
+ id?: string;
2145
+ color?: string;
2146
+ textAlign?: string;
2147
+ lineHeight?: number;
2148
+ backgroundColor?: string;
2149
+ target?: {
2150
+ x: number;
2151
+ y: number;
2152
+ width: number;
2153
+ height: number;
2154
+ };
2155
+ children?: string;
2156
+ paddingX?: number;
2157
+ paddingY?: number;
2158
+ fontSize?: number;
2159
+ fontFamily?: string;
2160
+ } & AllEvents;
2037
2161
  }
2162
+ }
2038
2163
  }
2039
-
2164
+ //#endregion
2165
+ //#region src/modules/iiif/get-tiles.d.ts
2040
2166
  declare function getTileFromImageService(infoJsonId: string, width: number, height: number): Promise<GetTile>;
2041
2167
  declare function getTileFromCanvas(canvas: CanvasNormalized, thumbnailSize?: number): Promise<GetTile[]>;
2042
2168
  declare function getTilesFromManifest(manifest: ManifestNormalized): Promise<any[]>;
2043
2169
  declare function getTiles(manifestId: string): Promise<Array<GetTile>>;
2044
-
2170
+ //#endregion
2171
+ //#region src/utility/stylesheet.d.ts
2045
2172
  declare class Stylesheet {
2046
- $element: HTMLStyleElement;
2047
- stylesheetClasses: string[];
2048
- activeStylesheetClasses: string[];
2049
- sheetsDidUpdate: boolean;
2050
- sheetPrefix: string;
2051
- stylesheetEntries: Record<string, string>;
2052
- constructor(options?: {
2053
- sheetPrefix?: string;
2054
- });
2055
- getElement(): HTMLStyleElement;
2056
- addStylesheet(_sheet: string): string;
2057
- removeStylesheet(obj: any): void;
2058
- clearClasses(): void;
2059
- didUpdateActive(): boolean;
2060
- updateSheet(): void;
2173
+ $element: HTMLStyleElement;
2174
+ stylesheetClasses: string[];
2175
+ activeStylesheetClasses: string[];
2176
+ sheetsDidUpdate: boolean;
2177
+ sheetPrefix: string;
2178
+ stylesheetEntries: Record<string, string>;
2179
+ constructor(options?: {
2180
+ sheetPrefix?: string;
2181
+ });
2182
+ getElement(): HTMLStyleElement;
2183
+ addStylesheet(_sheet: string): string;
2184
+ removeStylesheet(obj: any): void;
2185
+ clearClasses(): void;
2186
+ didUpdateActive(): boolean;
2187
+ updateSheet(): void;
2061
2188
  }
2062
-
2189
+ //#endregion
2190
+ //#region src/modules/overlay-renderer/overlay-renderer.d.ts
2063
2191
  type OverlayRendererOptions = {
2064
- sheetPrefix: string;
2065
- box: boolean;
2066
- text: boolean;
2067
- inlineStyles: boolean;
2068
- triggerResize: () => void;
2069
- background: string;
2192
+ sheetPrefix: string;
2193
+ box: boolean;
2194
+ text: boolean;
2195
+ inlineStyles: boolean;
2196
+ triggerResize: () => void;
2197
+ background: string;
2070
2198
  };
2071
2199
  declare class OverlayRenderer implements Renderer {
2072
- htmlContainer: HTMLDivElement;
2073
- visible: Array<Text | Box | SpacialContent>;
2074
- previousVisible: Array<Text | Box | SpacialContent>;
2075
- htmlIds: string[];
2076
- firstMeaningfulPaint: boolean;
2077
- rendererPosition: DOMRect;
2078
- stylesheet: Stylesheet;
2079
- options: OverlayRendererOptions;
2080
- paintTx: number;
2081
- zIndex: number;
2082
- classes: {
2083
- hostClassName: string;
2084
- interactive: string;
2085
- nonInteractive: string;
2086
- };
2087
- constructor(htmlContainer: HTMLDivElement, options?: Partial<OverlayRendererOptions>);
2088
- createHtmlHost(paint: Text | Box): void;
2089
- triggerResize(): void;
2090
- updateHtmlHost(paint: Text | Box, width?: number, height?: number): void;
2091
- afterFrame(world: World, delta: number, target: Strand): void;
2092
- afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
2093
- beforeFrame(world: World, delta: number, target: Strand): void;
2094
- getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
2095
- getScale(width: number, height: number): number;
2096
- getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
2097
- isReady(): boolean;
2098
- paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
2099
- pendingUpdate(): boolean;
2100
- prepareLayer(paint: SpacialContent): void;
2101
- resize(width?: number, height?: number): void;
2102
- getRendererScreenPosition(): DOMRect;
2103
- finishLayer(): void;
2104
- reset(): void;
2200
+ htmlContainer: HTMLDivElement;
2201
+ visible: Array<Text | Box | SpacialContent>;
2202
+ previousVisible: Array<Text | Box | SpacialContent>;
2203
+ htmlIds: string[];
2204
+ firstMeaningfulPaint: boolean;
2205
+ rendererPosition: DOMRect;
2206
+ stylesheet: Stylesheet;
2207
+ options: OverlayRendererOptions;
2208
+ paintTx: number;
2209
+ zIndex: number;
2210
+ classes: {
2211
+ hostClassName: string;
2212
+ interactive: string;
2213
+ nonInteractive: string;
2214
+ };
2215
+ constructor(htmlContainer: HTMLDivElement, options?: Partial<OverlayRendererOptions>);
2216
+ createHtmlHost(paint: Text | Box): void;
2217
+ triggerResize(): void;
2218
+ updateHtmlHost(paint: Text | Box, width?: number, height?: number): void;
2219
+ afterFrame(world: World, delta: number, target: Strand): void;
2220
+ afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
2221
+ beforeFrame(world: World, delta: number, target: Strand): void;
2222
+ getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
2223
+ getScale(width: number, height: number): number;
2224
+ getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
2225
+ isReady(): boolean;
2226
+ paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
2227
+ pendingUpdate(): boolean;
2228
+ prepareLayer(paint: SpacialContent): void;
2229
+ resize(width?: number, height?: number): void;
2230
+ getRendererScreenPosition(): DOMRect;
2231
+ finishLayer(): void;
2232
+ reset(): void;
2105
2233
  }
2106
-
2234
+ //#endregion
2235
+ //#region src/modules/static-renderer/static-renderer.d.ts
2107
2236
  type StaticRendererOptions = {
2108
- imageClass: string;
2109
- addPart: boolean;
2110
- setDraggableFalse: boolean;
2111
- widthStylesheet: boolean;
2112
- sheetPrefix: string;
2113
- background: string;
2237
+ imageClass: string;
2238
+ addPart: boolean;
2239
+ setDraggableFalse: boolean;
2240
+ widthStylesheet: boolean;
2241
+ sheetPrefix: string;
2242
+ background: string;
2114
2243
  };
2115
2244
  declare class StaticRenderer implements Renderer {
2116
- container: HTMLElement;
2117
- width: number;
2118
- height: number;
2119
- pending: boolean;
2120
- options: StaticRendererOptions;
2121
- stylesheet: Stylesheet;
2122
- zIndex: number;
2123
- lastKnownScale: number;
2124
- rendererPosition: DOMRect;
2125
- constructor(container: HTMLElement, options?: Partial<StaticRendererOptions>);
2126
- isReady(): boolean;
2127
- resize(): void;
2128
- getRendererScreenPosition(): DOMRect;
2129
- afterFrame(world: World, delta: number, target: Strand): void;
2130
- afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
2131
- beforeFrame(world: World, delta: number, target: Strand): void;
2132
- getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
2133
- getScale(width: number, height: number): number;
2134
- getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
2135
- currentlyVisible: HTMLElement[];
2136
- previouslyVisible: HTMLElement[];
2137
- createImage(): HTMLImageElement;
2138
- paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
2139
- pendingUpdate(): boolean;
2140
- prepareLayer(paint: SpacialContent): void;
2141
- finishLayer(paint: SpacialContent): void;
2142
- reset(): void;
2245
+ container: HTMLElement;
2246
+ width: number;
2247
+ height: number;
2248
+ pending: boolean;
2249
+ options: StaticRendererOptions;
2250
+ stylesheet: Stylesheet;
2251
+ zIndex: number;
2252
+ lastKnownScale: number;
2253
+ rendererPosition: DOMRect;
2254
+ constructor(container: HTMLElement, options?: Partial<StaticRendererOptions>);
2255
+ isReady(): boolean;
2256
+ resize(): void;
2257
+ getRendererScreenPosition(): DOMRect;
2258
+ afterFrame(world: World, delta: number, target: Strand): void;
2259
+ afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
2260
+ beforeFrame(world: World, delta: number, target: Strand): void;
2261
+ getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
2262
+ getScale(width: number, height: number): number;
2263
+ getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
2264
+ currentlyVisible: HTMLElement[];
2265
+ previouslyVisible: HTMLElement[];
2266
+ createImage(): HTMLImageElement;
2267
+ paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
2268
+ pendingUpdate(): boolean;
2269
+ prepareLayer(paint: SpacialContent): void;
2270
+ finishLayer(paint: SpacialContent): void;
2271
+ reset(): void;
2143
2272
  }
2144
-
2273
+ //#endregion
2274
+ //#region src/modules/webgl-renderer/webgl-renderer.d.ts
2145
2275
  type WebGLRendererOptions = {
2146
- dpi?: number;
2276
+ dpi?: number;
2147
2277
  };
2148
2278
  declare class WebGLRenderer implements Renderer {
2149
- canvas: HTMLCanvasElement;
2150
- gl: WebGL2RenderingContext;
2151
- program: WebGLProgram;
2152
- fragmentShader: WebGLShader;
2153
- vertexShader: WebGLShader;
2154
- rectBuffer: Float32Array;
2155
- fragmentShaderSource: string;
2156
- vertexShaderSource: string;
2157
- attributes: {
2158
- position: number;
2159
- texCoord: number;
2160
- };
2161
- uniforms: {
2162
- resolution: WebGLUniformLocation | null;
2163
- texture: WebGLUniformLocation | null;
2164
- };
2165
- buffers: {
2166
- position: WebGLBuffer;
2167
- texCoord: WebGLBuffer;
2168
- };
2169
- rendererPosition: DOMRect;
2170
- dpi: number;
2171
- constructor(canvas: HTMLCanvasElement, options?: WebGLRendererOptions);
2172
- resize(): void;
2173
- isReady(): boolean;
2174
- beforeFrame(world: World, delta: number, target: Strand): void;
2175
- lastResize: number;
2176
- prepareLayer(paint: SpacialContent): void;
2177
- createTextureHost(paint: ImageTexture | Box): void;
2178
- createImageHost(paint: SingleImage | TiledImage): void;
2179
- paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
2180
- afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
2181
- pendingUpdate(): boolean;
2182
- getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
2183
- afterFrame(): void;
2184
- lastKnownScale: number;
2185
- getScale(width: number, height: number, dpi?: boolean): number;
2186
- getCanvasDims(): {
2187
- width: number;
2188
- height: number;
2189
- };
2190
- getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
2191
- createShader(type: number, source: string): WebGLShader;
2192
- createProgram(vertexShader: WebGLShader, fragmentShader: WebGLShader): WebGLProgram;
2193
- resizeCanvasToDisplaySize(): boolean;
2194
- createArrayBuffer(data?: Float32Array): WebGLBuffer;
2195
- setRectangle(x: number, y: number, width: number, height: number): void;
2196
- getRectangle(x: number, y: number, width: number, height: number): Float32Array<ArrayBufferLike>;
2197
- getRendererScreenPosition(): DOMRect;
2198
- finishLayer(): void;
2199
- reset(): void;
2279
+ canvas: HTMLCanvasElement;
2280
+ gl: WebGL2RenderingContext;
2281
+ program: WebGLProgram;
2282
+ fragmentShader: WebGLShader;
2283
+ vertexShader: WebGLShader;
2284
+ rectBuffer: Float32Array;
2285
+ fragmentShaderSource: string;
2286
+ vertexShaderSource: string;
2287
+ attributes: {
2288
+ position: number;
2289
+ texCoord: number;
2290
+ };
2291
+ uniforms: {
2292
+ resolution: WebGLUniformLocation | null;
2293
+ texture: WebGLUniformLocation | null;
2294
+ };
2295
+ buffers: {
2296
+ position: WebGLBuffer;
2297
+ texCoord: WebGLBuffer;
2298
+ };
2299
+ rendererPosition: DOMRect;
2300
+ dpi: number;
2301
+ constructor(canvas: HTMLCanvasElement, options?: WebGLRendererOptions);
2302
+ resize(): void;
2303
+ isReady(): boolean;
2304
+ beforeFrame(world: World, delta: number, target: Strand): void;
2305
+ lastResize: number;
2306
+ prepareLayer(paint: SpacialContent): void;
2307
+ createTextureHost(paint: ImageTexture | Box): void;
2308
+ createImageHost(paint: SingleImage | TiledImage): void;
2309
+ paint(paint: SpacialContent, index: number, x: number, y: number, width: number, height: number): void;
2310
+ afterPaintLayer(paint: SpacialContent, transform?: Strand): void;
2311
+ pendingUpdate(): boolean;
2312
+ getPointsAt(world: World, target: Strand, aggregate: Strand, scaleFactor: number): Paint[];
2313
+ afterFrame(): void;
2314
+ lastKnownScale: number;
2315
+ getScale(width: number, height: number, dpi?: boolean): number;
2316
+ getCanvasDims(): {
2317
+ width: number;
2318
+ height: number;
2319
+ };
2320
+ getViewportBounds(world: World, target: Strand, padding: number): PositionPair | null;
2321
+ createShader(type: number, source: string): WebGLShader;
2322
+ createProgram(vertexShader: WebGLShader, fragmentShader: WebGLShader): WebGLProgram;
2323
+ resizeCanvasToDisplaySize(): boolean;
2324
+ createArrayBuffer(data?: Float32Array): WebGLBuffer;
2325
+ setRectangle(x: number, y: number, width: number, height: number): void;
2326
+ getRectangle(x: number, y: number, width: number, height: number): Float32Array<ArrayBufferLike>;
2327
+ getRendererScreenPosition(): DOMRect;
2328
+ finishLayer(): void;
2329
+ reset(): void;
2200
2330
  }
2201
-
2331
+ //#endregion
2332
+ //#region src/utility/merge-styles.d.ts
2202
2333
  declare function mergeStyles(defaultStyle?: BoxStyle, style?: BoxStyle): BoxStyle | undefined;
2203
-
2204
- export { type AbstractObject, type AbstractWorldObject, type AllEvents, Atlas, AtlasAuto, AtlasContext, type AtlasProps$1 as AtlasProps, BoundsContext, Box, type BoxProps, type BoxStyle, BrowserEventManager, type BrowserEventManagerOptions, CanvasRenderer, type CanvasRendererOptions, CompositeRenderer, CompositeResource, type CompositeResourceProps, DebugRenderer, type DefaultPresetName, type DefaultPresetOptions, type DisplayData, DrawBox, type EasingFunction, type EasingFunctionNames, Geometry, type GeometryProps, type GeometryStyle, type GetTile, GridBuilder, HTMLPortal, type HookOptions, type ImageBuffer, ImageService, ImageTexture, type ImageTextureProps, ModeContext, ModeProvider, OverlayRenderer, type OverlayRendererOptions, type Paint, type Paintable, type PointerEvents, type PopmotionControllerConfig, type Position, type PositionPair, type Preset, type PresetArgs, type PresetNames, type Presets, type Projection, ReactAtlas, RegionHighlight, type RegionHighlightProps, type Renderer, ResizeWorldItem, Runtime, type RuntimeController, type RuntimeHooks, type RuntimeOptions, type Scaled, SingleImage, type SpacialContent, type SpacialSize, type StaticPresetName, type StaticPresetOptions, StaticRenderer, type SupportedEventMap, type SupportedEventNames, type SupportedEvents, Text, type TextProps, type TextWrapperOptions, TileSet, TiledImage, type UpdateTextureFunction, type Viewer, type ViewerFilters, type ViewerMode, type ViewingDirection, WebGLRenderer, type WebGLRendererOptions, World, WorldObject, type WorldTime, Zone, type ZoneConfig, type ZoneInterface, activateEvents, applyProps, bounceOut, canDrag, createDefaultEventMap, defaultConfig, defaultPreset, easingFunctions, fromImage, getId, getTileFromCanvas, getTileFromImageService, getTiles, getTilesFromManifest, mergeStyles, popmotionController, presets, staticPreset, supportedEventAttributes, supportedEventMap, unmountComponentAtNode, useAfterFrame, useAfterPaint, useAtlas, useAtlasImage, useBeforeFrame, useCanvas, useControlledAnnotationList, useFrame, useMode, useResizeWorldItem, useRuntime, useWorldEvent };
2334
+ //#endregion
2335
+ export { AbstractObject, AbstractWorldObject, AllEvents, Atlas, AtlasAuto, AtlasContext, AtlasProps, BoundsContext, Box, BoxProps, BoxStyle, BrowserEventManager, BrowserEventManagerOptions, CanvasRenderer, CanvasRendererOptions, CompositeRenderer, CompositeResource, CompositeResourceProps, DebugRenderer, DefaultPresetName, DefaultPresetOptions, DisplayData, DrawBox, EasingFunction, EasingFunctionNames, Geometry, GeometryProps, GeometryStyle, GetTile, GridBuilder, HTMLPortal, HookOptions, ImageBuffer, ImageService, ImageTexture, ImageTextureProps, ModeContext, ModeProvider, OverlayRenderer, OverlayRendererOptions, Paint, Paintable, PointerEvents, PopmotionControllerConfig, Position, PositionPair, Preset, PresetArgs, PresetNames, Presets, Projection, ReactAtlas, RegionHighlight, RegionHighlightProps, Renderer, ResizeWorldItem, Runtime, RuntimeController, RuntimeHooks, RuntimeOptions, Scaled, SingleImage, SpacialContent, SpacialSize, StaticPresetName, StaticPresetOptions, StaticRenderer, SupportedEventMap, SupportedEventNames, SupportedEvents, Text, TextProps, TextWrapperOptions, TileSet, TiledImage, UpdateTextureFunction, Viewer, ViewerFilters, ViewerMode, ViewingDirection, WebGLRenderer, WebGLRendererOptions, World, WorldObject, WorldTime, Zone, ZoneConfig, ZoneInterface, activateEvents, applyProps, bounceOut, canDrag, createDefaultEventMap, defaultConfig, defaultPreset, easingFunctions, fromImage, getId, getTileFromCanvas, getTileFromImageService, getTiles, getTilesFromManifest, mergeStyles, popmotionController, presets, staticPreset, supportedEventAttributes, supportedEventMap, unmountComponentAtNode, useAfterFrame, useAfterPaint, useAtlas, useAtlasImage, useBeforeFrame, useCanvas, useControlledAnnotationList, useFrame, useMode, useResizeWorldItem, useRuntime, useWorldEvent };
2336
+ //# sourceMappingURL=index.d.cts.map