@meursyphus/flitter 0.0.8 → 0.0.9
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/index.cjs +33 -22
- package/index.d.cts +19 -14
- package/index.d.ts +19 -14
- package/index.global.js +33 -22
- package/index.js +33 -22
- package/package.json +1 -1
package/index.cjs
CHANGED
|
@@ -12675,39 +12675,58 @@ var RenderOwner_default = RenderOwner;
|
|
|
12675
12675
|
|
|
12676
12676
|
// src/scheduler/Scheduler.ts
|
|
12677
12677
|
var Scheduler = class {
|
|
12678
|
-
constructor(
|
|
12678
|
+
constructor({
|
|
12679
|
+
renderFrameDispatcher
|
|
12680
|
+
}) {
|
|
12679
12681
|
__publicField(this, "phase");
|
|
12680
12682
|
__publicField(this, "persistenceCallbacks");
|
|
12681
12683
|
__publicField(this, "postFrameCallbacks");
|
|
12684
|
+
__publicField(this, "renderFrameDispatcher");
|
|
12685
|
+
__publicField(this, "hasScheduledFrame", false);
|
|
12682
12686
|
this.phase = 0 /* idle */;
|
|
12683
12687
|
this.persistenceCallbacks = [];
|
|
12684
12688
|
this.postFrameCallbacks = [];
|
|
12689
|
+
this.renderFrameDispatcher = renderFrameDispatcher;
|
|
12690
|
+
renderFrameDispatcher.setOnFrame(() => this.handleDrawFrame());
|
|
12685
12691
|
}
|
|
12686
|
-
|
|
12692
|
+
flushPostCallbacks() {
|
|
12687
12693
|
this.postFrameCallbacks.forEach((callback) => {
|
|
12688
12694
|
callback();
|
|
12689
12695
|
});
|
|
12690
12696
|
this.postFrameCallbacks = [];
|
|
12691
12697
|
}
|
|
12692
|
-
|
|
12698
|
+
ensureVisualUpdate() {
|
|
12693
12699
|
switch (this.phase) {
|
|
12694
12700
|
case 0 /* idle */:
|
|
12695
12701
|
case 2 /* postFrameCallbacks */:
|
|
12696
|
-
this.
|
|
12702
|
+
this.schedule();
|
|
12697
12703
|
break;
|
|
12698
12704
|
case 1 /* persistenceCallbacks */:
|
|
12699
12705
|
break;
|
|
12700
12706
|
}
|
|
12701
12707
|
}
|
|
12702
|
-
|
|
12708
|
+
schedule() {
|
|
12709
|
+
if (this.hasScheduledFrame)
|
|
12710
|
+
return;
|
|
12711
|
+
this.renderFrameDispatcher.dispatch();
|
|
12712
|
+
this.hasScheduledFrame = true;
|
|
12713
|
+
}
|
|
12714
|
+
handleDrawFrame() {
|
|
12715
|
+
assert(
|
|
12716
|
+
this.phase === 0 /* idle */,
|
|
12717
|
+
"Scheduler should be idle on beginning frame"
|
|
12718
|
+
);
|
|
12719
|
+
this.hasScheduledFrame = false;
|
|
12703
12720
|
this.phase = 1 /* persistenceCallbacks */;
|
|
12721
|
+
this.flushPersistenceCallbacks();
|
|
12722
|
+
this.phase = 2 /* postFrameCallbacks */;
|
|
12723
|
+
this.flushPostCallbacks();
|
|
12724
|
+
this.phase = 0 /* idle */;
|
|
12725
|
+
}
|
|
12726
|
+
flushPersistenceCallbacks() {
|
|
12704
12727
|
this.persistenceCallbacks.forEach((callback) => {
|
|
12705
12728
|
callback();
|
|
12706
12729
|
});
|
|
12707
|
-
this.phase = 2 /* postFrameCallbacks */;
|
|
12708
|
-
this.consumePostCallbacks();
|
|
12709
|
-
this.postFrameCallbacks = [];
|
|
12710
|
-
this.phase = 0 /* idle */;
|
|
12711
12730
|
}
|
|
12712
12731
|
addPersistenceCallbacks(callback) {
|
|
12713
12732
|
this.persistenceCallbacks.push(() => callback());
|
|
@@ -12722,9 +12741,6 @@ var Scheduler_default = Scheduler;
|
|
|
12722
12741
|
var RenderFrameDispatcher = class {
|
|
12723
12742
|
constructor({ onFrame } = {}) {
|
|
12724
12743
|
__publicField(this, "onFrame");
|
|
12725
|
-
// Actually we don't need to invoke browser to render because browser automatically render its own state periodically
|
|
12726
|
-
// so Here we just call onFrame callback.
|
|
12727
|
-
__publicField(this, "idle", true);
|
|
12728
12744
|
this.onFrame = onFrame;
|
|
12729
12745
|
}
|
|
12730
12746
|
setOnFrame(callback) {
|
|
@@ -12733,13 +12749,9 @@ var RenderFrameDispatcher = class {
|
|
|
12733
12749
|
dispatch() {
|
|
12734
12750
|
if (typeof window === "undefined")
|
|
12735
12751
|
return;
|
|
12736
|
-
if (!this.idle)
|
|
12737
|
-
return;
|
|
12738
|
-
this.idle = false;
|
|
12739
12752
|
window.requestAnimationFrame(() => {
|
|
12740
12753
|
var _a;
|
|
12741
12754
|
(_a = this.onFrame) == null ? void 0 : _a.call(this);
|
|
12742
|
-
this.idle = true;
|
|
12743
12755
|
});
|
|
12744
12756
|
}
|
|
12745
12757
|
};
|
|
@@ -12940,19 +12952,18 @@ var AppRunner = class {
|
|
|
12940
12952
|
window: _window,
|
|
12941
12953
|
onResize: this.handleViewResize
|
|
12942
12954
|
});
|
|
12943
|
-
const
|
|
12955
|
+
const renderFrameDispatcher = new RenderFrameDispatcher_default();
|
|
12956
|
+
const scheduler = new Scheduler_default({ renderFrameDispatcher });
|
|
12944
12957
|
const buildOwner = new BuildOwner_default({
|
|
12945
|
-
onNeedVisualUpdate: () =>
|
|
12958
|
+
onNeedVisualUpdate: () => scheduler.ensureVisualUpdate()
|
|
12946
12959
|
});
|
|
12947
12960
|
const renderOwner = new RenderOwner_default({
|
|
12948
|
-
onNeedVisualUpdate: () =>
|
|
12961
|
+
onNeedVisualUpdate: () => scheduler.ensureVisualUpdate(),
|
|
12949
12962
|
renderContext,
|
|
12950
12963
|
hitTestDispatcher: new HitTestDispatcher()
|
|
12951
12964
|
});
|
|
12952
|
-
const scheduler = new Scheduler_default();
|
|
12953
12965
|
scheduler.addPersistenceCallbacks(() => buildOwner.flushBuild());
|
|
12954
12966
|
scheduler.addPersistenceCallbacks(() => renderOwner.drawFrame());
|
|
12955
|
-
renderDispatcher.setOnFrame(() => scheduler.schedule());
|
|
12956
12967
|
this.buildOwner = buildOwner;
|
|
12957
12968
|
this.renderOwner = renderOwner;
|
|
12958
12969
|
this.scheduler = scheduler;
|
|
@@ -13002,7 +13013,7 @@ var AppRunner = class {
|
|
|
13002
13013
|
this.layout();
|
|
13003
13014
|
this.renderOwner.rearrangeDomOrder();
|
|
13004
13015
|
this.paint();
|
|
13005
|
-
this.scheduler.
|
|
13016
|
+
this.scheduler.flushPostCallbacks();
|
|
13006
13017
|
}
|
|
13007
13018
|
rebuild() {
|
|
13008
13019
|
this.root.children[0].rebuild();
|
package/index.d.cts
CHANGED
|
@@ -3408,14 +3408,29 @@ declare class RenderOwner {
|
|
|
3408
3408
|
private flushPaint;
|
|
3409
3409
|
}
|
|
3410
3410
|
|
|
3411
|
+
declare class RenderFrameDispatcher {
|
|
3412
|
+
private onFrame?;
|
|
3413
|
+
constructor({ onFrame }?: {
|
|
3414
|
+
onFrame?: () => void;
|
|
3415
|
+
});
|
|
3416
|
+
setOnFrame(callback: () => void): void;
|
|
3417
|
+
dispatch(): void;
|
|
3418
|
+
}
|
|
3419
|
+
|
|
3411
3420
|
declare class Scheduler {
|
|
3412
3421
|
phase: SchedulerPhase;
|
|
3413
3422
|
private persistenceCallbacks;
|
|
3414
3423
|
private postFrameCallbacks;
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3424
|
+
private renderFrameDispatcher;
|
|
3425
|
+
constructor({ renderFrameDispatcher, }: {
|
|
3426
|
+
renderFrameDispatcher: RenderFrameDispatcher;
|
|
3427
|
+
});
|
|
3428
|
+
flushPostCallbacks(): void;
|
|
3429
|
+
ensureVisualUpdate(): void;
|
|
3430
|
+
private hasScheduledFrame;
|
|
3431
|
+
private schedule;
|
|
3432
|
+
private handleDrawFrame;
|
|
3433
|
+
private flushPersistenceCallbacks;
|
|
3419
3434
|
addPersistenceCallbacks(callback: () => void): void;
|
|
3420
3435
|
addPostFrameCallbacks(callback: () => void): void;
|
|
3421
3436
|
}
|
|
@@ -3425,16 +3440,6 @@ declare enum SchedulerPhase {
|
|
|
3425
3440
|
postFrameCallbacks = 2
|
|
3426
3441
|
}
|
|
3427
3442
|
|
|
3428
|
-
declare class RenderFrameDispatcher {
|
|
3429
|
-
private onFrame?;
|
|
3430
|
-
constructor({ onFrame }?: {
|
|
3431
|
-
onFrame?: () => void;
|
|
3432
|
-
});
|
|
3433
|
-
setOnFrame(callback: () => void): void;
|
|
3434
|
-
private idle;
|
|
3435
|
-
dispatch(): void;
|
|
3436
|
-
}
|
|
3437
|
-
|
|
3438
3443
|
declare class RenderView extends RenderObject {
|
|
3439
3444
|
constructor({ renderOwner }: {
|
|
3440
3445
|
renderOwner: RenderOwner;
|
package/index.d.ts
CHANGED
|
@@ -3408,14 +3408,29 @@ declare class RenderOwner {
|
|
|
3408
3408
|
private flushPaint;
|
|
3409
3409
|
}
|
|
3410
3410
|
|
|
3411
|
+
declare class RenderFrameDispatcher {
|
|
3412
|
+
private onFrame?;
|
|
3413
|
+
constructor({ onFrame }?: {
|
|
3414
|
+
onFrame?: () => void;
|
|
3415
|
+
});
|
|
3416
|
+
setOnFrame(callback: () => void): void;
|
|
3417
|
+
dispatch(): void;
|
|
3418
|
+
}
|
|
3419
|
+
|
|
3411
3420
|
declare class Scheduler {
|
|
3412
3421
|
phase: SchedulerPhase;
|
|
3413
3422
|
private persistenceCallbacks;
|
|
3414
3423
|
private postFrameCallbacks;
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3424
|
+
private renderFrameDispatcher;
|
|
3425
|
+
constructor({ renderFrameDispatcher, }: {
|
|
3426
|
+
renderFrameDispatcher: RenderFrameDispatcher;
|
|
3427
|
+
});
|
|
3428
|
+
flushPostCallbacks(): void;
|
|
3429
|
+
ensureVisualUpdate(): void;
|
|
3430
|
+
private hasScheduledFrame;
|
|
3431
|
+
private schedule;
|
|
3432
|
+
private handleDrawFrame;
|
|
3433
|
+
private flushPersistenceCallbacks;
|
|
3419
3434
|
addPersistenceCallbacks(callback: () => void): void;
|
|
3420
3435
|
addPostFrameCallbacks(callback: () => void): void;
|
|
3421
3436
|
}
|
|
@@ -3425,16 +3440,6 @@ declare enum SchedulerPhase {
|
|
|
3425
3440
|
postFrameCallbacks = 2
|
|
3426
3441
|
}
|
|
3427
3442
|
|
|
3428
|
-
declare class RenderFrameDispatcher {
|
|
3429
|
-
private onFrame?;
|
|
3430
|
-
constructor({ onFrame }?: {
|
|
3431
|
-
onFrame?: () => void;
|
|
3432
|
-
});
|
|
3433
|
-
setOnFrame(callback: () => void): void;
|
|
3434
|
-
private idle;
|
|
3435
|
-
dispatch(): void;
|
|
3436
|
-
}
|
|
3437
|
-
|
|
3438
3443
|
declare class RenderView extends RenderObject {
|
|
3439
3444
|
constructor({ renderOwner }: {
|
|
3440
3445
|
renderOwner: RenderOwner;
|
package/index.global.js
CHANGED
|
@@ -13389,39 +13389,58 @@
|
|
|
13389
13389
|
|
|
13390
13390
|
// src/scheduler/Scheduler.ts
|
|
13391
13391
|
var Scheduler = class {
|
|
13392
|
-
constructor(
|
|
13392
|
+
constructor({
|
|
13393
|
+
renderFrameDispatcher
|
|
13394
|
+
}) {
|
|
13393
13395
|
__publicField(this, "phase");
|
|
13394
13396
|
__publicField(this, "persistenceCallbacks");
|
|
13395
13397
|
__publicField(this, "postFrameCallbacks");
|
|
13398
|
+
__publicField(this, "renderFrameDispatcher");
|
|
13399
|
+
__publicField(this, "hasScheduledFrame", false);
|
|
13396
13400
|
this.phase = 0 /* idle */;
|
|
13397
13401
|
this.persistenceCallbacks = [];
|
|
13398
13402
|
this.postFrameCallbacks = [];
|
|
13403
|
+
this.renderFrameDispatcher = renderFrameDispatcher;
|
|
13404
|
+
renderFrameDispatcher.setOnFrame(() => this.handleDrawFrame());
|
|
13399
13405
|
}
|
|
13400
|
-
|
|
13406
|
+
flushPostCallbacks() {
|
|
13401
13407
|
this.postFrameCallbacks.forEach((callback) => {
|
|
13402
13408
|
callback();
|
|
13403
13409
|
});
|
|
13404
13410
|
this.postFrameCallbacks = [];
|
|
13405
13411
|
}
|
|
13406
|
-
|
|
13412
|
+
ensureVisualUpdate() {
|
|
13407
13413
|
switch (this.phase) {
|
|
13408
13414
|
case 0 /* idle */:
|
|
13409
13415
|
case 2 /* postFrameCallbacks */:
|
|
13410
|
-
this.
|
|
13416
|
+
this.schedule();
|
|
13411
13417
|
break;
|
|
13412
13418
|
case 1 /* persistenceCallbacks */:
|
|
13413
13419
|
break;
|
|
13414
13420
|
}
|
|
13415
13421
|
}
|
|
13416
|
-
|
|
13422
|
+
schedule() {
|
|
13423
|
+
if (this.hasScheduledFrame)
|
|
13424
|
+
return;
|
|
13425
|
+
this.renderFrameDispatcher.dispatch();
|
|
13426
|
+
this.hasScheduledFrame = true;
|
|
13427
|
+
}
|
|
13428
|
+
handleDrawFrame() {
|
|
13429
|
+
assert(
|
|
13430
|
+
this.phase === 0 /* idle */,
|
|
13431
|
+
"Scheduler should be idle on beginning frame"
|
|
13432
|
+
);
|
|
13433
|
+
this.hasScheduledFrame = false;
|
|
13417
13434
|
this.phase = 1 /* persistenceCallbacks */;
|
|
13435
|
+
this.flushPersistenceCallbacks();
|
|
13436
|
+
this.phase = 2 /* postFrameCallbacks */;
|
|
13437
|
+
this.flushPostCallbacks();
|
|
13438
|
+
this.phase = 0 /* idle */;
|
|
13439
|
+
}
|
|
13440
|
+
flushPersistenceCallbacks() {
|
|
13418
13441
|
this.persistenceCallbacks.forEach((callback) => {
|
|
13419
13442
|
callback();
|
|
13420
13443
|
});
|
|
13421
|
-
this.phase = 2 /* postFrameCallbacks */;
|
|
13422
|
-
this.consumePostCallbacks();
|
|
13423
|
-
this.postFrameCallbacks = [];
|
|
13424
|
-
this.phase = 0 /* idle */;
|
|
13425
13444
|
}
|
|
13426
13445
|
addPersistenceCallbacks(callback) {
|
|
13427
13446
|
this.persistenceCallbacks.push(() => callback());
|
|
@@ -13436,9 +13455,6 @@
|
|
|
13436
13455
|
var RenderFrameDispatcher = class {
|
|
13437
13456
|
constructor({ onFrame } = {}) {
|
|
13438
13457
|
__publicField(this, "onFrame");
|
|
13439
|
-
// Actually we don't need to invoke browser to render because browser automatically render its own state periodically
|
|
13440
|
-
// so Here we just call onFrame callback.
|
|
13441
|
-
__publicField(this, "idle", true);
|
|
13442
13458
|
this.onFrame = onFrame;
|
|
13443
13459
|
}
|
|
13444
13460
|
setOnFrame(callback) {
|
|
@@ -13447,13 +13463,9 @@
|
|
|
13447
13463
|
dispatch() {
|
|
13448
13464
|
if (typeof window === "undefined")
|
|
13449
13465
|
return;
|
|
13450
|
-
if (!this.idle)
|
|
13451
|
-
return;
|
|
13452
|
-
this.idle = false;
|
|
13453
13466
|
window.requestAnimationFrame(() => {
|
|
13454
13467
|
var _a;
|
|
13455
13468
|
(_a = this.onFrame) == null ? void 0 : _a.call(this);
|
|
13456
|
-
this.idle = true;
|
|
13457
13469
|
});
|
|
13458
13470
|
}
|
|
13459
13471
|
};
|
|
@@ -13654,19 +13666,18 @@
|
|
|
13654
13666
|
window: _window,
|
|
13655
13667
|
onResize: this.handleViewResize
|
|
13656
13668
|
});
|
|
13657
|
-
const
|
|
13669
|
+
const renderFrameDispatcher = new RenderFrameDispatcher_default();
|
|
13670
|
+
const scheduler = new Scheduler_default({ renderFrameDispatcher });
|
|
13658
13671
|
const buildOwner = new BuildOwner_default({
|
|
13659
|
-
onNeedVisualUpdate: () =>
|
|
13672
|
+
onNeedVisualUpdate: () => scheduler.ensureVisualUpdate()
|
|
13660
13673
|
});
|
|
13661
13674
|
const renderOwner = new RenderOwner_default({
|
|
13662
|
-
onNeedVisualUpdate: () =>
|
|
13675
|
+
onNeedVisualUpdate: () => scheduler.ensureVisualUpdate(),
|
|
13663
13676
|
renderContext,
|
|
13664
13677
|
hitTestDispatcher: new HitTestDispatcher()
|
|
13665
13678
|
});
|
|
13666
|
-
const scheduler = new Scheduler_default();
|
|
13667
13679
|
scheduler.addPersistenceCallbacks(() => buildOwner.flushBuild());
|
|
13668
13680
|
scheduler.addPersistenceCallbacks(() => renderOwner.drawFrame());
|
|
13669
|
-
renderDispatcher.setOnFrame(() => scheduler.schedule());
|
|
13670
13681
|
this.buildOwner = buildOwner;
|
|
13671
13682
|
this.renderOwner = renderOwner;
|
|
13672
13683
|
this.scheduler = scheduler;
|
|
@@ -13716,7 +13727,7 @@
|
|
|
13716
13727
|
this.layout();
|
|
13717
13728
|
this.renderOwner.rearrangeDomOrder();
|
|
13718
13729
|
this.paint();
|
|
13719
|
-
this.scheduler.
|
|
13730
|
+
this.scheduler.flushPostCallbacks();
|
|
13720
13731
|
}
|
|
13721
13732
|
rebuild() {
|
|
13722
13733
|
this.root.children[0].rebuild();
|
package/index.js
CHANGED
|
@@ -12675,39 +12675,58 @@ var RenderOwner_default = RenderOwner;
|
|
|
12675
12675
|
|
|
12676
12676
|
// src/scheduler/Scheduler.ts
|
|
12677
12677
|
var Scheduler = class {
|
|
12678
|
-
constructor(
|
|
12678
|
+
constructor({
|
|
12679
|
+
renderFrameDispatcher
|
|
12680
|
+
}) {
|
|
12679
12681
|
__publicField(this, "phase");
|
|
12680
12682
|
__publicField(this, "persistenceCallbacks");
|
|
12681
12683
|
__publicField(this, "postFrameCallbacks");
|
|
12684
|
+
__publicField(this, "renderFrameDispatcher");
|
|
12685
|
+
__publicField(this, "hasScheduledFrame", false);
|
|
12682
12686
|
this.phase = 0 /* idle */;
|
|
12683
12687
|
this.persistenceCallbacks = [];
|
|
12684
12688
|
this.postFrameCallbacks = [];
|
|
12689
|
+
this.renderFrameDispatcher = renderFrameDispatcher;
|
|
12690
|
+
renderFrameDispatcher.setOnFrame(() => this.handleDrawFrame());
|
|
12685
12691
|
}
|
|
12686
|
-
|
|
12692
|
+
flushPostCallbacks() {
|
|
12687
12693
|
this.postFrameCallbacks.forEach((callback) => {
|
|
12688
12694
|
callback();
|
|
12689
12695
|
});
|
|
12690
12696
|
this.postFrameCallbacks = [];
|
|
12691
12697
|
}
|
|
12692
|
-
|
|
12698
|
+
ensureVisualUpdate() {
|
|
12693
12699
|
switch (this.phase) {
|
|
12694
12700
|
case 0 /* idle */:
|
|
12695
12701
|
case 2 /* postFrameCallbacks */:
|
|
12696
|
-
this.
|
|
12702
|
+
this.schedule();
|
|
12697
12703
|
break;
|
|
12698
12704
|
case 1 /* persistenceCallbacks */:
|
|
12699
12705
|
break;
|
|
12700
12706
|
}
|
|
12701
12707
|
}
|
|
12702
|
-
|
|
12708
|
+
schedule() {
|
|
12709
|
+
if (this.hasScheduledFrame)
|
|
12710
|
+
return;
|
|
12711
|
+
this.renderFrameDispatcher.dispatch();
|
|
12712
|
+
this.hasScheduledFrame = true;
|
|
12713
|
+
}
|
|
12714
|
+
handleDrawFrame() {
|
|
12715
|
+
assert(
|
|
12716
|
+
this.phase === 0 /* idle */,
|
|
12717
|
+
"Scheduler should be idle on beginning frame"
|
|
12718
|
+
);
|
|
12719
|
+
this.hasScheduledFrame = false;
|
|
12703
12720
|
this.phase = 1 /* persistenceCallbacks */;
|
|
12721
|
+
this.flushPersistenceCallbacks();
|
|
12722
|
+
this.phase = 2 /* postFrameCallbacks */;
|
|
12723
|
+
this.flushPostCallbacks();
|
|
12724
|
+
this.phase = 0 /* idle */;
|
|
12725
|
+
}
|
|
12726
|
+
flushPersistenceCallbacks() {
|
|
12704
12727
|
this.persistenceCallbacks.forEach((callback) => {
|
|
12705
12728
|
callback();
|
|
12706
12729
|
});
|
|
12707
|
-
this.phase = 2 /* postFrameCallbacks */;
|
|
12708
|
-
this.consumePostCallbacks();
|
|
12709
|
-
this.postFrameCallbacks = [];
|
|
12710
|
-
this.phase = 0 /* idle */;
|
|
12711
12730
|
}
|
|
12712
12731
|
addPersistenceCallbacks(callback) {
|
|
12713
12732
|
this.persistenceCallbacks.push(() => callback());
|
|
@@ -12722,9 +12741,6 @@ var Scheduler_default = Scheduler;
|
|
|
12722
12741
|
var RenderFrameDispatcher = class {
|
|
12723
12742
|
constructor({ onFrame } = {}) {
|
|
12724
12743
|
__publicField(this, "onFrame");
|
|
12725
|
-
// Actually we don't need to invoke browser to render because browser automatically render its own state periodically
|
|
12726
|
-
// so Here we just call onFrame callback.
|
|
12727
|
-
__publicField(this, "idle", true);
|
|
12728
12744
|
this.onFrame = onFrame;
|
|
12729
12745
|
}
|
|
12730
12746
|
setOnFrame(callback) {
|
|
@@ -12733,13 +12749,9 @@ var RenderFrameDispatcher = class {
|
|
|
12733
12749
|
dispatch() {
|
|
12734
12750
|
if (typeof window === "undefined")
|
|
12735
12751
|
return;
|
|
12736
|
-
if (!this.idle)
|
|
12737
|
-
return;
|
|
12738
|
-
this.idle = false;
|
|
12739
12752
|
window.requestAnimationFrame(() => {
|
|
12740
12753
|
var _a;
|
|
12741
12754
|
(_a = this.onFrame) == null ? void 0 : _a.call(this);
|
|
12742
|
-
this.idle = true;
|
|
12743
12755
|
});
|
|
12744
12756
|
}
|
|
12745
12757
|
};
|
|
@@ -12940,19 +12952,18 @@ var AppRunner = class {
|
|
|
12940
12952
|
window: _window,
|
|
12941
12953
|
onResize: this.handleViewResize
|
|
12942
12954
|
});
|
|
12943
|
-
const
|
|
12955
|
+
const renderFrameDispatcher = new RenderFrameDispatcher_default();
|
|
12956
|
+
const scheduler = new Scheduler_default({ renderFrameDispatcher });
|
|
12944
12957
|
const buildOwner = new BuildOwner_default({
|
|
12945
|
-
onNeedVisualUpdate: () =>
|
|
12958
|
+
onNeedVisualUpdate: () => scheduler.ensureVisualUpdate()
|
|
12946
12959
|
});
|
|
12947
12960
|
const renderOwner = new RenderOwner_default({
|
|
12948
|
-
onNeedVisualUpdate: () =>
|
|
12961
|
+
onNeedVisualUpdate: () => scheduler.ensureVisualUpdate(),
|
|
12949
12962
|
renderContext,
|
|
12950
12963
|
hitTestDispatcher: new HitTestDispatcher()
|
|
12951
12964
|
});
|
|
12952
|
-
const scheduler = new Scheduler_default();
|
|
12953
12965
|
scheduler.addPersistenceCallbacks(() => buildOwner.flushBuild());
|
|
12954
12966
|
scheduler.addPersistenceCallbacks(() => renderOwner.drawFrame());
|
|
12955
|
-
renderDispatcher.setOnFrame(() => scheduler.schedule());
|
|
12956
12967
|
this.buildOwner = buildOwner;
|
|
12957
12968
|
this.renderOwner = renderOwner;
|
|
12958
12969
|
this.scheduler = scheduler;
|
|
@@ -13002,7 +13013,7 @@ var AppRunner = class {
|
|
|
13002
13013
|
this.layout();
|
|
13003
13014
|
this.renderOwner.rearrangeDomOrder();
|
|
13004
13015
|
this.paint();
|
|
13005
|
-
this.scheduler.
|
|
13016
|
+
this.scheduler.flushPostCallbacks();
|
|
13006
13017
|
}
|
|
13007
13018
|
rebuild() {
|
|
13008
13019
|
this.root.children[0].rebuild();
|
package/package.json
CHANGED