modern-canvas 0.5.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { defineProperty, property, getDeclarations, parseColor, RawWeakMap as RawWeakMap$1, isGradient, normalizeFill, isNone, normalizeBackground, normalizeForeground, normalizeOutline, normalizeShadow, normalizeShape, getDefaultStyle, normalizeText } from 'modern-idoc';
1
+ import { defineProperty, getDeclarations, parseColor, property, RawWeakMap as RawWeakMap$1, isGradient, idGenerator, normalizeFill, isNone, normalizeBackground, normalizeForeground, normalizeOutline, normalizeShadow, normalizeShape, getDefaultStyle, normalizeText } from 'modern-idoc';
2
2
  import { extend } from 'colord';
3
3
  import namesPlugin from 'colord/plugins/names';
4
4
  import { Path2D, Path2DSet, svgToDom, svgToPath2DSet, Matrix3 as Matrix3$1 } from 'modern-path2d';
@@ -6,26 +6,24 @@ import { Text, textDefaultStyle } from 'modern-text';
6
6
  import { loadYoga, BoxSizing, PositionType, Edge, Overflow, Gutter, Justify, Wrap, FlexDirection, Display, Direction, Align } from 'yoga-layout/load';
7
7
 
8
8
  const customNodes = /* @__PURE__ */ new Map();
9
- function customNode(tag, defaultProperties) {
9
+ function customNode(name, defaultProperties) {
10
10
  return function(constructor) {
11
- Object.defineProperty(constructor.prototype, "tag", {
12
- value: tag,
11
+ Object.defineProperty(constructor.prototype, "is", {
12
+ value: name,
13
13
  enumerable: true,
14
14
  configurable: true
15
15
  });
16
16
  if (defaultProperties) {
17
17
  Object.keys(defaultProperties).forEach((key) => {
18
- defineProperty(constructor, key, { default: defaultProperties[key] });
18
+ defineProperty(constructor.prototype, key, {
19
+ fallback: defaultProperties[key]
20
+ });
19
21
  });
20
22
  }
21
- customNodes.set(tag, constructor);
23
+ customNodes.set(name, constructor);
22
24
  };
23
25
  }
24
26
 
25
- function protectedProperty(options) {
26
- return property({ ...options, protected: true });
27
- }
28
-
29
27
  function createNode(tag = "node", options = {}) {
30
28
  const Klass = customNodes.get(tag);
31
29
  if (!Klass) {
@@ -204,15 +202,50 @@ class EventEmitter {
204
202
  }
205
203
  }
206
204
 
207
- let UID$1 = 0;
205
+ let IID = 0;
208
206
  class CoreObject extends EventEmitter {
209
- instanceId = ++UID$1;
210
- _defaultProperties;
207
+ instanceId = ++IID;
208
+ _customPropertyAccessor;
209
+ _properties = /* @__PURE__ */ new Map();
211
210
  _updatedProperties = /* @__PURE__ */ new Map();
212
211
  _changedProperties = /* @__PURE__ */ new Set();
213
212
  _updatingPromise = Promise.resolve();
214
213
  _updating = false;
215
- is(target) {
214
+ useCustomPropertyAccessor(accessor) {
215
+ this._customPropertyAccessor = accessor;
216
+ this.getPropertyDeclarations().forEach((declaration, key) => {
217
+ const newValue = accessor.get(key, () => void 0);
218
+ const oldValue = this._properties.get(key);
219
+ if (newValue === void 0) {
220
+ if (oldValue !== void 0) {
221
+ accessor.set(key, oldValue);
222
+ }
223
+ } else if (newValue !== oldValue) {
224
+ this._properties.set(key, newValue);
225
+ this._updateProperty(key, newValue, oldValue, declaration);
226
+ this.emit("updateProperty", key, newValue, oldValue, declaration);
227
+ }
228
+ });
229
+ return this;
230
+ }
231
+ getter(key, context) {
232
+ if (context.declaration.protected) {
233
+ return this[context.internalKey];
234
+ } else {
235
+ return this._customPropertyAccessor ? this._customPropertyAccessor.get(key, () => this._properties.get(key)) : this._properties.get(key);
236
+ }
237
+ }
238
+ setter(key, value, context) {
239
+ if (context.declaration.protected) {
240
+ this[context.internalKey] = value;
241
+ } else {
242
+ if (this._customPropertyAccessor) {
243
+ this._customPropertyAccessor.set(key, value);
244
+ }
245
+ this._properties.set(key, value);
246
+ }
247
+ }
248
+ equal(target) {
216
249
  return Boolean(target && this.instanceId === target.instanceId);
217
250
  }
218
251
  async _enqueueUpdate() {
@@ -247,17 +280,6 @@ class CoreObject extends EventEmitter {
247
280
  getPropertyDeclaration(key) {
248
281
  return this.getPropertyDeclarations().get(key);
249
282
  }
250
- getDefaultProperties() {
251
- if (!this._defaultProperties) {
252
- this._defaultProperties = {};
253
- for (const [name, property] of this.getPropertyDeclarations()) {
254
- if (!property.protected && !property.alias) {
255
- this._defaultProperties[name] = typeof property.default === "function" ? property.default() : property.default;
256
- }
257
- }
258
- }
259
- return this._defaultProperties;
260
- }
261
283
  getProperty(key) {
262
284
  return this[key];
263
285
  }
@@ -286,10 +308,16 @@ class CoreObject extends EventEmitter {
286
308
  }
287
309
  resetProperties() {
288
310
  for (const [name, property] of this.getPropertyDeclarations()) {
289
- this.setProperty(name, property.default);
311
+ this.setProperty(
312
+ name,
313
+ typeof property.fallback === "function" ? property.fallback() : property.fallback
314
+ );
290
315
  }
291
316
  return this;
292
317
  }
318
+ onUpdateProperty(key, newValue, oldValue, declaration) {
319
+ this.requestUpdate(key, newValue, oldValue, declaration);
320
+ }
293
321
  requestUpdate(key, newValue, oldValue, declaration) {
294
322
  if (key !== void 0) {
295
323
  if (!Object.is(newValue, oldValue)) {
@@ -306,11 +334,12 @@ class CoreObject extends EventEmitter {
306
334
  this._updatingPromise = this._enqueueUpdate();
307
335
  }
308
336
  }
309
- toJSON() {
337
+ toPropsJSON() {
310
338
  const json = {};
311
- const properties = this.getProperties(Array.from(this._changedProperties));
312
- for (const key in properties) {
313
- const value = properties[key];
339
+ this._properties.forEach((value, key) => {
340
+ if (value === void 0) {
341
+ return;
342
+ }
314
343
  if (value && typeof value === "object") {
315
344
  if ("toJSON" in value && typeof value.toJSON === "function") {
316
345
  json[key] = value.toJSON();
@@ -320,9 +349,12 @@ class CoreObject extends EventEmitter {
320
349
  } else {
321
350
  json[key] = value;
322
351
  }
323
- }
352
+ });
324
353
  return json;
325
354
  }
355
+ toJSON() {
356
+ return this.toPropsJSON();
357
+ }
326
358
  clone() {
327
359
  return new this.constructor(this.toJSON());
328
360
  }
@@ -2115,13 +2147,13 @@ class Vector3 extends Vector {
2115
2147
  }
2116
2148
  }
2117
2149
 
2118
- var __defProp$R = Object.defineProperty;
2119
- var __decorateClass$Y = (decorators, target, key, kind) => {
2150
+ var __defProp$Q = Object.defineProperty;
2151
+ var __decorateClass$X = (decorators, target, key, kind) => {
2120
2152
  var result = void 0 ;
2121
2153
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2122
2154
  if (decorator = decorators[i])
2123
2155
  result = (decorator(target, key, result) ) || result;
2124
- if (result) __defProp$R(target, key, result);
2156
+ if (result) __defProp$Q(target, key, result);
2125
2157
  return result;
2126
2158
  };
2127
2159
  class MainLoop extends CoreObject {
@@ -2164,11 +2196,11 @@ class MainLoop extends CoreObject {
2164
2196
  this.stop();
2165
2197
  }
2166
2198
  }
2167
- __decorateClass$Y([
2168
- property({ default: 24 })
2199
+ __decorateClass$X([
2200
+ property({ fallback: 24 })
2169
2201
  ], MainLoop.prototype, "fps");
2170
- __decorateClass$Y([
2171
- property({ default: 1 })
2202
+ __decorateClass$X([
2203
+ property({ fallback: 1 })
2172
2204
  ], MainLoop.prototype, "speed");
2173
2205
 
2174
2206
  class Renderer {
@@ -4469,13 +4501,13 @@ class Geometry extends Resource {
4469
4501
  }
4470
4502
  }
4471
4503
 
4472
- var __defProp$Q = Object.defineProperty;
4473
- var __decorateClass$X = (decorators, target, key, kind) => {
4504
+ var __defProp$P = Object.defineProperty;
4505
+ var __decorateClass$W = (decorators, target, key, kind) => {
4474
4506
  var result = void 0 ;
4475
4507
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4476
4508
  if (decorator = decorators[i])
4477
4509
  result = (decorator(target, key, result) ) || result;
4478
- if (result) __defProp$Q(target, key, result);
4510
+ if (result) __defProp$P(target, key, result);
4479
4511
  return result;
4480
4512
  };
4481
4513
  class IndexBuffer extends Resource {
@@ -4519,20 +4551,20 @@ class IndexBuffer extends Resource {
4519
4551
  return result;
4520
4552
  }
4521
4553
  }
4522
- __decorateClass$X([
4523
- protectedProperty({ default: null })
4554
+ __decorateClass$W([
4555
+ property({ protected: true, default: null })
4524
4556
  ], IndexBuffer.prototype, "data");
4525
- __decorateClass$X([
4526
- protectedProperty({ default: false })
4557
+ __decorateClass$W([
4558
+ property({ protected: true, fallback: false })
4527
4559
  ], IndexBuffer.prototype, "dynamic");
4528
4560
 
4529
- var __defProp$P = Object.defineProperty;
4530
- var __decorateClass$W = (decorators, target, key, kind) => {
4561
+ var __defProp$O = Object.defineProperty;
4562
+ var __decorateClass$V = (decorators, target, key, kind) => {
4531
4563
  var result = void 0 ;
4532
4564
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4533
4565
  if (decorator = decorators[i])
4534
4566
  result = (decorator(target, key, result) ) || result;
4535
- if (result) __defProp$P(target, key, result);
4567
+ if (result) __defProp$O(target, key, result);
4536
4568
  return result;
4537
4569
  };
4538
4570
  class VertexBuffer extends Resource {
@@ -4576,26 +4608,23 @@ class VertexBuffer extends Resource {
4576
4608
  return result;
4577
4609
  }
4578
4610
  }
4579
- __decorateClass$W([
4580
- protectedProperty({ default: null })
4611
+ __decorateClass$V([
4612
+ property({ protected: true, default: null })
4581
4613
  ], VertexBuffer.prototype, "data");
4582
- __decorateClass$W([
4583
- protectedProperty({ default: false })
4614
+ __decorateClass$V([
4615
+ property({ protected: true, fallback: false })
4584
4616
  ], VertexBuffer.prototype, "dynamic");
4585
4617
 
4586
- var __defProp$O = Object.defineProperty;
4587
- var __decorateClass$V = (decorators, target, key, kind) => {
4618
+ var __defProp$N = Object.defineProperty;
4619
+ var __decorateClass$U = (decorators, target, key, kind) => {
4588
4620
  var result = void 0 ;
4589
4621
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4590
4622
  if (decorator = decorators[i])
4591
4623
  result = (decorator(target, key, result) ) || result;
4592
- if (result) __defProp$O(target, key, result);
4624
+ if (result) __defProp$N(target, key, result);
4593
4625
  return result;
4594
4626
  };
4595
4627
  class VertexAttribute extends Resource {
4596
- stride;
4597
- offset;
4598
- divisor;
4599
4628
  needsUpload = false;
4600
4629
  constructor(options) {
4601
4630
  super();
@@ -4626,26 +4655,26 @@ class VertexAttribute extends Resource {
4626
4655
  return result;
4627
4656
  }
4628
4657
  }
4629
- __decorateClass$V([
4630
- protectedProperty()
4658
+ __decorateClass$U([
4659
+ property({ protected: true })
4631
4660
  ], VertexAttribute.prototype, "buffer");
4632
- __decorateClass$V([
4633
- protectedProperty({ default: 0 })
4661
+ __decorateClass$U([
4662
+ property({ fallback: 0 })
4634
4663
  ], VertexAttribute.prototype, "size");
4635
- __decorateClass$V([
4636
- protectedProperty({ default: false })
4664
+ __decorateClass$U([
4665
+ property({ fallback: false })
4637
4666
  ], VertexAttribute.prototype, "normalized");
4638
- __decorateClass$V([
4639
- protectedProperty({ default: "float" })
4667
+ __decorateClass$U([
4668
+ property({ fallback: "float" })
4640
4669
  ], VertexAttribute.prototype, "type");
4641
- __decorateClass$V([
4642
- protectedProperty()
4670
+ __decorateClass$U([
4671
+ property()
4643
4672
  ], VertexAttribute.prototype, "stride");
4644
- __decorateClass$V([
4645
- protectedProperty()
4673
+ __decorateClass$U([
4674
+ property()
4646
4675
  ], VertexAttribute.prototype, "offset");
4647
- __decorateClass$V([
4648
- protectedProperty()
4676
+ __decorateClass$U([
4677
+ property()
4649
4678
  ], VertexAttribute.prototype, "divisor");
4650
4679
 
4651
4680
  class QuadGeometry extends Geometry {
@@ -4888,13 +4917,13 @@ class UvGeometry extends Geometry {
4888
4917
  }
4889
4918
  }
4890
4919
 
4891
- var __defProp$N = Object.defineProperty;
4892
- var __decorateClass$U = (decorators, target, key, kind) => {
4920
+ var __defProp$M = Object.defineProperty;
4921
+ var __decorateClass$T = (decorators, target, key, kind) => {
4893
4922
  var result = void 0 ;
4894
4923
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
4895
4924
  if (decorator = decorators[i])
4896
4925
  result = (decorator(target, key, result) ) || result;
4897
- if (result) __defProp$N(target, key, result);
4926
+ if (result) __defProp$M(target, key, result);
4898
4927
  return result;
4899
4928
  };
4900
4929
  class Texture2D extends Resource {
@@ -5020,23 +5049,23 @@ class Texture2D extends Resource {
5020
5049
  }
5021
5050
  }
5022
5051
  }
5023
- __decorateClass$U([
5024
- protectedProperty()
5052
+ __decorateClass$T([
5053
+ property({ protected: true })
5025
5054
  ], Texture2D.prototype, "source");
5026
- __decorateClass$U([
5027
- property({ default: 0 })
5055
+ __decorateClass$T([
5056
+ property({ fallback: 0 })
5028
5057
  ], Texture2D.prototype, "width");
5029
- __decorateClass$U([
5030
- property({ default: 0 })
5058
+ __decorateClass$T([
5059
+ property({ fallback: 0 })
5031
5060
  ], Texture2D.prototype, "height");
5032
- __decorateClass$U([
5033
- property({ default: "linear" })
5061
+ __decorateClass$T([
5062
+ property({ fallback: "linear" })
5034
5063
  ], Texture2D.prototype, "filterMode");
5035
- __decorateClass$U([
5036
- property({ default: "clamp_to_edge" })
5064
+ __decorateClass$T([
5065
+ property({ fallback: "clamp_to_edge" })
5037
5066
  ], Texture2D.prototype, "wrapMode");
5038
- __decorateClass$U([
5039
- property({ default: 1 })
5067
+ __decorateClass$T([
5068
+ property({ fallback: 1 })
5040
5069
  ], Texture2D.prototype, "pixelRatio");
5041
5070
 
5042
5071
  class AnimatedTexture extends Resource {
@@ -5065,13 +5094,13 @@ class AnimatedTexture extends Resource {
5065
5094
  }
5066
5095
  }
5067
5096
 
5068
- var __defProp$M = Object.defineProperty;
5069
- var __decorateClass$T = (decorators, target, key, kind) => {
5097
+ var __defProp$L = Object.defineProperty;
5098
+ var __decorateClass$S = (decorators, target, key, kind) => {
5070
5099
  var result = void 0 ;
5071
5100
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
5072
5101
  if (decorator = decorators[i])
5073
5102
  result = (decorator(target, key, result) ) || result;
5074
- if (result) __defProp$M(target, key, result);
5103
+ if (result) __defProp$L(target, key, result);
5075
5104
  return result;
5076
5105
  };
5077
5106
  class CanvasTexture extends Texture2D {
@@ -5090,8 +5119,8 @@ class CanvasTexture extends Texture2D {
5090
5119
  super._updateProperty(key, value, oldValue, declaration);
5091
5120
  }
5092
5121
  }
5093
- __decorateClass$T([
5094
- property({ default: 2 })
5122
+ __decorateClass$S([
5123
+ property()
5095
5124
  ], CanvasTexture.prototype, "pixelRatio");
5096
5125
 
5097
5126
  class ColorTexture extends Texture2D {
@@ -5110,6 +5139,8 @@ class GradientTexture extends Texture2D {
5110
5139
  return isGradient(value);
5111
5140
  }
5112
5141
  static linearGradient(linearGradient, width, height) {
5142
+ width = width || 1;
5143
+ height = height || 1;
5113
5144
  const canvas = document.createElement("canvas");
5114
5145
  canvas.width = width;
5115
5146
  canvas.height = height;
@@ -5293,13 +5324,13 @@ class PixelsTexture extends Texture2D {
5293
5324
  }
5294
5325
  }
5295
5326
 
5296
- var __defProp$L = Object.defineProperty;
5297
- var __decorateClass$S = (decorators, target, key, kind) => {
5327
+ var __defProp$K = Object.defineProperty;
5328
+ var __decorateClass$R = (decorators, target, key, kind) => {
5298
5329
  var result = void 0 ;
5299
5330
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
5300
5331
  if (decorator = decorators[i])
5301
5332
  result = (decorator(target, key, result) ) || result;
5302
- if (result) __defProp$L(target, key, result);
5333
+ if (result) __defProp$K(target, key, result);
5303
5334
  return result;
5304
5335
  };
5305
5336
  function resolveOptions(options) {
@@ -5543,11 +5574,11 @@ const _VideoTexture = class _VideoTexture extends Texture2D {
5543
5574
  }
5544
5575
  }
5545
5576
  };
5546
- __decorateClass$S([
5547
- protectedProperty({ default: true })
5577
+ __decorateClass$R([
5578
+ property({ protected: true, fallback: true })
5548
5579
  ], _VideoTexture.prototype, "autoUpdate");
5549
- __decorateClass$S([
5550
- protectedProperty({ default: 0 })
5580
+ __decorateClass$R([
5581
+ property({ protected: true, fallback: 0 })
5551
5582
  ], _VideoTexture.prototype, "fps");
5552
5583
  let VideoTexture = _VideoTexture;
5553
5584
 
@@ -5605,22 +5636,22 @@ class Children extends Array {
5605
5636
  }
5606
5637
  }
5607
5638
 
5608
- var __defProp$K = Object.defineProperty;
5609
- var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
5610
- var __decorateClass$R = (decorators, target, key, kind) => {
5611
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
5639
+ var __defProp$J = Object.defineProperty;
5640
+ var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
5641
+ var __decorateClass$Q = (decorators, target, key, kind) => {
5642
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
5612
5643
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
5613
5644
  if (decorator = decorators[i])
5614
5645
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
5615
- if (kind && result) __defProp$K(target, key, result);
5646
+ if (kind && result) __defProp$J(target, key, result);
5616
5647
  return result;
5617
5648
  };
5618
- const tagUidMap = {};
5619
- function getTagUid(tag) {
5620
- let uid = tagUidMap[tag] ?? 0;
5621
- uid++;
5622
- tagUidMap[tag] = uid;
5623
- return uid;
5649
+ const iidMap = {};
5650
+ function getNodeIid(key) {
5651
+ let iid = iidMap[key] ?? 0;
5652
+ iid++;
5653
+ iidMap[key] = iid;
5654
+ return iid;
5624
5655
  }
5625
5656
  let Node = class extends CoreObject {
5626
5657
  _readyed = false;
@@ -5633,7 +5664,7 @@ let Node = class extends CoreObject {
5633
5664
  this._onReady = this._onReady.bind(this);
5634
5665
  this._onProcess = this._onProcess.bind(this);
5635
5666
  this.setProperties({
5636
- name: `${this.tag}:${getTagUid(this.tag)}`,
5667
+ name: `${this.is}:${getNodeIid(this.is)}`,
5637
5668
  ...properties
5638
5669
  }).append(nodes);
5639
5670
  this.on("treeEnter", this._onTreeEnter).on("treeExit", this._onTreeExit).on("parented", this._onParented).on("unparented", this._onUnparented).on("ready", this._onReady).on("process", this._onProcess);
@@ -5683,7 +5714,7 @@ let Node = class extends CoreObject {
5683
5714
  }
5684
5715
  setTree(tree) {
5685
5716
  const oldTree = this._tree;
5686
- if (!tree?.is(oldTree)) {
5717
+ if (!tree?.equal(oldTree)) {
5687
5718
  if (oldTree) {
5688
5719
  this.emit("treeExit", oldTree);
5689
5720
  }
@@ -5723,7 +5754,7 @@ let Node = class extends CoreObject {
5723
5754
  return this._parent;
5724
5755
  }
5725
5756
  setParent(parent) {
5726
- if (!this._parent?.is(parent)) {
5757
+ if (!this._parent?.equal(parent)) {
5727
5758
  const oldParent = this._parent;
5728
5759
  if (oldParent) {
5729
5760
  this.emit("unparented", oldParent);
@@ -5899,7 +5930,7 @@ let Node = class extends CoreObject {
5899
5930
  this.getNode(path)?.remove();
5900
5931
  }
5901
5932
  addSibling(sibling) {
5902
- if (this.is(sibling) || !this.hasParent() || sibling.hasParent()) {
5933
+ if (this.equal(sibling) || !this.hasParent() || sibling.hasParent()) {
5903
5934
  return this;
5904
5935
  }
5905
5936
  sibling.internalMode = this.internalMode;
@@ -5951,14 +5982,14 @@ let Node = class extends CoreObject {
5951
5982
  });
5952
5983
  }
5953
5984
  insertBefore(node, child) {
5954
- if (!child.hasParent() || !this.is(child.parent)) {
5985
+ if (!child.hasParent() || !this.equal(child.parent)) {
5955
5986
  return node;
5956
5987
  }
5957
5988
  this.moveChild(node, child.getIndex());
5958
5989
  return node;
5959
5990
  }
5960
5991
  appendChild(node, internalMode = node.internalMode) {
5961
- if (this.is(node) || node.hasParent()) {
5992
+ if (this.equal(node) || node.hasParent()) {
5962
5993
  return node;
5963
5994
  }
5964
5995
  switch (internalMode) {
@@ -5978,7 +6009,7 @@ let Node = class extends CoreObject {
5978
6009
  return node;
5979
6010
  }
5980
6011
  moveChild(node, toIndex, internalMode = node.internalMode) {
5981
- if (this.is(node) || node.hasParent() && !this.is(node.parent)) {
6012
+ if (this.equal(node) || node.hasParent() && !this.equal(node.parent)) {
5982
6013
  return this;
5983
6014
  }
5984
6015
  const fromArray = this._children.getInternal(node.internalMode);
@@ -6005,7 +6036,7 @@ let Node = class extends CoreObject {
6005
6036
  }
6006
6037
  removeChild(child) {
6007
6038
  const index = child.getIndex();
6008
- if (this.is(child.parent) && index > -1) {
6039
+ if (this.equal(child.parent) && index > -1) {
6009
6040
  this._children.getInternal(child.internalMode).splice(index, 1);
6010
6041
  child.setParent(void 0);
6011
6042
  this.emit("removeChild", child, index);
@@ -6063,61 +6094,64 @@ let Node = class extends CoreObject {
6063
6094
  }
6064
6095
  clone() {
6065
6096
  return new this.constructor(
6066
- this.toJSON().props,
6097
+ this.toPropsJSON(),
6067
6098
  this._children.internal
6068
6099
  );
6069
6100
  }
6070
6101
  toJSON() {
6071
6102
  return {
6072
- tag: this.tag,
6073
- props: super.toJSON(),
6103
+ ...super.toJSON(),
6104
+ is: this.is,
6074
6105
  children: [...this._children.map((child) => child.toJSON())]
6075
6106
  };
6076
6107
  }
6077
- static parse(JSON) {
6078
- if (Array.isArray(JSON)) {
6079
- return JSON.map((val) => this.parse(val));
6108
+ static parse(value) {
6109
+ if (Array.isArray(value)) {
6110
+ return value.map((val) => this.parse(val));
6080
6111
  }
6081
- const { tag, props, children } = JSON;
6082
- const NodeClass = customNodes.get(tag) ?? Node;
6083
- const node = new NodeClass(props);
6112
+ const { is, props, children } = value;
6113
+ const Class = customNodes.get(is) ?? Node;
6114
+ const node = new Class(props);
6084
6115
  children?.forEach((child) => node.appendChild(this.parse(child)));
6085
6116
  return node;
6086
6117
  }
6087
6118
  };
6088
- __decorateClass$R([
6089
- property()
6119
+ __decorateClass$Q([
6120
+ property({ fallback: idGenerator() })
6121
+ ], Node.prototype, "id", 2);
6122
+ __decorateClass$Q([
6123
+ property({ fallback: idGenerator() })
6090
6124
  ], Node.prototype, "name", 2);
6091
- __decorateClass$R([
6092
- property()
6093
- ], Node.prototype, "mask", 2);
6094
- __decorateClass$R([
6095
- property({ default: "inherit" })
6125
+ __decorateClass$Q([
6126
+ property({ fallback: "inherit" })
6096
6127
  ], Node.prototype, "processMode", 2);
6097
- __decorateClass$R([
6098
- property({ default: "default" })
6128
+ __decorateClass$Q([
6129
+ property({ fallback: "default" })
6099
6130
  ], Node.prototype, "processSortMode", 2);
6100
- __decorateClass$R([
6101
- property({ default: "inherit" })
6131
+ __decorateClass$Q([
6132
+ property({ fallback: "inherit" })
6102
6133
  ], Node.prototype, "renderMode", 2);
6103
- __decorateClass$R([
6104
- property({ default: "default" })
6134
+ __decorateClass$Q([
6135
+ property({ fallback: "default" })
6105
6136
  ], Node.prototype, "internalMode", 2);
6106
- __decorateClass$R([
6137
+ __decorateClass$Q([
6107
6138
  property({ default: () => ({}) })
6108
6139
  ], Node.prototype, "meta", 2);
6109
- Node = __decorateClass$R([
6140
+ __decorateClass$Q([
6141
+ property({ protected: true })
6142
+ ], Node.prototype, "mask", 2);
6143
+ Node = __decorateClass$Q([
6110
6144
  customNode("Node")
6111
6145
  ], Node);
6112
6146
 
6113
- var __defProp$J = Object.defineProperty;
6114
- var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
6115
- var __decorateClass$Q = (decorators, target, key, kind) => {
6116
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
6147
+ var __defProp$I = Object.defineProperty;
6148
+ var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
6149
+ var __decorateClass$P = (decorators, target, key, kind) => {
6150
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
6117
6151
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6118
6152
  if (decorator = decorators[i])
6119
6153
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6120
- if (kind && result) __defProp$J(target, key, result);
6154
+ if (kind && result) __defProp$I(target, key, result);
6121
6155
  return result;
6122
6156
  };
6123
6157
  let TimelineNode = class extends Node {
@@ -6177,30 +6211,30 @@ let TimelineNode = class extends Node {
6177
6211
  this._updateCurrentTime();
6178
6212
  }
6179
6213
  };
6180
- __decorateClass$Q([
6181
- property({ default: 0 })
6214
+ __decorateClass$P([
6215
+ property({ fallback: 0 })
6182
6216
  ], TimelineNode.prototype, "delay", 2);
6183
- __decorateClass$Q([
6184
- property({ default: 0 })
6217
+ __decorateClass$P([
6218
+ property({ fallback: 0 })
6185
6219
  ], TimelineNode.prototype, "duration", 2);
6186
- __decorateClass$Q([
6187
- property({ default: false })
6220
+ __decorateClass$P([
6221
+ property({ fallback: false })
6188
6222
  ], TimelineNode.prototype, "paused", 2);
6189
- __decorateClass$Q([
6190
- protectedProperty()
6223
+ __decorateClass$P([
6224
+ property({ protected: true, fallback: false })
6191
6225
  ], TimelineNode.prototype, "insideTimeRange", 2);
6192
- TimelineNode = __decorateClass$Q([
6226
+ TimelineNode = __decorateClass$P([
6193
6227
  customNode("TimelineNode")
6194
6228
  ], TimelineNode);
6195
6229
 
6196
- var __defProp$I = Object.defineProperty;
6197
- var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
6198
- var __decorateClass$P = (decorators, target, key, kind) => {
6199
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
6230
+ var __defProp$H = Object.defineProperty;
6231
+ var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
6232
+ var __decorateClass$O = (decorators, target, key, kind) => {
6233
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
6200
6234
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6201
6235
  if (decorator = decorators[i])
6202
6236
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6203
- if (kind && result) __defProp$I(target, key, result);
6237
+ if (kind && result) __defProp$H(target, key, result);
6204
6238
  return result;
6205
6239
  };
6206
6240
  let Viewport = class extends Node {
@@ -6209,15 +6243,15 @@ let Viewport = class extends Node {
6209
6243
  this.flipY = flipY;
6210
6244
  this._projection.flipY(flipY);
6211
6245
  }
6212
- get valid() {
6213
- return Boolean(this.width && this.height);
6214
- }
6215
6246
  _projection = new Projection2D();
6216
6247
  _framebufferIndex = 0;
6217
6248
  _framebuffers = [
6218
6249
  { texture: new ViewportTexture(), needsUpload: false },
6219
6250
  { texture: new ViewportTexture(), needsUpload: false }
6220
6251
  ];
6252
+ get valid() {
6253
+ return Boolean(this.width && this.height);
6254
+ }
6221
6255
  get framebuffer() {
6222
6256
  return this._framebuffers[this._framebufferIndex];
6223
6257
  }
@@ -6338,33 +6372,34 @@ let Viewport = class extends Node {
6338
6372
  return this._projection.toArray(transpose);
6339
6373
  }
6340
6374
  };
6341
- __decorateClass$P([
6342
- property({ default: 0 })
6375
+ __decorateClass$O([
6376
+ property({ fallback: 0 })
6343
6377
  ], Viewport.prototype, "x", 2);
6344
- __decorateClass$P([
6345
- property({ default: 0 })
6378
+ __decorateClass$O([
6379
+ property({ fallback: 0 })
6346
6380
  ], Viewport.prototype, "y", 2);
6347
- __decorateClass$P([
6348
- property({ default: 0 })
6381
+ __decorateClass$O([
6382
+ property({ fallback: 0 })
6349
6383
  ], Viewport.prototype, "width", 2);
6350
- __decorateClass$P([
6351
- property({ default: 0 })
6384
+ __decorateClass$O([
6385
+ property({ fallback: 0 })
6352
6386
  ], Viewport.prototype, "height", 2);
6353
- Viewport = __decorateClass$P([
6387
+ Viewport = __decorateClass$O([
6354
6388
  customNode("Viewport")
6355
6389
  ], Viewport);
6356
6390
 
6357
- var __defProp$H = Object.defineProperty;
6358
- var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
6359
- var __decorateClass$O = (decorators, target, key, kind) => {
6360
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
6391
+ var __defProp$G = Object.defineProperty;
6392
+ var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
6393
+ var __decorateClass$N = (decorators, target, key, kind) => {
6394
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
6361
6395
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6362
6396
  if (decorator = decorators[i])
6363
6397
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6364
- if (kind && result) __defProp$H(target, key, result);
6398
+ if (kind && result) __defProp$G(target, key, result);
6365
6399
  return result;
6366
6400
  };
6367
6401
  let Effect = class extends TimelineNode {
6402
+ material;
6368
6403
  get _effectMode() {
6369
6404
  return this.effectMode ?? "parent";
6370
6405
  }
@@ -6441,10 +6476,10 @@ let Effect = class extends TimelineNode {
6441
6476
  return;
6442
6477
  switch (this._effectMode) {
6443
6478
  case "transition":
6444
- if (node.is(this._previousSibling)) {
6479
+ if (node.equal(this._previousSibling)) {
6445
6480
  this._previousSibling = void 0;
6446
6481
  renderStack.push(this);
6447
- } else if (node.is(this._nextSibling)) {
6482
+ } else if (node.equal(this._nextSibling)) {
6448
6483
  this._nextSibling = void 0;
6449
6484
  renderStack.push(this);
6450
6485
  }
@@ -6462,7 +6497,7 @@ let Effect = class extends TimelineNode {
6462
6497
  let start;
6463
6498
  let end;
6464
6499
  calls.forEach((call, index) => {
6465
- if (call.renderable.is(this._parent) || call.renderable.parent?.is(this._parent)) {
6500
+ if (call.renderable.equal(this._parent) || call.renderable.parent?.equal(this._parent)) {
6466
6501
  start = start ?? index;
6467
6502
  end = index;
6468
6503
  }
@@ -6602,31 +6637,31 @@ let Effect = class extends TimelineNode {
6602
6637
  }
6603
6638
  }
6604
6639
  };
6605
- __decorateClass$O([
6606
- protectedProperty()
6640
+ __decorateClass$N([
6641
+ property({ protected: true })
6607
6642
  ], Effect.prototype, "material", 2);
6608
- __decorateClass$O([
6643
+ __decorateClass$N([
6609
6644
  property()
6610
6645
  ], Effect.prototype, "effectMode", 2);
6611
- __decorateClass$O([
6612
- property({ default: "" })
6646
+ __decorateClass$N([
6647
+ property()
6613
6648
  ], Effect.prototype, "glsl", 2);
6614
- __decorateClass$O([
6615
- property({ default: "" })
6649
+ __decorateClass$N([
6650
+ property()
6616
6651
  ], Effect.prototype, "glslSrc", 2);
6617
- Effect = __decorateClass$O([
6652
+ Effect = __decorateClass$N([
6618
6653
  customNode("Effect")
6619
6654
  ], Effect);
6620
6655
 
6621
- var __defProp$G = Object.defineProperty;
6622
- var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
6623
- var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$G(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6624
- var __decorateClass$N = (decorators, target, key, kind) => {
6625
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
6656
+ var __defProp$F = Object.defineProperty;
6657
+ var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
6658
+ var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$F(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6659
+ var __decorateClass$M = (decorators, target, key, kind) => {
6660
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
6626
6661
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6627
6662
  if (decorator = decorators[i])
6628
6663
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6629
- if (kind && result) __defProp$G(target, key, result);
6664
+ if (kind && result) __defProp$F(target, key, result);
6630
6665
  return result;
6631
6666
  };
6632
6667
  var __publicField$i = (obj, key, value) => __defNormalProp$i(obj, key + "" , value);
@@ -6686,43 +6721,43 @@ void main(void) {
6686
6721
  gl_FragColor = c * alpha;
6687
6722
  }`
6688
6723
  }));
6689
- __decorateClass$N([
6690
- property({ default: 1 })
6724
+ __decorateClass$M([
6725
+ property()
6691
6726
  ], ColorAdjustEffect.prototype, "saturation", 2);
6692
- __decorateClass$N([
6693
- property({ default: 1 })
6727
+ __decorateClass$M([
6728
+ property()
6694
6729
  ], ColorAdjustEffect.prototype, "contrast", 2);
6695
- __decorateClass$N([
6696
- property({ default: 1 })
6730
+ __decorateClass$M([
6731
+ property()
6697
6732
  ], ColorAdjustEffect.prototype, "brightness", 2);
6698
- __decorateClass$N([
6699
- property({ default: 1 })
6733
+ __decorateClass$M([
6734
+ property()
6700
6735
  ], ColorAdjustEffect.prototype, "red", 2);
6701
- __decorateClass$N([
6702
- property({ default: 1 })
6736
+ __decorateClass$M([
6737
+ property()
6703
6738
  ], ColorAdjustEffect.prototype, "green", 2);
6704
- __decorateClass$N([
6705
- property({ default: 1 })
6739
+ __decorateClass$M([
6740
+ property()
6706
6741
  ], ColorAdjustEffect.prototype, "blue", 2);
6707
- __decorateClass$N([
6708
- property({ default: 1 })
6742
+ __decorateClass$M([
6743
+ property()
6709
6744
  ], ColorAdjustEffect.prototype, "alpha", 2);
6710
- __decorateClass$N([
6711
- property({ default: 1 })
6745
+ __decorateClass$M([
6746
+ property()
6712
6747
  ], ColorAdjustEffect.prototype, "gamma", 2);
6713
- ColorAdjustEffect = __decorateClass$N([
6748
+ ColorAdjustEffect = __decorateClass$M([
6714
6749
  customNode("ColorAdjustEffect")
6715
6750
  ], ColorAdjustEffect);
6716
6751
 
6717
- var __defProp$F = Object.defineProperty;
6718
- var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
6719
- var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$F(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6720
- var __decorateClass$M = (decorators, target, key, kind) => {
6721
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
6752
+ var __defProp$E = Object.defineProperty;
6753
+ var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
6754
+ var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$E(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6755
+ var __decorateClass$L = (decorators, target, key, kind) => {
6756
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
6722
6757
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6723
6758
  if (decorator = decorators[i])
6724
6759
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6725
- if (kind && result) __defProp$F(target, key, result);
6760
+ if (kind && result) __defProp$E(target, key, result);
6726
6761
  return result;
6727
6762
  };
6728
6763
  var __publicField$h = (obj, key, value) => __defNormalProp$h(obj, key + "" , value);
@@ -6802,22 +6837,22 @@ void main(void) {
6802
6837
  );
6803
6838
  }`
6804
6839
  }));
6805
- __decorateClass$M([
6840
+ __decorateClass$L([
6806
6841
  property()
6807
6842
  ], ColorFilterEffect.prototype, "filter", 2);
6808
- ColorFilterEffect = __decorateClass$M([
6843
+ ColorFilterEffect = __decorateClass$L([
6809
6844
  customNode("ColorFilterEffect")
6810
6845
  ], ColorFilterEffect);
6811
6846
 
6812
- var __defProp$E = Object.defineProperty;
6813
- var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
6814
- var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$E(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6815
- var __decorateClass$L = (decorators, target, key, kind) => {
6816
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
6847
+ var __defProp$D = Object.defineProperty;
6848
+ var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
6849
+ var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$D(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6850
+ var __decorateClass$K = (decorators, target, key, kind) => {
6851
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
6817
6852
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6818
6853
  if (decorator = decorators[i])
6819
6854
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6820
- if (kind && result) __defProp$E(target, key, result);
6855
+ if (kind && result) __defProp$D(target, key, result);
6821
6856
  return result;
6822
6857
  };
6823
6858
  var __publicField$g = (obj, key, value) => __defNormalProp$g(obj, key + "" , value);
@@ -6893,25 +6928,25 @@ void main(void) {
6893
6928
  gl_FragColor = vec4(mix(color.rgb, mask.rgb, color.a * mask.a), color.a);
6894
6929
  }`
6895
6930
  }));
6896
- __decorateClass$L([
6897
- property({ default: () => [] })
6931
+ __decorateClass$K([
6932
+ property()
6898
6933
  ], ColorOverlayEffect.prototype, "colors", 2);
6899
- __decorateClass$L([
6900
- property({ default: 0.5 })
6934
+ __decorateClass$K([
6935
+ property()
6901
6936
  ], ColorOverlayEffect.prototype, "alpha", 2);
6902
- ColorOverlayEffect = __decorateClass$L([
6937
+ ColorOverlayEffect = __decorateClass$K([
6903
6938
  customNode("ColorOverlayEffect")
6904
6939
  ], ColorOverlayEffect);
6905
6940
 
6906
- var __defProp$D = Object.defineProperty;
6907
- var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
6908
- var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$D(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6909
- var __decorateClass$K = (decorators, target, key, kind) => {
6910
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
6941
+ var __defProp$C = Object.defineProperty;
6942
+ var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
6943
+ var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$C(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6944
+ var __decorateClass$J = (decorators, target, key, kind) => {
6945
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
6911
6946
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6912
6947
  if (decorator = decorators[i])
6913
6948
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6914
- if (kind && result) __defProp$D(target, key, result);
6949
+ if (kind && result) __defProp$C(target, key, result);
6915
6950
  return result;
6916
6951
  };
6917
6952
  var __publicField$f = (obj, key, value) => __defNormalProp$f(obj, key + "" , value);
@@ -6978,25 +7013,25 @@ void main(void) {
6978
7013
  gl_FragColor = color;
6979
7014
  }`
6980
7015
  }));
6981
- __decorateClass$K([
6982
- property({ default: () => [] })
7016
+ __decorateClass$J([
7017
+ property()
6983
7018
  ], ColorRemoveEffect.prototype, "colors", 2);
6984
- __decorateClass$K([
6985
- property({ default: 0.5 })
7019
+ __decorateClass$J([
7020
+ property()
6986
7021
  ], ColorRemoveEffect.prototype, "epsilon", 2);
6987
- ColorRemoveEffect = __decorateClass$K([
7022
+ ColorRemoveEffect = __decorateClass$J([
6988
7023
  customNode("ColorRemoveEffect")
6989
7024
  ], ColorRemoveEffect);
6990
7025
 
6991
- var __defProp$C = Object.defineProperty;
6992
- var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
6993
- var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$C(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6994
- var __decorateClass$J = (decorators, target, key, kind) => {
6995
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
7026
+ var __defProp$B = Object.defineProperty;
7027
+ var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
7028
+ var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$B(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7029
+ var __decorateClass$I = (decorators, target, key, kind) => {
7030
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
6996
7031
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
6997
7032
  if (decorator = decorators[i])
6998
7033
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
6999
- if (kind && result) __defProp$C(target, key, result);
7034
+ if (kind && result) __defProp$B(target, key, result);
7000
7035
  return result;
7001
7036
  };
7002
7037
  var __publicField$e = (obj, key, value) => __defNormalProp$e(obj, key + "" , value);
@@ -7085,13 +7120,13 @@ void main(void) {
7085
7120
  }
7086
7121
  }`
7087
7122
  }));
7088
- __decorateClass$J([
7089
- property({ default: [] })
7123
+ __decorateClass$I([
7124
+ property()
7090
7125
  ], ColorReplaceEffect.prototype, "colors", 2);
7091
- __decorateClass$J([
7092
- property({ default: 0.05 })
7126
+ __decorateClass$I([
7127
+ property()
7093
7128
  ], ColorReplaceEffect.prototype, "epsilon", 2);
7094
- ColorReplaceEffect = __decorateClass$J([
7129
+ ColorReplaceEffect = __decorateClass$I([
7095
7130
  customNode("ColorReplaceEffect")
7096
7131
  ], ColorReplaceEffect);
7097
7132
 
@@ -7246,14 +7281,14 @@ class CanvasContext extends Path2D {
7246
7281
  }
7247
7282
  }
7248
7283
 
7249
- var __defProp$B = Object.defineProperty;
7250
- var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
7251
- var __decorateClass$I = (decorators, target, key, kind) => {
7252
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
7284
+ var __defProp$A = Object.defineProperty;
7285
+ var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
7286
+ var __decorateClass$H = (decorators, target, key, kind) => {
7287
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
7253
7288
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7254
7289
  if (decorator = decorators[i])
7255
7290
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7256
- if (kind && result) __defProp$B(target, key, result);
7291
+ if (kind && result) __defProp$A(target, key, result);
7257
7292
  return result;
7258
7293
  };
7259
7294
  let CanvasItem = class extends TimelineNode {
@@ -7271,7 +7306,7 @@ let CanvasItem = class extends TimelineNode {
7271
7306
  // Batch render
7272
7307
  context = new CanvasContext();
7273
7308
  _resetContext = true;
7274
- _redrawing = false;
7309
+ _redrawing = true;
7275
7310
  _relayouting = false;
7276
7311
  _repainting = false;
7277
7312
  _originalBatchables = [];
@@ -7340,16 +7375,16 @@ let CanvasItem = class extends TimelineNode {
7340
7375
  this.emit("draw");
7341
7376
  }
7342
7377
  _redraw() {
7343
- this._tree?.log(this.name, "redrawing");
7378
+ this._tree?.log(this.name, "drawing");
7344
7379
  this._draw();
7345
7380
  return this.context.toBatchables();
7346
7381
  }
7347
7382
  _relayout(batchables) {
7348
- this._tree?.log(this.name, "relayouting");
7383
+ this._tree?.log(this.name, "layouting");
7349
7384
  return batchables;
7350
7385
  }
7351
7386
  _repaint(batchables) {
7352
- this._tree?.log(this.name, "repainting");
7387
+ this._tree?.log(this.name, "painting");
7353
7388
  return batchables.map((batchable) => {
7354
7389
  return {
7355
7390
  ...batchable,
@@ -7415,19 +7450,19 @@ let CanvasItem = class extends TimelineNode {
7415
7450
  super._render(renderer);
7416
7451
  }
7417
7452
  };
7418
- __decorateClass$I([
7453
+ __decorateClass$H([
7419
7454
  property()
7420
7455
  ], CanvasItem.prototype, "modulate", 2);
7421
- __decorateClass$I([
7456
+ __decorateClass$H([
7422
7457
  property()
7423
7458
  ], CanvasItem.prototype, "blendMode", 2);
7424
- __decorateClass$I([
7425
- protectedProperty({ default: true })
7459
+ __decorateClass$H([
7460
+ property({ protected: true, fallback: true })
7426
7461
  ], CanvasItem.prototype, "visible", 2);
7427
- __decorateClass$I([
7428
- protectedProperty({ default: 1 })
7462
+ __decorateClass$H([
7463
+ property({ protected: true, fallback: 1 })
7429
7464
  ], CanvasItem.prototype, "opacity", 2);
7430
- CanvasItem = __decorateClass$I([
7465
+ CanvasItem = __decorateClass$H([
7431
7466
  customNode("CanvasItem")
7432
7467
  ], CanvasItem);
7433
7468
 
@@ -7457,14 +7492,14 @@ class RenderStack {
7457
7492
  }
7458
7493
  }
7459
7494
 
7460
- var __defProp$A = Object.defineProperty;
7461
- var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
7462
- var __decorateClass$H = (decorators, target, key, kind) => {
7463
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
7495
+ var __defProp$z = Object.defineProperty;
7496
+ var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
7497
+ var __decorateClass$G = (decorators, target, key, kind) => {
7498
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
7464
7499
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7465
7500
  if (decorator = decorators[i])
7466
7501
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7467
- if (kind && result) __defProp$A(target, key, result);
7502
+ if (kind && result) __defProp$z(target, key, result);
7468
7503
  return result;
7469
7504
  };
7470
7505
  let Timeline = class extends Node {
@@ -7509,29 +7544,29 @@ let Timeline = class extends Node {
7509
7544
  this.addTime(delta);
7510
7545
  }
7511
7546
  };
7512
- __decorateClass$H([
7513
- property({ default: 0 })
7547
+ __decorateClass$G([
7548
+ property({ fallback: 0 })
7514
7549
  ], Timeline.prototype, "startTime", 2);
7515
- __decorateClass$H([
7516
- property({ default: 0 })
7550
+ __decorateClass$G([
7551
+ property({ fallback: 0 })
7517
7552
  ], Timeline.prototype, "currentTime", 2);
7518
- __decorateClass$H([
7519
- property({ default: Number.MAX_SAFE_INTEGER })
7553
+ __decorateClass$G([
7554
+ property({ fallback: Number.MAX_SAFE_INTEGER })
7520
7555
  ], Timeline.prototype, "endTime", 2);
7521
- __decorateClass$H([
7522
- property({ default: false })
7556
+ __decorateClass$G([
7557
+ property({ fallback: false })
7523
7558
  ], Timeline.prototype, "loop", 2);
7524
- Timeline = __decorateClass$H([
7559
+ Timeline = __decorateClass$G([
7525
7560
  customNode("Timeline")
7526
7561
  ], Timeline);
7527
7562
 
7528
- var __defProp$z = Object.defineProperty;
7529
- var __decorateClass$G = (decorators, target, key, kind) => {
7563
+ var __defProp$y = Object.defineProperty;
7564
+ var __decorateClass$F = (decorators, target, key, kind) => {
7530
7565
  var result = void 0 ;
7531
7566
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7532
7567
  if (decorator = decorators[i])
7533
7568
  result = (decorator(target, key, result) ) || result;
7534
- if (result) __defProp$z(target, key, result);
7569
+ if (result) __defProp$y(target, key, result);
7535
7570
  return result;
7536
7571
  };
7537
7572
  class SceneTree extends MainLoop {
@@ -7539,6 +7574,7 @@ class SceneTree extends MainLoop {
7539
7574
  renderStack = new RenderStack();
7540
7575
  root = new Viewport(true).setTree(this);
7541
7576
  timeline;
7577
+ nodes = /* @__PURE__ */ new Map();
7542
7578
  _backgroundColor = new Color();
7543
7579
  _currentViewport;
7544
7580
  getCurrentViewport() {
@@ -7604,19 +7640,19 @@ class SceneTree extends MainLoop {
7604
7640
  this.input.removeEventListeners();
7605
7641
  }
7606
7642
  }
7607
- __decorateClass$G([
7608
- property({ default: false })
7643
+ __decorateClass$F([
7644
+ property({ fallback: false })
7609
7645
  ], SceneTree.prototype, "processPaused");
7610
- __decorateClass$G([
7646
+ __decorateClass$F([
7611
7647
  property()
7612
7648
  ], SceneTree.prototype, "backgroundColor");
7613
- __decorateClass$G([
7614
- protectedProperty({ default: false })
7649
+ __decorateClass$F([
7650
+ property({ protected: true, fallback: false })
7615
7651
  ], SceneTree.prototype, "debug");
7616
7652
 
7617
- var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
7618
- var __decorateClass$F = (decorators, target, key, kind) => {
7619
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
7653
+ var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
7654
+ var __decorateClass$E = (decorators, target, key, kind) => {
7655
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
7620
7656
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7621
7657
  if (decorator = decorators[i])
7622
7658
  result = (decorator(result)) || result;
@@ -7628,7 +7664,7 @@ let Transition = class extends Effect {
7628
7664
  this.setProperties(properties).append(children);
7629
7665
  }
7630
7666
  };
7631
- Transition = __decorateClass$F([
7667
+ Transition = __decorateClass$E([
7632
7668
  customNode("Transition", {
7633
7669
  effectMode: "transition",
7634
7670
  processMode: "pausable",
@@ -7636,15 +7672,15 @@ Transition = __decorateClass$F([
7636
7672
  })
7637
7673
  ], Transition);
7638
7674
 
7639
- var __defProp$y = Object.defineProperty;
7640
- var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
7641
- var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$y(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7642
- var __decorateClass$E = (decorators, target, key, kind) => {
7643
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
7675
+ var __defProp$x = Object.defineProperty;
7676
+ var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
7677
+ var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7678
+ var __decorateClass$D = (decorators, target, key, kind) => {
7679
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
7644
7680
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7645
7681
  if (decorator = decorators[i])
7646
7682
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7647
- if (kind && result) __defProp$y(target, key, result);
7683
+ if (kind && result) __defProp$x(target, key, result);
7648
7684
  return result;
7649
7685
  };
7650
7686
  var __publicField$d = (obj, key, value) => __defNormalProp$d(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -7750,25 +7786,25 @@ void main(void) {
7750
7786
  }`,
7751
7787
  frag: frag$2
7752
7788
  }));
7753
- __decorateClass$E([
7789
+ __decorateClass$D([
7754
7790
  property({ default: 4 })
7755
7791
  ], GaussianBlurEffect.prototype, "strength", 2);
7756
- __decorateClass$E([
7792
+ __decorateClass$D([
7757
7793
  property({ default: 3 })
7758
7794
  ], GaussianBlurEffect.prototype, "quality", 2);
7759
- GaussianBlurEffect = __decorateClass$E([
7795
+ GaussianBlurEffect = __decorateClass$D([
7760
7796
  customNode("GaussianBlurEffect")
7761
7797
  ], GaussianBlurEffect);
7762
7798
 
7763
- var __defProp$x = Object.defineProperty;
7764
- var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
7765
- var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7766
- var __decorateClass$D = (decorators, target, key, kind) => {
7767
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
7799
+ var __defProp$w = Object.defineProperty;
7800
+ var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
7801
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$w(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7802
+ var __decorateClass$C = (decorators, target, key, kind) => {
7803
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
7768
7804
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7769
7805
  if (decorator = decorators[i])
7770
7806
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7771
- if (kind && result) __defProp$x(target, key, result);
7807
+ if (kind && result) __defProp$w(target, key, result);
7772
7808
  return result;
7773
7809
  };
7774
7810
  var __publicField$c = (obj, key, value) => __defNormalProp$c(obj, key + "" , value);
@@ -7832,34 +7868,34 @@ void main(void) {
7832
7868
  gl_FragColor = sample;
7833
7869
  }`
7834
7870
  }));
7835
- __decorateClass$D([
7836
- property({ default: 0 })
7871
+ __decorateClass$C([
7872
+ property()
7837
7873
  ], DropShadowEffect.prototype, "color", 2);
7838
- __decorateClass$D([
7839
- property({ default: 4 })
7874
+ __decorateClass$C([
7875
+ property()
7840
7876
  ], DropShadowEffect.prototype, "blur", 2);
7841
- __decorateClass$D([
7842
- property({ default: 4 })
7877
+ __decorateClass$C([
7878
+ property()
7843
7879
  ], DropShadowEffect.prototype, "offsetX", 2);
7844
- __decorateClass$D([
7845
- property({ default: 4 })
7880
+ __decorateClass$C([
7881
+ property()
7846
7882
  ], DropShadowEffect.prototype, "offsetY", 2);
7847
- __decorateClass$D([
7848
- property({ default: false })
7883
+ __decorateClass$C([
7884
+ property()
7849
7885
  ], DropShadowEffect.prototype, "shadowOnly", 2);
7850
- DropShadowEffect = __decorateClass$D([
7886
+ DropShadowEffect = __decorateClass$C([
7851
7887
  customNode("DropShadowEffect")
7852
7888
  ], DropShadowEffect);
7853
7889
 
7854
- var __defProp$w = Object.defineProperty;
7855
- var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
7856
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$w(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7857
- var __decorateClass$C = (decorators, target, key, kind) => {
7858
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
7890
+ var __defProp$v = Object.defineProperty;
7891
+ var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
7892
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$v(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7893
+ var __decorateClass$B = (decorators, target, key, kind) => {
7894
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
7859
7895
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7860
7896
  if (decorator = decorators[i])
7861
7897
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7862
- if (kind && result) __defProp$w(target, key, result);
7898
+ if (kind && result) __defProp$v(target, key, result);
7863
7899
  return result;
7864
7900
  };
7865
7901
  var __publicField$b = (obj, key, value) => __defNormalProp$b(obj, key + "" , value);
@@ -7904,22 +7940,22 @@ void main(void) {
7904
7940
  gl_FragColor = vec4(color.rgb * alpha, alpha);
7905
7941
  }`
7906
7942
  }));
7907
- __decorateClass$C([
7908
- property({ default: 5 })
7943
+ __decorateClass$B([
7944
+ property()
7909
7945
  ], EmbossEffect.prototype, "strength", 2);
7910
- EmbossEffect = __decorateClass$C([
7946
+ EmbossEffect = __decorateClass$B([
7911
7947
  customNode("EmbossEffect")
7912
7948
  ], EmbossEffect);
7913
7949
 
7914
- var __defProp$v = Object.defineProperty;
7915
- var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
7916
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$v(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7917
- var __decorateClass$B = (decorators, target, key, kind) => {
7918
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
7950
+ var __defProp$u = Object.defineProperty;
7951
+ var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
7952
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$u(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7953
+ var __decorateClass$A = (decorators, target, key, kind) => {
7954
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
7919
7955
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
7920
7956
  if (decorator = decorators[i])
7921
7957
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
7922
- if (kind && result) __defProp$v(target, key, result);
7958
+ if (kind && result) __defProp$u(target, key, result);
7923
7959
  return result;
7924
7960
  };
7925
7961
  var __publicField$a = (obj, key, value) => __defNormalProp$a(obj, key + "" , value);
@@ -8093,46 +8129,46 @@ void main(void) {
8093
8129
  gl_FragColor.a = texture2D(sampler, coord).a;
8094
8130
  }`
8095
8131
  }));
8096
- __decorateClass$B([
8097
- property({ default: 10 })
8132
+ __decorateClass$A([
8133
+ property()
8098
8134
  ], GlitchEffect.prototype, "slices", 2);
8099
- __decorateClass$B([
8100
- property({ default: 512 })
8135
+ __decorateClass$A([
8136
+ property()
8101
8137
  ], GlitchEffect.prototype, "sampleSize", 2);
8102
- __decorateClass$B([
8103
- property({ default: 100 })
8138
+ __decorateClass$A([
8139
+ property()
8104
8140
  ], GlitchEffect.prototype, "offset", 2);
8105
- __decorateClass$B([
8106
- property({ default: 0 })
8141
+ __decorateClass$A([
8142
+ property()
8107
8143
  ], GlitchEffect.prototype, "direction", 2);
8108
- __decorateClass$B([
8109
- property({ default: 2 })
8144
+ __decorateClass$A([
8145
+ property()
8110
8146
  ], GlitchEffect.prototype, "fillMode", 2);
8111
- __decorateClass$B([
8112
- property({ default: 0 })
8147
+ __decorateClass$A([
8148
+ property()
8113
8149
  ], GlitchEffect.prototype, "seed", 2);
8114
- __decorateClass$B([
8115
- property({ default: [2, 2] })
8150
+ __decorateClass$A([
8151
+ property()
8116
8152
  ], GlitchEffect.prototype, "red", 2);
8117
- __decorateClass$B([
8118
- property({ default: [-10, 4] })
8153
+ __decorateClass$A([
8154
+ property()
8119
8155
  ], GlitchEffect.prototype, "green", 2);
8120
- __decorateClass$B([
8121
- property({ default: [10, -4] })
8156
+ __decorateClass$A([
8157
+ property()
8122
8158
  ], GlitchEffect.prototype, "blue", 2);
8123
- GlitchEffect = __decorateClass$B([
8159
+ GlitchEffect = __decorateClass$A([
8124
8160
  customNode("GlitchEffect")
8125
8161
  ], GlitchEffect);
8126
8162
 
8127
- var __defProp$u = Object.defineProperty;
8128
- var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
8129
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$u(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8130
- var __decorateClass$A = (decorators, target, key, kind) => {
8131
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
8163
+ var __defProp$t = Object.defineProperty;
8164
+ var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
8165
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$t(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8166
+ var __decorateClass$z = (decorators, target, key, kind) => {
8167
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
8132
8168
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8133
8169
  if (decorator = decorators[i])
8134
8170
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8135
- if (kind && result) __defProp$u(target, key, result);
8171
+ if (kind && result) __defProp$t(target, key, result);
8136
8172
  return result;
8137
8173
  };
8138
8174
  var __publicField$9 = (obj, key, value) => __defNormalProp$9(obj, key + "" , value);
@@ -8310,39 +8346,39 @@ void main(void) {
8310
8346
  gl_FragColor = vec4(color.rgb + mist.rgb, color.a);
8311
8347
  }`
8312
8348
  }));
8313
- __decorateClass$A([
8314
- property({ default: 0 })
8349
+ __decorateClass$z([
8350
+ property()
8315
8351
  ], GodrayEffect.prototype, "time", 2);
8316
- __decorateClass$A([
8317
- property({ default: 30 })
8352
+ __decorateClass$z([
8353
+ property()
8318
8354
  ], GodrayEffect.prototype, "angle", 2);
8319
- __decorateClass$A([
8320
- property({ default: 0.5 })
8355
+ __decorateClass$z([
8356
+ property()
8321
8357
  ], GodrayEffect.prototype, "gain", 2);
8322
- __decorateClass$A([
8323
- property({ default: 2.5 })
8358
+ __decorateClass$z([
8359
+ property()
8324
8360
  ], GodrayEffect.prototype, "lacunarity", 2);
8325
- __decorateClass$A([
8326
- property({ default: true })
8361
+ __decorateClass$z([
8362
+ property()
8327
8363
  ], GodrayEffect.prototype, "parallel", 2);
8328
- __decorateClass$A([
8329
- property({ default: () => [0, 0] })
8364
+ __decorateClass$z([
8365
+ property()
8330
8366
  ], GodrayEffect.prototype, "center", 2);
8331
- __decorateClass$A([
8332
- property({ default: 1 })
8367
+ __decorateClass$z([
8368
+ property()
8333
8369
  ], GodrayEffect.prototype, "alpha", 2);
8334
- GodrayEffect = __decorateClass$A([
8370
+ GodrayEffect = __decorateClass$z([
8335
8371
  customNode("GodrayEffect")
8336
8372
  ], GodrayEffect);
8337
8373
 
8338
- var __defProp$t = Object.defineProperty;
8339
- var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
8340
- var __decorateClass$z = (decorators, target, key, kind) => {
8341
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
8374
+ var __defProp$s = Object.defineProperty;
8375
+ var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
8376
+ var __decorateClass$y = (decorators, target, key, kind) => {
8377
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
8342
8378
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8343
8379
  if (decorator = decorators[i])
8344
8380
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8345
- if (kind && result) __defProp$t(target, key, result);
8381
+ if (kind && result) __defProp$s(target, key, result);
8346
8382
  return result;
8347
8383
  };
8348
8384
  const frag$1 = `varying vec2 vUv;
@@ -8373,7 +8409,6 @@ void main(void) {
8373
8409
  gl_FragColor = color;
8374
8410
  }`;
8375
8411
  let KawaseBlurEffect = class extends Effect {
8376
- material;
8377
8412
  _kernels = [0];
8378
8413
  constructor(properties, children = []) {
8379
8414
  super();
@@ -8433,33 +8468,32 @@ void main() {
8433
8468
  });
8434
8469
  }
8435
8470
  };
8436
- __decorateClass$z([
8437
- property({ default: 4 })
8471
+ __decorateClass$y([
8472
+ property()
8438
8473
  ], KawaseBlurEffect.prototype, "strength", 2);
8439
- __decorateClass$z([
8440
- property({ default: 3 })
8474
+ __decorateClass$y([
8475
+ property()
8441
8476
  ], KawaseBlurEffect.prototype, "quality", 2);
8442
- __decorateClass$z([
8443
- property({ default: [1, 1] })
8477
+ __decorateClass$y([
8478
+ property()
8444
8479
  ], KawaseBlurEffect.prototype, "pixelSize", 2);
8445
- KawaseBlurEffect = __decorateClass$z([
8480
+ KawaseBlurEffect = __decorateClass$y([
8446
8481
  customNode("KawaseBlurEffect")
8447
8482
  ], KawaseBlurEffect);
8448
8483
 
8449
- var __defProp$s = Object.defineProperty;
8450
- var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
8451
- var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$s(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8452
- var __decorateClass$y = (decorators, target, key, kind) => {
8453
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
8484
+ var __defProp$r = Object.defineProperty;
8485
+ var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
8486
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$r(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8487
+ var __decorateClass$x = (decorators, target, key, kind) => {
8488
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
8454
8489
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8455
8490
  if (decorator = decorators[i])
8456
8491
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8457
- if (kind && result) __defProp$s(target, key, result);
8492
+ if (kind && result) __defProp$r(target, key, result);
8458
8493
  return result;
8459
8494
  };
8460
8495
  var __publicField$8 = (obj, key, value) => __defNormalProp$8(obj, key + "" , value);
8461
8496
  let MaskEffect = class extends Effect {
8462
- texture;
8463
8497
  constructor(properties, children = []) {
8464
8498
  super();
8465
8499
  this.setProperties(properties).append(children);
@@ -8543,25 +8577,25 @@ void main(void) {
8543
8577
  }
8544
8578
  }`
8545
8579
  }));
8546
- __decorateClass$y([
8547
- protectedProperty()
8580
+ __decorateClass$x([
8581
+ property({ protected: true })
8548
8582
  ], MaskEffect.prototype, "texture", 2);
8549
- __decorateClass$y([
8583
+ __decorateClass$x([
8550
8584
  property({ default: "" })
8551
8585
  ], MaskEffect.prototype, "src", 2);
8552
- MaskEffect = __decorateClass$y([
8586
+ MaskEffect = __decorateClass$x([
8553
8587
  customNode("MaskEffect")
8554
8588
  ], MaskEffect);
8555
8589
 
8556
- var __defProp$r = Object.defineProperty;
8557
- var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
8558
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$r(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8559
- var __decorateClass$x = (decorators, target, key, kind) => {
8560
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
8590
+ var __defProp$q = Object.defineProperty;
8591
+ var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
8592
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8593
+ var __decorateClass$w = (decorators, target, key, kind) => {
8594
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
8561
8595
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8562
8596
  if (decorator = decorators[i])
8563
8597
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8564
- if (kind && result) __defProp$r(target, key, result);
8598
+ if (kind && result) __defProp$q(target, key, result);
8565
8599
  return result;
8566
8600
  };
8567
8601
  var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -8601,7 +8635,6 @@ void main(void) {
8601
8635
  gl_FragColor = contentColor + outlineColor;
8602
8636
  }`;
8603
8637
  let OutlineEffect = class extends Effect {
8604
- material;
8605
8638
  static getAngleStep(quality) {
8606
8639
  return Number.parseFloat(
8607
8640
  (Math.PI * 2 / Math.max(
@@ -8649,40 +8682,40 @@ void main() {
8649
8682
  };
8650
8683
  __publicField$7(OutlineEffect, "MIN_SAMPLES", 1);
8651
8684
  __publicField$7(OutlineEffect, "MAX_SAMPLES", 100);
8652
- __decorateClass$x([
8653
- property({ default: 0 })
8685
+ __decorateClass$w([
8686
+ property()
8654
8687
  ], OutlineEffect.prototype, "color", 2);
8655
- __decorateClass$x([
8656
- property({ default: 1 })
8688
+ __decorateClass$w([
8689
+ property()
8657
8690
  ], OutlineEffect.prototype, "width", 2);
8658
- __decorateClass$x([
8659
- property({ default: "solid" })
8691
+ __decorateClass$w([
8692
+ property()
8660
8693
  ], OutlineEffect.prototype, "style", 2);
8661
- __decorateClass$x([
8694
+ __decorateClass$w([
8662
8695
  property()
8663
8696
  ], OutlineEffect.prototype, "image", 2);
8664
- __decorateClass$x([
8665
- property({ default: 1 })
8697
+ __decorateClass$w([
8698
+ property()
8666
8699
  ], OutlineEffect.prototype, "opacity", 2);
8667
- __decorateClass$x([
8668
- property({ default: 0.1 })
8700
+ __decorateClass$w([
8701
+ property()
8669
8702
  ], OutlineEffect.prototype, "quality", 2);
8670
- __decorateClass$x([
8671
- property({ default: false })
8703
+ __decorateClass$w([
8704
+ property()
8672
8705
  ], OutlineEffect.prototype, "knockout", 2);
8673
- OutlineEffect = __decorateClass$x([
8706
+ OutlineEffect = __decorateClass$w([
8674
8707
  customNode("OutlineEffect")
8675
8708
  ], OutlineEffect);
8676
8709
 
8677
- var __defProp$q = Object.defineProperty;
8678
- var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
8679
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8680
- var __decorateClass$w = (decorators, target, key, kind) => {
8681
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
8710
+ var __defProp$p = Object.defineProperty;
8711
+ var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
8712
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8713
+ var __decorateClass$v = (decorators, target, key, kind) => {
8714
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
8682
8715
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8683
8716
  if (decorator = decorators[i])
8684
8717
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8685
- if (kind && result) __defProp$q(target, key, result);
8718
+ if (kind && result) __defProp$p(target, key, result);
8686
8719
  return result;
8687
8720
  };
8688
8721
  var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, key + "" , value);
@@ -8738,22 +8771,22 @@ void main(void) {
8738
8771
  gl_FragColor = texture2D(sampler, coord);
8739
8772
  }`
8740
8773
  }));
8741
- __decorateClass$w([
8742
- property({ default: 10 })
8774
+ __decorateClass$v([
8775
+ property()
8743
8776
  ], PixelateEffect.prototype, "strength", 2);
8744
- PixelateEffect = __decorateClass$w([
8777
+ PixelateEffect = __decorateClass$v([
8745
8778
  customNode("PixelateEffect")
8746
8779
  ], PixelateEffect);
8747
8780
 
8748
- var __defProp$p = Object.defineProperty;
8749
- var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
8750
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8751
- var __decorateClass$v = (decorators, target, key, kind) => {
8752
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
8781
+ var __defProp$o = Object.defineProperty;
8782
+ var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
8783
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8784
+ var __decorateClass$u = (decorators, target, key, kind) => {
8785
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
8753
8786
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8754
8787
  if (decorator = decorators[i])
8755
8788
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8756
- if (kind && result) __defProp$p(target, key, result);
8789
+ if (kind && result) __defProp$o(target, key, result);
8757
8790
  return result;
8758
8791
  };
8759
8792
  var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, key + "" , value);
@@ -8866,29 +8899,29 @@ void main() {
8866
8899
  gl_FragColor = color;
8867
8900
  }`
8868
8901
  }));
8869
- __decorateClass$v([
8902
+ __decorateClass$u([
8870
8903
  property()
8871
8904
  ], ZoomBlurEffect.prototype, "center", 2);
8872
- __decorateClass$v([
8873
- property({ default: 20 })
8905
+ __decorateClass$u([
8906
+ property()
8874
8907
  ], ZoomBlurEffect.prototype, "innerRadius", 2);
8875
- __decorateClass$v([
8876
- property({ default: -1 })
8908
+ __decorateClass$u([
8909
+ property()
8877
8910
  ], ZoomBlurEffect.prototype, "radius", 2);
8878
- __decorateClass$v([
8879
- property({ default: 0.1 })
8911
+ __decorateClass$u([
8912
+ property()
8880
8913
  ], ZoomBlurEffect.prototype, "strength", 2);
8881
- ZoomBlurEffect = __decorateClass$v([
8914
+ ZoomBlurEffect = __decorateClass$u([
8882
8915
  customNode("ZoomBlurEffect")
8883
8916
  ], ZoomBlurEffect);
8884
8917
 
8885
- var __defProp$o = Object.defineProperty;
8886
- var __decorateClass$u = (decorators, target, key, kind) => {
8918
+ var __defProp$n = Object.defineProperty;
8919
+ var __decorateClass$t = (decorators, target, key, kind) => {
8887
8920
  var result = void 0 ;
8888
8921
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
8889
8922
  if (decorator = decorators[i])
8890
8923
  result = (decorator(target, key, result) ) || result;
8891
- if (result) __defProp$o(target, key, result);
8924
+ if (result) __defProp$n(target, key, result);
8892
8925
  return result;
8893
8926
  };
8894
8927
  class BaseElement2DFill extends CoreObject {
@@ -8933,6 +8966,7 @@ class BaseElement2DFill extends CoreObject {
8933
8966
  this.parent.size.height
8934
8967
  );
8935
8968
  } else if (!isNone(this.image)) {
8969
+ this.parent.tree?.log(`load image ${this.image}`);
8936
8970
  return await assets.texture.load(this.image);
8937
8971
  } else {
8938
8972
  return void 0;
@@ -8995,47 +9029,47 @@ class BaseElement2DFill extends CoreObject {
8995
9029
  });
8996
9030
  }
8997
9031
  }
8998
- __decorateClass$u([
8999
- property({ default: true })
9032
+ __decorateClass$t([
9033
+ property({ fallback: true })
9000
9034
  ], BaseElement2DFill.prototype, "enabled");
9001
- __decorateClass$u([
9035
+ __decorateClass$t([
9002
9036
  property()
9003
9037
  ], BaseElement2DFill.prototype, "color");
9004
- __decorateClass$u([
9038
+ __decorateClass$t([
9005
9039
  property()
9006
9040
  ], BaseElement2DFill.prototype, "image");
9007
- __decorateClass$u([
9041
+ __decorateClass$t([
9008
9042
  property()
9009
9043
  ], BaseElement2DFill.prototype, "linearGradient");
9010
- __decorateClass$u([
9044
+ __decorateClass$t([
9011
9045
  property()
9012
9046
  ], BaseElement2DFill.prototype, "radialGradient");
9013
- __decorateClass$u([
9047
+ __decorateClass$t([
9014
9048
  property()
9015
9049
  ], BaseElement2DFill.prototype, "cropRect");
9016
- __decorateClass$u([
9050
+ __decorateClass$t([
9017
9051
  property()
9018
9052
  ], BaseElement2DFill.prototype, "stretchRect");
9019
- __decorateClass$u([
9053
+ __decorateClass$t([
9020
9054
  property()
9021
9055
  ], BaseElement2DFill.prototype, "dpi");
9022
- __decorateClass$u([
9056
+ __decorateClass$t([
9023
9057
  property()
9024
9058
  ], BaseElement2DFill.prototype, "rotateWithShape");
9025
- __decorateClass$u([
9059
+ __decorateClass$t([
9026
9060
  property()
9027
9061
  ], BaseElement2DFill.prototype, "tile");
9028
- __decorateClass$u([
9062
+ __decorateClass$t([
9029
9063
  property()
9030
9064
  ], BaseElement2DFill.prototype, "opacity");
9031
9065
 
9032
- var __defProp$n = Object.defineProperty;
9033
- var __decorateClass$t = (decorators, target, key, kind) => {
9066
+ var __defProp$m = Object.defineProperty;
9067
+ var __decorateClass$s = (decorators, target, key, kind) => {
9034
9068
  var result = void 0 ;
9035
9069
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9036
9070
  if (decorator = decorators[i])
9037
9071
  result = (decorator(target, key, result) ) || result;
9038
- if (result) __defProp$n(target, key, result);
9072
+ if (result) __defProp$m(target, key, result);
9039
9073
  return result;
9040
9074
  };
9041
9075
  class BaseElement2DBackground extends BaseElement2DFill {
@@ -9045,17 +9079,17 @@ class BaseElement2DBackground extends BaseElement2DFill {
9045
9079
  );
9046
9080
  }
9047
9081
  }
9048
- __decorateClass$t([
9082
+ __decorateClass$s([
9049
9083
  property()
9050
9084
  ], BaseElement2DBackground.prototype, "fillWithShape");
9051
9085
 
9052
- var __defProp$m = Object.defineProperty;
9053
- var __decorateClass$s = (decorators, target, key, kind) => {
9086
+ var __defProp$l = Object.defineProperty;
9087
+ var __decorateClass$r = (decorators, target, key, kind) => {
9054
9088
  var result = void 0 ;
9055
9089
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9056
9090
  if (decorator = decorators[i])
9057
9091
  result = (decorator(target, key, result) ) || result;
9058
- if (result) __defProp$m(target, key, result);
9092
+ if (result) __defProp$l(target, key, result);
9059
9093
  return result;
9060
9094
  };
9061
9095
  class BaseElement2DForeground extends BaseElement2DFill {
@@ -9065,17 +9099,17 @@ class BaseElement2DForeground extends BaseElement2DFill {
9065
9099
  );
9066
9100
  }
9067
9101
  }
9068
- __decorateClass$s([
9102
+ __decorateClass$r([
9069
9103
  property()
9070
9104
  ], BaseElement2DForeground.prototype, "fillWithShape");
9071
9105
 
9072
- var __defProp$l = Object.defineProperty;
9073
- var __decorateClass$r = (decorators, target, key, kind) => {
9106
+ var __defProp$k = Object.defineProperty;
9107
+ var __decorateClass$q = (decorators, target, key, kind) => {
9074
9108
  var result = void 0 ;
9075
9109
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9076
9110
  if (decorator = decorators[i])
9077
9111
  result = (decorator(target, key, result) ) || result;
9078
- if (result) __defProp$l(target, key, result);
9112
+ if (result) __defProp$k(target, key, result);
9079
9113
  return result;
9080
9114
  };
9081
9115
  class BaseElement2DOutline extends BaseElement2DFill {
@@ -9108,26 +9142,23 @@ class BaseElement2DOutline extends BaseElement2DFill {
9108
9142
  ctx.stroke({ disableWrapMode });
9109
9143
  }
9110
9144
  }
9111
- __decorateClass$r([
9112
- property({ default: true })
9113
- ], BaseElement2DOutline.prototype, "enabled");
9114
- __decorateClass$r([
9115
- property({ default: 0 })
9145
+ __decorateClass$q([
9146
+ property({ fallback: "#00000000" })
9116
9147
  ], BaseElement2DOutline.prototype, "color");
9117
- __decorateClass$r([
9118
- property({ default: 0 })
9148
+ __decorateClass$q([
9149
+ property({ fallback: 0 })
9119
9150
  ], BaseElement2DOutline.prototype, "width");
9120
- __decorateClass$r([
9121
- property({ default: "solid" })
9151
+ __decorateClass$q([
9152
+ property({ fallback: "solid" })
9122
9153
  ], BaseElement2DOutline.prototype, "style");
9123
9154
 
9124
- var __defProp$k = Object.defineProperty;
9125
- var __decorateClass$q = (decorators, target, key, kind) => {
9155
+ var __defProp$j = Object.defineProperty;
9156
+ var __decorateClass$p = (decorators, target, key, kind) => {
9126
9157
  var result = void 0 ;
9127
9158
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9128
9159
  if (decorator = decorators[i])
9129
9160
  result = (decorator(target, key, result) ) || result;
9130
- if (result) __defProp$k(target, key, result);
9161
+ if (result) __defProp$j(target, key, result);
9131
9162
  return result;
9132
9163
  };
9133
9164
  class BaseElement2DShadow extends CoreObject {
@@ -9167,29 +9198,29 @@ class BaseElement2DShadow extends CoreObject {
9167
9198
  }
9168
9199
  }
9169
9200
  }
9170
- __decorateClass$q([
9171
- property({ default: true })
9201
+ __decorateClass$p([
9202
+ property({ fallback: true })
9172
9203
  ], BaseElement2DShadow.prototype, "enabled");
9173
- __decorateClass$q([
9174
- property({ default: "#000000" })
9204
+ __decorateClass$p([
9205
+ property({ fallback: "#000000FF" })
9175
9206
  ], BaseElement2DShadow.prototype, "color");
9176
- __decorateClass$q([
9177
- property({ default: 0 })
9207
+ __decorateClass$p([
9208
+ property({ fallback: 0 })
9178
9209
  ], BaseElement2DShadow.prototype, "blur");
9179
- __decorateClass$q([
9180
- property({ default: 0 })
9210
+ __decorateClass$p([
9211
+ property({ fallback: 0 })
9181
9212
  ], BaseElement2DShadow.prototype, "offsetY");
9182
- __decorateClass$q([
9183
- property({ default: 0 })
9213
+ __decorateClass$p([
9214
+ property({ fallback: 0 })
9184
9215
  ], BaseElement2DShadow.prototype, "offsetX");
9185
9216
 
9186
- var __defProp$j = Object.defineProperty;
9187
- var __decorateClass$p = (decorators, target, key, kind) => {
9217
+ var __defProp$i = Object.defineProperty;
9218
+ var __decorateClass$o = (decorators, target, key, kind) => {
9188
9219
  var result = void 0 ;
9189
9220
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9190
9221
  if (decorator = decorators[i])
9191
9222
  result = (decorator(target, key, result) ) || result;
9192
- if (result) __defProp$j(target, key, result);
9223
+ if (result) __defProp$i(target, key, result);
9193
9224
  return result;
9194
9225
  };
9195
9226
  class BaseElement2DShape extends CoreObject {
@@ -9264,19 +9295,19 @@ class BaseElement2DShape extends CoreObject {
9264
9295
  }
9265
9296
  }
9266
9297
  }
9267
- __decorateClass$p([
9268
- property({ default: true })
9298
+ __decorateClass$o([
9299
+ property({ fallback: true })
9269
9300
  ], BaseElement2DShape.prototype, "enabled");
9270
- __decorateClass$p([
9301
+ __decorateClass$o([
9271
9302
  property()
9272
9303
  ], BaseElement2DShape.prototype, "preset");
9273
- __decorateClass$p([
9304
+ __decorateClass$o([
9274
9305
  property()
9275
9306
  ], BaseElement2DShape.prototype, "svg");
9276
- __decorateClass$p([
9307
+ __decorateClass$o([
9277
9308
  property()
9278
9309
  ], BaseElement2DShape.prototype, "viewBox");
9279
- __decorateClass$p([
9310
+ __decorateClass$o([
9280
9311
  property({ default: () => [] })
9281
9312
  ], BaseElement2DShape.prototype, "paths");
9282
9313
 
@@ -9287,23 +9318,18 @@ class BaseElement2DStyle extends Resource {
9287
9318
  }
9288
9319
  }
9289
9320
  const defaultStyles$1 = getDefaultStyle();
9290
- delete defaultStyles$1.top;
9291
- delete defaultStyles$1.left;
9292
- delete defaultStyles$1.width;
9293
- delete defaultStyles$1.height;
9294
9321
  for (const key in defaultStyles$1) {
9295
- defineProperty(BaseElement2DStyle, key, {
9296
- default: defaultStyles$1[key]
9297
- });
9322
+ const fallback = defaultStyles$1[key];
9323
+ defineProperty(BaseElement2DStyle.prototype, key, { fallback });
9298
9324
  }
9299
9325
 
9300
- var __defProp$i = Object.defineProperty;
9301
- var __decorateClass$o = (decorators, target, key, kind) => {
9326
+ var __defProp$h = Object.defineProperty;
9327
+ var __decorateClass$n = (decorators, target, key, kind) => {
9302
9328
  var result = void 0 ;
9303
9329
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9304
9330
  if (decorator = decorators[i])
9305
9331
  result = (decorator(target, key, result) ) || result;
9306
- if (result) __defProp$i(target, key, result);
9332
+ if (result) __defProp$h(target, key, result);
9307
9333
  return result;
9308
9334
  };
9309
9335
  class BaseElement2DText extends CoreObject {
@@ -9312,7 +9338,6 @@ class BaseElement2DText extends CoreObject {
9312
9338
  this.parent = parent;
9313
9339
  }
9314
9340
  base = new Text();
9315
- texture = new CanvasTexture();
9316
9341
  measureResult;
9317
9342
  setProperties(properties) {
9318
9343
  return super.setProperties(
@@ -9351,55 +9376,49 @@ class BaseElement2DText extends CoreObject {
9351
9376
  }
9352
9377
  canDraw() {
9353
9378
  return Boolean(
9354
- this.enabled && !/^\s*$/.test(this.base.toString()) && this.texture?.valid
9379
+ this.enabled && !/^\s*$/.test(this.base.toString())
9355
9380
  );
9356
9381
  }
9357
9382
  draw() {
9358
- this.base.render({
9359
- pixelRatio: this.texture.pixelRatio,
9360
- view: this.texture.source
9361
- });
9362
- this.texture.requestUpload();
9363
- const textWidth = this.measureResult?.boundingBox.width ?? this.parent.size.width;
9364
- const textHeight = this.measureResult?.boundingBox.height ?? this.parent.size.height;
9365
9383
  const ctx = this.parent.context;
9366
- ctx.fillStyle = this.texture;
9367
- ctx.uvTransform = new Transform2D().scale(1 / textWidth, 1 / textHeight);
9368
- ctx.vertTransform = () => {
9369
- const parent = this.parent;
9370
- const origin = parent.getTransformOrigin();
9371
- return new Transform2D().translate(-origin.x, -origin.y).scale(
9372
- parent.globalScale.x > 0 ? 1 : -1,
9373
- parent.globalScale.y > 0 ? 1 : -1
9374
- ).translate(origin.x, origin.y);
9375
- };
9376
- ctx.fill();
9384
+ this.base.update();
9385
+ this.base.paragraphs.forEach((p) => {
9386
+ p.fragments.forEach((f) => {
9387
+ f.characters.forEach((c) => {
9388
+ ctx.fillStyle = c.computedStyle.color;
9389
+ ctx.addPath(c.path);
9390
+ ctx.style.fillRule = "evenodd";
9391
+ ctx.closePath();
9392
+ ctx.fill();
9393
+ });
9394
+ });
9395
+ });
9377
9396
  }
9378
9397
  }
9379
- __decorateClass$o([
9380
- property({ default: true })
9398
+ __decorateClass$n([
9399
+ property({ fallback: true })
9381
9400
  ], BaseElement2DText.prototype, "enabled");
9382
- __decorateClass$o([
9383
- property({ alias: "base.content" })
9401
+ __decorateClass$n([
9402
+ property({ alias: "base.content", fallback: () => [] })
9384
9403
  ], BaseElement2DText.prototype, "content");
9385
- __decorateClass$o([
9404
+ __decorateClass$n([
9386
9405
  property({ alias: "base.effects" })
9387
9406
  ], BaseElement2DText.prototype, "effects");
9388
- __decorateClass$o([
9389
- protectedProperty({ alias: "base.measureDOM" })
9407
+ __decorateClass$n([
9408
+ property({ protected: true, alias: "base.measureDOM" })
9390
9409
  ], BaseElement2DText.prototype, "measureDOM");
9391
- __decorateClass$o([
9392
- protectedProperty({ alias: "base.fonts" })
9410
+ __decorateClass$n([
9411
+ property({ protected: true, alias: "base.fonts" })
9393
9412
  ], BaseElement2DText.prototype, "fonts");
9394
9413
 
9395
- var __defProp$h = Object.defineProperty;
9396
- var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
9397
- var __decorateClass$n = (decorators, target, key, kind) => {
9398
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
9414
+ var __defProp$g = Object.defineProperty;
9415
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
9416
+ var __decorateClass$m = (decorators, target, key, kind) => {
9417
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
9399
9418
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9400
9419
  if (decorator = decorators[i])
9401
9420
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9402
- if (kind && result) __defProp$h(target, key, result);
9421
+ if (kind && result) __defProp$g(target, key, result);
9403
9422
  return result;
9404
9423
  };
9405
9424
  let Node2D = class extends CanvasItem {
@@ -9501,19 +9520,19 @@ let Node2D = class extends CanvasItem {
9501
9520
  }
9502
9521
  }
9503
9522
  };
9504
- __decorateClass$n([
9505
- protectedProperty({ default: 0 })
9523
+ __decorateClass$m([
9524
+ property({ protected: true, fallback: 0 })
9506
9525
  ], Node2D.prototype, "rotation", 2);
9507
- __decorateClass$n([
9508
- protectedProperty({ default: 0 })
9526
+ __decorateClass$m([
9527
+ property({ protected: true, fallback: 0 })
9509
9528
  ], Node2D.prototype, "globalRotation", 2);
9510
- Node2D = __decorateClass$n([
9529
+ Node2D = __decorateClass$m([
9511
9530
  customNode("Node2D")
9512
9531
  ], Node2D);
9513
9532
 
9514
- var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
9515
- var __decorateClass$m = (decorators, target, key, kind) => {
9516
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
9533
+ var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
9534
+ var __decorateClass$l = (decorators, target, key, kind) => {
9535
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
9517
9536
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9518
9537
  if (decorator = decorators[i])
9519
9538
  result = (decorator(result)) || result;
@@ -9613,8 +9632,7 @@ let BaseElement2D = class extends Node2D {
9613
9632
  }
9614
9633
  return this;
9615
9634
  }
9616
- // eslint-disable-next-line unused-imports/no-unused-vars
9617
- _updateStyleProperty(key, value, oldValue, declaration) {
9635
+ _updateStyleProperty(key, value, _oldValue, _declaration) {
9618
9636
  switch (key) {
9619
9637
  case "width":
9620
9638
  case "height":
@@ -9763,28 +9781,27 @@ let BaseElement2D = class extends Node2D {
9763
9781
  this._text.updateMeasure();
9764
9782
  }
9765
9783
  if (this._background.canDraw()) {
9766
- this._tree?.log(this.name, "draw background");
9784
+ this._tree?.log(this.name, "background drawing");
9767
9785
  this._shape.drawRect();
9768
9786
  this._background.draw();
9769
9787
  }
9770
9788
  if (this._fill.canDraw()) {
9771
- this._tree?.log(this.name, "draw fill");
9789
+ this._tree?.log(this.name, "fill drawing");
9772
9790
  this._shape.draw();
9773
9791
  this._fill.draw();
9774
9792
  }
9775
9793
  if (this._outline.canDraw()) {
9776
- this._tree?.log(this.name, "draw outline");
9794
+ this._tree?.log(this.name, "outline drawing");
9777
9795
  this._shape.draw();
9778
9796
  this._outline.draw();
9779
9797
  }
9780
9798
  if (this._foreground.canDraw()) {
9781
- this._tree?.log(this.name, "draw foreground");
9799
+ this._tree?.log(this.name, "foreground drawing");
9782
9800
  this._shape.drawRect();
9783
9801
  this._foreground.draw();
9784
9802
  }
9785
9803
  if (this._text.canDraw()) {
9786
- this._tree?.log(this.name, "draw text");
9787
- this._shape.drawRect();
9804
+ this._tree?.log(this.name, "text drawing");
9788
9805
  this._text.draw();
9789
9806
  }
9790
9807
  this._drawContent();
@@ -9839,24 +9856,22 @@ let BaseElement2D = class extends Node2D {
9839
9856
  }
9840
9857
  }
9841
9858
  toJSON() {
9842
- const json = super.toJSON();
9843
9859
  return {
9844
- ...json,
9845
- props: {
9846
- ...json.props,
9847
- style: this.style.toJSON(),
9848
- background: this.background.toJSON(),
9849
- shape: this.shape.toJSON(),
9850
- fill: this.fill.toJSON(),
9851
- outline: this.outline.toJSON(),
9852
- text: this.text.toJSON(),
9853
- foreground: this.foreground.toJSON(),
9854
- shadow: this.shadow.toJSON()
9855
- }
9860
+ is: this.is,
9861
+ ...this.toPropsJSON(),
9862
+ children: [...this._children.map((child) => child.toJSON())],
9863
+ style: this.style.toJSON(),
9864
+ background: this.background.toJSON(),
9865
+ shape: this.shape.toJSON(),
9866
+ fill: this.fill.toJSON(),
9867
+ outline: this.outline.toJSON(),
9868
+ text: this.text.toJSON(),
9869
+ foreground: this.foreground.toJSON(),
9870
+ shadow: this.shadow.toJSON()
9856
9871
  };
9857
9872
  }
9858
9873
  };
9859
- BaseElement2D = __decorateClass$m([
9874
+ BaseElement2D = __decorateClass$l([
9860
9875
  customNode("BaseElement2D")
9861
9876
  ], BaseElement2D);
9862
9877
 
@@ -9873,12 +9888,12 @@ const defaultStyles = {
9873
9888
  height: 0
9874
9889
  };
9875
9890
  for (const key in defaultStyles) {
9876
- defineProperty(Element2DStyle, key, { default: defaultStyles[key] });
9891
+ defineProperty(Element2DStyle.prototype, key, { fallback: defaultStyles[key] });
9877
9892
  }
9878
9893
 
9879
- var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
9880
- var __decorateClass$l = (decorators, target, key, kind) => {
9881
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
9894
+ var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
9895
+ var __decorateClass$k = (decorators, target, key, kind) => {
9896
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
9882
9897
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
9883
9898
  if (decorator = decorators[i])
9884
9899
  result = (decorator(result)) || result;
@@ -9920,7 +9935,7 @@ let Element2D = class extends BaseElement2D {
9920
9935
  }
9921
9936
  }
9922
9937
  };
9923
- Element2D = __decorateClass$l([
9938
+ Element2D = __decorateClass$k([
9924
9939
  customNode("Element2D")
9925
9940
  ], Element2D);
9926
9941
 
@@ -10172,9 +10187,9 @@ class FlexLayout {
10172
10187
  }
10173
10188
  }
10174
10189
 
10175
- var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
10176
- var __decorateClass$k = (decorators, target, key, kind) => {
10177
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
10190
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
10191
+ var __decorateClass$j = (decorators, target, key, kind) => {
10192
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
10178
10193
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
10179
10194
  if (decorator = decorators[i])
10180
10195
  result = (decorator(result)) || result;
@@ -10251,120 +10266,10 @@ let FlexElement2D = class extends BaseElement2D {
10251
10266
  }
10252
10267
  }
10253
10268
  };
10254
- FlexElement2D = __decorateClass$k([
10269
+ FlexElement2D = __decorateClass$j([
10255
10270
  customNode("FlexElement2D")
10256
10271
  ], FlexElement2D);
10257
10272
 
10258
- var __defProp$g = Object.defineProperty;
10259
- var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
10260
- var __decorateClass$j = (decorators, target, key, kind) => {
10261
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
10262
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
10263
- if (decorator = decorators[i])
10264
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10265
- if (kind && result) __defProp$g(target, key, result);
10266
- return result;
10267
- };
10268
- function proxy(options) {
10269
- return function(target, name) {
10270
- Object.defineProperty(target.constructor.prototype, name, {
10271
- get() {
10272
- if (options?.method) {
10273
- return (...args) => {
10274
- this.context[name].call(this.context, ...args);
10275
- options.redraw && this.requestRedraw();
10276
- return target;
10277
- };
10278
- }
10279
- return this.context[name];
10280
- },
10281
- set(value) {
10282
- this.context[name] = value;
10283
- },
10284
- configurable: true,
10285
- enumerable: true
10286
- });
10287
- };
10288
- }
10289
- let Graphics2D = class extends Node2D {
10290
- _resetContext = false;
10291
- lineCap;
10292
- lineJoin;
10293
- fillStyle;
10294
- strokeStyle;
10295
- lineWidth;
10296
- miterLimit;
10297
- drawCircle(x, y, radius) {
10298
- this.arc(x + radius, y + radius, radius, 0, PI_2);
10299
- this.fill();
10300
- return this;
10301
- }
10302
- drawEllipse(x, y, width, height) {
10303
- const rx = width / 2;
10304
- const ry = height / 2;
10305
- this.ellipse(x + rx, y + ry, rx, ry, 0, 0, PI_2);
10306
- this.fill();
10307
- return this;
10308
- }
10309
- };
10310
- __decorateClass$j([
10311
- proxy()
10312
- ], Graphics2D.prototype, "lineCap", 2);
10313
- __decorateClass$j([
10314
- proxy()
10315
- ], Graphics2D.prototype, "lineJoin", 2);
10316
- __decorateClass$j([
10317
- proxy()
10318
- ], Graphics2D.prototype, "fillStyle", 2);
10319
- __decorateClass$j([
10320
- proxy()
10321
- ], Graphics2D.prototype, "strokeStyle", 2);
10322
- __decorateClass$j([
10323
- proxy()
10324
- ], Graphics2D.prototype, "lineWidth", 2);
10325
- __decorateClass$j([
10326
- proxy()
10327
- ], Graphics2D.prototype, "miterLimit", 2);
10328
- __decorateClass$j([
10329
- proxy({ method: true })
10330
- ], Graphics2D.prototype, "rect", 2);
10331
- __decorateClass$j([
10332
- proxy({ method: true, redraw: true })
10333
- ], Graphics2D.prototype, "fillRect", 2);
10334
- __decorateClass$j([
10335
- proxy({ method: true, redraw: true })
10336
- ], Graphics2D.prototype, "strokeRect", 2);
10337
- __decorateClass$j([
10338
- proxy({ method: true })
10339
- ], Graphics2D.prototype, "roundRect", 2);
10340
- __decorateClass$j([
10341
- proxy({ method: true })
10342
- ], Graphics2D.prototype, "ellipse", 2);
10343
- __decorateClass$j([
10344
- proxy({ method: true })
10345
- ], Graphics2D.prototype, "arc", 2);
10346
- __decorateClass$j([
10347
- proxy({ method: true })
10348
- ], Graphics2D.prototype, "beginPath", 2);
10349
- __decorateClass$j([
10350
- proxy({ method: true })
10351
- ], Graphics2D.prototype, "moveTo", 2);
10352
- __decorateClass$j([
10353
- proxy({ method: true })
10354
- ], Graphics2D.prototype, "lineTo", 2);
10355
- __decorateClass$j([
10356
- proxy({ method: true })
10357
- ], Graphics2D.prototype, "closePath", 2);
10358
- __decorateClass$j([
10359
- proxy({ method: true, redraw: true })
10360
- ], Graphics2D.prototype, "fill", 2);
10361
- __decorateClass$j([
10362
- proxy({ method: true, redraw: true })
10363
- ], Graphics2D.prototype, "stroke", 2);
10364
- Graphics2D = __decorateClass$j([
10365
- customNode("Graphics2D")
10366
- ], Graphics2D);
10367
-
10368
10273
  var __defProp$f = Object.defineProperty;
10369
10274
  var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
10370
10275
  var __decorateClass$i = (decorators, target, key, kind) => {
@@ -10376,7 +10281,6 @@ var __decorateClass$i = (decorators, target, key, kind) => {
10376
10281
  return result;
10377
10282
  };
10378
10283
  let Image2D = class extends Element2D {
10379
- texture;
10380
10284
  get currentFrameTexture() {
10381
10285
  return this.texture?.frames[this._frameIndex]?.texture;
10382
10286
  }
@@ -10510,16 +10414,16 @@ let Image2D = class extends Element2D {
10510
10414
  }
10511
10415
  };
10512
10416
  __decorateClass$i([
10513
- protectedProperty()
10417
+ property({ protected: true })
10514
10418
  ], Image2D.prototype, "texture", 2);
10515
10419
  __decorateClass$i([
10516
- property({ default: "" })
10420
+ property({ fallback: "" })
10517
10421
  ], Image2D.prototype, "src", 2);
10518
10422
  __decorateClass$i([
10519
10423
  property()
10520
10424
  ], Image2D.prototype, "srcRect", 2);
10521
10425
  __decorateClass$i([
10522
- property({ default: false })
10426
+ property({ fallback: false })
10523
10427
  ], Image2D.prototype, "gif", 2);
10524
10428
  Image2D = __decorateClass$i([
10525
10429
  customNode("Image2D")
@@ -10596,7 +10500,7 @@ let Lottie2D = class extends TextureRect2D {
10596
10500
  }
10597
10501
  };
10598
10502
  __decorateClass$h([
10599
- property({ default: "" })
10503
+ property({ fallback: "" })
10600
10504
  ], Lottie2D.prototype, "src", 2);
10601
10505
  Lottie2D = __decorateClass$h([
10602
10506
  customNode("Lottie2D")
@@ -10760,7 +10664,7 @@ let Text2D = class extends TextureRect2D {
10760
10664
  }
10761
10665
  };
10762
10666
  __decorateClass$g([
10763
- property({ default: false })
10667
+ property({ fallback: false })
10764
10668
  ], Text2D.prototype, "split", 2);
10765
10669
  __decorateClass$g([
10766
10670
  property({ alias: "base.content" })
@@ -10769,10 +10673,10 @@ __decorateClass$g([
10769
10673
  property({ alias: "base.effects" })
10770
10674
  ], Text2D.prototype, "effects", 2);
10771
10675
  __decorateClass$g([
10772
- protectedProperty({ alias: "base.measureDOM" })
10676
+ property({ protected: true, alias: "base.measureDOM" })
10773
10677
  ], Text2D.prototype, "measureDOM", 2);
10774
10678
  __decorateClass$g([
10775
- protectedProperty({ alias: "base.fonts" })
10679
+ property({ protected: true, alias: "base.fonts" })
10776
10680
  ], Text2D.prototype, "fonts", 2);
10777
10681
  Text2D = __decorateClass$g([
10778
10682
  customNode("Text2D")
@@ -10831,7 +10735,7 @@ class TransformRect2D extends Element2D {
10831
10735
  }
10832
10736
  }
10833
10737
  __decorateClass$f([
10834
- property({ default: 6 })
10738
+ property({ fallback: 6 })
10835
10739
  ], TransformRect2D.prototype, "handleSize");
10836
10740
 
10837
10741
  var __defProp$b = Object.defineProperty;
@@ -10895,7 +10799,7 @@ let Video2D = class extends TextureRect2D {
10895
10799
  }
10896
10800
  };
10897
10801
  __decorateClass$e([
10898
- property({ default: "" })
10802
+ property({ fallback: "" })
10899
10803
  ], Video2D.prototype, "src", 2);
10900
10804
  Video2D = __decorateClass$e([
10901
10805
  customNode("Video2D")
@@ -10969,7 +10873,6 @@ const timingFunctions = {
10969
10873
  easeInOut
10970
10874
  };
10971
10875
  let Animation = class extends TimelineNode {
10972
- easing;
10973
10876
  _keyframes = [];
10974
10877
  _isFirstUpdatePosition = false;
10975
10878
  _cachedProps = new RawWeakMap$1();
@@ -11229,13 +11132,13 @@ let Animation = class extends TimelineNode {
11229
11132
  }
11230
11133
  };
11231
11134
  __decorateClass$d([
11232
- property({ default: "parent" })
11135
+ property()
11233
11136
  ], Animation.prototype, "effectMode", 2);
11234
11137
  __decorateClass$d([
11235
- property({ default: false })
11138
+ property()
11236
11139
  ], Animation.prototype, "loop", 2);
11237
11140
  __decorateClass$d([
11238
- property({ default: () => [] })
11141
+ property()
11239
11142
  ], Animation.prototype, "keyframes", 2);
11240
11143
  __decorateClass$d([
11241
11144
  property()
@@ -12358,9 +12261,6 @@ var __decorateClass$b = (decorators, target, key, kind) => {
12358
12261
  return result;
12359
12262
  };
12360
12263
  let AudioWaveform = class extends Element2D {
12361
- src;
12362
- gap = 0;
12363
- color = "#000000";
12364
12264
  _audioBuffer;
12365
12265
  _src = IN_BROWSER ? new Texture2D(document.createElement("canvas")) : void 0;
12366
12266
  _needsUpdateTexture = false;
@@ -12545,25 +12445,25 @@ let Range = class extends Control {
12545
12445
  }
12546
12446
  };
12547
12447
  __decorateClass$9([
12548
- property({ default: false })
12448
+ property({ fallback: false })
12549
12449
  ], Range.prototype, "allowGreater", 2);
12550
12450
  __decorateClass$9([
12551
- property({ default: false })
12451
+ property({ fallback: false })
12552
12452
  ], Range.prototype, "allowLesser", 2);
12553
12453
  __decorateClass$9([
12554
- property({ default: 1 })
12454
+ property({ fallback: 1 })
12555
12455
  ], Range.prototype, "page", 2);
12556
12456
  __decorateClass$9([
12557
- property({ default: 0 })
12457
+ property({ fallback: 0 })
12558
12458
  ], Range.prototype, "minValue", 2);
12559
12459
  __decorateClass$9([
12560
- property({ default: 100 })
12460
+ property({ fallback: 100 })
12561
12461
  ], Range.prototype, "maxValue", 2);
12562
12462
  __decorateClass$9([
12563
- property({ default: 0.01 })
12463
+ property({ fallback: 0.01 })
12564
12464
  ], Range.prototype, "step", 2);
12565
12465
  __decorateClass$9([
12566
- property({ default: 0 })
12466
+ property({ fallback: 0 })
12567
12467
  ], Range.prototype, "value", 2);
12568
12468
  Range = __decorateClass$9([
12569
12469
  customNode("Range")
@@ -12725,31 +12625,31 @@ let Ruler = class extends Control {
12725
12625
  }
12726
12626
  };
12727
12627
  __decorateClass$8([
12728
- property({ default: 0 })
12628
+ property({ fallback: 0 })
12729
12629
  ], Ruler.prototype, "offsetX", 2);
12730
12630
  __decorateClass$8([
12731
- property({ default: 0 })
12631
+ property({ fallback: 0 })
12732
12632
  ], Ruler.prototype, "offsetY", 2);
12733
12633
  __decorateClass$8([
12734
- property({ default: 20 })
12634
+ property({ fallback: 20 })
12735
12635
  ], Ruler.prototype, "thickness", 2);
12736
12636
  __decorateClass$8([
12737
- property({ default: 3 })
12637
+ property({ fallback: 3 })
12738
12638
  ], Ruler.prototype, "markHeight", 2);
12739
12639
  __decorateClass$8([
12740
- property({ default: "#b2b6bc" })
12640
+ property({ fallback: "#b2b6bc" })
12741
12641
  ], Ruler.prototype, "color", 2);
12742
12642
  __decorateClass$8([
12743
- property({ default: "#f9f9fa" })
12643
+ property({ fallback: "#f9f9fa" })
12744
12644
  ], Ruler.prototype, "markBackgroundColor", 2);
12745
12645
  __decorateClass$8([
12746
- property({ default: "#b2b6bc" })
12646
+ property({ fallback: "#b2b6bc" })
12747
12647
  ], Ruler.prototype, "markColor", 2);
12748
12648
  __decorateClass$8([
12749
- property({ default: 300 })
12649
+ property({ fallback: 300 })
12750
12650
  ], Ruler.prototype, "gap", 2);
12751
12651
  __decorateClass$8([
12752
- property({ default: 1 })
12652
+ property({ fallback: 1 })
12753
12653
  ], Ruler.prototype, "gapScale", 2);
12754
12654
  Ruler = __decorateClass$8([
12755
12655
  customNode("Ruler")
@@ -12822,7 +12722,7 @@ let ScrollBar = class extends Range {
12822
12722
  }
12823
12723
  };
12824
12724
  __decorateClass$7([
12825
- property({ default: "vertical" })
12725
+ property({ fallback: "vertical" })
12826
12726
  ], ScrollBar.prototype, "direction", 2);
12827
12727
  ScrollBar = __decorateClass$7([
12828
12728
  customNode("ScrollBar")
@@ -12933,13 +12833,13 @@ let Scaler = class extends Node {
12933
12833
  }
12934
12834
  };
12935
12835
  __decorateClass$4([
12936
- property({ default: 1 })
12836
+ property()
12937
12837
  ], Scaler.prototype, "value", 2);
12938
12838
  __decorateClass$4([
12939
- property({ default: 0.05 })
12839
+ property()
12940
12840
  ], Scaler.prototype, "minValue", 2);
12941
12841
  __decorateClass$4([
12942
- property({ default: 10 })
12842
+ property()
12943
12843
  ], Scaler.prototype, "maxValue", 2);
12944
12844
  Scaler = __decorateClass$4([
12945
12845
  customNode("Scaler", {
@@ -14079,4 +13979,4 @@ async function render(options) {
14079
13979
  });
14080
13980
  }
14081
13981
 
14082
- 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, EventEmitter, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, Graphics2D, 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$1 as frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, protectedProperty, render, timingFunctions, uid };
13982
+ 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, EventEmitter, 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$1 as frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };