modern-canvas 0.4.10 → 0.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -3219,8 +3219,8 @@ class WebGLFramebufferModule extends WebGLModule {
3219
3219
  this._renderer.viewport.bind({
3220
3220
  x: 0,
3221
3221
  y: 0,
3222
- width: this._renderer.screen.width,
3223
- height: this._renderer.screen.height
3222
+ width: this._renderer.screen.width * this._renderer.pixelRatio,
3223
+ height: this._renderer.screen.height * this._renderer.pixelRatio
3224
3224
  });
3225
3225
  }
3226
3226
  }
@@ -5794,6 +5794,14 @@ exports.Node = class Node extends CoreObject {
5794
5794
  return false;
5795
5795
  }
5796
5796
  }
5797
+ _update(changed) {
5798
+ this._tree?.log(this.name, "updating");
5799
+ super._update(changed);
5800
+ }
5801
+ _updateProperty(key, value, oldValue, declaration) {
5802
+ this._tree?.log(this.name, `updating [${String(key)}]`);
5803
+ super._updateProperty(key, value, oldValue, declaration);
5804
+ }
5797
5805
  _onTreeEnter(tree) {
5798
5806
  this._treeEnter(tree);
5799
5807
  this.emit("treeEntered", tree);
@@ -6297,8 +6305,8 @@ exports.Viewport = class Viewport extends exports.Node {
6297
6305
  if (this.valid) {
6298
6306
  renderer.flush();
6299
6307
  this._tree?.setCurrentViewport(this);
6300
- renderer.framebuffer.bind(this._glFramebuffer(renderer));
6301
6308
  this.upload(renderer);
6309
+ renderer.framebuffer.bind(this._glFramebuffer(renderer));
6302
6310
  return true;
6303
6311
  }
6304
6312
  return false;
@@ -8357,20 +8365,20 @@ class SceneTree extends MainLoop {
8357
8365
  this.emit("processed");
8358
8366
  }
8359
8367
  _render(renderer) {
8368
+ this.emit("rendering");
8360
8369
  renderer.program.uniforms.projectionMatrix = this.root.toProjectionArray(true);
8361
8370
  this.renderStack.render(renderer);
8362
8371
  this._renderScreen(renderer);
8372
+ this.emit("rendered");
8363
8373
  }
8364
8374
  _renderScreen(renderer) {
8365
8375
  renderer.state.reset();
8366
- const { pixelRatio } = renderer;
8367
- const { width, height } = this.root;
8368
8376
  renderer.framebuffer.bind(null);
8369
8377
  renderer.viewport.bind({
8370
8378
  x: 0,
8371
8379
  y: 0,
8372
- width: width * pixelRatio,
8373
- height: height * pixelRatio
8380
+ width: this.root.width * renderer.pixelRatio,
8381
+ height: this.root.height * renderer.pixelRatio
8374
8382
  });
8375
8383
  if (this.backgroundColor) {
8376
8384
  renderer.gl.clearColor(...this._backgroundColor.toArray());
@@ -13191,8 +13199,9 @@ class Engine extends SceneTree {
13191
13199
  await this.nextTick();
13192
13200
  }
13193
13201
  async waitAndRender(delta = 0) {
13202
+ await assets.waitUntilLoad();
13194
13203
  this._process(delta);
13195
- await this.waitUntilLoad();
13204
+ await this.nextTick();
13196
13205
  this._render(this.renderer);
13197
13206
  }
13198
13207
  render(delta = 0) {
@@ -13264,11 +13273,16 @@ async function start(sleep = 100) {
13264
13273
  starting = false;
13265
13274
  }
13266
13275
  async function task(options) {
13267
- const { data, width, height, time = 0 } = options;
13268
- engine ??= new Engine({ width: 1, height: 1 });
13276
+ const { data, width, height, debug = false, time = 0 } = options;
13277
+ engine ??= new Engine({
13278
+ width: 1,
13279
+ height: 1,
13280
+ preserveDrawingBuffer: true
13281
+ });
13282
+ engine.debug = debug;
13269
13283
  engine.root.removeChildren();
13270
13284
  engine.timeline.currentTime = time;
13271
- engine.resize(width, height);
13285
+ engine.resize(width, height, true);
13272
13286
  (Array.isArray(data) ? data : [data]).forEach((v) => {
13273
13287
  if (v instanceof exports.Node) {
13274
13288
  engine.root.appendChild(v);
package/dist/index.d.cts CHANGED
@@ -1559,6 +1559,8 @@ declare class Viewport extends Node implements Rectangulable {
1559
1559
  interface SceneTreeEventMap extends MainLoopEventMap {
1560
1560
  processing: () => void;
1561
1561
  processed: () => void;
1562
+ rendering: () => void;
1563
+ rendered: () => void;
1562
1564
  nodeProcessing: (node: Node) => void;
1563
1565
  nodeProcessed: (node: Node) => void;
1564
1566
  }
@@ -1670,6 +1672,8 @@ declare class Node extends CoreObject {
1670
1672
  clearMeta(): void;
1671
1673
  canProcess(): boolean;
1672
1674
  canRender(): boolean;
1675
+ protected _update(changed: Map<PropertyKey, any>): void;
1676
+ protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1673
1677
  protected _onTreeEnter(tree: SceneTree): void;
1674
1678
  protected _onTreeExit(oldTree: SceneTree): void;
1675
1679
  protected _onParented(parent: Node): void;
@@ -3056,6 +3060,7 @@ interface RenderOptions {
3056
3060
  data: Record<string, any> | Node | (Node | Record<string, any>)[];
3057
3061
  width: number;
3058
3062
  height: number;
3063
+ debug?: boolean;
3059
3064
  time?: number;
3060
3065
  onBeforeRender?: (engine: Engine) => void | Promise<void>;
3061
3066
  }
package/dist/index.d.mts CHANGED
@@ -1559,6 +1559,8 @@ declare class Viewport extends Node implements Rectangulable {
1559
1559
  interface SceneTreeEventMap extends MainLoopEventMap {
1560
1560
  processing: () => void;
1561
1561
  processed: () => void;
1562
+ rendering: () => void;
1563
+ rendered: () => void;
1562
1564
  nodeProcessing: (node: Node) => void;
1563
1565
  nodeProcessed: (node: Node) => void;
1564
1566
  }
@@ -1670,6 +1672,8 @@ declare class Node extends CoreObject {
1670
1672
  clearMeta(): void;
1671
1673
  canProcess(): boolean;
1672
1674
  canRender(): boolean;
1675
+ protected _update(changed: Map<PropertyKey, any>): void;
1676
+ protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1673
1677
  protected _onTreeEnter(tree: SceneTree): void;
1674
1678
  protected _onTreeExit(oldTree: SceneTree): void;
1675
1679
  protected _onParented(parent: Node): void;
@@ -3056,6 +3060,7 @@ interface RenderOptions {
3056
3060
  data: Record<string, any> | Node | (Node | Record<string, any>)[];
3057
3061
  width: number;
3058
3062
  height: number;
3063
+ debug?: boolean;
3059
3064
  time?: number;
3060
3065
  onBeforeRender?: (engine: Engine) => void | Promise<void>;
3061
3066
  }
package/dist/index.d.ts CHANGED
@@ -1559,6 +1559,8 @@ declare class Viewport extends Node implements Rectangulable {
1559
1559
  interface SceneTreeEventMap extends MainLoopEventMap {
1560
1560
  processing: () => void;
1561
1561
  processed: () => void;
1562
+ rendering: () => void;
1563
+ rendered: () => void;
1562
1564
  nodeProcessing: (node: Node) => void;
1563
1565
  nodeProcessed: (node: Node) => void;
1564
1566
  }
@@ -1670,6 +1672,8 @@ declare class Node extends CoreObject {
1670
1672
  clearMeta(): void;
1671
1673
  canProcess(): boolean;
1672
1674
  canRender(): boolean;
1675
+ protected _update(changed: Map<PropertyKey, any>): void;
1676
+ protected _updateProperty(key: PropertyKey, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1673
1677
  protected _onTreeEnter(tree: SceneTree): void;
1674
1678
  protected _onTreeExit(oldTree: SceneTree): void;
1675
1679
  protected _onParented(parent: Node): void;
@@ -3056,6 +3060,7 @@ interface RenderOptions {
3056
3060
  data: Record<string, any> | Node | (Node | Record<string, any>)[];
3057
3061
  width: number;
3058
3062
  height: number;
3063
+ debug?: boolean;
3059
3064
  time?: number;
3060
3065
  onBeforeRender?: (engine: Engine) => void | Promise<void>;
3061
3066
  }