modern-canvas 0.4.11 → 0.4.13

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.cjs CHANGED
@@ -3219,8 +3219,8 @@ class WebGLFramebufferModule extends WebGLModule {
3219
3219
  this._renderer.viewport.bind({
3220
3220
  x: 0,
3221
3221
  y: 0,
3222
- width: this._renderer.screen.width,
3223
- height: this._renderer.screen.height
3222
+ width: this._renderer.screen.width * this._renderer.pixelRatio,
3223
+ height: this._renderer.screen.height * this._renderer.pixelRatio
3224
3224
  });
3225
3225
  }
3226
3226
  }
@@ -5794,6 +5794,14 @@ exports.Node = class Node extends CoreObject {
5794
5794
  return false;
5795
5795
  }
5796
5796
  }
5797
+ _update(changed) {
5798
+ this._tree?.log(this.name, "updating");
5799
+ super._update(changed);
5800
+ }
5801
+ _updateProperty(key, value, oldValue, declaration) {
5802
+ this._tree?.log(this.name, `updating [${String(key)}]`);
5803
+ super._updateProperty(key, value, oldValue, declaration);
5804
+ }
5797
5805
  _onTreeEnter(tree) {
5798
5806
  this._treeEnter(tree);
5799
5807
  this.emit("treeEntered", tree);
@@ -6297,8 +6305,8 @@ exports.Viewport = class Viewport extends exports.Node {
6297
6305
  if (this.valid) {
6298
6306
  renderer.flush();
6299
6307
  this._tree?.setCurrentViewport(this);
6300
- renderer.framebuffer.bind(this._glFramebuffer(renderer));
6301
6308
  this.upload(renderer);
6309
+ renderer.framebuffer.bind(this._glFramebuffer(renderer));
6302
6310
  return true;
6303
6311
  }
6304
6312
  return false;
@@ -8365,14 +8373,12 @@ class SceneTree extends MainLoop {
8365
8373
  }
8366
8374
  _renderScreen(renderer) {
8367
8375
  renderer.state.reset();
8368
- const { pixelRatio } = renderer;
8369
- const { width, height } = this.root;
8370
8376
  renderer.framebuffer.bind(null);
8371
8377
  renderer.viewport.bind({
8372
8378
  x: 0,
8373
8379
  y: 0,
8374
- width: width * pixelRatio,
8375
- height: height * pixelRatio
8380
+ width: this.root.width * renderer.pixelRatio,
8381
+ height: this.root.height * renderer.pixelRatio
8376
8382
  });
8377
8383
  if (this.backgroundColor) {
8378
8384
  renderer.gl.clearColor(...this._backgroundColor.toArray());
@@ -8636,38 +8642,20 @@ class BaseElement2DStyle extends Resource {
8636
8642
  return this._backgroundColor;
8637
8643
  }
8638
8644
  async loadBackgroundImage() {
8639
- if (this.backgroundImage !== "none") {
8645
+ if (this.backgroundImage && this.backgroundImage !== "none") {
8640
8646
  return await assets.texture.load(this.backgroundImage);
8641
8647
  }
8642
8648
  }
8643
8649
  }
8644
- const defaultStyles$2 = {
8645
- ...modernIdoc.getDefaultTransformStyle(),
8646
- ...modernIdoc.getDefaultTextStyle(),
8647
- backgroundColor: "none",
8648
- backgroundImage: "none",
8649
- filter: "none",
8650
- boxShadow: "none",
8651
- maskImage: "none",
8652
- opacity: 1,
8653
- borderWidth: 0,
8654
- borderRadius: 0,
8655
- borderColor: "#000000",
8656
- borderStyle: "none",
8657
- outlineWidth: 0,
8658
- outlineOffset: 0,
8659
- outlineColor: "#000000",
8660
- outlineStyle: "none",
8661
- visibility: "visible",
8662
- overflow: "visible",
8663
- pointerEvents: "auto"
8664
- };
8665
- delete defaultStyles$2.top;
8666
- delete defaultStyles$2.left;
8667
- delete defaultStyles$2.width;
8668
- delete defaultStyles$2.height;
8669
- for (const key in defaultStyles$2) {
8670
- defineProperty(BaseElement2DStyle, key, { default: defaultStyles$2[key] });
8650
+ const defaultStyles$1 = modernIdoc.getDefaultStyle();
8651
+ delete defaultStyles$1.top;
8652
+ delete defaultStyles$1.left;
8653
+ delete defaultStyles$1.width;
8654
+ delete defaultStyles$1.height;
8655
+ for (const key in defaultStyles$1) {
8656
+ defineProperty(BaseElement2DStyle, key, {
8657
+ default: defaultStyles$1[key]
8658
+ });
8671
8659
  }
8672
8660
 
8673
8661
  var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
@@ -9089,14 +9077,14 @@ class Element2DStyle extends BaseElement2DStyle {
9089
9077
  this.setProperties(properties);
9090
9078
  }
9091
9079
  }
9092
- const defaultStyles$1 = {
9080
+ const defaultStyles = {
9093
9081
  left: 0,
9094
9082
  top: 0,
9095
9083
  width: 0,
9096
9084
  height: 0
9097
9085
  };
9098
- for (const key in defaultStyles$1) {
9099
- defineProperty(Element2DStyle, key, { default: defaultStyles$1[key] });
9086
+ for (const key in defaultStyles) {
9087
+ defineProperty(Element2DStyle, key, { default: defaultStyles[key] });
9100
9088
  }
9101
9089
 
9102
9090
  var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
@@ -9129,19 +9117,19 @@ exports.Element2D = class Element2D extends exports.BaseElement2D {
9129
9117
  super._updateStyleProperty(key, value, oldValue, declaration);
9130
9118
  switch (key) {
9131
9119
  case "left":
9132
- this.position.x = this.style.left;
9120
+ this.position.x = Number(value);
9133
9121
  this.requestRelayout();
9134
9122
  break;
9135
9123
  case "top":
9136
- this.position.y = this.style.top;
9124
+ this.position.y = Number(value);
9137
9125
  this.requestRelayout();
9138
9126
  break;
9139
9127
  case "width":
9140
- this.size.width = this.style.width;
9128
+ this.size.width = Number(value);
9141
9129
  this.requestRelayout();
9142
9130
  break;
9143
9131
  case "height":
9144
- this.size.height = this.style.height;
9132
+ this.size.height = Number(value);
9145
9133
  this.requestRelayout();
9146
9134
  break;
9147
9135
  }
@@ -9157,52 +9145,6 @@ class FlexElement2DStyle extends BaseElement2DStyle {
9157
9145
  this.setProperties(properties);
9158
9146
  }
9159
9147
  }
9160
- const defaultStyles = {
9161
- alignContent: "stretch",
9162
- alignItems: "stretch",
9163
- alignSelf: "auto",
9164
- borderTop: "none",
9165
- borderLeft: "none",
9166
- borderRight: "none",
9167
- borderBottom: "none",
9168
- borderWidth: 0,
9169
- border: "none",
9170
- direction: "inherit",
9171
- display: "flex",
9172
- flex: 0,
9173
- flexBasis: "auto",
9174
- flexDirection: "row",
9175
- flexGrow: 0,
9176
- flexShrink: 1,
9177
- flexWrap: "nowrap",
9178
- height: "auto",
9179
- justifyContent: "flex-start",
9180
- gap: 0,
9181
- marginTop: 0,
9182
- marginLeft: 0,
9183
- marginRight: 0,
9184
- marginBottom: 0,
9185
- margin: 0,
9186
- maxHeight: 0,
9187
- maxWidth: 0,
9188
- minHeight: 0,
9189
- minWidth: 0,
9190
- paddingTop: 0,
9191
- paddingLeft: 0,
9192
- paddingRight: 0,
9193
- paddingBottom: 0,
9194
- padding: 0,
9195
- top: 0,
9196
- bottom: 0,
9197
- left: 0,
9198
- right: 0,
9199
- position: "static",
9200
- boxSizing: "content-box",
9201
- width: "auto"
9202
- };
9203
- for (const key in defaultStyles) {
9204
- defineProperty(FlexElement2DStyle, key, { default: defaultStyles[key] });
9205
- }
9206
9148
 
9207
9149
  const alignMap = {
9208
9150
  "auto": load.Align.Auto,
@@ -9292,13 +9234,19 @@ class FlexLayout {
9292
9234
  updateStyleProperty(key, value, oldValue, declaration) {
9293
9235
  switch (key) {
9294
9236
  case "alignContent":
9295
- this._node.setAlignContent(alignMap[this._style.alignContent]);
9237
+ this._node.setAlignContent(
9238
+ value ? alignMap[value] : alignMap["flex-start"]
9239
+ );
9296
9240
  break;
9297
9241
  case "alignItems":
9298
- this._node.setAlignItems(alignMap[this._style.alignItems]);
9242
+ this._node.setAlignItems(
9243
+ value ? alignMap[value] : alignMap["flex-start"]
9244
+ );
9299
9245
  break;
9300
9246
  case "alignSelf":
9301
- this._node.setAlignSelf(alignMap[this._style.alignSelf]);
9247
+ this._node.setAlignSelf(
9248
+ value ? alignMap[value] : alignMap["flex-start"]
9249
+ );
9302
9250
  break;
9303
9251
  case "aspectRatio":
9304
9252
  this._node.setAspectRatio(value);
@@ -9319,10 +9267,14 @@ class FlexLayout {
9319
9267
  this._node.setBorder(load.Edge.All, this._style.borderWidth);
9320
9268
  break;
9321
9269
  case "direction":
9322
- this._node.setDirection(directionMap[this._style.direction]);
9270
+ this._node.setDirection(
9271
+ value ? directionMap[value] : directionMap.inherit
9272
+ );
9323
9273
  break;
9324
9274
  case "display":
9325
- this._node.setDisplay(displayMap[this._style.display]);
9275
+ this._node.setDisplay(
9276
+ value ? displayMap[value] : displayMap.flex
9277
+ );
9326
9278
  break;
9327
9279
  case "flex":
9328
9280
  this._node.setFlex(this._style.flex);
@@ -9331,7 +9283,9 @@ class FlexLayout {
9331
9283
  this._node.setFlexBasis(this._style.flexBasis);
9332
9284
  break;
9333
9285
  case "flexDirection":
9334
- this._node.setFlexDirection(flexDirectionMap[this._style.flexDirection]);
9286
+ this._node.setFlexDirection(
9287
+ value ? flexDirectionMap[value] : flexDirectionMap.row
9288
+ );
9335
9289
  break;
9336
9290
  case "flexGrow":
9337
9291
  this._node.setFlexGrow(this._style.flexGrow);
@@ -9340,37 +9294,41 @@ class FlexLayout {
9340
9294
  this._node.setFlexShrink(this._style.flexShrink);
9341
9295
  break;
9342
9296
  case "flexWrap":
9343
- this._node.setFlexWrap(flexWrapMap[this._style.flexWrap]);
9297
+ this._node.setFlexWrap(
9298
+ value ? flexWrapMap[value] : flexWrapMap.wrap
9299
+ );
9344
9300
  break;
9345
9301
  case "height":
9346
9302
  this._node.setHeight(this._style.height);
9347
9303
  break;
9348
9304
  case "justifyContent":
9349
- this._node.setJustifyContent(justifyMap[this._style.justifyContent]);
9305
+ this._node.setJustifyContent(
9306
+ value ? justifyMap[value] : justifyMap["flex-start"]
9307
+ );
9350
9308
  break;
9351
9309
  case "gap":
9352
- this._node.setGap(load.Gutter.All, this._style.gap);
9310
+ value !== void 0 && this._node.setGap(load.Gutter.All, value);
9353
9311
  break;
9354
9312
  case "marginTop":
9355
- this._node.setMargin(load.Edge.Top, this._style.marginTop);
9313
+ this._node.setMargin(load.Edge.Top, value);
9356
9314
  break;
9357
9315
  case "marginBottom":
9358
- this._node.setMargin(load.Edge.Top, this._style.marginBottom);
9316
+ this._node.setMargin(load.Edge.Top, value);
9359
9317
  break;
9360
9318
  case "marginLeft":
9361
- this._node.setMargin(load.Edge.Left, this._style.marginLeft);
9319
+ this._node.setMargin(load.Edge.Left, value);
9362
9320
  break;
9363
9321
  case "marginRight":
9364
- this._node.setMargin(load.Edge.Top, this._style.marginRight);
9322
+ this._node.setMargin(load.Edge.Top, value);
9365
9323
  break;
9366
9324
  case "margin":
9367
- this._node.setMargin(load.Edge.All, this._style.margin);
9325
+ this._node.setMargin(load.Edge.All, value);
9368
9326
  break;
9369
9327
  case "maxHeight":
9370
- this._node.setMaxHeight(this._style.maxHeight);
9328
+ this._node.setMaxHeight(value);
9371
9329
  break;
9372
9330
  case "maxWidth":
9373
- this._node.setMaxWidth(this._style.maxWidth);
9331
+ this._node.setMaxWidth(value);
9374
9332
  break;
9375
9333
  // setDirtiedFunc(dirtiedFunc: DirtiedFunction | null): void;
9376
9334
  // setMeasureFunc(measureFunc: MeasureFunction | null): void;
@@ -9381,7 +9339,9 @@ class FlexLayout {
9381
9339
  this._node.setMinWidth(this._style.minWidth);
9382
9340
  break;
9383
9341
  case "overflow":
9384
- this._node.setOverflow(overflowMap[this._style.overflow]);
9342
+ this._node.setOverflow(
9343
+ value ? overflowMap[value] : overflowMap.visible
9344
+ );
9385
9345
  break;
9386
9346
  case "paddingTop":
9387
9347
  this._node.setPadding(load.Edge.Top, this._style.paddingTop);
@@ -9411,10 +9371,14 @@ class FlexLayout {
9411
9371
  this._node.setPosition(load.Edge.Right, this._style.right);
9412
9372
  break;
9413
9373
  case "position":
9414
- this._node.setPositionType(positionTypeMap[this._style.position]);
9374
+ this._node.setPositionType(
9375
+ value ? positionTypeMap[value] : positionTypeMap.static
9376
+ );
9415
9377
  break;
9416
9378
  case "boxSizing":
9417
- this._node.setBoxSizing(boxSizingMap[this._style.boxSizing]);
9379
+ this._node.setBoxSizing(
9380
+ value ? boxSizingMap[value] : boxSizingMap["content-box"]
9381
+ );
9418
9382
  break;
9419
9383
  case "width":
9420
9384
  this._node.setWidth(this._style.width);
@@ -13193,8 +13157,9 @@ class Engine extends SceneTree {
13193
13157
  await this.nextTick();
13194
13158
  }
13195
13159
  async waitAndRender(delta = 0) {
13160
+ await assets.waitUntilLoad();
13196
13161
  this._process(delta);
13197
- await this.waitUntilLoad();
13162
+ await this.nextTick();
13198
13163
  this._render(this.renderer);
13199
13164
  }
13200
13165
  render(delta = 0) {
@@ -13266,11 +13231,16 @@ async function start(sleep = 100) {
13266
13231
  starting = false;
13267
13232
  }
13268
13233
  async function task(options) {
13269
- const { data, width, height, time = 0 } = options;
13270
- engine ??= new Engine({ width: 1, height: 1 });
13234
+ const { data, width, height, debug = false, time = 0 } = options;
13235
+ engine ??= new Engine({
13236
+ width: 1,
13237
+ height: 1,
13238
+ preserveDrawingBuffer: true
13239
+ });
13240
+ engine.debug = debug;
13271
13241
  engine.root.removeChildren();
13272
13242
  engine.timeline.currentTime = time;
13273
- engine.resize(width, height);
13243
+ engine.resize(width, height, true);
13274
13244
  (Array.isArray(data) ? data : [data]).forEach((v) => {
13275
13245
  if (v instanceof exports.Node) {
13276
13246
  engine.root.appendChild(v);
package/dist/index.d.cts CHANGED
@@ -2,7 +2,7 @@ import { Font } from 'modern-font';
2
2
  import { AnimationItem } from 'lottie-web';
3
3
  import { AnyColor, Colord } from 'colord';
4
4
  import { Path2D, LineCap, LineJoin, LineStyle } from 'modern-path2d';
5
- import { TextStyleDeclaration, ElementStyleDeclaration, ImageRect } from 'modern-idoc';
5
+ import { StyleDeclaration, ImageSource, ImageSourceRect } from 'modern-idoc';
6
6
  import { Node as Node$1, Direction } from 'yoga-layout/load';
7
7
  import { TextOptions, Text, MeasureResult } from 'modern-text';
8
8
 
@@ -1672,6 +1672,8 @@ declare class Node extends CoreObject {
1672
1672
  clearMeta(): void;
1673
1673
  canProcess(): boolean;
1674
1674
  canRender(): boolean;
1675
+ protected _update(changed: Map<PropertyKey, any>): void;
1676
+ protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1675
1677
  protected _onTreeEnter(tree: SceneTree): void;
1676
1678
  protected _onTreeExit(oldTree: SceneTree): void;
1677
1679
  protected _onParented(parent: Node): void;
@@ -1862,14 +1864,14 @@ declare class Transition extends Effect {
1862
1864
  constructor(properties?: Partial<TransitionProperties>, children?: Node[]);
1863
1865
  }
1864
1866
 
1865
- interface BaseElement2DStyleProperties extends TextStyleDeclaration, Omit<ElementStyleDeclaration, 'left' | 'top' | 'width' | 'height' | 'backgroundColor' | 'borderColor'> {
1867
+ interface BaseElement2DStyleProperties extends Omit<StyleDeclaration, 'left' | 'top' | 'width' | 'height' | 'backgroundColor' | 'borderColor' | 'outlineColor'> {
1868
+ left: number;
1869
+ top: number;
1870
+ width: number;
1871
+ height: number;
1866
1872
  backgroundColor: 'none' | ColorValue;
1867
- maskImage: 'none' | string;
1868
1873
  borderColor: 'none' | ColorValue;
1869
- outlineWidth: number;
1870
- outlineOffset: number;
1871
1874
  outlineColor: 'none' | ColorValue;
1872
- outlineStyle: string;
1873
1875
  }
1874
1876
  interface BaseElement2DStyle extends BaseElement2DStyleProperties {
1875
1877
  }
@@ -1986,56 +1988,7 @@ declare class Element2D extends BaseElement2D {
1986
1988
  protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1987
1989
  }
1988
1990
 
1989
- type Align = 'auto' | 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' | 'space-between' | 'space-around' | 'space-evenly';
1990
- type FlexDirection = 'column' | 'column-reverse' | 'row' | 'row-reverse';
1991
- type FlexWrap = 'nowrap' | 'wrap' | 'Wrap-reverse';
1992
- type Justify = 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';
1993
- type Position = 'static' | 'relative' | 'absolute';
1994
- type BoxSizing = 'border-box' | 'content-box';
1995
- interface LayoutStyleDeclaration {
1996
- alignContent: Align;
1997
- alignItems: Align;
1998
- alignSelf: Align;
1999
- borderTop: string;
2000
- borderLeft: string;
2001
- borderRight: string;
2002
- borderBottom: string;
2003
- borderWidth: number;
2004
- border: string;
2005
- direction: 'inherit' | 'ltr' | 'rtl';
2006
- display: 'none' | 'flex' | 'contents';
2007
- flex: number;
2008
- flexBasis: number | 'auto' | `${number}%`;
2009
- flexDirection: FlexDirection;
2010
- flexGrow: number;
2011
- flexShrink: number;
2012
- flexWrap: FlexWrap;
2013
- height: number | 'auto' | `${number}%`;
2014
- justifyContent: Justify;
2015
- gap: number | `${number}%`;
2016
- marginTop: number | 'auto' | `${number}%`;
2017
- marginLeft: number | 'auto' | `${number}%`;
2018
- marginRight: number | 'auto' | `${number}%`;
2019
- marginBottom: number | 'auto' | `${number}%`;
2020
- margin: number | 'auto' | `${number}%`;
2021
- maxHeight: number | `${number}%`;
2022
- maxWidth: number | `${number}%`;
2023
- minHeight: number | `${number}%`;
2024
- minWidth: number | `${number}%`;
2025
- paddingTop: number | `${number}%`;
2026
- paddingLeft: number | `${number}%`;
2027
- paddingRight: number | `${number}%`;
2028
- paddingBottom: number | `${number}%`;
2029
- padding: number | `${number}%`;
2030
- top: number | `${number}%`;
2031
- bottom: number | `${number}%`;
2032
- left: number | `${number}%`;
2033
- right: number | `${number}%`;
2034
- position: Position;
2035
- boxSizing: BoxSizing;
2036
- width: number | 'auto' | `${number}%`;
2037
- }
2038
- interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties, LayoutStyleDeclaration {
1991
+ interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties {
2039
1992
  }
2040
1993
  interface FlexElement2DStyle extends FlexElement2DStyleProperties {
2041
1994
  }
@@ -2121,13 +2074,13 @@ declare class Graphics2D extends Node2D {
2121
2074
  }
2122
2075
 
2123
2076
  interface Image2DProperties extends Element2DProperties {
2124
- src: string;
2125
- srcRect: ImageRect;
2077
+ src: ImageSource;
2078
+ srcRect: ImageSourceRect;
2126
2079
  gif: boolean;
2127
2080
  }
2128
2081
  declare class Image2D extends Element2D {
2129
2082
  texture?: AnimatedTexture;
2130
- srcRect: ImageRect;
2083
+ srcRect: ImageSourceRect;
2131
2084
  src: string;
2132
2085
  gif: boolean;
2133
2086
  get currentFrameTexture(): Texture2D | undefined;
@@ -3058,9 +3011,10 @@ interface RenderOptions {
3058
3011
  data: Record<string, any> | Node | (Node | Record<string, any>)[];
3059
3012
  width: number;
3060
3013
  height: number;
3014
+ debug?: boolean;
3061
3015
  time?: number;
3062
3016
  onBeforeRender?: (engine: Engine) => void | Promise<void>;
3063
3017
  }
3064
3018
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3065
3019
 
3066
- 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 };
3020
+ export { 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 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, FlexElement2D, type FlexElement2DProperties, FlexElement2DStyle, type FlexElement2DStyleProperties, FlexLayout, 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, 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, PointerInputEvent, 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 };
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import { Font } from 'modern-font';
2
2
  import { AnimationItem } from 'lottie-web';
3
3
  import { AnyColor, Colord } from 'colord';
4
4
  import { Path2D, LineCap, LineJoin, LineStyle } from 'modern-path2d';
5
- import { TextStyleDeclaration, ElementStyleDeclaration, ImageRect } from 'modern-idoc';
5
+ import { StyleDeclaration, ImageSource, ImageSourceRect } from 'modern-idoc';
6
6
  import { Node as Node$1, Direction } from 'yoga-layout/load';
7
7
  import { TextOptions, Text, MeasureResult } from 'modern-text';
8
8
 
@@ -1672,6 +1672,8 @@ declare class Node extends CoreObject {
1672
1672
  clearMeta(): void;
1673
1673
  canProcess(): boolean;
1674
1674
  canRender(): boolean;
1675
+ protected _update(changed: Map<PropertyKey, any>): void;
1676
+ protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1675
1677
  protected _onTreeEnter(tree: SceneTree): void;
1676
1678
  protected _onTreeExit(oldTree: SceneTree): void;
1677
1679
  protected _onParented(parent: Node): void;
@@ -1862,14 +1864,14 @@ declare class Transition extends Effect {
1862
1864
  constructor(properties?: Partial<TransitionProperties>, children?: Node[]);
1863
1865
  }
1864
1866
 
1865
- interface BaseElement2DStyleProperties extends TextStyleDeclaration, Omit<ElementStyleDeclaration, 'left' | 'top' | 'width' | 'height' | 'backgroundColor' | 'borderColor'> {
1867
+ interface BaseElement2DStyleProperties extends Omit<StyleDeclaration, 'left' | 'top' | 'width' | 'height' | 'backgroundColor' | 'borderColor' | 'outlineColor'> {
1868
+ left: number;
1869
+ top: number;
1870
+ width: number;
1871
+ height: number;
1866
1872
  backgroundColor: 'none' | ColorValue;
1867
- maskImage: 'none' | string;
1868
1873
  borderColor: 'none' | ColorValue;
1869
- outlineWidth: number;
1870
- outlineOffset: number;
1871
1874
  outlineColor: 'none' | ColorValue;
1872
- outlineStyle: string;
1873
1875
  }
1874
1876
  interface BaseElement2DStyle extends BaseElement2DStyleProperties {
1875
1877
  }
@@ -1986,56 +1988,7 @@ declare class Element2D extends BaseElement2D {
1986
1988
  protected _updateStyleProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1987
1989
  }
1988
1990
 
1989
- type Align = 'auto' | 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' | 'space-between' | 'space-around' | 'space-evenly';
1990
- type FlexDirection = 'column' | 'column-reverse' | 'row' | 'row-reverse';
1991
- type FlexWrap = 'nowrap' | 'wrap' | 'Wrap-reverse';
1992
- type Justify = 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';
1993
- type Position = 'static' | 'relative' | 'absolute';
1994
- type BoxSizing = 'border-box' | 'content-box';
1995
- interface LayoutStyleDeclaration {
1996
- alignContent: Align;
1997
- alignItems: Align;
1998
- alignSelf: Align;
1999
- borderTop: string;
2000
- borderLeft: string;
2001
- borderRight: string;
2002
- borderBottom: string;
2003
- borderWidth: number;
2004
- border: string;
2005
- direction: 'inherit' | 'ltr' | 'rtl';
2006
- display: 'none' | 'flex' | 'contents';
2007
- flex: number;
2008
- flexBasis: number | 'auto' | `${number}%`;
2009
- flexDirection: FlexDirection;
2010
- flexGrow: number;
2011
- flexShrink: number;
2012
- flexWrap: FlexWrap;
2013
- height: number | 'auto' | `${number}%`;
2014
- justifyContent: Justify;
2015
- gap: number | `${number}%`;
2016
- marginTop: number | 'auto' | `${number}%`;
2017
- marginLeft: number | 'auto' | `${number}%`;
2018
- marginRight: number | 'auto' | `${number}%`;
2019
- marginBottom: number | 'auto' | `${number}%`;
2020
- margin: number | 'auto' | `${number}%`;
2021
- maxHeight: number | `${number}%`;
2022
- maxWidth: number | `${number}%`;
2023
- minHeight: number | `${number}%`;
2024
- minWidth: number | `${number}%`;
2025
- paddingTop: number | `${number}%`;
2026
- paddingLeft: number | `${number}%`;
2027
- paddingRight: number | `${number}%`;
2028
- paddingBottom: number | `${number}%`;
2029
- padding: number | `${number}%`;
2030
- top: number | `${number}%`;
2031
- bottom: number | `${number}%`;
2032
- left: number | `${number}%`;
2033
- right: number | `${number}%`;
2034
- position: Position;
2035
- boxSizing: BoxSizing;
2036
- width: number | 'auto' | `${number}%`;
2037
- }
2038
- interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties, LayoutStyleDeclaration {
1991
+ interface FlexElement2DStyleProperties extends BaseElement2DStyleProperties {
2039
1992
  }
2040
1993
  interface FlexElement2DStyle extends FlexElement2DStyleProperties {
2041
1994
  }
@@ -2121,13 +2074,13 @@ declare class Graphics2D extends Node2D {
2121
2074
  }
2122
2075
 
2123
2076
  interface Image2DProperties extends Element2DProperties {
2124
- src: string;
2125
- srcRect: ImageRect;
2077
+ src: ImageSource;
2078
+ srcRect: ImageSourceRect;
2126
2079
  gif: boolean;
2127
2080
  }
2128
2081
  declare class Image2D extends Element2D {
2129
2082
  texture?: AnimatedTexture;
2130
- srcRect: ImageRect;
2083
+ srcRect: ImageSourceRect;
2131
2084
  src: string;
2132
2085
  gif: boolean;
2133
2086
  get currentFrameTexture(): Texture2D | undefined;
@@ -3058,9 +3011,10 @@ interface RenderOptions {
3058
3011
  data: Record<string, any> | Node | (Node | Record<string, any>)[];
3059
3012
  width: number;
3060
3013
  height: number;
3014
+ debug?: boolean;
3061
3015
  time?: number;
3062
3016
  onBeforeRender?: (engine: Engine) => void | Promise<void>;
3063
3017
  }
3064
3018
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3065
3019
 
3066
- 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 };
3020
+ export { 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 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, FlexElement2D, type FlexElement2DProperties, FlexElement2DStyle, type FlexElement2DStyleProperties, FlexLayout, 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, 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, PointerInputEvent, 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 };