@blakron/core 0.6.0 → 0.6.3
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/LICENSE +21 -0
- package/README.md +29 -30
- package/dist/blakron/display/DisplayObject.d.ts +6 -10
- package/dist/blakron/display/DisplayObject.d.ts.map +1 -1
- package/dist/blakron/display/DisplayObject.js +6 -44
- package/dist/blakron/display/DisplayObject.js.map +1 -1
- package/dist/blakron/display/DisplayObjectContainer.d.ts +3 -2
- package/dist/blakron/display/DisplayObjectContainer.d.ts.map +1 -1
- package/dist/blakron/display/DisplayObjectContainer.js +3 -18
- package/dist/blakron/display/DisplayObjectContainer.js.map +1 -1
- package/dist/blakron/display/texture/BitmapData.d.ts.map +1 -1
- package/dist/blakron/display/texture/BitmapData.js +9 -22
- package/dist/blakron/display/texture/BitmapData.js.map +1 -1
- package/dist/blakron/events/Event.d.ts.map +1 -1
- package/dist/blakron/events/Event.js +1 -0
- package/dist/blakron/events/Event.js.map +1 -1
- package/dist/blakron/events/EventDispatcher.d.ts.map +1 -1
- package/dist/blakron/events/EventDispatcher.js +13 -12
- package/dist/blakron/events/EventDispatcher.js.map +1 -1
- package/dist/blakron/media/Sound.d.ts +1 -0
- package/dist/blakron/media/Sound.d.ts.map +1 -1
- package/dist/blakron/media/Sound.js +23 -5
- package/dist/blakron/media/Sound.js.map +1 -1
- package/dist/blakron/net/HttpMethod.d.ts +6 -0
- package/dist/blakron/net/HttpMethod.d.ts.map +1 -1
- package/dist/blakron/net/HttpMethod.js +5 -0
- package/dist/blakron/net/HttpMethod.js.map +1 -1
- package/dist/blakron/net/HttpRequest.d.ts +40 -0
- package/dist/blakron/net/HttpRequest.d.ts.map +1 -1
- package/dist/blakron/net/HttpRequest.js +60 -2
- package/dist/blakron/net/HttpRequest.js.map +1 -1
- package/dist/blakron/net/HttpResponseType.d.ts +6 -0
- package/dist/blakron/net/HttpResponseType.d.ts.map +1 -1
- package/dist/blakron/net/HttpResponseType.js +5 -0
- package/dist/blakron/net/HttpResponseType.js.map +1 -1
- package/dist/blakron/net/ImageLoader.d.ts +18 -0
- package/dist/blakron/net/ImageLoader.d.ts.map +1 -1
- package/dist/blakron/net/ImageLoader.js +26 -4
- package/dist/blakron/net/ImageLoader.js.map +1 -1
- package/dist/blakron/player/Player.d.ts.map +1 -1
- package/dist/blakron/player/Player.js +18 -6
- package/dist/blakron/player/Player.js.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderContext.d.ts +2 -5
- package/dist/blakron/player/webgl/WebGLRenderContext.d.ts.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderContext.js +3 -11
- package/dist/blakron/player/webgl/WebGLRenderContext.js.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderer.d.ts +106 -3
- package/dist/blakron/player/webgl/WebGLRenderer.d.ts.map +1 -1
- package/dist/blakron/player/webgl/WebGLRenderer.js +128 -25
- package/dist/blakron/player/webgl/WebGLRenderer.js.map +1 -1
- package/dist/blakron/player/webgl/pipes/TextPipe.d.ts +2 -0
- package/dist/blakron/player/webgl/pipes/TextPipe.d.ts.map +1 -1
- package/dist/blakron/player/webgl/pipes/TextPipe.js +37 -0
- package/dist/blakron/player/webgl/pipes/TextPipe.js.map +1 -1
- package/dist/blakron/resource/Resource.d.ts +16 -4
- package/dist/blakron/resource/Resource.d.ts.map +1 -1
- package/dist/blakron/resource/Resource.js +30 -20
- package/dist/blakron/resource/Resource.js.map +1 -1
- package/dist/blakron/resource/ResourceLoader.d.ts +20 -0
- package/dist/blakron/resource/ResourceLoader.d.ts.map +1 -1
- package/dist/blakron/resource/ResourceLoader.js +44 -16
- package/dist/blakron/resource/ResourceLoader.js.map +1 -1
- package/dist/blakron/utils/ByteArray.d.ts +0 -1
- package/dist/blakron/utils/ByteArray.d.ts.map +1 -1
- package/dist/blakron/utils/ByteArray.js +2 -5
- package/dist/blakron/utils/ByteArray.js.map +1 -1
- package/package.json +4 -6
|
@@ -48,7 +48,10 @@ export class WebGLRenderer {
|
|
|
48
48
|
this._textPipe = new TextPipe(this._canvasRenderer);
|
|
49
49
|
}
|
|
50
50
|
// ── Public entry point ────────────────────────────────────────────────────
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Release pooled instructions (filter/mask push/pop) back to their
|
|
53
|
+
* respective pipes before a rebuild discards `set`'s current contents.
|
|
54
|
+
*/
|
|
52
55
|
_releaseInstructions(set) {
|
|
53
56
|
for (let i = 0; i < set.instructionSize; i++) {
|
|
54
57
|
const inst = set.instructions[i];
|
|
@@ -68,6 +71,11 @@ export class WebGLRenderer {
|
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Render `displayObject` into `buffer` and return the number of draw calls
|
|
76
|
+
* issued. Rebuilds the instruction set when the scene structure is dirty,
|
|
77
|
+
* otherwise patches dirty renderables in place, then executes.
|
|
78
|
+
*/
|
|
71
79
|
render(displayObject, buffer, matrix) {
|
|
72
80
|
this._nestLevel++;
|
|
73
81
|
const ctx = buffer.context;
|
|
@@ -106,18 +114,26 @@ export class WebGLRenderer {
|
|
|
106
114
|
}
|
|
107
115
|
// ── Phase A: build ────────────────────────────────────────────────────────
|
|
108
116
|
/**
|
|
109
|
-
* Recursively
|
|
110
|
-
*
|
|
117
|
+
* Recursively build render instructions for the display subtree rooted at
|
|
118
|
+
* `displayObject`, appending leaf/effect/group instructions into `set`.
|
|
119
|
+
*
|
|
120
|
+
* A `cacheAsBitmap` object is treated as a single opaque leaf: a synthetic
|
|
121
|
+
* `BitmapInstruction` backed by its DisplayList cache is emitted via
|
|
122
|
+
* `addLeaf` (not `add`), so an ancestor's later transform/alpha/tint
|
|
123
|
+
* change can still refresh this instruction's snapshot through the same
|
|
124
|
+
* `renderableIndex` path as ordinary leaves; the cache itself is refreshed
|
|
125
|
+
* lazily during the execute phase if dirty.
|
|
126
|
+
*
|
|
127
|
+
* A child with `isRenderGroup` is built into its own `InstructionSet` and
|
|
128
|
+
* emitted as a single `renderGroup` instruction in the parent set, rather
|
|
129
|
+
* than being inlined here.
|
|
111
130
|
*/
|
|
112
131
|
_buildInstructions(displayObject, set, buffer, offsetX, offsetY, isStage = false) {
|
|
113
|
-
// cacheAsBitmap — treat as a single opaque leaf; render offscreen lazily.
|
|
114
132
|
const $displayList = displayObject.$displayList;
|
|
115
133
|
if ($displayList && !isStage) {
|
|
116
|
-
// Emit a synthetic BitmapInstruction backed by the DisplayList cache.
|
|
117
|
-
// The execute phase will refresh the cache if dirty.
|
|
118
134
|
const inst = this._makeCacheInstruction(displayObject, offsetX, offsetY, buffer);
|
|
119
135
|
if (inst)
|
|
120
|
-
set.
|
|
136
|
+
set.addLeaf(inst);
|
|
121
137
|
return;
|
|
122
138
|
}
|
|
123
139
|
// Emit self instruction (Bitmap / Shape / Sprite / Mesh).
|
|
@@ -152,8 +168,6 @@ export class WebGLRenderer {
|
|
|
152
168
|
if (child.$tintRGB !== 0xffffff)
|
|
153
169
|
buffer.globalTintColor = child.$tintRGB;
|
|
154
170
|
// Emit effect wrappers then recurse.
|
|
155
|
-
// RenderGroup: build the subtree into its own InstructionSet and
|
|
156
|
-
// emit a single renderGroup instruction into the parent set.
|
|
157
171
|
if (child instanceof DisplayObjectContainer && child.isRenderGroup) {
|
|
158
172
|
this._buildRenderGroup(child, set, buffer, ox, oy);
|
|
159
173
|
}
|
|
@@ -180,7 +194,11 @@ export class WebGLRenderer {
|
|
|
180
194
|
}
|
|
181
195
|
}
|
|
182
196
|
}
|
|
183
|
-
|
|
197
|
+
/**
|
|
198
|
+
* Emit a leaf instruction (bitmap/mesh/shape/text/particle) for a single
|
|
199
|
+
* DisplayObject, based on its `$renderObjectType`. No-op for object types
|
|
200
|
+
* that don't map to a render pipe (e.g. plain containers).
|
|
201
|
+
*/
|
|
184
202
|
_buildLeaf(obj, set, buffer, offsetX, offsetY) {
|
|
185
203
|
const transform = this._snapshotTransform(buffer, offsetX, offsetY);
|
|
186
204
|
switch (obj.$renderObjectType) {
|
|
@@ -246,6 +264,12 @@ export class WebGLRenderer {
|
|
|
246
264
|
break;
|
|
247
265
|
}
|
|
248
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* Wrap `obj`'s subtree with filter push/pop instructions. Skips the
|
|
269
|
+
* wrapper entirely (falls through to a plain build) if `obj` has no
|
|
270
|
+
* filters, since an empty push/pop pair would still incur an offscreen
|
|
271
|
+
* buffer allocation for nothing.
|
|
272
|
+
*/
|
|
249
273
|
_buildFilter(obj, set, buffer, offsetX, offsetY) {
|
|
250
274
|
const filters = obj.$filters;
|
|
251
275
|
if (!filters.length) {
|
|
@@ -260,6 +284,9 @@ export class WebGLRenderer {
|
|
|
260
284
|
this._buildInstructions(obj, set, buffer, offsetX, offsetY);
|
|
261
285
|
set.add(FilterPipe.makePop(obj, push));
|
|
262
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Wrap `obj`'s subtree with mask push/pop instructions (`obj.$mask`).
|
|
289
|
+
*/
|
|
263
290
|
_buildClip(obj, set, buffer, offsetX, offsetY) {
|
|
264
291
|
const transform = this._snapshotTransform(buffer, offsetX, offsetY);
|
|
265
292
|
const push = Object.assign(MaskPipe.makePush(obj, offsetX, offsetY), { transform });
|
|
@@ -267,6 +294,11 @@ export class WebGLRenderer {
|
|
|
267
294
|
this._buildInstructions(obj, set, buffer, offsetX, offsetY);
|
|
268
295
|
set.add(MaskPipe.makePop(obj, push));
|
|
269
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Wrap `obj`'s subtree with a mask push/pop pair driven by its
|
|
299
|
+
* `$scrollRect`/`$maskRect`, using the mask pipe's scrollRect path
|
|
300
|
+
* (`isScrollRect`) rather than a full clip mask.
|
|
301
|
+
*/
|
|
270
302
|
_buildScrollRect(obj, set, buffer, offsetX, offsetY) {
|
|
271
303
|
const rect = obj.$scrollRect ?? obj.$maskRect;
|
|
272
304
|
if (!rect || rect.isEmpty())
|
|
@@ -317,7 +349,10 @@ export class WebGLRenderer {
|
|
|
317
349
|
transform,
|
|
318
350
|
});
|
|
319
351
|
}
|
|
320
|
-
|
|
352
|
+
/**
|
|
353
|
+
* Build a `displayListCache` instruction for a `cacheAsBitmap` object.
|
|
354
|
+
* Returns `undefined` if the object has no `$displayList` cache.
|
|
355
|
+
*/
|
|
321
356
|
_makeCacheInstruction(obj, offsetX, offsetY, buffer) {
|
|
322
357
|
const $displayList = obj.$displayList;
|
|
323
358
|
if (!$displayList)
|
|
@@ -348,18 +383,40 @@ export class WebGLRenderer {
|
|
|
348
383
|
};
|
|
349
384
|
}
|
|
350
385
|
// ── Partial update ────────────────────────────────────────────────────────
|
|
386
|
+
/**
|
|
387
|
+
* Patch cached transform/alpha/tint snapshots for objects marked dirty
|
|
388
|
+
* since the last build, without forcing a full instruction rebuild.
|
|
389
|
+
*
|
|
390
|
+
* `set.renderableIndex.get(obj)` misses (returns `undefined`) in two
|
|
391
|
+
* distinct cases, both handled by recursing/flagging rather than
|
|
392
|
+
* refreshing directly:
|
|
393
|
+
* 1. `obj` is a plain container (or any non-leaf) whose own
|
|
394
|
+
* transform/alpha/tint changed. Containers never get a leaf
|
|
395
|
+
* instruction (see `_buildLeaf`'s switch — containers don't match any
|
|
396
|
+
* `RenderObjectType` case), so without recursing into descendants here,
|
|
397
|
+
* their cached snapshots would never be refreshed: Canvas re-walks the
|
|
398
|
+
* tree every frame and picks up new state for free, but WebGL's
|
|
399
|
+
* snapshot-based leaves would keep drawing at the old position
|
|
400
|
+
* indefinitely.
|
|
401
|
+
* 2. `obj` is a leaf-type object that was skipped during
|
|
402
|
+
* `_buildInstructions` because its graphics commands were empty at
|
|
403
|
+
* build time (e.g. a UI component whose Validator fills commands one
|
|
404
|
+
* frame later). If it now has graphics content, flag the set for a
|
|
405
|
+
* full rebuild so it gets an instruction.
|
|
406
|
+
*
|
|
407
|
+
* When a hit is found, the snapshot is rebuilt from the object's current
|
|
408
|
+
* world transform rather than `buffer.globalMatrix`, since that reflects
|
|
409
|
+
* the main buffer's current state, not this object's.
|
|
410
|
+
*/
|
|
351
411
|
_updateDirtyRenderables(set) {
|
|
352
412
|
for (let i = 0; i < set.dirtyRenderableCount; i++) {
|
|
353
413
|
const obj = set.dirtyRenderables[i];
|
|
354
|
-
// Look up the instruction index for this object.
|
|
355
414
|
const idx = set.renderableIndex.get(obj);
|
|
356
415
|
if (idx === undefined) {
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
// it gets an instruction.
|
|
362
|
-
if (this._hasGraphicsContent(obj)) {
|
|
416
|
+
if (obj.$children && obj.$children.length > 0) {
|
|
417
|
+
this._refreshDescendantTransforms(obj, set);
|
|
418
|
+
}
|
|
419
|
+
else if (this._hasGraphicsContent(obj)) {
|
|
363
420
|
set.structureDirty = true;
|
|
364
421
|
}
|
|
365
422
|
continue;
|
|
@@ -367,13 +424,40 @@ export class WebGLRenderer {
|
|
|
367
424
|
const inst = set.instructions[idx];
|
|
368
425
|
if (!inst)
|
|
369
426
|
continue;
|
|
370
|
-
// Recompute the transform snapshot from the object's current world state.
|
|
371
|
-
// We can't use buffer.globalMatrix here (it's the main buffer's current
|
|
372
|
-
// state, not the object's world transform), so we rebuild from scratch.
|
|
373
427
|
this._refreshLeafTransform(obj, inst);
|
|
374
428
|
}
|
|
375
429
|
set.dirtyRenderableCount = 0;
|
|
376
430
|
}
|
|
431
|
+
/**
|
|
432
|
+
* Recursively refresh the transform snapshot of every descendant leaf
|
|
433
|
+
* instruction under `obj`. Used when an ancestor container's own
|
|
434
|
+
* transform/alpha/tint changed — the container itself has no instruction,
|
|
435
|
+
* but its descendants' cached snapshots are now stale and must be patched
|
|
436
|
+
* without forcing a full structural rebuild.
|
|
437
|
+
*
|
|
438
|
+
* Stops descending into a subtree once it hits a nested RenderGroup —
|
|
439
|
+
* that subtree owns its own InstructionSet and is refreshed independently
|
|
440
|
+
* (see markRenderableDirty's RenderGroup routing), so walking into it here
|
|
441
|
+
* would refresh against the wrong InstructionSet.
|
|
442
|
+
*/
|
|
443
|
+
_refreshDescendantTransforms(obj, set) {
|
|
444
|
+
const children = obj.$children;
|
|
445
|
+
if (!children)
|
|
446
|
+
return;
|
|
447
|
+
for (const child of children) {
|
|
448
|
+
if (child instanceof DisplayObjectContainer && child.isRenderGroup)
|
|
449
|
+
continue;
|
|
450
|
+
const idx = set.renderableIndex.get(child);
|
|
451
|
+
if (idx !== undefined) {
|
|
452
|
+
const inst = set.instructions[idx];
|
|
453
|
+
if (inst)
|
|
454
|
+
this._refreshLeafTransform(child, inst);
|
|
455
|
+
}
|
|
456
|
+
if (child.$children && child.$children.length > 0) {
|
|
457
|
+
this._refreshDescendantTransforms(child, set);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
377
461
|
/**
|
|
378
462
|
* Recompute the transform snapshot for a leaf instruction from the object's
|
|
379
463
|
* current concatenated matrix and cached world alpha/tint.
|
|
@@ -392,12 +476,19 @@ export class WebGLRenderer {
|
|
|
392
476
|
t.alpha = obj.$worldAlpha;
|
|
393
477
|
t.tint = obj.$worldTint;
|
|
394
478
|
}
|
|
395
|
-
/**
|
|
479
|
+
/**
|
|
480
|
+
* Check if a display object now has graphics content that warrants an instruction.
|
|
481
|
+
*/
|
|
396
482
|
_hasGraphicsContent(obj) {
|
|
397
483
|
const graphics = obj.graphics;
|
|
398
484
|
return graphics != null && graphics.commands.length > 0;
|
|
399
485
|
}
|
|
400
486
|
// ── Phase B: execute ──────────────────────────────────────────────────────
|
|
487
|
+
/**
|
|
488
|
+
* Walk `set` and dispatch each instruction to its render pipe. No
|
|
489
|
+
* scene-graph traversal happens here — `renderGroup` instructions recurse
|
|
490
|
+
* into their own nested `InstructionSet` via this same method.
|
|
491
|
+
*/
|
|
401
492
|
_executeInstructions(set, buffer) {
|
|
402
493
|
// Stack for offscreen buffers opened by filter/mask push instructions.
|
|
403
494
|
const offscreenStack = [];
|
|
@@ -516,7 +607,10 @@ export class WebGLRenderer {
|
|
|
516
607
|
}
|
|
517
608
|
}
|
|
518
609
|
}
|
|
519
|
-
|
|
610
|
+
/**
|
|
611
|
+
* Restore `buffer`'s global matrix/alpha/tint from a snapshot, adjusting
|
|
612
|
+
* for the buffer's offscreen origin if it's a filter/mask offscreen target.
|
|
613
|
+
*/
|
|
520
614
|
_applyTransform(buffer, t) {
|
|
521
615
|
const m = buffer.globalMatrix;
|
|
522
616
|
m.a = t.a;
|
|
@@ -544,7 +638,11 @@ export class WebGLRenderer {
|
|
|
544
638
|
buf.offscreenOriginX = worldBX - padX;
|
|
545
639
|
buf.offscreenOriginY = worldBY - padY;
|
|
546
640
|
}
|
|
547
|
-
|
|
641
|
+
/**
|
|
642
|
+
* Execute a `displayListCache` instruction: refresh the cached bitmap if
|
|
643
|
+
* dirty (re-rendering `obj`'s subtree via the canvas renderer into an
|
|
644
|
+
* offscreen surface), then draw that cached bitmap into `buffer`.
|
|
645
|
+
*/
|
|
548
646
|
_executeDisplayListCache(obj, buffer, offsetX, offsetY) {
|
|
549
647
|
const $displayList = obj.$displayList;
|
|
550
648
|
if (!$displayList)
|
|
@@ -584,7 +682,12 @@ export class WebGLRenderer {
|
|
|
584
682
|
// into the offscreen buffer — this is the same as the old approach.
|
|
585
683
|
return this._directDraw(obj, buffer, offsetX, offsetY);
|
|
586
684
|
}
|
|
587
|
-
|
|
685
|
+
/**
|
|
686
|
+
* Draw `obj` and its subtree directly into `buffer`, bypassing the
|
|
687
|
+
* InstructionSet. Used for offscreen mask/filter buffers, which are
|
|
688
|
+
* rendered on demand rather than through the main build/execute pass.
|
|
689
|
+
* Returns the number of draw calls issued.
|
|
690
|
+
*/
|
|
588
691
|
_directDraw(obj, buffer, offsetX, offsetY) {
|
|
589
692
|
let drawCalls = 0;
|
|
590
693
|
// Bake offset into globalMatrix instead of buffer.offsetX
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGLRenderer.js","sourceRoot":"","sources":["../../../../src/blakron/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebGLRenderer.js","sourceRoot":"","sources":["../../../../src/blakron/player/webgl/WebGLRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ export declare class TextPipe implements RenderPipe<TextField> {
|
|
|
31
31
|
private static readonly _pool;
|
|
32
32
|
private readonly _canvasRenderer;
|
|
33
33
|
private readonly _cache;
|
|
34
|
+
private readonly _registryTokens;
|
|
35
|
+
private _gl?;
|
|
34
36
|
constructor(canvasRenderer: CanvasRenderer);
|
|
35
37
|
private static _alloc;
|
|
36
38
|
static release(inst: TextInstruction): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextPipe.d.ts","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/pipes/TextPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextPipe.d.ts","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/pipes/TextPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkB5D,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,QAAS,YAAW,UAAU,CAAC,SAAS,CAAC;IAErD,gBAAuB,OAAO,UAAU;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAGtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,GAAG,CAAC,CAAK;gBAGE,cAAc,EAAE,cAAc;IAIjD,OAAO,CAAC,MAAM,CAAC,MAAM;WAaP,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAM3C,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAI7D,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAKtC,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAgB7C;;;;;;;;;OASG;IACI,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CAgItE"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { TextFieldType } from '../../../text/enums/TextFieldType.js';
|
|
2
2
|
import { RenderBuffer } from '../../canvas/index.js';
|
|
3
|
+
// ── Texture GC registry ───────────────────────────────────────────────────────
|
|
4
|
+
/**
|
|
5
|
+
* When a TextField is GC'd, automatically release its cached WebGL texture.
|
|
6
|
+
* TextFields are frequently created and discarded without an explicit
|
|
7
|
+
* destroyRenderable() call (e.g. UI relayouts, virtualized lists), so this
|
|
8
|
+
* is the primary cleanup path — mirrors GraphicsPipe's texture registry.
|
|
9
|
+
*/
|
|
10
|
+
const _textureRegistry = new FinalizationRegistry(({ gl, texture }) => {
|
|
11
|
+
gl.deleteTexture(texture);
|
|
12
|
+
});
|
|
3
13
|
// ── Pipe ──────────────────────────────────────────────────────────────────────
|
|
4
14
|
/**
|
|
5
15
|
* Handles WebGL rendering of TextField display objects.
|
|
@@ -24,6 +34,8 @@ export class TextPipe {
|
|
|
24
34
|
// ── Instance fields ───────────────────────────────────────────────────────
|
|
25
35
|
_canvasRenderer;
|
|
26
36
|
_cache = new WeakMap();
|
|
37
|
+
_registryTokens = new WeakMap();
|
|
38
|
+
_gl;
|
|
27
39
|
// ── Constructor ───────────────────────────────────────────────────────────
|
|
28
40
|
constructor(canvasRenderer) {
|
|
29
41
|
this._canvasRenderer = canvasRenderer;
|
|
@@ -52,6 +64,17 @@ export class TextPipe {
|
|
|
52
64
|
// which is checked at execute time — nothing to pre-upload here.
|
|
53
65
|
}
|
|
54
66
|
destroyRenderable(tf) {
|
|
67
|
+
const cache = this._cache.get(tf);
|
|
68
|
+
if (cache?.texture) {
|
|
69
|
+
// Unregister from GC registry and delete texture immediately.
|
|
70
|
+
const token = this._registryTokens.get(tf);
|
|
71
|
+
if (token) {
|
|
72
|
+
_textureRegistry.unregister(token);
|
|
73
|
+
this._registryTokens.delete(tf);
|
|
74
|
+
}
|
|
75
|
+
if (this._gl)
|
|
76
|
+
this._gl.deleteTexture(cache.texture);
|
|
77
|
+
}
|
|
55
78
|
this._cache.delete(tf);
|
|
56
79
|
}
|
|
57
80
|
// ── Execute ───────────────────────────────────────────────────────────────
|
|
@@ -68,6 +91,9 @@ export class TextPipe {
|
|
|
68
91
|
execute(inst, buffer) {
|
|
69
92
|
const tf = inst.renderable;
|
|
70
93
|
tf.getLinesArr(); // ensure lines are computed
|
|
94
|
+
// Cache the GL context for use in destroyRenderable.
|
|
95
|
+
if (!this._gl)
|
|
96
|
+
this._gl = buffer.context.gl;
|
|
71
97
|
// ── INPUT mode while focused: HTML input element owns the display ────
|
|
72
98
|
// Don't render the canvas texture — the native <input>/<textarea>
|
|
73
99
|
// is overlaid on top and already shows the text. Rendering here too
|
|
@@ -140,9 +166,20 @@ export class TextPipe {
|
|
|
140
166
|
const surface = cache.renderBuffer.surface;
|
|
141
167
|
if (!cache.texture) {
|
|
142
168
|
cache.texture = buffer.context.createTexture(surface);
|
|
169
|
+
// Register for GC-based cleanup.
|
|
170
|
+
const token = {};
|
|
171
|
+
_textureRegistry.register(tf, { gl: buffer.context.gl, texture: cache.texture }, token);
|
|
172
|
+
this._registryTokens.set(tf, token);
|
|
143
173
|
}
|
|
144
174
|
else {
|
|
175
|
+
// Unregister old texture, create new registration for updated texture.
|
|
176
|
+
const oldToken = this._registryTokens.get(tf);
|
|
177
|
+
if (oldToken)
|
|
178
|
+
_textureRegistry.unregister(oldToken);
|
|
145
179
|
buffer.context.updateTexture(cache.texture, surface);
|
|
180
|
+
const token = {};
|
|
181
|
+
_textureRegistry.register(tf, { gl: buffer.context.gl, texture: cache.texture }, token);
|
|
182
|
+
this._registryTokens.set(tf, token);
|
|
146
183
|
}
|
|
147
184
|
cache.textureWidth = pixelW;
|
|
148
185
|
cache.textureHeight = pixelH;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextPipe.js","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/pipes/TextPipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAMrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextPipe.js","sourceRoot":"","sources":["../../../../../src/blakron/player/webgl/pipes/TextPipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,14 +21,12 @@ export type ResourceEventListener = (event: ResourceEvent) => void;
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export declare class Resource {
|
|
24
|
-
private static _instance?;
|
|
25
|
-
static get instance(): Resource;
|
|
26
24
|
private config;
|
|
27
25
|
private loader;
|
|
28
26
|
private analyzerMap;
|
|
29
27
|
private eventListeners;
|
|
30
28
|
private loadedNames;
|
|
31
|
-
private
|
|
29
|
+
private groupLoadQueue;
|
|
32
30
|
constructor();
|
|
33
31
|
/**
|
|
34
32
|
* Load and parse a resource configuration file.
|
|
@@ -46,8 +44,22 @@ export declare class Resource {
|
|
|
46
44
|
}): void;
|
|
47
45
|
/**
|
|
48
46
|
* Load all resources in a group. Returns a promise that resolves when done.
|
|
47
|
+
*
|
|
48
|
+
* `this.loader` is a single shared instance, so running two batches at once
|
|
49
|
+
* would let the second call's queue/callbacks silently replace the first's
|
|
50
|
+
* mid-flight. Concurrent calls (for the same or different groups) are
|
|
51
|
+
* therefore chained onto `groupLoadQueue` and run to completion one at a
|
|
52
|
+
* time; each call still gets its own promise that resolves/rejects
|
|
53
|
+
* independently once its turn comes up, and a failed batch doesn't block
|
|
54
|
+
* the ones queued after it.
|
|
55
|
+
*
|
|
56
|
+
* The already-loaded filter is recomputed once this call's turn actually
|
|
57
|
+
* starts (inside `run()`), not at call time — otherwise an
|
|
58
|
+
* already-queued, overlapping `loadGroup()` call could finish loading some
|
|
59
|
+
* of these items first, and a stale snapshot would re-load them anyway.
|
|
60
|
+
*
|
|
49
61
|
* @param groupName Name of the group to load
|
|
50
|
-
* @param priority
|
|
62
|
+
* @param priority Reserved for future prioritized loading; currently unused by `ResourceLoader`
|
|
51
63
|
* @param onProgress Optional progress callback
|
|
52
64
|
*/
|
|
53
65
|
loadGroup(groupName: string, priority?: number, onProgress?: ProgressCallback): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../../src/blakron/resource/Resource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAW3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ;IAGpB,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../../src/blakron/resource/Resource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAW3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ;IAGpB,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,WAAW,CAA8D;IACjF,OAAO,CAAC,cAAc,CAA0F;IAChH,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAAuC;;IAU7D;;;;OAIG;IACU,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE;;OAEG;IACI,WAAW,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAM1E;;;;;;;;;;;;;;;;;;;OAmBG;IACU,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrG;;OAEG;IACU,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA0BxD;;OAEG;IACI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IASpD;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOpC;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAItC;;OAEG;IACI,aAAa,IAAI,MAAM,EAAE;IAMhC;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUrC;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO5C;;OAEG;IACI,UAAU,IAAI,IAAI;IAUzB;;OAEG;IACI,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IASzE;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAO1E;;;OAGG;IACI,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAQnD;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAOnE,OAAO,CAAC,wBAAwB;YAqBlB,WAAW;IAkDzB,OAAO,CAAC,gBAAgB;IAsExB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,IAAI;CAYZ;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAyB,CAAC"}
|