modern-canvas 0.6.12 → 0.7.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
@@ -4,7 +4,7 @@ export { Color as ColorValue } from 'modern-idoc';
4
4
  import { AnimationItem } from 'lottie-web';
5
5
  import { Colord, RgbaColor, HslaColor, HsvaColor } from 'colord';
6
6
  import { Path2D, LineCap, LineJoin, LineStyle, Path2DSet } from 'modern-path2d';
7
- import { Text, MeasureResult, TextOptions } from 'modern-text';
7
+ import { Text, MeasureResult } from 'modern-text';
8
8
  import { Node as Node$1, Direction } from 'yoga-layout/load';
9
9
 
10
10
  declare abstract class Loader {
@@ -478,6 +478,12 @@ declare class Rect2 {
478
478
  constructor(x: number, y: number, width: number, height: number);
479
479
  update(): this;
480
480
  toArray(): number[];
481
+ toJSON(): {
482
+ x: number;
483
+ y: number;
484
+ width: number;
485
+ height: number;
486
+ };
481
487
  }
482
488
 
483
489
  interface Transform2DObject {
@@ -832,7 +838,7 @@ declare class WebGLRenderer extends Renderer {
832
838
  reset(): void;
833
839
  flush(): void;
834
840
  free(): void;
835
- toPixels(): Uint8ClampedArray;
841
+ toPixels(x?: number, y?: number, width?: number, height?: number): Uint8ClampedArray;
836
842
  }
837
843
 
838
844
  interface Renderable {
@@ -1046,7 +1052,10 @@ declare class WebGLMaskModule extends WebGLModule {
1046
1052
  declare class WebGLProgramModule extends WebGLModule {
1047
1053
  install(renderer: WebGLRenderer): void;
1048
1054
  boundProgram: WebGLProgram | null;
1049
- uniforms: Record<string, any>;
1055
+ uniforms: {
1056
+ projectionMatrix: number[];
1057
+ worldTransformMatrix: number[];
1058
+ };
1050
1059
  create(options?: WebGLProgramOptions): WebGLProgram;
1051
1060
  getMeta(program: WebGLProgram): WebGLProgramMeta;
1052
1061
  update(options: WebGLProgramOptions): void;
@@ -1442,47 +1451,6 @@ declare class CanvasContext extends Path2D {
1442
1451
  toBatchables(): CanvasBatchable[];
1443
1452
  }
1444
1453
 
1445
- interface RenderCall {
1446
- renderable: Node;
1447
- fn: (renderer: WebGLRenderer, next: () => void) => void;
1448
- parentCall: RenderCall | undefined;
1449
- calls: RenderCall[];
1450
- }
1451
- declare class RenderStack {
1452
- currentCall?: RenderCall;
1453
- calls: RenderCall[];
1454
- createCall(renderable: Node): RenderCall;
1455
- push(renderable: Node): RenderCall;
1456
- render(renderer: WebGLRenderer): void;
1457
- }
1458
-
1459
- interface TimelineEventMap extends NodeEventMap {
1460
- updateCurrentTime: (current: number, delta: number) => void;
1461
- }
1462
- interface TimelineProperties extends NodeProperties {
1463
- startTime: number;
1464
- currentTime: number;
1465
- endTime: number;
1466
- loop: boolean;
1467
- }
1468
- interface Timeline {
1469
- on: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1470
- once: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1471
- off: (<K extends keyof TimelineEventMap>(type: K, listener?: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1472
- emit: (<K extends keyof TimelineEventMap>(type: K, ...args: Parameters<TimelineEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
1473
- }
1474
- declare class Timeline extends Node {
1475
- startTime: number;
1476
- currentTime: number;
1477
- endTime: number;
1478
- loop: boolean;
1479
- static from(range: number | number[], loop?: boolean): Timeline;
1480
- constructor(properties?: Partial<TimelineProperties>);
1481
- protected _updateProperty(key: string, value: any, oldValue: any): void;
1482
- addTime(delta: number): this;
1483
- protected _process(delta: number): void;
1484
- }
1485
-
1486
1454
  interface RectangulableEventMap {
1487
1455
  updateRect: () => void;
1488
1456
  }
@@ -1510,7 +1478,8 @@ interface Viewport {
1510
1478
  }
1511
1479
  declare class Viewport extends Node implements Rectangulable {
1512
1480
  flipY: boolean;
1513
- protected _projection: Projection2D;
1481
+ readonly projection: Projection2D;
1482
+ readonly canvasTransform: Transform2D;
1514
1483
  protected _framebufferIndex: number;
1515
1484
  protected _framebuffers: ViewportFramebuffer[];
1516
1485
  x: number;
@@ -1520,6 +1489,7 @@ declare class Viewport extends Node implements Rectangulable {
1520
1489
  get valid(): boolean;
1521
1490
  get framebuffer(): ViewportFramebuffer;
1522
1491
  get texture(): ViewportTexture;
1492
+ getViewport(): Viewport;
1523
1493
  constructor(flipY?: boolean);
1524
1494
  /** @internal */
1525
1495
  _glFramebufferOptions(renderer: WebGLRenderer): WebGLFramebufferOptions;
@@ -1534,7 +1504,50 @@ declare class Viewport extends Node implements Rectangulable {
1534
1504
  activateWithCopy(renderer: WebGLRenderer, target: Viewport): void;
1535
1505
  render(renderer: WebGLRenderer, next?: () => void): void;
1536
1506
  getRect(): Rect2;
1537
- toProjectionArray(transpose?: boolean): number[];
1507
+ }
1508
+
1509
+ interface RenderCall {
1510
+ renderable: Node;
1511
+ fn: (renderer: WebGLRenderer, next: () => void) => void;
1512
+ parentCall: RenderCall | undefined;
1513
+ calls: RenderCall[];
1514
+ }
1515
+ declare class RenderStack {
1516
+ currentCall?: RenderCall;
1517
+ calls: RenderCall[];
1518
+ createCall(renderable: Node): RenderCall;
1519
+ push(renderable: Node): RenderCall;
1520
+ render(renderer: WebGLRenderer): void;
1521
+ }
1522
+
1523
+ interface TimelineEventMap extends NodeEventMap {
1524
+ updateCurrentTime: (current: number, delta: number) => void;
1525
+ }
1526
+ interface TimelineProperties extends NodeProperties {
1527
+ startTime: number;
1528
+ currentTime: number;
1529
+ endTime: number;
1530
+ loop: boolean;
1531
+ }
1532
+ interface Timeline {
1533
+ on: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1534
+ once: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1535
+ off: (<K extends keyof TimelineEventMap>(type: K, listener?: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1536
+ emit: (<K extends keyof TimelineEventMap>(type: K, ...args: Parameters<TimelineEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
1537
+ }
1538
+ declare class Timeline extends Node {
1539
+ startTime: number;
1540
+ currentTime: number;
1541
+ endTime: number;
1542
+ loop: boolean;
1543
+ static from(range: number | number[], loop?: boolean): Timeline;
1544
+ constructor(properties?: Partial<TimelineProperties>);
1545
+ protected _updateProperty(key: string, value: any, oldValue: any): void;
1546
+ addTime(delta: number): this;
1547
+ protected _process(delta: number): void;
1548
+ }
1549
+
1550
+ declare class Window extends Viewport {
1538
1551
  }
1539
1552
 
1540
1553
  interface SceneTreeEventMap extends MainLoopEventMap {
@@ -1557,9 +1570,8 @@ declare class SceneTree extends MainLoop {
1557
1570
  debug: boolean;
1558
1571
  readonly input: Input;
1559
1572
  readonly renderStack: RenderStack;
1560
- readonly root: Viewport;
1573
+ readonly root: Window;
1561
1574
  readonly timeline: Timeline;
1562
- nodes: Map<string, Node>;
1563
1575
  protected _backgroundColor: Color;
1564
1576
  protected _currentViewport?: Viewport;
1565
1577
  getCurrentViewport(): Viewport | undefined;
@@ -1644,7 +1656,7 @@ declare class Node extends CoreObject {
1644
1656
  set tree(tree: SceneTree | undefined);
1645
1657
  getTree(): SceneTree | undefined;
1646
1658
  getViewport(): Viewport | undefined;
1647
- getWindow(): Viewport | undefined;
1659
+ getWindow(): Window | undefined;
1648
1660
  isInsideTree(): boolean;
1649
1661
  setTree(tree: SceneTree | undefined): this;
1650
1662
  log(...args: any[]): void;
@@ -1709,8 +1721,7 @@ declare class Node extends CoreObject {
1709
1721
  protected _render(renderer: WebGLRenderer): void;
1710
1722
  clone(): this;
1711
1723
  toJSON(): Record<string, any>;
1712
- static parse(value: Record<string, any>[]): Node[];
1713
- static parse(value: Record<string, any>): Node;
1724
+ static parse(value: any): any;
1714
1725
  }
1715
1726
 
1716
1727
  interface TimelineNodeProperties extends NodeProperties {
@@ -1882,6 +1893,18 @@ declare class Node2D extends CanvasItem {
1882
1893
  protected _process(delta: number): void;
1883
1894
  }
1884
1895
 
1896
+ interface Camera2DProperties extends Node2DProperties {
1897
+ }
1898
+ declare class Camera2D extends Node2D {
1899
+ readonly zoom: Vector2;
1900
+ maxZoom: number;
1901
+ minZoom: number;
1902
+ constructor(properties?: Partial<Camera2DProperties>, nodes?: Node[]);
1903
+ protected _input(event: InputEvent, key: InputEventKey): void;
1904
+ updateTransform(): void;
1905
+ updateCanvasTransform(): void;
1906
+ }
1907
+
1885
1908
  interface BaseElement2DFill extends NormalizedFill {
1886
1909
  }
1887
1910
  declare class BaseElement2DFill extends CoreObject {
@@ -2075,6 +2098,14 @@ declare class Element2DStyle extends BaseElement2DStyle {
2075
2098
  constructor(properties?: Partial<Element2DStyleProperties>);
2076
2099
  }
2077
2100
 
2101
+ interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties {
2102
+ }
2103
+ interface FlexElement2DStyle extends FlexElement2DStyleProperties {
2104
+ }
2105
+ declare class FlexElement2DStyle extends BaseElement2DStyle {
2106
+ constructor(properties?: Partial<FlexElement2DStyleProperties>);
2107
+ }
2108
+
2078
2109
  interface Element2DEventMap extends BaseElement2DEventMap {
2079
2110
  }
2080
2111
  interface Element2DProperties extends BaseElement2DProperties {
@@ -2094,14 +2125,6 @@ declare class Element2D extends BaseElement2D {
2094
2125
  protected _updateStyleProperty(key: string, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2095
2126
  }
2096
2127
 
2097
- interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties {
2098
- }
2099
- interface FlexElement2DStyle extends FlexElement2DStyleProperties {
2100
- }
2101
- declare class FlexElement2DStyle extends BaseElement2DStyle {
2102
- constructor(properties?: Partial<FlexElement2DStyleProperties>);
2103
- }
2104
-
2105
2128
  interface ComputedLayout {
2106
2129
  left: number;
2107
2130
  right: number;
@@ -2207,51 +2230,6 @@ declare class Lottie2D extends TextureRect2D {
2207
2230
  protected _process(delta: number): void;
2208
2231
  }
2209
2232
 
2210
- interface Text2DEventMap extends Element2DEventMap {
2211
- updateBase: (base: Text) => void;
2212
- }
2213
- interface Text2DProperties extends TextureRect2DProperties, Omit<TextOptions, 'style'> {
2214
- split: boolean;
2215
- }
2216
- interface Text2D {
2217
- on: (<K extends keyof Text2DEventMap>(type: K, listener: Text2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2218
- once: (<K extends keyof Text2DEventMap>(type: K, listener: Text2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2219
- off: (<K extends keyof Text2DEventMap>(type: K, listener?: Text2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2220
- emit: (<K extends keyof Text2DEventMap>(type: K, ...args: Parameters<Text2DEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
2221
- }
2222
- /**
2223
- * @example
2224
- *
2225
- * new Text2D({
2226
- * style: {
2227
- * fontSize: 20,
2228
- * },
2229
- * content: 'Text2D',
2230
- * })
2231
- */
2232
- declare class Text2D extends TextureRect2D<CanvasTexture> {
2233
- split: boolean;
2234
- content: Text['content'];
2235
- effects: Text['effects'];
2236
- measureDOM: Text['measureDOM'];
2237
- fonts: Text['fonts'];
2238
- texture: CanvasTexture;
2239
- base: Text;
2240
- measureResult?: MeasureResult;
2241
- protected _subTextsCount: number;
2242
- constructor(properties?: Partial<Text2DProperties>, children?: Node[]);
2243
- protected _updateProperty(key: string, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2244
- protected _updateBase(): void;
2245
- protected _updateStyleProperty(key: string, value: any, oldValue: any): void;
2246
- protected _getSubTexts(): Text2D[];
2247
- protected _updateSubTexts(): void;
2248
- measure(): MeasureResult;
2249
- updateMeasure(): this;
2250
- protected _updateSplit(): void;
2251
- protected _redraw(): CanvasBatchable[];
2252
- protected _drawContent(): void;
2253
- }
2254
-
2255
2233
  interface TransformRect2DProperties extends BaseElement2DProperties {
2256
2234
  }
2257
2235
  declare class TransformRect2D extends Element2D {
@@ -3237,5 +3215,5 @@ interface RenderOptions {
3237
3215
  }
3238
3216
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3239
3217
 
3240
- export { AnimatedTexture, Animation, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, BaseElement2D, BaseElement2DBackground, BaseElement2DFill, BaseElement2DForeground, BaseElement2DOutline, BaseElement2DShadow, BaseElement2DShape, BaseElement2DStyle, BaseElement2DText, CanvasContext, CanvasItem, CanvasItemEditor, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, Control, CoreObject, DEG_TO_RAD, DEVICE_PIXEL_RATIO, DropShadowEffect, Effect, EffectMaterial, Element2D, Element2DStyle, EmbossEffect, Engine, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, HTMLAudio, HTMLAudioContext, HTMLSound, IN_BROWSER, Image2D, ImageTexture, IndexBuffer, Input, InputEvent, JSONLoader, KawaseBlurEffect, KawaseTransition, LeftEraseTransition, Loader, Lottie2D, LottieLoader, MainLoop, MaskEffect, Material, Matrix, Matrix2, Matrix3, Matrix4, MouseInputEvent, Node, Node2D, OutlineEffect, PI, PI_2, PixelateEffect, PixelsTexture, PointerInputEvent, Projection2D, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, RawWeakMap, Rect2, RefCounted, Renderer, Resource, Ruler, 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, SceneTree, ScrollBar, Text2D, TextLoader, Texture2D, TextureLoader, TextureRect2D, Ticker, TiltShiftTransition, Timeline, TimelineNode, Transform2D, TransformRect2D, Transition, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, VertexAttribute, VertexBuffer, Video2D, VideoLoader, VideoTexture, Viewport, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, WebGLBufferModule, WebGLFramebufferModule, WebGLMaskModule, WebGLModule, WebGLProgramModule, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, WebGLTextureModule, WebGLVertexArrayModule, WebGLViewportModule, WebSound, WheelInputEvent, XScrollBar, YScrollBar, ZoomBlurEffect, assets, clamp, clampFrag, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };
3241
- export type { AnimationEffectMode, AnimationProperties, AssetHandler, AudioWaveformProperties, BaseElement2DEventMap, BaseElement2DProperties, BaseElement2DStyleProperties, Batchable2D, CSSFilterKey, CSSFilters, CanvasBatchable, CanvasItemEventMap, CanvasItemProperties, ColorAdjustEffectProperties, ColorFilterEffectProperties, ColorOverlayEffectProperties, ColorRemoveEffectProperties, ColorReplaceEffectProperties, ComputedLayout, ControlEventMap, ControlProperties, CoreObjectEventMap, CssFunction, CssFunctionArg, Cursor, CustomPropertyAccessor, DropShadowEffectProperties, Easing, EffectContext, EffectMode, EffectProperties, Element2DEventMap, Element2DProperties, Element2DStyleProperties, EmbossEffectProperties, EngineOptions, FillDraw, FlexBaseElement2DEventMap, FlexElement2DProperties, FlexElement2DStyleProperties, GaussianBlurEffectProperties, GeometryOptions, GlitchEffectProperties, GodrayEffectProperties, IAudioContext, IAudioNode, IPlayOptions, Image2DProperties, ImageFrame, ImageTextureOptions, IndexBufferOptions, InputEventKey, InputEventMap, InternalMode, KawaseBlurEffectProperties, Keyframe, Lottie2DProperties, MainLoopEventMap, MaskColor, MaskData, MaskEffectProperties, MaskObject, MaskRect, Maskable, MaterialOptions, MatrixLike, MatrixOperateOutput, Node2DProperties, NodeEventMap, NodeProperties, NormalizedKeyframe, OutlineEffectProperties, PixelateEffectProperties, PlatformAudio, PlatformSound, ProcessMode, ProcessSortMode, RangeProperties, Rectangulable, RectangulableEventMap, RefCountedEventMap, RenderMode, RenderOptions, Renderable, ResourceEventMap, RulerProperties, ScalerEventMap, ScalerProperties, SceneTreeEventMap, ScrollBarProperties, StrokeDraw, Text2DEventMap, Text2DProperties, Texture2DFilterMode, Texture2DPixelsSource, Texture2DSource, Texture2DWrapMode, TextureRect2DProperties, TimelineEventMap, TimelineNodeEventMap, TimelineNodeProperties, TimelineProperties, TimingFunctions, Transform2DObject, TransformRect2DProperties, TransitionProperties, UVTransform, VectorLike, VectorOperateOutput, VertTransform, VertexAttributeOptions, VertexBufferOptions, Video2DProperties, VideoTextureOptions, VideoTextureSource, ViewportEventMap, ViewportFramebuffer, WebGLBufferMeta, WebGLBufferOptions, WebGLBufferTarget, WebGLBufferUsage, WebGLDrawMode, WebGLDrawOptions, WebGLExtensions, WebGLFramebufferMeta, WebGLFramebufferOptions, WebGLProgramMeta, WebGLProgramOptions, WebGLTarget, WebGLTextureFilterMode, WebGLTextureLocation, WebGLTextureMeta, WebGLTextureOptions, WebGLTextureSource, WebGLTextureTarget, WebGLTextureWrapMode, WebGLVertexArrayObjectMeta, WebGLVertexArrayObjectOptions, WebGLVertexAttrib, WebGLVertexAttribType, WebGLViewport, XScrollBarProperties, YScrollBarProperties, ZoomBlurEffectProperties };
3218
+ export { AnimatedTexture, Animation, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, BaseElement2D, BaseElement2DBackground, BaseElement2DFill, BaseElement2DForeground, BaseElement2DOutline, BaseElement2DShadow, BaseElement2DShape, BaseElement2DStyle, BaseElement2DText, Camera2D, CanvasContext, CanvasItem, CanvasItemEditor, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, Control, CoreObject, DEG_TO_RAD, DEVICE_PIXEL_RATIO, DropShadowEffect, Effect, EffectMaterial, Element2D, Element2DStyle, EmbossEffect, Engine, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, HTMLAudio, HTMLAudioContext, HTMLSound, IN_BROWSER, Image2D, ImageTexture, IndexBuffer, Input, InputEvent, JSONLoader, KawaseBlurEffect, KawaseTransition, LeftEraseTransition, Loader, Lottie2D, LottieLoader, MainLoop, MaskEffect, Material, Matrix, Matrix2, Matrix3, Matrix4, MouseInputEvent, Node, Node2D, OutlineEffect, PI, PI_2, PixelateEffect, PixelsTexture, PointerInputEvent, Projection2D, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, RawWeakMap, Rect2, RefCounted, Renderer, Resource, Ruler, 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, SceneTree, ScrollBar, TextLoader, Texture2D, TextureLoader, TextureRect2D, Ticker, TiltShiftTransition, Timeline, TimelineNode, Transform2D, TransformRect2D, Transition, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, VertexAttribute, VertexBuffer, Video2D, VideoLoader, VideoTexture, Viewport, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, WebGLBufferModule, WebGLFramebufferModule, WebGLMaskModule, WebGLModule, WebGLProgramModule, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, WebGLTextureModule, WebGLVertexArrayModule, WebGLViewportModule, WebSound, WheelInputEvent, Window, XScrollBar, YScrollBar, ZoomBlurEffect, assets, clamp, clampFrag, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };
3219
+ export type { AnimationEffectMode, AnimationProperties, AssetHandler, AudioWaveformProperties, BaseElement2DEventMap, BaseElement2DProperties, BaseElement2DStyleProperties, Batchable2D, CSSFilterKey, CSSFilters, Camera2DProperties, CanvasBatchable, CanvasItemEventMap, CanvasItemProperties, ColorAdjustEffectProperties, ColorFilterEffectProperties, ColorOverlayEffectProperties, ColorRemoveEffectProperties, ColorReplaceEffectProperties, ComputedLayout, ControlEventMap, ControlProperties, CoreObjectEventMap, CssFunction, CssFunctionArg, Cursor, CustomPropertyAccessor, DropShadowEffectProperties, Easing, EffectContext, EffectMode, EffectProperties, Element2DEventMap, Element2DProperties, Element2DStyleProperties, EmbossEffectProperties, EngineOptions, FillDraw, FlexBaseElement2DEventMap, FlexElement2DProperties, FlexElement2DStyleProperties, GaussianBlurEffectProperties, GeometryOptions, GlitchEffectProperties, GodrayEffectProperties, IAudioContext, IAudioNode, IPlayOptions, Image2DProperties, ImageFrame, ImageTextureOptions, IndexBufferOptions, InputEventKey, InputEventMap, InternalMode, KawaseBlurEffectProperties, Keyframe, Lottie2DProperties, MainLoopEventMap, MaskColor, MaskData, MaskEffectProperties, MaskObject, MaskRect, Maskable, MaterialOptions, MatrixLike, MatrixOperateOutput, Node2DProperties, NodeEventMap, NodeProperties, NormalizedKeyframe, OutlineEffectProperties, PixelateEffectProperties, PlatformAudio, PlatformSound, ProcessMode, ProcessSortMode, RangeProperties, Rectangulable, RectangulableEventMap, RefCountedEventMap, RenderMode, RenderOptions, Renderable, ResourceEventMap, RulerProperties, ScalerEventMap, ScalerProperties, SceneTreeEventMap, ScrollBarProperties, StrokeDraw, Texture2DFilterMode, Texture2DPixelsSource, Texture2DSource, Texture2DWrapMode, TextureRect2DProperties, TimelineEventMap, TimelineNodeEventMap, TimelineNodeProperties, TimelineProperties, TimingFunctions, Transform2DObject, TransformRect2DProperties, TransitionProperties, UVTransform, VectorLike, VectorOperateOutput, VertTransform, VertexAttributeOptions, VertexBufferOptions, Video2DProperties, VideoTextureOptions, VideoTextureSource, ViewportEventMap, ViewportFramebuffer, WebGLBufferMeta, WebGLBufferOptions, WebGLBufferTarget, WebGLBufferUsage, WebGLDrawMode, WebGLDrawOptions, WebGLExtensions, WebGLFramebufferMeta, WebGLFramebufferOptions, WebGLProgramMeta, WebGLProgramOptions, WebGLTarget, WebGLTextureFilterMode, WebGLTextureLocation, WebGLTextureMeta, WebGLTextureOptions, WebGLTextureSource, WebGLTextureTarget, WebGLTextureWrapMode, WebGLVertexArrayObjectMeta, WebGLVertexArrayObjectOptions, WebGLVertexAttrib, WebGLVertexAttribType, WebGLViewport, XScrollBarProperties, YScrollBarProperties, ZoomBlurEffectProperties };
package/dist/index.d.mts CHANGED
@@ -4,7 +4,7 @@ export { Color as ColorValue } from 'modern-idoc';
4
4
  import { AnimationItem } from 'lottie-web';
5
5
  import { Colord, RgbaColor, HslaColor, HsvaColor } from 'colord';
6
6
  import { Path2D, LineCap, LineJoin, LineStyle, Path2DSet } from 'modern-path2d';
7
- import { Text, MeasureResult, TextOptions } from 'modern-text';
7
+ import { Text, MeasureResult } from 'modern-text';
8
8
  import { Node as Node$1, Direction } from 'yoga-layout/load';
9
9
 
10
10
  declare abstract class Loader {
@@ -478,6 +478,12 @@ declare class Rect2 {
478
478
  constructor(x: number, y: number, width: number, height: number);
479
479
  update(): this;
480
480
  toArray(): number[];
481
+ toJSON(): {
482
+ x: number;
483
+ y: number;
484
+ width: number;
485
+ height: number;
486
+ };
481
487
  }
482
488
 
483
489
  interface Transform2DObject {
@@ -832,7 +838,7 @@ declare class WebGLRenderer extends Renderer {
832
838
  reset(): void;
833
839
  flush(): void;
834
840
  free(): void;
835
- toPixels(): Uint8ClampedArray;
841
+ toPixels(x?: number, y?: number, width?: number, height?: number): Uint8ClampedArray;
836
842
  }
837
843
 
838
844
  interface Renderable {
@@ -1046,7 +1052,10 @@ declare class WebGLMaskModule extends WebGLModule {
1046
1052
  declare class WebGLProgramModule extends WebGLModule {
1047
1053
  install(renderer: WebGLRenderer): void;
1048
1054
  boundProgram: WebGLProgram | null;
1049
- uniforms: Record<string, any>;
1055
+ uniforms: {
1056
+ projectionMatrix: number[];
1057
+ worldTransformMatrix: number[];
1058
+ };
1050
1059
  create(options?: WebGLProgramOptions): WebGLProgram;
1051
1060
  getMeta(program: WebGLProgram): WebGLProgramMeta;
1052
1061
  update(options: WebGLProgramOptions): void;
@@ -1442,47 +1451,6 @@ declare class CanvasContext extends Path2D {
1442
1451
  toBatchables(): CanvasBatchable[];
1443
1452
  }
1444
1453
 
1445
- interface RenderCall {
1446
- renderable: Node;
1447
- fn: (renderer: WebGLRenderer, next: () => void) => void;
1448
- parentCall: RenderCall | undefined;
1449
- calls: RenderCall[];
1450
- }
1451
- declare class RenderStack {
1452
- currentCall?: RenderCall;
1453
- calls: RenderCall[];
1454
- createCall(renderable: Node): RenderCall;
1455
- push(renderable: Node): RenderCall;
1456
- render(renderer: WebGLRenderer): void;
1457
- }
1458
-
1459
- interface TimelineEventMap extends NodeEventMap {
1460
- updateCurrentTime: (current: number, delta: number) => void;
1461
- }
1462
- interface TimelineProperties extends NodeProperties {
1463
- startTime: number;
1464
- currentTime: number;
1465
- endTime: number;
1466
- loop: boolean;
1467
- }
1468
- interface Timeline {
1469
- on: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1470
- once: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1471
- off: (<K extends keyof TimelineEventMap>(type: K, listener?: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1472
- emit: (<K extends keyof TimelineEventMap>(type: K, ...args: Parameters<TimelineEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
1473
- }
1474
- declare class Timeline extends Node {
1475
- startTime: number;
1476
- currentTime: number;
1477
- endTime: number;
1478
- loop: boolean;
1479
- static from(range: number | number[], loop?: boolean): Timeline;
1480
- constructor(properties?: Partial<TimelineProperties>);
1481
- protected _updateProperty(key: string, value: any, oldValue: any): void;
1482
- addTime(delta: number): this;
1483
- protected _process(delta: number): void;
1484
- }
1485
-
1486
1454
  interface RectangulableEventMap {
1487
1455
  updateRect: () => void;
1488
1456
  }
@@ -1510,7 +1478,8 @@ interface Viewport {
1510
1478
  }
1511
1479
  declare class Viewport extends Node implements Rectangulable {
1512
1480
  flipY: boolean;
1513
- protected _projection: Projection2D;
1481
+ readonly projection: Projection2D;
1482
+ readonly canvasTransform: Transform2D;
1514
1483
  protected _framebufferIndex: number;
1515
1484
  protected _framebuffers: ViewportFramebuffer[];
1516
1485
  x: number;
@@ -1520,6 +1489,7 @@ declare class Viewport extends Node implements Rectangulable {
1520
1489
  get valid(): boolean;
1521
1490
  get framebuffer(): ViewportFramebuffer;
1522
1491
  get texture(): ViewportTexture;
1492
+ getViewport(): Viewport;
1523
1493
  constructor(flipY?: boolean);
1524
1494
  /** @internal */
1525
1495
  _glFramebufferOptions(renderer: WebGLRenderer): WebGLFramebufferOptions;
@@ -1534,7 +1504,50 @@ declare class Viewport extends Node implements Rectangulable {
1534
1504
  activateWithCopy(renderer: WebGLRenderer, target: Viewport): void;
1535
1505
  render(renderer: WebGLRenderer, next?: () => void): void;
1536
1506
  getRect(): Rect2;
1537
- toProjectionArray(transpose?: boolean): number[];
1507
+ }
1508
+
1509
+ interface RenderCall {
1510
+ renderable: Node;
1511
+ fn: (renderer: WebGLRenderer, next: () => void) => void;
1512
+ parentCall: RenderCall | undefined;
1513
+ calls: RenderCall[];
1514
+ }
1515
+ declare class RenderStack {
1516
+ currentCall?: RenderCall;
1517
+ calls: RenderCall[];
1518
+ createCall(renderable: Node): RenderCall;
1519
+ push(renderable: Node): RenderCall;
1520
+ render(renderer: WebGLRenderer): void;
1521
+ }
1522
+
1523
+ interface TimelineEventMap extends NodeEventMap {
1524
+ updateCurrentTime: (current: number, delta: number) => void;
1525
+ }
1526
+ interface TimelineProperties extends NodeProperties {
1527
+ startTime: number;
1528
+ currentTime: number;
1529
+ endTime: number;
1530
+ loop: boolean;
1531
+ }
1532
+ interface Timeline {
1533
+ on: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1534
+ once: (<K extends keyof TimelineEventMap>(type: K, listener: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1535
+ off: (<K extends keyof TimelineEventMap>(type: K, listener?: TimelineEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
1536
+ emit: (<K extends keyof TimelineEventMap>(type: K, ...args: Parameters<TimelineEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
1537
+ }
1538
+ declare class Timeline extends Node {
1539
+ startTime: number;
1540
+ currentTime: number;
1541
+ endTime: number;
1542
+ loop: boolean;
1543
+ static from(range: number | number[], loop?: boolean): Timeline;
1544
+ constructor(properties?: Partial<TimelineProperties>);
1545
+ protected _updateProperty(key: string, value: any, oldValue: any): void;
1546
+ addTime(delta: number): this;
1547
+ protected _process(delta: number): void;
1548
+ }
1549
+
1550
+ declare class Window extends Viewport {
1538
1551
  }
1539
1552
 
1540
1553
  interface SceneTreeEventMap extends MainLoopEventMap {
@@ -1557,9 +1570,8 @@ declare class SceneTree extends MainLoop {
1557
1570
  debug: boolean;
1558
1571
  readonly input: Input;
1559
1572
  readonly renderStack: RenderStack;
1560
- readonly root: Viewport;
1573
+ readonly root: Window;
1561
1574
  readonly timeline: Timeline;
1562
- nodes: Map<string, Node>;
1563
1575
  protected _backgroundColor: Color;
1564
1576
  protected _currentViewport?: Viewport;
1565
1577
  getCurrentViewport(): Viewport | undefined;
@@ -1644,7 +1656,7 @@ declare class Node extends CoreObject {
1644
1656
  set tree(tree: SceneTree | undefined);
1645
1657
  getTree(): SceneTree | undefined;
1646
1658
  getViewport(): Viewport | undefined;
1647
- getWindow(): Viewport | undefined;
1659
+ getWindow(): Window | undefined;
1648
1660
  isInsideTree(): boolean;
1649
1661
  setTree(tree: SceneTree | undefined): this;
1650
1662
  log(...args: any[]): void;
@@ -1709,8 +1721,7 @@ declare class Node extends CoreObject {
1709
1721
  protected _render(renderer: WebGLRenderer): void;
1710
1722
  clone(): this;
1711
1723
  toJSON(): Record<string, any>;
1712
- static parse(value: Record<string, any>[]): Node[];
1713
- static parse(value: Record<string, any>): Node;
1724
+ static parse(value: any): any;
1714
1725
  }
1715
1726
 
1716
1727
  interface TimelineNodeProperties extends NodeProperties {
@@ -1882,6 +1893,18 @@ declare class Node2D extends CanvasItem {
1882
1893
  protected _process(delta: number): void;
1883
1894
  }
1884
1895
 
1896
+ interface Camera2DProperties extends Node2DProperties {
1897
+ }
1898
+ declare class Camera2D extends Node2D {
1899
+ readonly zoom: Vector2;
1900
+ maxZoom: number;
1901
+ minZoom: number;
1902
+ constructor(properties?: Partial<Camera2DProperties>, nodes?: Node[]);
1903
+ protected _input(event: InputEvent, key: InputEventKey): void;
1904
+ updateTransform(): void;
1905
+ updateCanvasTransform(): void;
1906
+ }
1907
+
1885
1908
  interface BaseElement2DFill extends NormalizedFill {
1886
1909
  }
1887
1910
  declare class BaseElement2DFill extends CoreObject {
@@ -2075,6 +2098,14 @@ declare class Element2DStyle extends BaseElement2DStyle {
2075
2098
  constructor(properties?: Partial<Element2DStyleProperties>);
2076
2099
  }
2077
2100
 
2101
+ interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties {
2102
+ }
2103
+ interface FlexElement2DStyle extends FlexElement2DStyleProperties {
2104
+ }
2105
+ declare class FlexElement2DStyle extends BaseElement2DStyle {
2106
+ constructor(properties?: Partial<FlexElement2DStyleProperties>);
2107
+ }
2108
+
2078
2109
  interface Element2DEventMap extends BaseElement2DEventMap {
2079
2110
  }
2080
2111
  interface Element2DProperties extends BaseElement2DProperties {
@@ -2094,14 +2125,6 @@ declare class Element2D extends BaseElement2D {
2094
2125
  protected _updateStyleProperty(key: string, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2095
2126
  }
2096
2127
 
2097
- interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties {
2098
- }
2099
- interface FlexElement2DStyle extends FlexElement2DStyleProperties {
2100
- }
2101
- declare class FlexElement2DStyle extends BaseElement2DStyle {
2102
- constructor(properties?: Partial<FlexElement2DStyleProperties>);
2103
- }
2104
-
2105
2128
  interface ComputedLayout {
2106
2129
  left: number;
2107
2130
  right: number;
@@ -2207,51 +2230,6 @@ declare class Lottie2D extends TextureRect2D {
2207
2230
  protected _process(delta: number): void;
2208
2231
  }
2209
2232
 
2210
- interface Text2DEventMap extends Element2DEventMap {
2211
- updateBase: (base: Text) => void;
2212
- }
2213
- interface Text2DProperties extends TextureRect2DProperties, Omit<TextOptions, 'style'> {
2214
- split: boolean;
2215
- }
2216
- interface Text2D {
2217
- on: (<K extends keyof Text2DEventMap>(type: K, listener: Text2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2218
- once: (<K extends keyof Text2DEventMap>(type: K, listener: Text2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2219
- off: (<K extends keyof Text2DEventMap>(type: K, listener?: Text2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
2220
- emit: (<K extends keyof Text2DEventMap>(type: K, ...args: Parameters<Text2DEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
2221
- }
2222
- /**
2223
- * @example
2224
- *
2225
- * new Text2D({
2226
- * style: {
2227
- * fontSize: 20,
2228
- * },
2229
- * content: 'Text2D',
2230
- * })
2231
- */
2232
- declare class Text2D extends TextureRect2D<CanvasTexture> {
2233
- split: boolean;
2234
- content: Text['content'];
2235
- effects: Text['effects'];
2236
- measureDOM: Text['measureDOM'];
2237
- fonts: Text['fonts'];
2238
- texture: CanvasTexture;
2239
- base: Text;
2240
- measureResult?: MeasureResult;
2241
- protected _subTextsCount: number;
2242
- constructor(properties?: Partial<Text2DProperties>, children?: Node[]);
2243
- protected _updateProperty(key: string, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2244
- protected _updateBase(): void;
2245
- protected _updateStyleProperty(key: string, value: any, oldValue: any): void;
2246
- protected _getSubTexts(): Text2D[];
2247
- protected _updateSubTexts(): void;
2248
- measure(): MeasureResult;
2249
- updateMeasure(): this;
2250
- protected _updateSplit(): void;
2251
- protected _redraw(): CanvasBatchable[];
2252
- protected _drawContent(): void;
2253
- }
2254
-
2255
2233
  interface TransformRect2DProperties extends BaseElement2DProperties {
2256
2234
  }
2257
2235
  declare class TransformRect2D extends Element2D {
@@ -3237,5 +3215,5 @@ interface RenderOptions {
3237
3215
  }
3238
3216
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3239
3217
 
3240
- export { AnimatedTexture, Animation, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, BaseElement2D, BaseElement2DBackground, BaseElement2DFill, BaseElement2DForeground, BaseElement2DOutline, BaseElement2DShadow, BaseElement2DShape, BaseElement2DStyle, BaseElement2DText, CanvasContext, CanvasItem, CanvasItemEditor, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, Control, CoreObject, DEG_TO_RAD, DEVICE_PIXEL_RATIO, DropShadowEffect, Effect, EffectMaterial, Element2D, Element2DStyle, EmbossEffect, Engine, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, HTMLAudio, HTMLAudioContext, HTMLSound, IN_BROWSER, Image2D, ImageTexture, IndexBuffer, Input, InputEvent, JSONLoader, KawaseBlurEffect, KawaseTransition, LeftEraseTransition, Loader, Lottie2D, LottieLoader, MainLoop, MaskEffect, Material, Matrix, Matrix2, Matrix3, Matrix4, MouseInputEvent, Node, Node2D, OutlineEffect, PI, PI_2, PixelateEffect, PixelsTexture, PointerInputEvent, Projection2D, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, RawWeakMap, Rect2, RefCounted, Renderer, Resource, Ruler, 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, SceneTree, ScrollBar, Text2D, TextLoader, Texture2D, TextureLoader, TextureRect2D, Ticker, TiltShiftTransition, Timeline, TimelineNode, Transform2D, TransformRect2D, Transition, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, VertexAttribute, VertexBuffer, Video2D, VideoLoader, VideoTexture, Viewport, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, WebGLBufferModule, WebGLFramebufferModule, WebGLMaskModule, WebGLModule, WebGLProgramModule, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, WebGLTextureModule, WebGLVertexArrayModule, WebGLViewportModule, WebSound, WheelInputEvent, XScrollBar, YScrollBar, ZoomBlurEffect, assets, clamp, clampFrag, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };
3241
- export type { AnimationEffectMode, AnimationProperties, AssetHandler, AudioWaveformProperties, BaseElement2DEventMap, BaseElement2DProperties, BaseElement2DStyleProperties, Batchable2D, CSSFilterKey, CSSFilters, CanvasBatchable, CanvasItemEventMap, CanvasItemProperties, ColorAdjustEffectProperties, ColorFilterEffectProperties, ColorOverlayEffectProperties, ColorRemoveEffectProperties, ColorReplaceEffectProperties, ComputedLayout, ControlEventMap, ControlProperties, CoreObjectEventMap, CssFunction, CssFunctionArg, Cursor, CustomPropertyAccessor, DropShadowEffectProperties, Easing, EffectContext, EffectMode, EffectProperties, Element2DEventMap, Element2DProperties, Element2DStyleProperties, EmbossEffectProperties, EngineOptions, FillDraw, FlexBaseElement2DEventMap, FlexElement2DProperties, FlexElement2DStyleProperties, GaussianBlurEffectProperties, GeometryOptions, GlitchEffectProperties, GodrayEffectProperties, IAudioContext, IAudioNode, IPlayOptions, Image2DProperties, ImageFrame, ImageTextureOptions, IndexBufferOptions, InputEventKey, InputEventMap, InternalMode, KawaseBlurEffectProperties, Keyframe, Lottie2DProperties, MainLoopEventMap, MaskColor, MaskData, MaskEffectProperties, MaskObject, MaskRect, Maskable, MaterialOptions, MatrixLike, MatrixOperateOutput, Node2DProperties, NodeEventMap, NodeProperties, NormalizedKeyframe, OutlineEffectProperties, PixelateEffectProperties, PlatformAudio, PlatformSound, ProcessMode, ProcessSortMode, RangeProperties, Rectangulable, RectangulableEventMap, RefCountedEventMap, RenderMode, RenderOptions, Renderable, ResourceEventMap, RulerProperties, ScalerEventMap, ScalerProperties, SceneTreeEventMap, ScrollBarProperties, StrokeDraw, Text2DEventMap, Text2DProperties, Texture2DFilterMode, Texture2DPixelsSource, Texture2DSource, Texture2DWrapMode, TextureRect2DProperties, TimelineEventMap, TimelineNodeEventMap, TimelineNodeProperties, TimelineProperties, TimingFunctions, Transform2DObject, TransformRect2DProperties, TransitionProperties, UVTransform, VectorLike, VectorOperateOutput, VertTransform, VertexAttributeOptions, VertexBufferOptions, Video2DProperties, VideoTextureOptions, VideoTextureSource, ViewportEventMap, ViewportFramebuffer, WebGLBufferMeta, WebGLBufferOptions, WebGLBufferTarget, WebGLBufferUsage, WebGLDrawMode, WebGLDrawOptions, WebGLExtensions, WebGLFramebufferMeta, WebGLFramebufferOptions, WebGLProgramMeta, WebGLProgramOptions, WebGLTarget, WebGLTextureFilterMode, WebGLTextureLocation, WebGLTextureMeta, WebGLTextureOptions, WebGLTextureSource, WebGLTextureTarget, WebGLTextureWrapMode, WebGLVertexArrayObjectMeta, WebGLVertexArrayObjectOptions, WebGLVertexAttrib, WebGLVertexAttribType, WebGLViewport, XScrollBarProperties, YScrollBarProperties, ZoomBlurEffectProperties };
3218
+ export { AnimatedTexture, Animation, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, BaseElement2D, BaseElement2DBackground, BaseElement2DFill, BaseElement2DForeground, BaseElement2DOutline, BaseElement2DShadow, BaseElement2DShape, BaseElement2DStyle, BaseElement2DText, Camera2D, CanvasContext, CanvasItem, CanvasItemEditor, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, Control, CoreObject, DEG_TO_RAD, DEVICE_PIXEL_RATIO, DropShadowEffect, Effect, EffectMaterial, Element2D, Element2DStyle, EmbossEffect, Engine, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, HTMLAudio, HTMLAudioContext, HTMLSound, IN_BROWSER, Image2D, ImageTexture, IndexBuffer, Input, InputEvent, JSONLoader, KawaseBlurEffect, KawaseTransition, LeftEraseTransition, Loader, Lottie2D, LottieLoader, MainLoop, MaskEffect, Material, Matrix, Matrix2, Matrix3, Matrix4, MouseInputEvent, Node, Node2D, OutlineEffect, PI, PI_2, PixelateEffect, PixelsTexture, PointerInputEvent, Projection2D, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, RawWeakMap, Rect2, RefCounted, Renderer, Resource, Ruler, 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, SceneTree, ScrollBar, TextLoader, Texture2D, TextureLoader, TextureRect2D, Ticker, TiltShiftTransition, Timeline, TimelineNode, Transform2D, TransformRect2D, Transition, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, VertexAttribute, VertexBuffer, Video2D, VideoLoader, VideoTexture, Viewport, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, WebGLBufferModule, WebGLFramebufferModule, WebGLMaskModule, WebGLModule, WebGLProgramModule, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, WebGLTextureModule, WebGLVertexArrayModule, WebGLViewportModule, WebSound, WheelInputEvent, Window, XScrollBar, YScrollBar, ZoomBlurEffect, assets, clamp, clampFrag, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };
3219
+ export type { AnimationEffectMode, AnimationProperties, AssetHandler, AudioWaveformProperties, BaseElement2DEventMap, BaseElement2DProperties, BaseElement2DStyleProperties, Batchable2D, CSSFilterKey, CSSFilters, Camera2DProperties, CanvasBatchable, CanvasItemEventMap, CanvasItemProperties, ColorAdjustEffectProperties, ColorFilterEffectProperties, ColorOverlayEffectProperties, ColorRemoveEffectProperties, ColorReplaceEffectProperties, ComputedLayout, ControlEventMap, ControlProperties, CoreObjectEventMap, CssFunction, CssFunctionArg, Cursor, CustomPropertyAccessor, DropShadowEffectProperties, Easing, EffectContext, EffectMode, EffectProperties, Element2DEventMap, Element2DProperties, Element2DStyleProperties, EmbossEffectProperties, EngineOptions, FillDraw, FlexBaseElement2DEventMap, FlexElement2DProperties, FlexElement2DStyleProperties, GaussianBlurEffectProperties, GeometryOptions, GlitchEffectProperties, GodrayEffectProperties, IAudioContext, IAudioNode, IPlayOptions, Image2DProperties, ImageFrame, ImageTextureOptions, IndexBufferOptions, InputEventKey, InputEventMap, InternalMode, KawaseBlurEffectProperties, Keyframe, Lottie2DProperties, MainLoopEventMap, MaskColor, MaskData, MaskEffectProperties, MaskObject, MaskRect, Maskable, MaterialOptions, MatrixLike, MatrixOperateOutput, Node2DProperties, NodeEventMap, NodeProperties, NormalizedKeyframe, OutlineEffectProperties, PixelateEffectProperties, PlatformAudio, PlatformSound, ProcessMode, ProcessSortMode, RangeProperties, Rectangulable, RectangulableEventMap, RefCountedEventMap, RenderMode, RenderOptions, Renderable, ResourceEventMap, RulerProperties, ScalerEventMap, ScalerProperties, SceneTreeEventMap, ScrollBarProperties, StrokeDraw, Texture2DFilterMode, Texture2DPixelsSource, Texture2DSource, Texture2DWrapMode, TextureRect2DProperties, TimelineEventMap, TimelineNodeEventMap, TimelineNodeProperties, TimelineProperties, TimingFunctions, Transform2DObject, TransformRect2DProperties, TransitionProperties, UVTransform, VectorLike, VectorOperateOutput, VertTransform, VertexAttributeOptions, VertexBufferOptions, Video2DProperties, VideoTextureOptions, VideoTextureSource, ViewportEventMap, ViewportFramebuffer, WebGLBufferMeta, WebGLBufferOptions, WebGLBufferTarget, WebGLBufferUsage, WebGLDrawMode, WebGLDrawOptions, WebGLExtensions, WebGLFramebufferMeta, WebGLFramebufferOptions, WebGLProgramMeta, WebGLProgramOptions, WebGLTarget, WebGLTextureFilterMode, WebGLTextureLocation, WebGLTextureMeta, WebGLTextureOptions, WebGLTextureSource, WebGLTextureTarget, WebGLTextureWrapMode, WebGLVertexArrayObjectMeta, WebGLVertexArrayObjectOptions, WebGLVertexAttrib, WebGLVertexAttribType, WebGLViewport, XScrollBarProperties, YScrollBarProperties, ZoomBlurEffectProperties };