modern-canvas 0.3.2 → 0.4.0

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,10 +1,10 @@
1
1
  import { Font } from 'modern-font';
2
2
  import { AnimationItem } from 'lottie-web';
3
3
  import { AnyColor, Colord } from 'colord';
4
- import { IDOCTextStyleDeclaration, IDOCTransformStyleDeclaration, Visibility, Overflow } from 'modern-idoc';
5
- import { Path2D, LineStyle, LineCap, LineJoin } from 'modern-path2d';
6
- import { TextOptions, Text, MeasureResult } from 'modern-text';
4
+ import { Path2D, LineCap, LineJoin, LineStyle } from 'modern-path2d';
5
+ import { TextStyleDeclaration, ElementStyleDeclaration, ImageRect } from 'modern-idoc';
7
6
  import { Node as Node$1, Direction } from 'yoga-layout/load';
7
+ import { TextOptions, Text, MeasureResult } from 'modern-text';
8
8
 
9
9
  declare abstract class Loader {
10
10
  abstract install(assets: Assets): this;
@@ -57,7 +57,69 @@ declare class Ticker {
57
57
  protected static _performUpdate(): void;
58
58
  }
59
59
 
60
- type Cursor = 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ns-resize' | 'ew-resize' | 'nesw-resize' | 'col-resize' | 'nwse-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out' | 'grab' | 'grabbing';
60
+ type Cursor = 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ns-resize' | 'ew-resize' | 'nesw-resize' | 'col-resize' | 'nwse-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out' | 'grab' | 'grabbing' | string;
61
+
62
+ type EventListenerValue = (...args: any[]) => void;
63
+ type EventListenerOptions = boolean | AddEventListenerOptions;
64
+ interface EventListener {
65
+ value: EventListenerValue;
66
+ options?: EventListenerOptions;
67
+ }
68
+ declare class EventEmitter {
69
+ eventListeners: Map<string, EventListener | EventListener[]>;
70
+ removeAllListeners(): this;
71
+ hasEventListener(event: string): boolean;
72
+ on(type: string, listener: EventListenerValue, options?: EventListenerOptions): any;
73
+ once(type: string, listener: EventListenerValue): this;
74
+ off(type: string, listener?: EventListenerValue, options?: EventListenerOptions): this;
75
+ emit(type: string, ...args: any[]): boolean;
76
+ }
77
+
78
+ interface CoreObjectEventMap {
79
+ updateProperty: (key: PropertyKey, newValue: any, oldValue: any, declaration?: PropertyDeclaration) => void;
80
+ }
81
+ interface CoreObject {
82
+ on: (<K extends keyof CoreObjectEventMap>(type: K, listener: CoreObjectEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
83
+ once: (<K extends keyof CoreObjectEventMap>(type: K, listener: CoreObjectEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
84
+ off: (<K extends keyof CoreObjectEventMap>(type: K, listener?: CoreObjectEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
85
+ emit: (<K extends keyof CoreObjectEventMap>(type: K, ...args: Parameters<CoreObjectEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
86
+ }
87
+ declare class CoreObject extends EventEmitter {
88
+ readonly instanceId: number;
89
+ protected _defaultProperties?: Record<PropertyKey, any>;
90
+ protected _updatedProperties: Map<PropertyKey, any>;
91
+ protected _changedProperties: Set<PropertyKey>;
92
+ protected _updatingPromise: Promise<void>;
93
+ protected _updating: boolean;
94
+ is(target: CoreObject | undefined | null): boolean;
95
+ protected _enqueueUpdate(): Promise<void>;
96
+ update(): void;
97
+ protected _update(changed: Map<PropertyKey, any>): void;
98
+ protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
99
+ isDirty(key: string): boolean;
100
+ getPropertyDeclarations(): Map<PropertyKey, PropertyDeclaration>;
101
+ getPropertyDeclaration(key: PropertyKey): PropertyDeclaration | undefined;
102
+ getDefaultProperties(): Record<PropertyKey, any>;
103
+ getProperty(key: PropertyKey): any | undefined;
104
+ setProperty(key: PropertyKey, value: any): this;
105
+ getProperties(keys?: PropertyKey[]): Record<PropertyKey, any>;
106
+ setProperties(properties?: Record<PropertyKey, any>): this;
107
+ requestUpdate(key?: PropertyKey, oldValue?: unknown, declaration?: PropertyDeclaration): void;
108
+ toJSON(): Record<string, any>;
109
+ clone(): this;
110
+ free(): void;
111
+ }
112
+
113
+ interface RefCountedEventMap extends CoreObjectEventMap {
114
+ }
115
+ interface RefCounted {
116
+ on: (<K extends keyof RefCountedEventMap>(type: K, listener: RefCountedEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
117
+ once: (<K extends keyof RefCountedEventMap>(type: K, listener: RefCountedEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
118
+ off: (<K extends keyof RefCountedEventMap>(type: K, listener?: RefCountedEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
119
+ emit: (<K extends keyof RefCountedEventMap>(type: K, ...args: Parameters<RefCountedEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
120
+ }
121
+ declare class RefCounted extends CoreObject {
122
+ }
61
123
 
62
124
  declare class InputEvent<N extends UIEvent = UIEvent> implements UIEvent {
63
125
  bubbles: boolean;
@@ -150,68 +212,6 @@ declare class MouseInputEvent extends InputEvent implements MouseEvent {
150
212
  initMouseEvent(..._args: any[]): void;
151
213
  }
152
214
 
153
- type EventListenerValue = (...args: any[]) => void;
154
- type EventListenerOptions = boolean | AddEventListenerOptions;
155
- interface EventListener {
156
- value: EventListenerValue;
157
- options?: EventListenerOptions;
158
- }
159
- declare class EventEmitter {
160
- eventListeners: Map<string, EventListener | EventListener[]>;
161
- removeAllListeners(): this;
162
- hasEventListener(event: string): boolean;
163
- on(type: string, listener: EventListenerValue, options?: EventListenerOptions): any;
164
- once(type: string, listener: EventListenerValue): this;
165
- off(type: string, listener?: EventListenerValue, options?: EventListenerOptions): this;
166
- emit(type: string, ...args: any[]): boolean;
167
- }
168
-
169
- interface CoreObjectEventMap {
170
- updateProperty: (key: PropertyKey, newValue: any, oldValue: any, declaration?: PropertyDeclaration) => void;
171
- }
172
- interface CoreObject {
173
- on: (<K extends keyof CoreObjectEventMap>(type: K, listener: CoreObjectEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
174
- once: (<K extends keyof CoreObjectEventMap>(type: K, listener: CoreObjectEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
175
- off: (<K extends keyof CoreObjectEventMap>(type: K, listener?: CoreObjectEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
176
- emit: (<K extends keyof CoreObjectEventMap>(type: K, ...args: Parameters<CoreObjectEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
177
- }
178
- declare class CoreObject extends EventEmitter {
179
- readonly instanceId: number;
180
- protected _defaultProperties?: Record<PropertyKey, any>;
181
- protected _updatedProperties: Map<PropertyKey, any>;
182
- protected _changedProperties: Set<PropertyKey>;
183
- protected _updatingPromise: Promise<void>;
184
- protected _updating: boolean;
185
- is(target: CoreObject | undefined | null): boolean;
186
- protected _enqueueUpdate(): Promise<void>;
187
- protected _performUpdate(): void;
188
- protected _update(changed: Map<PropertyKey, any>): void;
189
- protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
190
- isDirty(key: string): boolean;
191
- getPropertyDeclarations(): Map<PropertyKey, PropertyDeclaration>;
192
- getPropertyDeclaration(key: PropertyKey): PropertyDeclaration | undefined;
193
- getDefaultProperties(): Record<PropertyKey, any>;
194
- getProperty(key: PropertyKey): any | undefined;
195
- setProperty(key: PropertyKey, value: any): this;
196
- getProperties(keys?: PropertyKey[]): Record<PropertyKey, any>;
197
- setProperties(properties?: Record<PropertyKey, any>): this;
198
- requestUpdate(key?: PropertyKey, oldValue?: unknown, declaration?: PropertyDeclaration): void;
199
- toJSON(): Record<string, any>;
200
- clone(): this;
201
- destroy(): void;
202
- }
203
-
204
- interface RefCountedEventMap extends CoreObjectEventMap {
205
- }
206
- interface RefCounted {
207
- on: (<K extends keyof RefCountedEventMap>(type: K, listener: RefCountedEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
208
- once: (<K extends keyof RefCountedEventMap>(type: K, listener: RefCountedEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
209
- off: (<K extends keyof RefCountedEventMap>(type: K, listener?: RefCountedEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
210
- emit: (<K extends keyof RefCountedEventMap>(type: K, ...args: Parameters<RefCountedEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
211
- }
212
- declare class RefCounted extends CoreObject {
213
- }
214
-
215
215
  declare class PointerInputEvent extends MouseInputEvent implements PointerEvent {
216
216
  altitudeAngle: number;
217
217
  azimuthAngle: number;
@@ -277,11 +277,7 @@ declare class Input extends EventEmitter {
277
277
  protected cloneWheelEvent(nativeEvent: WheelEvent): WheelInputEvent;
278
278
  protected clonePointerEvent(nativeEvent: PointerEvent): PointerInputEvent;
279
279
  protected copyMouseEvent(event: MouseInputEvent, nativeEvent: MouseEvent): void;
280
- /**
281
- * Sets the current cursor mode, handling any callbacks or CSS style changes.
282
- * @param mode - cursor mode, a key from the cursorStyles dictionary
283
- */
284
- setCursor(mode: string): void;
280
+ setCursor(mode?: Cursor): void;
285
281
  mapPositionToPoint(point: {
286
282
  x: number;
287
283
  y: number;
@@ -347,8 +343,8 @@ declare abstract class Vector extends EventEmitter {
347
343
  rotate<T extends VectorOperateOutput>(angle: number, output: T): T;
348
344
  set(value: VectorLike, ...args: number[]): this;
349
345
  equals(value: VectorLike): boolean;
346
+ copy(value: VectorLike): this;
350
347
  clone(): this;
351
- protected _emitUpdate(array: number[]): void;
352
348
  protected _onUpdate(_array: number[]): void;
353
349
  toArray(): number[];
354
350
  toName(): string;
@@ -364,14 +360,12 @@ declare abstract class Matrix extends EventEmitter {
364
360
  constructor(rows: number, cols: number, array?: number[]);
365
361
  protected _operate(operator: string, target: MatrixLike | Vector, output?: MatrixOperateOutput): any;
366
362
  identity(): this;
367
- clone(): this;
368
363
  set(value: MatrixLike): this;
364
+ copy(value: MatrixLike): this;
365
+ clone(): this;
369
366
  multiply<T extends Vector>(value: T): T;
370
367
  multiply(value: MatrixLike): this;
371
368
  multiply<T extends MatrixOperateOutput>(value: MatrixLike, output: T): T;
372
- onUpdate(callback: (array: number[]) => void): this;
373
- offUpdate(callback: (array: number[]) => void): this;
374
- protected _emitUpdate(array: number[]): void;
375
369
  protected _onUpdate(_array: number[]): void;
376
370
  toArray(transpose?: boolean): number[];
377
371
  toName(): string;
@@ -466,6 +460,10 @@ declare class Vector2 extends Vector {
466
460
  set width(val: number);
467
461
  get height(): number;
468
462
  set height(val: number);
463
+ get left(): number;
464
+ set left(val: number);
465
+ get top(): number;
466
+ set top(val: number);
469
467
  constructor(x?: VectorLike, y?: number);
470
468
  update(x: number, y: number): this;
471
469
  getLength(): number;
@@ -600,6 +598,7 @@ declare class MainLoop extends CoreObject {
600
598
  start(process: (delta: number) => void): this;
601
599
  stop(): this;
602
600
  protected _onNextTick(): void;
601
+ free(): void;
603
602
  }
604
603
 
605
604
  interface CssFunctionArg {
@@ -862,7 +861,7 @@ declare class WebGLRenderer extends Renderer {
862
861
  draw(options?: WebGLDrawOptions): void;
863
862
  reset(): void;
864
863
  flush(): void;
865
- destroy(): void;
864
+ free(): void;
866
865
  toPixels(): Uint8ClampedArray;
867
866
  }
868
867
 
@@ -898,7 +897,7 @@ declare abstract class WebGLModule {
898
897
  onUpdateContext(): void;
899
898
  flush(): void;
900
899
  reset(): void;
901
- destroy(): void;
900
+ free(): void;
902
901
  }
903
902
 
904
903
  interface WebGLState {
@@ -954,6 +953,7 @@ interface Batchable2D {
954
953
  colorMatrix?: ArrayLike<number>;
955
954
  colorMatrixOffset?: ArrayLike<number>;
956
955
  blendMode?: WebGLBlendMode;
956
+ disableWrapMode?: boolean;
957
957
  }
958
958
  interface Shader {
959
959
  update: (attributeBuffer: ArrayBuffer, indexBuffer: Uint16Array) => void;
@@ -963,7 +963,6 @@ declare class WebGLBatch2DModule extends WebGLModule {
963
963
  install(renderer: WebGLRenderer): void;
964
964
  protected _state: WebGLState;
965
965
  protected _batchSize: number;
966
- protected _vertexSize: number;
967
966
  protected _drawCallUid: number;
968
967
  protected _defaultModulate: number;
969
968
  protected _defaultBackgroundColor: number;
@@ -976,6 +975,7 @@ declare class WebGLBatch2DModule extends WebGLModule {
976
975
  protected _indexBuffers: Uint16Array[];
977
976
  protected _shaders: Map<number, Shader>;
978
977
  protected _attributes: Record<string, Partial<WebGLVertexAttrib>>;
978
+ protected _vertexSize: number;
979
979
  protected _getShader(maxTextureUnits: number): Shader;
980
980
  protected _createShader(maxTextureUnits: number): Shader;
981
981
  render(batchable: Batchable2D): void;
@@ -1086,7 +1086,7 @@ declare class WebGLProgramModule extends WebGLModule {
1086
1086
  updateUniforms(program: WebGLProgram, uniforms: Record<string, any>): void;
1087
1087
  updateUniforms(uniforms: Record<string, any>): void;
1088
1088
  reset(): void;
1089
- destroy(): void;
1089
+ free(): void;
1090
1090
  }
1091
1091
 
1092
1092
  declare class WebGLScissorModule extends WebGLModule {
@@ -1286,7 +1286,6 @@ declare class UvGeometry extends Geometry {
1286
1286
  positionBuffer: VertexBuffer;
1287
1287
  uvBuffer: VertexBuffer;
1288
1288
  constructor();
1289
- update(vertices: Float32Array, uvs: Float32Array, indices: Uint16Array): this;
1290
1289
  }
1291
1290
 
1292
1291
  type Texture2DFilterMode = WebGLTextureFilterMode;
@@ -1327,7 +1326,19 @@ declare class Texture2D<T extends Texture2DSource = Texture2DSource> extends Res
1327
1326
  upload(renderer: WebGLRenderer, options?: Partial<WebGLTextureOptions>): boolean;
1328
1327
  activate(renderer: WebGLRenderer, location?: number): boolean;
1329
1328
  inactivate(renderer: WebGLRenderer): void;
1330
- destroy(): void;
1329
+ free(): void;
1330
+ }
1331
+
1332
+ interface ImageFrame {
1333
+ texture: Texture2D;
1334
+ duration: number;
1335
+ }
1336
+ declare class AnimatedTexture extends Resource {
1337
+ frames: ImageFrame[];
1338
+ duration: number;
1339
+ constructor(source: Texture2D | ImageFrame[]);
1340
+ updateDuration(): this;
1341
+ free(): void;
1331
1342
  }
1332
1343
 
1333
1344
  declare class CanvasTexture extends Texture2D<HTMLCanvasElement> {
@@ -1407,80 +1418,25 @@ declare class VideoTexture extends Texture2D<HTMLVideoElement> {
1407
1418
  protected _videoFrameRequestCallback: () => void;
1408
1419
  requestUpload: () => void;
1409
1420
  load(): Promise<this>;
1410
- destroy(): void;
1421
+ free(): void;
1411
1422
  }
1412
1423
 
1413
1424
  declare class ViewportTexture extends PixelsTexture {
1414
1425
  }
1415
1426
 
1416
- type CanvasItemStyleFilterKey = 'hue-rotate' | 'saturate' | 'brightness' | 'contrast' | 'invert' | 'sepia' | 'opacity' | 'grayscale';
1417
- type CanvasItemStyleFilter = Record<CanvasItemStyleFilterKey, number>;
1418
- interface CanvasItemStyleProperties extends IDOCTextStyleDeclaration, IDOCTransformStyleDeclaration {
1419
- direction: 'inherit' | 'ltr' | 'rtl';
1420
- backgroundColor?: 'none' | ColorValue;
1421
- backgroundImage?: string;
1422
- filter: string;
1423
- boxShadow: 'none' | string;
1424
- maskImage: 'none' | string;
1425
- opacity: number;
1426
- borderWidth: number;
1427
- borderRadius: number;
1428
- borderColor: 'none' | ColorValue;
1429
- borderStyle: string;
1430
- outlineWidth: number;
1431
- outlineOffset: number;
1432
- outlineColor: 'none' | ColorValue;
1433
- outlineStyle: string;
1434
- visibility: Visibility;
1435
- overflow: Overflow;
1436
- pointerEvents: PointerEvents$1;
1437
- }
1438
- type PointerEvents$1 = 'auto' | 'none';
1439
- interface CanvasItemStyle extends CanvasItemStyleProperties {
1440
- }
1441
- declare class CanvasItemStyle extends Resource {
1442
- backgroundColor: 'none' | ColorValue;
1443
- backgroundImage: 'none' | string;
1444
- filter: 'none' | string;
1445
- direction: 'inherit' | 'ltr' | 'rtl';
1446
- boxShadow: 'none' | string;
1447
- maskImage: 'none' | string;
1448
- opacity: number;
1449
- borderWidth: number;
1450
- borderRadius: number;
1451
- borderColor: 'none' | ColorValue;
1452
- borderStyle: 'none' | string;
1453
- outlineWidth: number;
1454
- outlineOffset: number;
1455
- outlineColor: 'none' | ColorValue;
1456
- outlineStyle: 'none' | string;
1457
- visibility: Visibility;
1458
- overflow: Overflow;
1459
- pointerEvents: PointerEvents$1;
1460
- protected _backgroundColor: Color;
1461
- constructor(properties?: Partial<CanvasItemStyleProperties>);
1462
- protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1463
- canPointeEvents(): boolean;
1464
- getComputedOpacity(): number;
1465
- getComputedBackgroundColor(): Color;
1466
- loadBackgroundImage(): Promise<Texture2D<ImageBitmap> | undefined>;
1467
- getComputedTransform(): Transform2D;
1468
- getComputedTransformOrigin(): number[];
1469
- getComputedFilter(): CanvasItemStyleFilter;
1470
- getComputedFilterColorMatrix(): ColorMatrix;
1471
- }
1472
-
1473
1427
  interface CanvasBatchable extends Batchable2D {
1474
1428
  type: 'stroke' | 'fill';
1475
1429
  texture?: Texture2D;
1476
1430
  }
1477
- interface StrokedGraphics {
1431
+ interface StrokeDraw {
1432
+ type: 'stroke';
1478
1433
  path: Path2D;
1479
1434
  texture?: Texture2D;
1480
1435
  textureTransform?: Transform2D;
1481
1436
  style: LineStyle;
1482
1437
  }
1483
- interface FilledGraphics {
1438
+ interface FillDraw {
1439
+ type: 'fill';
1484
1440
  path: Path2D;
1485
1441
  texture?: Texture2D;
1486
1442
  textureTransform?: Transform2D;
@@ -1494,8 +1450,7 @@ declare class CanvasContext extends Path2D {
1494
1450
  lineWidth?: number;
1495
1451
  miterLimit?: number;
1496
1452
  _defaultStyle: Texture2D<Texture2DSource>;
1497
- _stroke: StrokedGraphics[];
1498
- _fille: FilledGraphics[];
1453
+ _draws: (StrokeDraw | FillDraw)[];
1499
1454
  stroke(): void;
1500
1455
  fillRect(x: number, y: number, width: number, height: number): void;
1501
1456
  strokeRect(x: number, y: number, width: number, height: number): void;
@@ -1616,6 +1571,7 @@ interface SceneTree {
1616
1571
  declare class SceneTree extends MainLoop {
1617
1572
  paused: boolean;
1618
1573
  backgroundColor?: ColorValue;
1574
+ readonly input: Input;
1619
1575
  readonly renderStack: RenderStack;
1620
1576
  readonly root: Viewport;
1621
1577
  readonly timeline: Timeline;
@@ -1627,6 +1583,7 @@ declare class SceneTree extends MainLoop {
1627
1583
  protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1628
1584
  protected _render(renderer: WebGLRenderer, delta?: number): this;
1629
1585
  protected _renderScreen(renderer: WebGLRenderer): void;
1586
+ free(): void;
1630
1587
  }
1631
1588
 
1632
1589
  interface NodeEventMap extends CoreObjectEventMap, InputEventMap {
@@ -1672,7 +1629,7 @@ declare class Node extends CoreObject {
1672
1629
  renderMode: RenderMode;
1673
1630
  internalMode: InternalMode;
1674
1631
  protected _readyed: boolean;
1675
- constructor(properties?: Partial<NodeProperties>, children?: Node[]);
1632
+ constructor(properties?: Partial<NodeProperties>, nodes?: Node[]);
1676
1633
  /** Name */
1677
1634
  getName(): string;
1678
1635
  setName(value: string): this;
@@ -1742,6 +1699,7 @@ declare class Node extends CoreObject {
1742
1699
  protected _process(delta: number): void;
1743
1700
  protected _input(event: InputEvent, key: InputEventKey): void;
1744
1701
  protected _render(renderer: WebGLRenderer): void;
1702
+ clone(): this;
1745
1703
  toJSON(): Record<string, any>;
1746
1704
  static parse(JSON: Record<string, any>[]): Node[];
1747
1705
  static parse(JSON: Record<string, any>): Node;
@@ -1765,7 +1723,7 @@ declare class TimelineNode extends Node {
1765
1723
  delay: number;
1766
1724
  duration: number;
1767
1725
  paused: boolean;
1768
- constructor(properties?: Partial<TimelineNodeProperties>, children?: Node[]);
1726
+ constructor(properties?: Partial<TimelineNodeProperties>, nodes?: Node[]);
1769
1727
  /** Timeline */
1770
1728
  computedDuration: number;
1771
1729
  protected _currentTime: number;
@@ -1784,12 +1742,10 @@ declare class TimelineNode extends Node {
1784
1742
  }
1785
1743
 
1786
1744
  interface CanvasItemProperties extends TimelineNodeProperties {
1787
- style: Partial<CanvasItemStyleProperties>;
1788
1745
  modulate: ColorValue;
1789
1746
  blendMode: WebGLBlendMode;
1790
1747
  }
1791
1748
  interface CanvasItemEventMap extends TimelineNodeEventMap {
1792
- updateStyleProperty: (key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration) => void;
1793
1749
  draw: () => void;
1794
1750
  }
1795
1751
  interface CanvasItem {
@@ -1801,56 +1757,40 @@ interface CanvasItem {
1801
1757
  declare class CanvasItem extends TimelineNode {
1802
1758
  modulate?: ColorValue;
1803
1759
  blendMode?: WebGLBlendMode;
1804
- protected _style: CanvasItemStyle;
1805
- get style(): CanvasItemStyle;
1806
- set style(style: CanvasItemStyle);
1807
- /** @internal */
1808
- opacity: number;
1809
1760
  visible: boolean;
1810
- protected _parentOpacity?: number;
1811
- protected _parentVisible?: boolean;
1761
+ opacity: number;
1762
+ protected _parentGlobalVisible?: boolean;
1763
+ protected _globalVisible?: boolean;
1764
+ get globalVisible(): boolean;
1765
+ protected _parentGlobalOpacity?: number;
1766
+ protected _globalOpacity?: number;
1767
+ get globalOpacity(): number;
1812
1768
  protected _modulate: Color;
1813
1769
  protected _backgroundImage?: Texture2D;
1814
1770
  context: CanvasContext;
1815
1771
  protected _resetContext: boolean;
1816
1772
  protected _redrawing: boolean;
1817
- protected _reflowing: boolean;
1773
+ protected _relayouting: boolean;
1818
1774
  protected _repainting: boolean;
1819
1775
  protected _originalBatchables: CanvasBatchable[];
1820
1776
  protected _layoutedBatchables: CanvasBatchable[];
1821
1777
  protected _batchables: CanvasBatchable[];
1822
- constructor(properties?: Partial<CanvasItemProperties>, children?: Node[]);
1823
- setProperties(properties?: Record<PropertyKey, any>): this;
1778
+ constructor(properties?: Partial<CanvasItemProperties>, nodes?: Node[]);
1824
1779
  protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1825
- protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1826
- protected _updateBoxShadow(): void;
1827
- protected _updateMaskImage(): void;
1828
- protected _updateBackgroundColor(): void;
1829
- protected _updateBackgroundImage(): Promise<void>;
1830
- protected _updateOpacity(): void;
1831
- protected _updateCurrentTime(force?: boolean): void;
1832
- protected _updateVisible(): void;
1833
1780
  show(): void;
1834
1781
  hide(): void;
1835
1782
  isVisibleInTree(): boolean;
1836
1783
  canRender(): boolean;
1837
1784
  requestRedraw(): void;
1838
- requestReflow(): void;
1785
+ requestRelayout(): void;
1839
1786
  requestRepaint(): void;
1840
- protected _process(delta: number): void;
1841
- protected _draw(): void;
1842
- protected _drawBackground(): void;
1843
- protected _drawContent(): void;
1844
- protected _drawBorder(): void;
1845
- protected _drawOutline(): void;
1846
- protected _drawBoundingRect(): void;
1847
- protected _fillBoundingRect(): void;
1848
- protected _strokeBoundingRect(): void;
1787
+ protected _updateGlobalVisible(): void;
1788
+ protected _updateGlobalOpacity(): void;
1849
1789
  protected _relayout(batchables: CanvasBatchable[]): CanvasBatchable[];
1850
- protected _reflow(batchables: CanvasBatchable[]): CanvasBatchable[];
1851
1790
  protected _repaint(batchables: CanvasBatchable[]): CanvasBatchable[];
1791
+ protected _draw(): void;
1792
+ protected _update(): void;
1852
1793
  protected _render(renderer: WebGLRenderer): void;
1853
- toJSON(): Record<string, any>;
1854
1794
  }
1855
1795
 
1856
1796
  type EffectMode = 'before' | 'parent' | 'children' | 'transition';
@@ -1907,90 +1847,299 @@ declare class Transition extends Effect {
1907
1847
  constructor(properties?: Partial<TransitionProperties>, children?: Node[]);
1908
1848
  }
1909
1849
 
1850
+ interface BaseElement2DStyleProperties extends TextStyleDeclaration, Omit<ElementStyleDeclaration, 'left' | 'top' | 'width' | 'height' | 'backgroundColor' | 'borderColor'> {
1851
+ backgroundColor: 'none' | ColorValue;
1852
+ maskImage: 'none' | string;
1853
+ borderColor: 'none' | ColorValue;
1854
+ outlineWidth: number;
1855
+ outlineOffset: number;
1856
+ outlineColor: 'none' | ColorValue;
1857
+ outlineStyle: string;
1858
+ }
1859
+ interface BaseElement2DStyle extends BaseElement2DStyleProperties {
1860
+ }
1861
+ declare class BaseElement2DStyle extends Resource {
1862
+ protected _backgroundColor: Color;
1863
+ constructor(properties?: Partial<BaseElement2DStyleProperties>);
1864
+ protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1865
+ getComputedBackgroundColor(): Color;
1866
+ loadBackgroundImage(): Promise<Texture2D<ImageBitmap> | undefined>;
1867
+ }
1868
+
1910
1869
  interface Node2DProperties extends CanvasItemProperties {
1911
1870
  }
1912
1871
  declare class Node2D extends CanvasItem {
1872
+ position: Vector2;
1873
+ rotation: number;
1874
+ scale: Vector2;
1875
+ skew: Vector2;
1913
1876
  transform: Transform2D;
1877
+ globalPosition: Vector2;
1878
+ globalRotation: number;
1879
+ globalScale: Vector2;
1880
+ globalSkew: Vector2;
1881
+ globalTransform: Transform2D;
1914
1882
  protected _parentTransformDirtyId?: number;
1915
- constructor(properties?: Partial<Node2DProperties>, children?: Node[]);
1916
- protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any): void;
1883
+ constructor(properties?: Partial<Node2DProperties>, nodes?: Node[]);
1917
1884
  protected _updateTransform(): void;
1918
- getRect(): Rect2;
1919
- protected _updateOverflow(): void;
1885
+ protected _updateGlobalTransform(): void;
1920
1886
  protected _transformVertices(vertices: number[]): number[];
1921
- protected _reflow(batchables: CanvasBatchable[]): CanvasBatchable[];
1887
+ protected _relayout(batchables: CanvasBatchable[]): CanvasBatchable[];
1922
1888
  protected _process(delta: number): void;
1923
- protected _input(event: InputEvent, key: InputEventKey): void;
1924
- clone(): this;
1925
- }
1926
-
1927
- declare class Graphics2D extends Node2D {
1928
- protected _resetContext: boolean;
1929
- lineCap?: LineCap;
1930
- lineJoin?: LineJoin;
1931
- fillStyle?: ColorValue | Texture2D;
1932
- strokeStyle?: ColorValue | Texture2D;
1933
- lineWidth?: number;
1934
- miterLimit?: number;
1935
- rect: (x: number, y: number, width: number, height: number) => this;
1936
- fillRect: (x: number, y: number, width: number, height: number) => this;
1937
- strokeRect: (x: number, y: number, width: number, height: number) => this;
1938
- roundRect: (x: number, y: number, width: number, height: number, radii: number) => this;
1939
- ellipse: (x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean) => this;
1940
- arc: (x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean) => this;
1941
- beginPath: () => this;
1942
- moveTo: (x: number, y: number) => this;
1943
- lineTo: (x: number, y: number) => this;
1944
- closePath: () => this;
1945
- fill: () => this;
1946
- stroke: () => this;
1947
- drawCircle(x: number, y: number, radius: number): this;
1948
- drawEllipse(x: number, y: number, width: number, height: number): this;
1949
1889
  }
1950
1890
 
1951
- interface ImageFrame {
1952
- texture: Texture2D;
1953
- duration: number;
1954
- }
1955
- declare class Image2DResource extends Resource {
1956
- frames: ImageFrame[];
1957
- duration: number;
1958
- constructor(source: Texture2D | ImageFrame[]);
1959
- updateDuration(): this;
1960
- destroy(): void;
1891
+ interface BaseElement2DEventMap extends CanvasItemEventMap {
1892
+ updateStyleProperty: (key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration) => void;
1961
1893
  }
1962
-
1963
- interface Image2DProperties extends Node2DProperties {
1964
- src: string;
1965
- gif: boolean;
1894
+ interface BaseElement2DProperties extends Node2DProperties {
1895
+ style: Partial<BaseElement2DStyleProperties>;
1896
+ modulate: ColorValue;
1897
+ blendMode: WebGLBlendMode;
1966
1898
  }
1967
- declare class Image2D extends Node2D {
1968
- resource?: Image2DResource;
1969
- gif: boolean;
1970
- src: string;
1971
- get currentTexture(): Texture2D | undefined;
1972
- get framesDuration(): number;
1973
- get naturalWidth(): number;
1974
- get naturalHeight(): number;
1975
- get complete(): boolean;
1976
- protected _frameIndex: number;
1899
+ interface BaseElement2D {
1900
+ on: (<K extends keyof BaseElement2DEventMap>(type: K, listener: BaseElement2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1901
+ once: (<K extends keyof BaseElement2DEventMap>(type: K, listener: BaseElement2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1902
+ off: (<K extends keyof BaseElement2DEventMap>(type: K, listener?: BaseElement2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1903
+ emit: (<K extends keyof BaseElement2DEventMap>(type: K, ...args: Parameters<BaseElement2DEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
1904
+ }
1905
+ declare class BaseElement2D extends Node2D implements Rectangulable {
1906
+ size: Vector2;
1907
+ protected _style: BaseElement2DStyle;
1908
+ get style(): BaseElement2DStyle;
1909
+ set style(style: BaseElement2DStyle);
1910
+ constructor(properties?: Partial<BaseElement2DProperties>, nodes?: Node[]);
1911
+ setProperties(properties?: Record<PropertyKey, any>): this;
1912
+ protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1913
+ protected _updateBoxShadow(): void;
1914
+ protected _updateMaskImage(): void;
1915
+ protected _updateBackgroundColor(): void;
1916
+ protected _updateBackgroundImage(): Promise<void>;
1917
+ protected _updateTransform(): void;
1918
+ protected _updateGlobalTransform(): void;
1919
+ getRect(): Rect2;
1920
+ protected _updateOverflow(): void;
1921
+ protected _draw(): void;
1922
+ protected _drawBackground(): void;
1923
+ protected _drawContent(): void;
1924
+ protected _drawBorder(): void;
1925
+ protected _drawOutline(): void;
1926
+ protected _drawBoundingRect(): void;
1927
+ protected _fillBoundingRect(): void;
1928
+ protected _strokeBoundingRect(): void;
1929
+ protected _repaint(batchables: CanvasBatchable[]): CanvasBatchable[];
1930
+ canPointerEvents(): boolean;
1931
+ input(event: InputEvent, key: InputEventKey): void;
1932
+ protected _pointerEntering: boolean;
1933
+ protected _pointerEntered(): void;
1934
+ protected _pointerExited(): void;
1935
+ protected _pointerInput(point: {
1936
+ x: number;
1937
+ y: number;
1938
+ }, key: InputEventKey): boolean;
1939
+ protected _input(event: InputEvent, key: InputEventKey): void;
1940
+ toJSON(): Record<string, any>;
1941
+ }
1942
+
1943
+ interface Element2DStyleProperties extends BaseElement2DStyleProperties {
1944
+ width: number;
1945
+ height: number;
1946
+ left: number;
1947
+ top: number;
1948
+ }
1949
+ interface Element2DStyle extends Element2DStyleProperties {
1950
+ }
1951
+ declare class Element2DStyle extends BaseElement2DStyle {
1952
+ constructor(properties?: Partial<Element2DStyleProperties>);
1953
+ }
1954
+
1955
+ interface Element2DEventMap extends BaseElement2DEventMap {
1956
+ }
1957
+ interface Element2DProperties extends BaseElement2DProperties {
1958
+ style: Partial<Element2DStyleProperties>;
1959
+ }
1960
+ interface Element2D {
1961
+ on: (<K extends keyof Element2DEventMap>(type: K, listener: Element2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1962
+ once: (<K extends keyof Element2DEventMap>(type: K, listener: Element2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1963
+ off: (<K extends keyof Element2DEventMap>(type: K, listener?: Element2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1964
+ emit: (<K extends keyof Element2DEventMap>(type: K, ...args: Parameters<Element2DEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
1965
+ }
1966
+ declare class Element2D extends BaseElement2D {
1967
+ protected _style: Element2DStyle;
1968
+ get style(): Element2DStyle;
1969
+ set style(style: Element2DStyle);
1970
+ constructor(properties?: Partial<Element2DProperties>, nodes?: Node[]);
1971
+ protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1972
+ }
1973
+
1974
+ type Align = 'auto' | 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' | 'space-between' | 'space-around' | 'space-evenly';
1975
+ type FlexDirection = 'column' | 'column-reverse' | 'row' | 'row-reverse';
1976
+ type FlexWrap = 'nowrap' | 'wrap' | 'Wrap-reverse';
1977
+ type Justify = 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';
1978
+ type Position = 'static' | 'relative' | 'absolute';
1979
+ type BoxSizing = 'border-box' | 'content-box';
1980
+ interface LayoutStyleDeclaration {
1981
+ alignContent: Align;
1982
+ alignItems: Align;
1983
+ alignSelf: Align;
1984
+ borderTop: string;
1985
+ borderLeft: string;
1986
+ borderRight: string;
1987
+ borderBottom: string;
1988
+ borderWidth: number;
1989
+ border: string;
1990
+ direction: 'inherit' | 'ltr' | 'rtl';
1991
+ display: 'none' | 'flex' | 'contents';
1992
+ flex: number;
1993
+ flexBasis: number | 'auto' | `${number}%`;
1994
+ flexDirection: FlexDirection;
1995
+ flexGrow: number;
1996
+ flexShrink: number;
1997
+ flexWrap: FlexWrap;
1998
+ height: number | 'auto' | `${number}%`;
1999
+ justifyContent: Justify;
2000
+ gap: number | `${number}%`;
2001
+ marginTop: number | 'auto' | `${number}%`;
2002
+ marginLeft: number | 'auto' | `${number}%`;
2003
+ marginRight: number | 'auto' | `${number}%`;
2004
+ marginBottom: number | 'auto' | `${number}%`;
2005
+ margin: number | 'auto' | `${number}%`;
2006
+ maxHeight: number | `${number}%`;
2007
+ maxWidth: number | `${number}%`;
2008
+ minHeight: number | `${number}%`;
2009
+ minWidth: number | `${number}%`;
2010
+ paddingTop: number | `${number}%`;
2011
+ paddingLeft: number | `${number}%`;
2012
+ paddingRight: number | `${number}%`;
2013
+ paddingBottom: number | `${number}%`;
2014
+ padding: number | `${number}%`;
2015
+ top: number | `${number}%`;
2016
+ bottom: number | `${number}%`;
2017
+ left: number | `${number}%`;
2018
+ right: number | `${number}%`;
2019
+ position: Position;
2020
+ boxSizing: BoxSizing;
2021
+ width: number | 'auto' | `${number}%`;
2022
+ }
2023
+ interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties, LayoutStyleDeclaration {
2024
+ }
2025
+ interface FlexElement2DStyle extends FlexElement2DStyleProperties {
2026
+ }
2027
+ declare class FlexElement2DStyle extends BaseElement2DStyle {
2028
+ constructor(properties?: Partial<FlexElement2DStyleProperties>);
2029
+ }
2030
+
2031
+ interface ComputedLayout {
2032
+ left: number;
2033
+ right: number;
2034
+ top: number;
2035
+ bottom: number;
2036
+ width: number;
2037
+ height: number;
2038
+ }
2039
+ declare class FlexLayout {
2040
+ protected _element: FlexElement2D;
2041
+ static _yoga?: any;
2042
+ static load(): Promise<void>;
2043
+ _node: Node$1;
2044
+ protected get _style(): FlexElement2DStyle;
2045
+ get offsetLeft(): number;
2046
+ get offsetTop(): number;
2047
+ get offsetWidth(): number;
2048
+ get offsetHeight(): number;
2049
+ constructor(_element: FlexElement2D);
2050
+ calculateLayout(width?: number | 'auto', height?: number | 'auto', direction?: Direction): void;
2051
+ getComputedLayout(): ComputedLayout;
2052
+ updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2053
+ }
2054
+
2055
+ interface FlexBaseElement2DEventMap extends BaseElement2DEventMap {
2056
+ updateStyleProperty: (key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration) => void;
2057
+ }
2058
+ interface FlexElement2DProperties extends BaseElement2DProperties {
2059
+ style: Partial<FlexElement2DStyleProperties>;
2060
+ }
2061
+ interface FlexElement2D {
2062
+ on: (<K extends keyof FlexBaseElement2DEventMap>(type: K, listener: FlexBaseElement2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2063
+ once: (<K extends keyof FlexBaseElement2DEventMap>(type: K, listener: FlexBaseElement2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2064
+ off: (<K extends keyof FlexBaseElement2DEventMap>(type: K, listener?: FlexBaseElement2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2065
+ emit: (<K extends keyof FlexBaseElement2DEventMap>(type: K, ...args: Parameters<FlexBaseElement2DEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
2066
+ }
2067
+ declare class FlexElement2D extends BaseElement2D implements Rectangulable {
2068
+ protected _style: FlexElement2DStyle;
2069
+ get style(): FlexElement2DStyle;
2070
+ set style(style: FlexElement2DStyle);
2071
+ _layout: FlexLayout;
2072
+ get offsetLeft(): number;
2073
+ get offsetTop(): number;
2074
+ get offsetWidth(): number;
2075
+ get offsetHeight(): number;
2076
+ constructor(properties?: Partial<FlexElement2DProperties>, nodes?: Node[]);
2077
+ protected _parented(parent: Node): void;
2078
+ protected _unparented(oldParent: Node): void;
2079
+ protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2080
+ protected _updateTransform(): void;
2081
+ calculateLayout(width?: number | 'auto', height?: number | 'auto', direction?: Direction): void;
2082
+ }
2083
+
2084
+ declare class Graphics2D extends Node2D {
2085
+ protected _resetContext: boolean;
2086
+ lineCap?: LineCap;
2087
+ lineJoin?: LineJoin;
2088
+ fillStyle?: ColorValue | Texture2D;
2089
+ strokeStyle?: ColorValue | Texture2D;
2090
+ lineWidth?: number;
2091
+ miterLimit?: number;
2092
+ rect: (x: number, y: number, width: number, height: number) => this;
2093
+ fillRect: (x: number, y: number, width: number, height: number) => this;
2094
+ strokeRect: (x: number, y: number, width: number, height: number) => this;
2095
+ roundRect: (x: number, y: number, width: number, height: number, radii: number) => this;
2096
+ ellipse: (x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean) => this;
2097
+ arc: (x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean) => this;
2098
+ beginPath: () => this;
2099
+ moveTo: (x: number, y: number) => this;
2100
+ lineTo: (x: number, y: number) => this;
2101
+ closePath: () => this;
2102
+ fill: () => this;
2103
+ stroke: () => this;
2104
+ drawCircle(x: number, y: number, radius: number): this;
2105
+ drawEllipse(x: number, y: number, width: number, height: number): this;
2106
+ }
2107
+
2108
+ interface Image2DProperties extends Element2DProperties {
2109
+ src: string;
2110
+ srcRect: ImageRect;
2111
+ gif: boolean;
2112
+ }
2113
+ declare class Image2D extends Element2D {
2114
+ texture?: AnimatedTexture;
2115
+ srcRect: ImageRect;
2116
+ src: string;
2117
+ gif: boolean;
2118
+ get currentFrameTexture(): Texture2D | undefined;
2119
+ get textureDuration(): number;
2120
+ get naturalWidth(): number;
2121
+ get naturalHeight(): number;
2122
+ get complete(): boolean;
2123
+ protected _frameIndex: number;
1977
2124
  protected _complete: boolean;
1978
2125
  protected _wait: Promise<void>;
1979
2126
  constructor(properties?: Partial<Image2DProperties>, children?: Node[]);
1980
2127
  protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1981
2128
  decode(): Promise<void>;
1982
- setResource(source: Texture2D | ImageFrame[] | Image2DResource): this;
2129
+ setResource(source: Texture2D | ImageFrame[] | AnimatedTexture): this;
1983
2130
  protected _load(src: string): Promise<void>;
1984
2131
  protected _getFrameCurrentTime(): number;
1985
2132
  protected _updateFrameIndex(): this;
1986
2133
  protected _process(delta: number): void;
1987
2134
  protected _drawContent(): void;
2135
+ protected _repaint(batchables: CanvasBatchable[]): CanvasBatchable[];
1988
2136
  }
1989
2137
 
1990
- interface TextureRect2DProperties extends Node2DProperties {
2138
+ interface TextureRect2DProperties extends Element2DProperties {
1991
2139
  }
1992
- declare class TextureRect2D<T extends Texture2D = Texture2D> extends Node2D implements Rectangulable {
2140
+ declare class TextureRect2D<T extends Texture2D = Texture2D> extends Element2D {
1993
2141
  texture?: T;
2142
+ constructor(properties?: Partial<TextureRect2DProperties>, children?: Node[]);
1994
2143
  protected _drawContent(): void;
1995
2144
  }
1996
2145
 
@@ -2041,6 +2190,17 @@ declare class Text2D extends TextureRect2D<CanvasTexture> {
2041
2190
  protected _drawContent(): void;
2042
2191
  }
2043
2192
 
2193
+ interface TransformRect2DProperties extends BaseElement2DProperties {
2194
+ }
2195
+ declare class TransformRect2D extends Element2D {
2196
+ handleSize: number;
2197
+ constructor(properties?: Partial<TransformRect2DProperties>, nodes?: Node[]);
2198
+ protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2199
+ protected _drawCircle(x: number, y: number): void;
2200
+ protected _drawEllipse(x: number, y: number): void;
2201
+ protected _draw(): void;
2202
+ }
2203
+
2044
2204
  interface Video2DProperties extends TextureRect2DProperties {
2045
2205
  src: string;
2046
2206
  }
@@ -2176,7 +2336,7 @@ declare class HTMLAudioContext extends EventEmitter implements IAudioContext {
2176
2336
  get audioContext(): AudioContext;
2177
2337
  toggleMute(): boolean;
2178
2338
  togglePause(): boolean;
2179
- destroy(): void;
2339
+ free(): void;
2180
2340
  }
2181
2341
 
2182
2342
  declare class HTMLSound extends EventEmitter {
@@ -2222,7 +2382,7 @@ declare class HTMLSound extends EventEmitter {
2222
2382
  play(options?: IPlayOptions): void;
2223
2383
  protected _onUpdate: () => void;
2224
2384
  protected _onComplete(): void;
2225
- destroy(): void;
2385
+ free(): void;
2226
2386
  }
2227
2387
 
2228
2388
  declare class HTMLAudio {
@@ -2324,7 +2484,7 @@ declare class WebSound extends EventEmitter {
2324
2484
  protected _onComplete: () => void;
2325
2485
  protected _updateListener: () => void;
2326
2486
  protected _enableTicker(enabled: boolean): void;
2327
- destroy(): void;
2487
+ free(): void;
2328
2488
  }
2329
2489
 
2330
2490
  declare class WebAudio extends AudioPipeline {
@@ -2412,12 +2572,12 @@ declare class Audio extends TimelineNode {
2412
2572
  declare class AudioSpectrum extends Node2D {
2413
2573
  }
2414
2574
 
2415
- interface AudioWaveformProperties extends Node2DProperties {
2575
+ interface AudioWaveformProperties extends Element2DProperties {
2416
2576
  src: string;
2417
2577
  gap: number;
2418
2578
  color: string;
2419
2579
  }
2420
- declare class AudioWaveform extends Node2D {
2580
+ declare class AudioWaveform extends Element2D {
2421
2581
  src?: string;
2422
2582
  gap: number;
2423
2583
  color: string;
@@ -2565,7 +2725,7 @@ declare class ZoomBlurEffect extends Effect {
2565
2725
 
2566
2726
  interface ControlEventMap extends CanvasItemEventMap, RectangulableEventMap {
2567
2727
  }
2568
- interface ControlProperties extends CanvasItemProperties {
2728
+ interface ControlProperties extends BaseElement2DProperties {
2569
2729
  }
2570
2730
  interface Control {
2571
2731
  on: (<K extends keyof ControlEventMap>(type: K, listener: ControlEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
@@ -2573,7 +2733,7 @@ interface Control {
2573
2733
  off: (<K extends keyof ControlEventMap>(type: K, listener?: ControlEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2574
2734
  emit: (<K extends keyof ControlEventMap>(type: K, ...args: Parameters<ControlEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
2575
2735
  }
2576
- declare class Control extends CanvasItem implements Rectangulable {
2736
+ declare class Control extends Element2D implements Rectangulable {
2577
2737
  constructor(properties?: Partial<ControlProperties>, children?: Node[]);
2578
2738
  protected _parented(parent: any): void;
2579
2739
  protected _unparented(oldParent: any): void;
@@ -2581,7 +2741,6 @@ declare class Control extends CanvasItem implements Rectangulable {
2581
2741
  protected _input(event: InputEvent, key: InputEventKey): void;
2582
2742
  protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2583
2743
  protected _guiInput(event: InputEvent, key: InputEventKey): void;
2584
- getRect(): Rect2;
2585
2744
  }
2586
2745
 
2587
2746
  interface RangeProperties extends ControlProperties {
@@ -2625,7 +2784,7 @@ declare class Ruler extends Control {
2625
2784
  markBackgroundColor: string;
2626
2785
  markColor: string;
2627
2786
  gap: number;
2628
- scale: number;
2787
+ gapScale: number;
2629
2788
  texture: CanvasTexture;
2630
2789
  constructor(properties?: Partial<RulerProperties>, children?: Node[]);
2631
2790
  protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
@@ -2641,8 +2800,18 @@ declare class ScrollBar extends Range {
2641
2800
  direction: 'vertical' | 'horizontal';
2642
2801
  constructor(properties?: Partial<ScrollBarProperties>, children?: Node[]);
2643
2802
  protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2644
- protected _guiInput(event: InputEvent, key: InputEventKey): void;
2803
+ protected _rect(): {
2804
+ left: number;
2805
+ top: number;
2806
+ width: number;
2807
+ height: number;
2808
+ radii: number;
2809
+ };
2645
2810
  protected _draw(): void;
2811
+ protected _pointerInput(point: {
2812
+ x: number;
2813
+ y: number;
2814
+ }, key: InputEventKey): boolean;
2646
2815
  }
2647
2816
 
2648
2817
  interface XScrollBarProperties extends Omit<ScrollBarProperties, 'direction'> {
@@ -2657,220 +2826,6 @@ declare class YScrollBar extends ScrollBar {
2657
2826
  constructor(properties?: Partial<YScrollBarProperties>, children?: Node[]);
2658
2827
  }
2659
2828
 
2660
- type Align = 'auto' | 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' | 'space-between' | 'space-around' | 'space-evenly';
2661
- type FlexDirection = 'column' | 'column-reverse' | 'row' | 'row-reverse';
2662
- type FlexWrap = 'no-wrap' | 'wrap' | 'Wrap-reverse';
2663
- type Justify = 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';
2664
- type Position = 'static' | 'relative' | 'absolute';
2665
- type BoxSizing = 'border-box' | 'content-box';
2666
- interface IDOCLayoutStyleDeclaration {
2667
- alignContent: Align;
2668
- alignItems: Align;
2669
- alignSelf: Align;
2670
- borderTop: string;
2671
- borderLeft: string;
2672
- borderRight: string;
2673
- borderBottom: string;
2674
- borderWidth: number;
2675
- border: string;
2676
- direction: 'inherit' | 'ltr' | 'rtl';
2677
- display: 'none' | 'flex' | 'contents';
2678
- flex: number;
2679
- flexBasis: number | 'auto' | `${number}%`;
2680
- flexDirection: FlexDirection;
2681
- flexGrow: number;
2682
- flexShrink: number;
2683
- flexWrap: FlexWrap;
2684
- height: number | 'auto' | `${number}%`;
2685
- justifyContent: Justify;
2686
- gap: number | `${number}%`;
2687
- marginTop: number | 'auto' | `${number}%`;
2688
- marginLeft: number | 'auto' | `${number}%`;
2689
- marginRight: number | 'auto' | `${number}%`;
2690
- marginBottom: number | 'auto' | `${number}%`;
2691
- margin: number | 'auto' | `${number}%`;
2692
- maxHeight: number | `${number}%`;
2693
- maxWidth: number | `${number}%`;
2694
- minHeight: number | `${number}%`;
2695
- minWidth: number | `${number}%`;
2696
- paddingTop: number | `${number}%`;
2697
- paddingLeft: number | `${number}%`;
2698
- paddingRight: number | `${number}%`;
2699
- paddingBottom: number | `${number}%`;
2700
- padding: number | `${number}%`;
2701
- top: number | `${number}%`;
2702
- bottom: number | `${number}%`;
2703
- left: number | `${number}%`;
2704
- right: number | `${number}%`;
2705
- position: Position;
2706
- boxSizing: BoxSizing;
2707
- width: number | 'auto' | `${number}%`;
2708
- }
2709
- type ElementStyleFilterKey = 'hue-rotate' | 'saturate' | 'brightness' | 'contrast' | 'invert' | 'sepia' | 'opacity' | 'grayscale';
2710
- type ElementStyleFilter = Record<ElementStyleFilterKey, number>;
2711
- interface ElementStyleProperties extends IDOCTextStyleDeclaration, Omit<IDOCTransformStyleDeclaration, 'left' | 'top' | 'width' | 'height'>, IDOCLayoutStyleDeclaration {
2712
- backgroundColor?: 'none' | ColorValue;
2713
- backgroundImage?: string;
2714
- filter: string;
2715
- boxShadow: 'none' | string;
2716
- maskImage: 'none' | string;
2717
- opacity: number;
2718
- borderWidth: number;
2719
- borderRadius: number;
2720
- borderColor: 'none' | ColorValue;
2721
- borderStyle: string;
2722
- outlineWidth: number;
2723
- outlineOffset: number;
2724
- outlineColor: 'none' | ColorValue;
2725
- outlineStyle: string;
2726
- visibility: Visibility;
2727
- overflow: Overflow;
2728
- pointerEvents: PointerEvents;
2729
- }
2730
- type PointerEvents = 'auto' | 'none';
2731
- interface ElementStyle extends ElementStyleProperties {
2732
- }
2733
- declare class ElementStyle extends Resource {
2734
- backgroundColor: 'none' | ColorValue;
2735
- backgroundImage: 'none' | string;
2736
- filter: 'none' | string;
2737
- boxShadow: 'none' | string;
2738
- maskImage: 'none' | string;
2739
- opacity: number;
2740
- borderRadius: number;
2741
- borderColor: 'none' | ColorValue;
2742
- borderStyle: 'none' | string;
2743
- outlineWidth: number;
2744
- outlineOffset: number;
2745
- outlineColor: 'none' | ColorValue;
2746
- outlineStyle: 'none' | string;
2747
- visibility: Visibility;
2748
- overflow: Overflow;
2749
- pointerEvents: PointerEvents;
2750
- alignContent: Align;
2751
- alignItems: Align;
2752
- alignSelf: Align;
2753
- borderTop: string;
2754
- borderLeft: string;
2755
- borderRight: string;
2756
- borderBottom: string;
2757
- borderWidth: number;
2758
- border: string;
2759
- direction: 'inherit' | 'ltr' | 'rtl';
2760
- display: 'none' | 'flex' | 'contents';
2761
- flex: number;
2762
- flexBasis: number | 'auto' | `${number}%`;
2763
- flexDirection: FlexDirection;
2764
- flexGrow: number;
2765
- flexShrink: number;
2766
- flexWrap: FlexWrap;
2767
- height: number | 'auto' | `${number}%`;
2768
- justifyContent: Justify;
2769
- gap: number | `${number}%`;
2770
- marginTop: number | 'auto' | `${number}%`;
2771
- marginLeft: number | 'auto' | `${number}%`;
2772
- marginRight: number | 'auto' | `${number}%`;
2773
- marginBottom: number | 'auto' | `${number}%`;
2774
- margin: number | 'auto' | `${number}%`;
2775
- maxHeight: number | `${number}%`;
2776
- maxWidth: number | `${number}%`;
2777
- minHeight: number | `${number}%`;
2778
- minWidth: number | `${number}%`;
2779
- paddingTop: number | `${number}%`;
2780
- paddingLeft: number | `${number}%`;
2781
- paddingRight: number | `${number}%`;
2782
- paddingBottom: number | `${number}%`;
2783
- padding: number | `${number}%`;
2784
- top: number | `${number}%`;
2785
- bottom: number | `${number}%`;
2786
- left: number | `${number}%`;
2787
- right: number | `${number}%`;
2788
- position: Position;
2789
- boxSizing: BoxSizing;
2790
- width: number | 'auto' | `${number}%`;
2791
- protected _backgroundColor: Color;
2792
- constructor(properties?: Partial<ElementStyleProperties>);
2793
- protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2794
- canPointeEvents(): boolean;
2795
- getComputedOpacity(): number;
2796
- getComputedBackgroundColor(): Color;
2797
- loadBackgroundImage(): Promise<Texture2D<ImageBitmap> | undefined>;
2798
- getComputedTransformOrigin(): number[];
2799
- protected _defaultFilter: ElementStyleFilter;
2800
- getComputedFilter(): ElementStyleFilter;
2801
- getComputedFilterColorMatrix(): ColorMatrix;
2802
- }
2803
-
2804
- interface ElementProperties extends NodeProperties {
2805
- style: Partial<ElementStyleProperties>;
2806
- modulate: ColorValue;
2807
- blendMode: WebGLBlendMode;
2808
- }
2809
- declare class Element$1 extends Node {
2810
- modulate?: ColorValue;
2811
- blendMode?: WebGLBlendMode;
2812
- static layoutEngine?: any;
2813
- static loadLayoutEngine(): Promise<void>;
2814
- protected _style: ElementStyle;
2815
- get style(): ElementStyle;
2816
- set style(style: ElementStyle);
2817
- _layout: Node$1;
2818
- transform: Transform2D;
2819
- protected _parentTransformDirtyId?: number;
2820
- opacity: number;
2821
- visible: boolean;
2822
- protected _parentOpacity?: number;
2823
- protected _parentVisible?: boolean;
2824
- protected _modulate: Color;
2825
- protected _backgroundImage?: Texture2D;
2826
- context: CanvasContext;
2827
- protected _resetContext: boolean;
2828
- protected _redrawing: boolean;
2829
- protected _reflowing: boolean;
2830
- protected _repainting: boolean;
2831
- protected _originalBatchables: CanvasBatchable[];
2832
- protected _layoutedBatchables: CanvasBatchable[];
2833
- protected _batchables: CanvasBatchable[];
2834
- constructor(properties?: Partial<ElementProperties>, children?: Node[]);
2835
- setProperties(properties?: Record<PropertyKey, any>): this;
2836
- protected _parented(parent: Node): void;
2837
- protected _unparented(oldParent: Node): void;
2838
- protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2839
- protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2840
- protected _updateBoxShadow(): void;
2841
- protected _updateMaskImage(): void;
2842
- protected _updateBackgroundColor(): void;
2843
- protected _updateBackgroundImage(): Promise<void>;
2844
- protected _updateOpacity(): void;
2845
- protected _updateVisible(): void;
2846
- protected _updateTransform(): void;
2847
- getRect(): Rect2;
2848
- protected _updateOverflow(): void;
2849
- show(): void;
2850
- hide(): void;
2851
- isVisibleInTree(): boolean;
2852
- canRender(): boolean;
2853
- requestRedraw(): void;
2854
- requestReflow(): void;
2855
- requestRepaint(): void;
2856
- protected _process(delta: number): void;
2857
- protected _transformVertices(vertices: number[]): number[];
2858
- protected _draw(): void;
2859
- protected _drawBackground(): void;
2860
- protected _drawContent(): void;
2861
- protected _drawBorder(): void;
2862
- protected _drawOutline(): void;
2863
- protected _drawBoundingRect(): void;
2864
- protected _fillBoundingRect(): void;
2865
- protected _strokeBoundingRect(): void;
2866
- protected _relayout(batchables: CanvasBatchable[]): CanvasBatchable[];
2867
- protected _reflow(batchables: CanvasBatchable[]): CanvasBatchable[];
2868
- protected _repaint(batchables: CanvasBatchable[]): CanvasBatchable[];
2869
- calculateLayout(width?: number | 'auto', height?: number | 'auto', direction?: Direction): void;
2870
- protected _render(renderer: WebGLRenderer): void;
2871
- toJSON(): Record<string, any>;
2872
- }
2873
-
2874
2829
  interface ScalerEventMap extends NodeEventMap {
2875
2830
  updateScale: (scale: number) => void;
2876
2831
  }
@@ -2889,7 +2844,7 @@ declare class Scaler extends Node {
2889
2844
  value: number;
2890
2845
  minValue: number;
2891
2846
  maxValue: number;
2892
- get target(): CanvasItem | undefined;
2847
+ get target(): Element2D | undefined;
2893
2848
  constructor(properties?: Partial<ScalerProperties>, children?: Node[]);
2894
2849
  protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2895
2850
  protected _updateScale(): void;
@@ -2925,12 +2880,12 @@ declare class TwistTransition extends Transition {
2925
2880
  apply(renderer: WebGLRenderer, source: Viewport): void;
2926
2881
  }
2927
2882
 
2928
- declare class GifLoader extends Loader {
2929
- load: (url: string) => Promise<Image2DResource>;
2883
+ declare class GIFLoader extends Loader {
2884
+ load: (url: string) => Promise<AnimatedTexture>;
2930
2885
  install(assets: Assets): this;
2931
2886
  }
2932
2887
 
2933
- declare class JsonLoader extends Loader {
2888
+ declare class JSONLoader extends Loader {
2934
2889
  load: (url: string) => Promise<Record<string, any>>;
2935
2890
  install(assets: Assets): this;
2936
2891
  }
@@ -2958,8 +2913,8 @@ declare class VideoLoader extends Loader {
2958
2913
  type AssetHandler = (url: string, options?: any) => any | Promise<any>;
2959
2914
  interface Assets {
2960
2915
  font: FontLoader;
2961
- gif: GifLoader;
2962
- json: JsonLoader;
2916
+ gif: GIFLoader;
2917
+ json: JSONLoader;
2963
2918
  lottie: LottieLoader;
2964
2919
  text: TextLoader;
2965
2920
  texture: TextureLoader;
@@ -2986,28 +2941,39 @@ declare class Assets {
2986
2941
  }
2987
2942
  declare const assets: Assets;
2988
2943
 
2944
+ type CSSFilterKey = 'hue-rotate' | 'saturate' | 'brightness' | 'contrast' | 'invert' | 'sepia' | 'opacity' | 'grayscale';
2945
+ type CSSFilters = Record<CSSFilterKey, number>;
2946
+ declare function parseCSSFilter(filter: string): ColorMatrix;
2947
+
2948
+ declare function parseCSSTransform(transform: string, width: number, height: number): Transform2D;
2949
+
2950
+ declare function parseCSSTransformOrigin(transformOrigin: string): number[];
2951
+
2989
2952
  declare class CanvasItemEditor extends Control {
2990
- hover: Node2D;
2991
- selectionRect: Node2D;
2992
- selector: Node2D;
2993
- scaler: Scaler;
2994
- xScrollBar: XScrollBar;
2995
- yScrollBar: YScrollBar;
2996
- drawboard: Node2D;
2997
- ruler: Ruler;
2998
- protected _pointerStart?: CanvasItemStyle;
2953
+ protected _pointerStart?: Element2DStyle;
2999
2954
  protected _pointerOffset?: {
3000
2955
  x: number;
3001
2956
  y: number;
3002
2957
  };
3003
- selected?: CanvasItem;
2958
+ selected?: Element2D;
2959
+ dragging?: Element2D;
2960
+ hovered?: Element2D;
2961
+ hover: Element2D;
2962
+ transformRect: TransformRect2D;
2963
+ scaler: Scaler;
2964
+ xScrollBar: XScrollBar;
2965
+ yScrollBar: YScrollBar;
2966
+ drawboard: Element2D;
2967
+ ruler: Ruler;
3004
2968
  constructor();
3005
2969
  protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
3006
2970
  protected _guiInput(event: InputEvent, key: InputEventKey): void;
3007
2971
  protected _onPointerdown(e: PointerInputEvent): void;
3008
2972
  protected _onPointermove(e: PointerInputEvent): void;
3009
2973
  protected _onPointerup(): void;
3010
- protected _onHover(): void;
2974
+ protected _copyGlobalTransform(a: Element2D, b: Element2D): void;
2975
+ protected _updateHover(): void;
2976
+ protected _updateSelectionRect(): void;
3011
2977
  protected _updateScrollbars(): void;
3012
2978
  }
3013
2979
 
@@ -3043,7 +3009,6 @@ interface Engine {
3043
3009
  emit: (<K extends keyof EngineEventMap>(type: K, ...args: Parameters<EngineEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
3044
3010
  }
3045
3011
  declare class Engine extends SceneTree {
3046
- readonly input: Input;
3047
3012
  readonly renderer: WebGLRenderer;
3048
3013
  get view(): HTMLCanvasElement | undefined;
3049
3014
  get gl(): WebGLRenderingContext | WebGL2RenderingContext;
@@ -3066,7 +3031,7 @@ declare class Engine extends SceneTree {
3066
3031
  waitUntilLoad(): Promise<void>;
3067
3032
  render(delta?: number): this;
3068
3033
  start(): this;
3069
- destroy(): void;
3034
+ free(): void;
3070
3035
  toPixels(): Uint8ClampedArray;
3071
3036
  toImageData(): ImageData;
3072
3037
  toCanvas2D(): HTMLCanvasElement;
@@ -3079,4 +3044,4 @@ interface RenderOptions {
3079
3044
  }
3080
3045
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3081
3046
 
3082
- export { Animation, type AnimationEffectMode, type AnimationProperties, type AssetHandler, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, type AudioWaveformProperties, type Batchable2D, BlurEffect, type CanvasBatchable, CanvasContext, CanvasItem, CanvasItemEditor, type CanvasItemEventMap, type CanvasItemProperties, CanvasItemStyle, type CanvasItemStyleFilter, type CanvasItemStyleFilterKey, type CanvasItemStyleProperties, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, type ColorFilterEffectProperties, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, type ColorValue, Control, type ControlEventMap, type ControlProperties, CoreObject, type CoreObjectEventMap, type CssFunction, type CssFunctionArg, type Cursor, DEG_TO_RAD, DEVICE_PIXEL_RATIO, type Easing, Effect, type EffectContext, EffectMaterial, type EffectMode, type EffectProperties, Element$1 as Element, type ElementProperties, ElementStyle, type ElementStyleFilter, type ElementStyleFilterKey, type ElementStyleProperties, EmbossEffect, Engine, type EngineOptions, EventEmitter, type EventListener, type EventListenerOptions, type EventListenerValue, type FilledGraphics, FontLoader, Geometry, type GeometryOptions, GifLoader, GlitchEffect, GodrayEffect, Graphics2D, HTMLAudio, HTMLAudioContext, HTMLSound, type IAudioContext, type IAudioNode, type IDOCLayoutStyleDeclaration, IN_BROWSER, type IPlayOptions, Image2D, type Image2DProperties, Image2DResource, type ImageFrame, ImageTexture, type ImageTextureOptions, IndexBuffer, type IndexBufferOptions, Input, InputEvent, type InputEventKey, type InputEventMap, type InternalMode, JsonLoader, KawaseTransition, type Keyframe, LeftEraseTransition, Loader, Lottie2D, type Lottie2DProperties, LottieLoader, MainLoop, type MainLoopEventMap, type MaskColor, type MaskData, MaskEffect, type MaskEffectProperties, type MaskObject, type MaskRect, type Maskable, Material, type MaterialOptions, Matrix, Matrix2, Matrix3, Matrix4, type MatrixLike, type MatrixOperateOutput, MouseInputEvent, Node, Node2D, type Node2DProperties, type NodeEventMap, type NodeProperties, type NormalizedKeyframe, PI, PI_2, PixelateEffect, PixelsTexture, type PlatformAudio, type PlatformSound, type PointerEvents$1 as PointerEvents, PointerInputEvent, type ProcessMode, Projection2D, type PropertyDeclaration, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, type RangeProperties, RawWeakMap, Rect2, RefCounted, type RefCountedEventMap, type RenderMode, type RenderOptions, type Renderable, Renderer, Resource, type ResourceEventMap, Ruler, type RulerProperties, SUPPORTS_AUDIO_CONTEXT, SUPPORTS_CLICK_EVENTS, SUPPORTS_CREATE_IMAGE_BITMAP, SUPPORTS_IMAGE_BITMAP, SUPPORTS_MOUSE_EVENTS, SUPPORTS_OFFLINE_AUDIO_CONTEXT, SUPPORTS_POINTER_EVENTS, SUPPORTS_RESIZE_OBSERVER, SUPPORTS_TOUCH_EVENTS, SUPPORTS_WEBGL2, SUPPORTS_WEBKIT_AUDIO_CONTEXT, SUPPORTS_WEBKIT_OFFLINE_AUDIO_CONTEXT, SUPPORTS_WEB_AUDIO, SUPPORTS_WHEEL_EVENTS, Scaler, type ScalerEventMap, type ScalerProperties, SceneTree, type SceneTreeEventMap, ScrollBar, type ScrollBarProperties, ShadowEffect, type StrokedGraphics, Text2D, type Text2DProperties, TextLoader, Texture2D, type Texture2DFilterMode, type Texture2DPixelsSource, type Texture2DSource, type Texture2DWrapMode, TextureLoader, TextureRect2D, type TextureRect2DProperties, Ticker, TiltShiftTransition, Timeline, type TimelineEventMap, TimelineNode, type TimelineNodeEventMap, type TimelineNodeProperties, type TimelineProperties, type TimingFunctions, Transform2D, type Transform2DObject, Transition, type TransitionProperties, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, type VectorLike, type VectorOperateOutput, VertexAttribute, type VertexAttributeOptions, VertexBuffer, type VertexBufferOptions, Video2D, type Video2DProperties, VideoLoader, VideoTexture, type VideoTextureOptions, type VideoTextureSource, Viewport, type ViewportEventMap, type ViewportFramebuffer, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, type WebGLBufferMeta, WebGLBufferModule, type WebGLBufferOptions, type WebGLBufferTarget, type WebGLBufferUsage, type WebGLDrawMode, type WebGLDrawOptions, type WebGLExtensions, type WebGLFramebufferMeta, WebGLFramebufferModule, type WebGLFramebufferOptions, WebGLMaskModule, WebGLModule, type WebGLProgramMeta, WebGLProgramModule, type WebGLProgramOptions, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, type WebGLTarget, type WebGLTextureFilterMode, type WebGLTextureLocation, type WebGLTextureMeta, WebGLTextureModule, type WebGLTextureOptions, type WebGLTextureSource, type WebGLTextureTarget, type WebGLTextureWrapMode, WebGLVertexArrayModule, type WebGLVertexArrayObjectMeta, type WebGLVertexArrayObjectOptions, type WebGLVertexAttrib, type WebGLVertexAttribType, type WebGLViewport, WebGLViewportModule, WebSound, WheelInputEvent, XScrollBar, type XScrollBarProperties, YScrollBar, type YScrollBarProperties, ZoomBlurEffect, assets, clamp, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, defineProperty, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, getDeclarations, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCssFunctions, parseCssProperty, property, protectedProperty, render, timingFunctions, uid };
3047
+ export { type Align, AnimatedTexture, Animation, type AnimationEffectMode, type AnimationProperties, type AssetHandler, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, type AudioWaveformProperties, BaseElement2D, type BaseElement2DEventMap, type BaseElement2DProperties, BaseElement2DStyle, type BaseElement2DStyleProperties, type Batchable2D, BlurEffect, type BoxSizing, type CSSFilterKey, type CSSFilters, type CanvasBatchable, CanvasContext, CanvasItem, CanvasItemEditor, type CanvasItemEventMap, type CanvasItemProperties, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, type ColorFilterEffectProperties, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, type ColorValue, type ComputedLayout, Control, type ControlEventMap, type ControlProperties, CoreObject, type CoreObjectEventMap, type CssFunction, type CssFunctionArg, type Cursor, DEG_TO_RAD, DEVICE_PIXEL_RATIO, type Easing, Effect, type EffectContext, EffectMaterial, type EffectMode, type EffectProperties, Element2D, type Element2DEventMap, type Element2DProperties, Element2DStyle, type Element2DStyleProperties, EmbossEffect, Engine, type EngineOptions, EventEmitter, type EventListener, type EventListenerOptions, type EventListenerValue, type FillDraw, type FlexBaseElement2DEventMap, type FlexDirection, FlexElement2D, type FlexElement2DProperties, FlexElement2DStyle, type FlexElement2DStyleProperties, FlexLayout, type FlexWrap, FontLoader, GIFLoader, Geometry, type GeometryOptions, GlitchEffect, GodrayEffect, Graphics2D, HTMLAudio, HTMLAudioContext, HTMLSound, type IAudioContext, type IAudioNode, IN_BROWSER, type IPlayOptions, Image2D, type Image2DProperties, type ImageFrame, ImageTexture, type ImageTextureOptions, IndexBuffer, type IndexBufferOptions, Input, InputEvent, type InputEventKey, type InputEventMap, type InternalMode, JSONLoader, type Justify, KawaseTransition, type Keyframe, type LayoutStyleDeclaration, LeftEraseTransition, Loader, Lottie2D, type Lottie2DProperties, LottieLoader, MainLoop, type MainLoopEventMap, type MaskColor, type MaskData, MaskEffect, type MaskEffectProperties, type MaskObject, type MaskRect, type Maskable, Material, type MaterialOptions, Matrix, Matrix2, Matrix3, Matrix4, type MatrixLike, type MatrixOperateOutput, MouseInputEvent, Node, Node2D, type Node2DProperties, type NodeEventMap, type NodeProperties, type NormalizedKeyframe, PI, PI_2, PixelateEffect, PixelsTexture, type PlatformAudio, type PlatformSound, PointerInputEvent, type Position, type ProcessMode, Projection2D, type PropertyDeclaration, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, type RangeProperties, RawWeakMap, Rect2, type Rectangulable, type RectangulableEventMap, RefCounted, type RefCountedEventMap, type RenderMode, type RenderOptions, type Renderable, Renderer, Resource, type ResourceEventMap, Ruler, type RulerProperties, SUPPORTS_AUDIO_CONTEXT, SUPPORTS_CLICK_EVENTS, SUPPORTS_CREATE_IMAGE_BITMAP, SUPPORTS_IMAGE_BITMAP, SUPPORTS_MOUSE_EVENTS, SUPPORTS_OFFLINE_AUDIO_CONTEXT, SUPPORTS_POINTER_EVENTS, SUPPORTS_RESIZE_OBSERVER, SUPPORTS_TOUCH_EVENTS, SUPPORTS_WEBGL2, SUPPORTS_WEBKIT_AUDIO_CONTEXT, SUPPORTS_WEBKIT_OFFLINE_AUDIO_CONTEXT, SUPPORTS_WEB_AUDIO, SUPPORTS_WHEEL_EVENTS, Scaler, type ScalerEventMap, type ScalerProperties, SceneTree, type SceneTreeEventMap, ScrollBar, type ScrollBarProperties, ShadowEffect, type StrokeDraw, Text2D, type Text2DProperties, TextLoader, Texture2D, type Texture2DFilterMode, type Texture2DPixelsSource, type Texture2DSource, type Texture2DWrapMode, TextureLoader, TextureRect2D, type TextureRect2DProperties, Ticker, TiltShiftTransition, Timeline, type TimelineEventMap, TimelineNode, type TimelineNodeEventMap, type TimelineNodeProperties, type TimelineProperties, type TimingFunctions, Transform2D, type Transform2DObject, TransformRect2D, type TransformRect2DProperties, Transition, type TransitionProperties, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, type VectorLike, type VectorOperateOutput, VertexAttribute, type VertexAttributeOptions, VertexBuffer, type VertexBufferOptions, Video2D, type Video2DProperties, VideoLoader, VideoTexture, type VideoTextureOptions, type VideoTextureSource, Viewport, type ViewportEventMap, type ViewportFramebuffer, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, type WebGLBufferMeta, WebGLBufferModule, type WebGLBufferOptions, type WebGLBufferTarget, type WebGLBufferUsage, type WebGLDrawMode, type WebGLDrawOptions, type WebGLExtensions, type WebGLFramebufferMeta, WebGLFramebufferModule, type WebGLFramebufferOptions, WebGLMaskModule, WebGLModule, type WebGLProgramMeta, WebGLProgramModule, type WebGLProgramOptions, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, type WebGLTarget, type WebGLTextureFilterMode, type WebGLTextureLocation, type WebGLTextureMeta, WebGLTextureModule, type WebGLTextureOptions, type WebGLTextureSource, type WebGLTextureTarget, type WebGLTextureWrapMode, WebGLVertexArrayModule, type WebGLVertexArrayObjectMeta, type WebGLVertexArrayObjectOptions, type WebGLVertexAttrib, type WebGLVertexAttribType, type WebGLViewport, WebGLViewportModule, WebSound, WheelInputEvent, XScrollBar, type XScrollBarProperties, YScrollBar, type YScrollBarProperties, ZoomBlurEffect, assets, clamp, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, defineProperty, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, getDeclarations, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, property, protectedProperty, render, timingFunctions, uid };