@kurot/core 1.0.12 → 1.0.14

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.
Files changed (98) hide show
  1. package/dist/kurot/display/texture/BitmapData.d.ts +1 -0
  2. package/dist/kurot/display/texture/BitmapData.d.ts.map +1 -1
  3. package/dist/kurot/display/texture/BitmapData.js +2 -0
  4. package/dist/kurot/display/texture/BitmapData.js.map +1 -1
  5. package/dist/kurot/media/Video.d.ts +21 -17
  6. package/dist/kurot/media/Video.d.ts.map +1 -1
  7. package/dist/kurot/media/Video.js +137 -106
  8. package/dist/kurot/media/Video.js.map +1 -1
  9. package/dist/kurot/player/{webgl/InstructionSet.d.ts → InstructionSet.d.ts} +1 -1
  10. package/dist/kurot/player/InstructionSet.d.ts.map +1 -0
  11. package/dist/kurot/player/InstructionSet.js.map +1 -0
  12. package/dist/kurot/player/Player.js +2 -2
  13. package/dist/kurot/player/RenderBuffer.d.ts +28 -0
  14. package/dist/kurot/player/RenderBuffer.d.ts.map +1 -0
  15. package/dist/kurot/player/RenderBuffer.js +2 -0
  16. package/dist/kurot/player/RenderBuffer.js.map +1 -0
  17. package/dist/kurot/player/RenderContext.d.ts +73 -0
  18. package/dist/kurot/player/RenderContext.d.ts.map +1 -0
  19. package/dist/kurot/player/RenderContext.js +2 -0
  20. package/dist/kurot/player/RenderContext.js.map +1 -0
  21. package/dist/kurot/player/RenderPipe.d.ts +1 -1
  22. package/dist/kurot/player/RenderPipe.d.ts.map +1 -1
  23. package/dist/kurot/player/canvas/{RenderBuffer.d.ts → CanvasBuffer.d.ts} +3 -3
  24. package/dist/kurot/player/canvas/{RenderBuffer.d.ts.map → CanvasBuffer.d.ts.map} +1 -1
  25. package/dist/kurot/player/canvas/{RenderBuffer.js → CanvasBuffer.js} +3 -3
  26. package/dist/kurot/player/canvas/{RenderBuffer.js.map → CanvasBuffer.js.map} +1 -1
  27. package/dist/kurot/player/canvas/CanvasRenderer.d.ts +2 -2
  28. package/dist/kurot/player/canvas/CanvasRenderer.js +7 -7
  29. package/dist/kurot/player/canvas/DisplayList.d.ts +2 -2
  30. package/dist/kurot/player/canvas/DisplayList.js +7 -7
  31. package/dist/kurot/player/canvas/index.d.ts +1 -1
  32. package/dist/kurot/player/canvas/index.js +1 -1
  33. package/dist/kurot/player/createPlayer.js +2 -2
  34. package/dist/kurot/player/index.d.ts +2 -2
  35. package/dist/kurot/player/index.d.ts.map +1 -1
  36. package/dist/kurot/player/index.js +2 -2
  37. package/dist/kurot/player/index.js.map +1 -1
  38. package/dist/kurot/player/{webgl/pipes → pipes}/BitmapPipe.d.ts +4 -4
  39. package/dist/kurot/player/pipes/BitmapPipe.d.ts.map +1 -0
  40. package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -0
  41. package/dist/kurot/player/{webgl/pipes → pipes}/FilterPipe.d.ts +4 -4
  42. package/dist/kurot/player/pipes/FilterPipe.d.ts.map +1 -0
  43. package/dist/kurot/player/{webgl/pipes → pipes}/FilterPipe.js +2 -2
  44. package/dist/kurot/player/pipes/FilterPipe.js.map +1 -0
  45. package/dist/kurot/player/{webgl/pipes → pipes}/GraphicsPipe.d.ts +7 -7
  46. package/dist/kurot/player/pipes/GraphicsPipe.d.ts.map +1 -0
  47. package/dist/kurot/player/{webgl/pipes → pipes}/GraphicsPipe.js +17 -29
  48. package/dist/kurot/player/pipes/GraphicsPipe.js.map +1 -0
  49. package/dist/kurot/player/{webgl/pipes → pipes}/MaskPipe.d.ts +3 -3
  50. package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -0
  51. package/dist/kurot/player/{webgl/pipes → pipes}/MaskPipe.js +2 -2
  52. package/dist/kurot/player/pipes/MaskPipe.js.map +1 -0
  53. package/dist/kurot/player/{webgl/pipes → pipes}/MeshPipe.d.ts +4 -4
  54. package/dist/kurot/player/pipes/MeshPipe.d.ts.map +1 -0
  55. package/dist/kurot/player/pipes/MeshPipe.js.map +1 -0
  56. package/dist/kurot/player/{webgl/pipes → pipes}/ParticlePipe.d.ts +4 -4
  57. package/dist/kurot/player/pipes/ParticlePipe.d.ts.map +1 -0
  58. package/dist/kurot/player/{webgl/pipes → pipes}/ParticlePipe.js +1 -1
  59. package/dist/kurot/player/pipes/ParticlePipe.js.map +1 -0
  60. package/dist/kurot/player/{webgl/pipes → pipes}/TextPipe.d.ts +6 -6
  61. package/dist/kurot/player/pipes/TextPipe.d.ts.map +1 -0
  62. package/dist/kurot/player/{webgl/pipes → pipes}/TextPipe.js +17 -29
  63. package/dist/kurot/player/pipes/TextPipe.js.map +1 -0
  64. package/dist/kurot/player/pipes/index.d.ts.map +1 -0
  65. package/dist/kurot/player/pipes/index.js.map +1 -0
  66. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts +2 -1
  67. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts.map +1 -1
  68. package/dist/kurot/player/webgl/WebGLRenderBuffer.js.map +1 -1
  69. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts +14 -1
  70. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts.map +1 -1
  71. package/dist/kurot/player/webgl/WebGLRenderContext.js +31 -2
  72. package/dist/kurot/player/webgl/WebGLRenderContext.js.map +1 -1
  73. package/dist/kurot/player/webgl/WebGLRenderer.js +13 -13
  74. package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
  75. package/package.json +4 -3
  76. package/dist/kurot/player/webgl/InstructionSet.d.ts.map +0 -1
  77. package/dist/kurot/player/webgl/InstructionSet.js.map +0 -1
  78. package/dist/kurot/player/webgl/pipes/BitmapPipe.d.ts.map +0 -1
  79. package/dist/kurot/player/webgl/pipes/BitmapPipe.js.map +0 -1
  80. package/dist/kurot/player/webgl/pipes/FilterPipe.d.ts.map +0 -1
  81. package/dist/kurot/player/webgl/pipes/FilterPipe.js.map +0 -1
  82. package/dist/kurot/player/webgl/pipes/GraphicsPipe.d.ts.map +0 -1
  83. package/dist/kurot/player/webgl/pipes/GraphicsPipe.js.map +0 -1
  84. package/dist/kurot/player/webgl/pipes/MaskPipe.d.ts.map +0 -1
  85. package/dist/kurot/player/webgl/pipes/MaskPipe.js.map +0 -1
  86. package/dist/kurot/player/webgl/pipes/MeshPipe.d.ts.map +0 -1
  87. package/dist/kurot/player/webgl/pipes/MeshPipe.js.map +0 -1
  88. package/dist/kurot/player/webgl/pipes/ParticlePipe.d.ts.map +0 -1
  89. package/dist/kurot/player/webgl/pipes/ParticlePipe.js.map +0 -1
  90. package/dist/kurot/player/webgl/pipes/TextPipe.d.ts.map +0 -1
  91. package/dist/kurot/player/webgl/pipes/TextPipe.js.map +0 -1
  92. package/dist/kurot/player/webgl/pipes/index.d.ts.map +0 -1
  93. package/dist/kurot/player/webgl/pipes/index.js.map +0 -1
  94. /package/dist/kurot/player/{webgl/InstructionSet.js → InstructionSet.js} +0 -0
  95. /package/dist/kurot/player/{webgl/pipes → pipes}/BitmapPipe.js +0 -0
  96. /package/dist/kurot/player/{webgl/pipes → pipes}/MeshPipe.js +0 -0
  97. /package/dist/kurot/player/{webgl/pipes → pipes}/index.d.ts +0 -0
  98. /package/dist/kurot/player/{webgl/pipes → pipes}/index.js +0 -0
@@ -0,0 +1,73 @@
1
+ import type { BitmapData } from '../display/texture/BitmapData.js';
2
+ import type { Filter } from '../filters/Filter.js';
3
+ /**
4
+ * Opaque backend texture handle.
5
+ *
6
+ * Its concrete type is backend-specific (`WebGLTexture` today, `GPUTexture` in
7
+ * a future WebGPU backend). Pipes only ever receive this from `RenderContext`
8
+ * methods and pass it back to other `RenderContext` methods — they never
9
+ * inspect its internals. Aliased to `unknown` (not a branded type) because the
10
+ * WebGL backend returns the native `WebGLTexture` directly, which couldn't
11
+ * satisfy a branded interface without a wrapping class. The alias exists for
12
+ * readability and documentation, not type-level enforcement.
13
+ */
14
+ export type TextureHandle = unknown;
15
+ /**
16
+ * Opaque offscreen buffer handle (`WebGLRenderBuffer` today). Same rationale
17
+ * as {@link TextureHandle} — pass-through only, aliased to `unknown`.
18
+ */
19
+ export type OffscreenBufferHandle = unknown;
20
+ /**
21
+ * Backend-agnostic drawing surface used by leaf/effect pipes.
22
+ *
23
+ * This is the one coupling point between a pipe's `execute()` body and a
24
+ * concrete GPU API. `WebGLRenderContext` implements this interface today;
25
+ * a future WebGPU backend would provide its own implementation without any
26
+ * change to the pipes that consume it.
27
+ *
28
+ * Only methods actually called from `player/pipes/*.ts` are declared here —
29
+ * see docs-internal/renderer-backend-decoupling.md for the grep that
30
+ * produced this list. `texture`/`buffer` parameters are typed
31
+ * {@link TextureHandle}/{@link OffscreenBufferHandle} because their concrete
32
+ * shape (`WebGLTexture`, `WebGLRenderBuffer`, ...) is backend-specific; pipes
33
+ * only ever pass through values they received from this same interface, never
34
+ * inspect their internals directly.
35
+ */
36
+ export interface RenderContext {
37
+ drawImage(image: BitmapData, sourceX: number, sourceY: number, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number, imageSourceWidth: number, imageSourceHeight: number, rotated: boolean, smoothing?: boolean): void;
38
+ drawMesh(image: BitmapData, sourceX: number, sourceY: number, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number, imageSourceWidth: number, imageSourceHeight: number, meshUVs: number[], meshVertices: number[], meshIndices: number[], rotated: boolean, smoothing: boolean): void;
39
+ drawTexture(texture: TextureHandle, sourceX: number, sourceY: number, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number, textureWidth: number, textureHeight: number): void;
40
+ drawFramebufferTexture(texture: TextureHandle, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number): void;
41
+ compositeFilterResult(filters: Filter[], offscreen: OffscreenBufferHandle): void;
42
+ createTexture(source: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): TextureHandle;
43
+ updateTexture(texture: TextureHandle, source: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void;
44
+ /**
45
+ * Registers `texture` for backend-appropriate cleanup once `owner` is
46
+ * garbage-collected, keyed by `token` so a later `unregisterTextureGC`
47
+ * call can cancel this specific registration (e.g. when `owner`'s cached
48
+ * texture is replaced before it was ever collected). Replaces a pipe
49
+ * holding onto a raw GPU context handle itself just to delete a texture
50
+ * later — pipes never need to know which backend created the texture.
51
+ */
52
+ registerTextureForGC(owner: object, texture: TextureHandle, token: object): void;
53
+ /** Cancels a pending registration made via `registerTextureForGC`. */
54
+ unregisterTextureGC(token: object): void;
55
+ /**
56
+ * Immediately release a texture previously passed to
57
+ * `registerTextureForGC`, without waiting for garbage collection.
58
+ */
59
+ deleteTexture(texture: TextureHandle): void;
60
+ pushMask(x: number, y: number, width: number, height: number): void;
61
+ popMask(): void;
62
+ enableScissor(x: number, y: number, width: number, height: number): void;
63
+ disableScissor(): void;
64
+ pushBuffer(buffer: OffscreenBufferHandle): void;
65
+ popBuffer(): void;
66
+ setGlobalCompositeOperation(value: string): void;
67
+ currentBlendMode: string;
68
+ activeFilter?: Filter;
69
+ flush(): void;
70
+ /** Maximum texture dimension the backend can handle (e.g. `MAX_TEXTURE_SIZE` in WebGL). */
71
+ maxTextureSize: number;
72
+ }
73
+ //# sourceMappingURL=RenderContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RenderContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderContext.js","sourceRoot":"","sources":["../../../src/kurot/player/RenderContext.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type { DisplayObject } from '../display/DisplayObject.js';
2
- import type { InstructionSet } from './webgl/InstructionSet.js';
2
+ import type { InstructionSet } from './InstructionSet.js';
3
3
  /**
4
4
  * A RenderPipe handles one category of DisplayObject (Bitmap, Graphics, Mesh…).
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPipe.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAClE;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9D;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtC;;;OAGG;IACH,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;CACxC"}
1
+ {"version":3,"file":"RenderPipe.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAClE;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9D;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtC;;;OAGG;IACH,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;CACxC"}
@@ -3,7 +3,7 @@
3
3
  * Wraps an HTMLCanvasElement + CanvasRenderingContext2D for offscreen drawing,
4
4
  * hit testing, and pixel readback.
5
5
  */
6
- export declare class RenderBuffer {
6
+ export declare class CanvasBuffer {
7
7
  readonly surface: HTMLCanvasElement;
8
8
  readonly context: CanvasRenderingContext2D;
9
9
  constructor(width?: number, height?: number);
@@ -31,5 +31,5 @@ export declare class RenderBuffer {
31
31
  */
32
32
  destroy(): void;
33
33
  }
34
- export declare function hitTestBuffer(): RenderBuffer;
35
- //# sourceMappingURL=RenderBuffer.d.ts.map
34
+ export declare function hitTestBuffer(): CanvasBuffer;
35
+ //# sourceMappingURL=CanvasBuffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderBuffer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/RenderBuffer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,YAAY;IAGxB,SAAgB,OAAO,EAAE,iBAAiB,CAAC;IAC3C,SAAgB,OAAO,EAAE,wBAAwB,CAAC;gBAI/B,KAAK,SAAI,EAAE,MAAM,SAAI;IAYxC,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IAID;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,IAAI;IAYtE;;OAEG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,MAAM,SAAI,GAAG,MAAM,EAAE;IAKvE;;OAEG;IACI,SAAS,CAAC,IAAI,SAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9D;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAItB;AAID,wBAAgB,aAAa,IAAI,YAAY,CAG5C"}
1
+ {"version":3,"file":"CanvasBuffer.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/CanvasBuffer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,YAAY;IAGxB,SAAgB,OAAO,EAAE,iBAAiB,CAAC;IAC3C,SAAgB,OAAO,EAAE,wBAAwB,CAAC;gBAI/B,KAAK,SAAI,EAAE,MAAM,SAAI;IAYxC,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IAID;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,IAAI;IAYtE;;OAEG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,MAAM,SAAI,GAAG,MAAM,EAAE;IAKvE;;OAEG;IACI,SAAS,CAAC,IAAI,SAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9D;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAItB;AAID,wBAAgB,aAAa,IAAI,YAAY,CAG5C"}
@@ -3,7 +3,7 @@
3
3
  * Wraps an HTMLCanvasElement + CanvasRenderingContext2D for offscreen drawing,
4
4
  * hit testing, and pixel readback.
5
5
  */
6
- export class RenderBuffer {
6
+ export class CanvasBuffer {
7
7
  // ── Instance fields ───────────────────────────────────────────────────────
8
8
  surface;
9
9
  context;
@@ -77,7 +77,7 @@ export class RenderBuffer {
77
77
  let _hitTestBuffer;
78
78
  export function hitTestBuffer() {
79
79
  if (!_hitTestBuffer)
80
- _hitTestBuffer = new RenderBuffer(3, 3);
80
+ _hitTestBuffer = new CanvasBuffer(3, 3);
81
81
  return _hitTestBuffer;
82
82
  }
83
- //# sourceMappingURL=RenderBuffer.js.map
83
+ //# sourceMappingURL=CanvasBuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderBuffer.js","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/RenderBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CanvasBuffer.js","sourceRoot":"","sources":["../../../../src/kurot/player/canvas/CanvasBuffer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Bitmap } from '../../display/Bitmap.js';
3
3
  import { Graphics } from '../../display/Graphics.js';
4
4
  import { Matrix } from '../../geom/Matrix.js';
5
5
  import { TextField } from '../../text/TextField.js';
6
- import { RenderBuffer } from './RenderBuffer.js';
6
+ import { CanvasBuffer } from './CanvasBuffer.js';
7
7
  /**
8
8
  * Canvas 2D renderer. Traverses the DisplayObject tree and draws each node
9
9
  * using the Canvas 2D API. Equivalent to Egret's `CanvasRenderer`.
@@ -25,7 +25,7 @@ export declare class CanvasRenderer {
25
25
  /**
26
26
  * Renders a display object tree into the given buffer.
27
27
  */
28
- render(displayObject: DisplayObject, buffer: RenderBuffer, matrix?: Matrix): number;
28
+ render(displayObject: DisplayObject, buffer: CanvasBuffer, matrix?: Matrix): number;
29
29
  /** @internal Used by WebGLRenderer for offscreen DisplayList rendering. */
30
30
  renderToContext(displayObject: DisplayObject, ctx: CanvasRenderingContext2D, offsetX: number, offsetY: number): void;
31
31
  /** @internal Used by WebGLRenderer to rasterize a Graphics object into a Canvas 2D context. */
@@ -9,7 +9,7 @@ import { HorizontalAlign } from '../../text/enums/HorizontalAlign.js';
9
9
  import { VerticalAlign } from '../../text/enums/VerticalAlign.js';
10
10
  import { TextFieldType } from '../../text/enums/TextFieldType.js';
11
11
  import { getFontString } from '../../text/TextMeasurer.js';
12
- import { RenderBuffer, hitTestBuffer } from './RenderBuffer.js';
12
+ import { CanvasBuffer, hitTestBuffer } from './CanvasBuffer.js';
13
13
  const CAPS_MAP = { none: 'butt', square: 'square', round: 'round' };
14
14
  /** Convert a 0xRRGGBB color number to a CSS rgb() string. */
15
15
  function colorToString(color) {
@@ -76,10 +76,10 @@ export class CanvasRenderer {
76
76
  if ($displayList && !_isStage) {
77
77
  if (displayObject.$cacheDirty || displayObject.$renderDirty) {
78
78
  if ($displayList.updateSurfaceSize()) {
79
- $displayList.renderBuffer.clear();
79
+ $displayList.canvasBuffer.clear();
80
80
  const resolution = $displayList.actualResolution;
81
- $displayList.renderBuffer.context.setTransform(resolution, 0, 0, resolution, 0, 0);
82
- this.drawDisplayObject(displayObject, $displayList.renderBuffer.context, $displayList.offsetX, $displayList.offsetY, true);
81
+ $displayList.canvasBuffer.context.setTransform(resolution, 0, 0, resolution, 0, 0);
82
+ this.drawDisplayObject(displayObject, $displayList.canvasBuffer.context, $displayList.offsetX, $displayList.offsetY, true);
83
83
  $displayList.updateBitmapData();
84
84
  }
85
85
  displayObject.$cacheDirty = false;
@@ -90,7 +90,7 @@ export class CanvasRenderer {
90
90
  const resolution = $displayList.actualResolution;
91
91
  const previousSmoothing = ctx.imageSmoothingEnabled;
92
92
  ctx.imageSmoothingEnabled = $displayList.scaleMode === 'linear';
93
- ctx.drawImage($displayList.bitmapData.source, offsetX - $displayList.offsetX, offsetY - $displayList.offsetY, $displayList.renderBuffer.width / resolution, $displayList.renderBuffer.height / resolution);
93
+ ctx.drawImage($displayList.bitmapData.source, offsetX - $displayList.offsetX, offsetY - $displayList.offsetY, $displayList.canvasBuffer.width / resolution, $displayList.canvasBuffer.height / resolution);
94
94
  ctx.imageSmoothingEnabled = previousSmoothing;
95
95
  drawCalls++;
96
96
  }
@@ -229,7 +229,7 @@ export class CanvasRenderer {
229
229
  // ── CPU fallback: ColorMatrixFilter or mixed ──────────────────────────
230
230
  const bufferW = Math.ceil(bounds.width);
231
231
  const bufferH = Math.ceil(bounds.height);
232
- const offscreen = new RenderBuffer(bufferW, bufferH);
232
+ const offscreen = new CanvasBuffer(bufferW, bufferH);
233
233
  const offCtx = offscreen.context;
234
234
  // Apply CSS-capable filters on the offscreen context before drawing.
235
235
  if (cssFilters.length > 0)
@@ -295,7 +295,7 @@ export class CanvasRenderer {
295
295
  const bx = bounds.x;
296
296
  const by = bounds.y;
297
297
  // Render content to offscreen buffer
298
- const contentBuffer = new RenderBuffer(bw, bh);
298
+ const contentBuffer = new CanvasBuffer(bw, bh);
299
299
  const contentCtx = contentBuffer.context;
300
300
  const drawCalls = this.drawDisplayObject(displayObject, contentCtx, -bx, -by);
301
301
  // Render mask shape to the same buffer using destination-in
@@ -1,6 +1,6 @@
1
1
  import { BitmapData } from '../../display/texture/BitmapData.js';
2
2
  import type { CacheAsTextureOptions, DisplayObject } from '../../display/DisplayObject.js';
3
- import { RenderBuffer } from './RenderBuffer.js';
3
+ import { CanvasBuffer } from './CanvasBuffer.js';
4
4
  /**
5
5
  * DisplayList provides per-object offscreen caching for DisplayObjects with
6
6
  * cacheAsBitmap = true. When the object is not dirty, the cached canvas is
@@ -13,7 +13,7 @@ export declare class DisplayList {
13
13
  root: DisplayObject;
14
14
  offsetX: number;
15
15
  offsetY: number;
16
- renderBuffer: RenderBuffer;
16
+ canvasBuffer: CanvasBuffer;
17
17
  bitmapData?: BitmapData;
18
18
  resolution: number;
19
19
  scaleMode: 'linear' | 'nearest';
@@ -1,6 +1,6 @@
1
1
  import { BitmapData } from '../../display/texture/BitmapData.js';
2
2
  import { deleteWebGLTexture, SYM_GL_CONTEXT } from '../webgl/WebGLUtils.js';
3
- import { RenderBuffer } from './RenderBuffer.js';
3
+ import { CanvasBuffer } from './CanvasBuffer.js';
4
4
  /**
5
5
  * DisplayList provides per-object offscreen caching for DisplayObjects with
6
6
  * cacheAsBitmap = true. When the object is not dirty, the cached canvas is
@@ -15,7 +15,7 @@ export class DisplayList {
15
15
  root;
16
16
  offsetX = 0;
17
17
  offsetY = 0;
18
- renderBuffer;
18
+ canvasBuffer;
19
19
  bitmapData;
20
20
  resolution = 1;
21
21
  scaleMode = 'linear';
@@ -23,7 +23,7 @@ export class DisplayList {
23
23
  // ── Constructor ───────────────────────────────────────────────────────────
24
24
  constructor(root) {
25
25
  this.root = root;
26
- this.renderBuffer = new RenderBuffer();
26
+ this.canvasBuffer = new CanvasBuffer();
27
27
  }
28
28
  // ── Public methods ────────────────────────────────────────────────────────
29
29
  static create(target) {
@@ -43,7 +43,7 @@ export class DisplayList {
43
43
  deleteWebGLTexture(gl, texture);
44
44
  dl.bitmapData.webGLTexture = undefined;
45
45
  }
46
- dl.renderBuffer.resize(0, 0);
46
+ dl.canvasBuffer.resize(0, 0);
47
47
  dl.bitmapData = undefined;
48
48
  if (DisplayList._pool.length < 8)
49
49
  DisplayList._pool.push(dl);
@@ -76,8 +76,8 @@ export class DisplayList {
76
76
  const h = Math.max(1, Math.ceil(bounds.height * this.actualResolution));
77
77
  this.offsetX = -bounds.x;
78
78
  this.offsetY = -bounds.y;
79
- if (this.renderBuffer.width !== w || this.renderBuffer.height !== h) {
80
- this.renderBuffer.resize(w, h);
79
+ if (this.canvasBuffer.width !== w || this.canvasBuffer.height !== h) {
80
+ this.canvasBuffer.resize(w, h);
81
81
  }
82
82
  return true;
83
83
  }
@@ -85,7 +85,7 @@ export class DisplayList {
85
85
  * Updates the BitmapData reference after rendering into the buffer.
86
86
  */
87
87
  updateBitmapData() {
88
- const surface = this.renderBuffer.surface;
88
+ const surface = this.canvasBuffer.surface;
89
89
  if (!this.bitmapData) {
90
90
  this.bitmapData = new BitmapData(surface);
91
91
  this.bitmapData.deleteSource = false;
@@ -1,4 +1,4 @@
1
1
  export { CanvasRenderer } from './CanvasRenderer.js';
2
- export { RenderBuffer, hitTestBuffer } from './RenderBuffer.js';
2
+ export { CanvasBuffer, hitTestBuffer } from './CanvasBuffer.js';
3
3
  export { DisplayList } from './DisplayList.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
1
  export { CanvasRenderer } from './CanvasRenderer.js';
2
- export { RenderBuffer, hitTestBuffer } from './RenderBuffer.js';
2
+ export { CanvasBuffer, hitTestBuffer } from './CanvasBuffer.js';
3
3
  export { DisplayList } from './DisplayList.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -7,7 +7,7 @@ import { Player } from './Player.js';
7
7
  import { TouchHandler } from './TouchHandler.js';
8
8
  import { ScreenAdapter } from './ScreenAdapter.js';
9
9
  import { setupLifecycle } from './SystemTicker.js';
10
- import { CanvasRenderer, RenderBuffer } from './canvas/index.js';
10
+ import { CanvasRenderer, CanvasBuffer } from './canvas/index.js';
11
11
  import { Capabilities } from '../system/Capabilities.js';
12
12
  /**
13
13
  * Creates and initializes a Kurot player from the given options.
@@ -35,7 +35,7 @@ export function createPlayer(options) {
35
35
  if (!RenderTexture.renderer) {
36
36
  const _renderer = new CanvasRenderer();
37
37
  RenderTexture.renderer = (displayObject, width, height, offsetX, offsetY) => {
38
- const buffer = new RenderBuffer(width, height);
38
+ const buffer = new CanvasBuffer(width, height);
39
39
  const m = new Matrix();
40
40
  m.translate(offsetX, offsetY);
41
41
  _renderer.render(displayObject, buffer, m);
@@ -2,9 +2,9 @@ export { Player } from './Player.js';
2
2
  export { createPlayer, type KurotApp } from './createPlayer.js';
3
3
  export type { KurotOptions } from './KurotOptions.js';
4
4
  export { SystemTicker, ticker, getTimer, setupLifecycle, START_TIME, invalidateRenderFlag, setInvalidateRenderFlag, requestRenderingFlag, setRequestRenderingFlag, type Renderable, } from './SystemTicker.js';
5
- export { InstructionSet, type Instruction } from './webgl/InstructionSet.js';
5
+ export { InstructionSet, type Instruction } from './InstructionSet.js';
6
6
  export type { RenderPipe } from './RenderPipe.js';
7
- export { RenderBuffer, hitTestBuffer, CanvasRenderer, DisplayList } from './canvas/index.js';
7
+ export { CanvasBuffer, hitTestBuffer, CanvasRenderer, DisplayList } from './canvas/index.js';
8
8
  export { TouchHandler } from './TouchHandler.js';
9
9
  export { ScreenAdapter, type StageDisplaySize } from './ScreenAdapter.js';
10
10
  export { WebGLRenderer, WebGLRenderContext, WebGLRenderBuffer, WebGLRenderTarget, WebGLVertexArrayObject, WebGLDrawCmdManager, WebGLProgram, ShaderLib, checkWebGLSupport, MultiTextureBatcher, } from './webgl/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EACN,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,UAAU,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EACN,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EACN,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,UAAU,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EACN,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC"}
@@ -4,8 +4,8 @@ export { createPlayer } from './createPlayer.js';
4
4
  // ── Ticker ────────────────────────────────────────────────────────────────────
5
5
  export { SystemTicker, ticker, getTimer, setupLifecycle, START_TIME, invalidateRenderFlag, setInvalidateRenderFlag, requestRenderingFlag, setRequestRenderingFlag, } from './SystemTicker.js';
6
6
  // ── Rendering ─────────────────────────────────────────────────────────────────
7
- export { InstructionSet } from './webgl/InstructionSet.js';
8
- export { RenderBuffer, hitTestBuffer, CanvasRenderer, DisplayList } from './canvas/index.js';
7
+ export { InstructionSet } from './InstructionSet.js';
8
+ export { CanvasBuffer, hitTestBuffer, CanvasRenderer, DisplayList } from './canvas/index.js';
9
9
  // ── Input & Layout ────────────────────────────────────────────────────────────
10
10
  export { TouchHandler } from './TouchHandler.js';
11
11
  export { ScreenAdapter } from './ScreenAdapter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/player/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAGhE,iFAAiF;AACjF,OAAO,EACN,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GAEvB,MAAM,mBAAmB,CAAC;AAE3B,iFAAiF;AACjF,OAAO,EAAE,cAAc,EAAoB,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7F,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAE1E,iFAAiF;AACjF,OAAO,EACN,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/player/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAGhE,iFAAiF;AACjF,OAAO,EACN,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GAEvB,MAAM,mBAAmB,CAAC;AAE3B,iFAAiF;AACjF,OAAO,EAAE,cAAc,EAAoB,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7F,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAE1E,iFAAiF;AACjF,OAAO,EACN,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC"}
@@ -1,8 +1,8 @@
1
- import type { Bitmap } from '../../../display/Bitmap.js';
2
- import type { WebGLRenderBuffer } from '../WebGLRenderBuffer.js';
1
+ import type { Bitmap } from '../../display/Bitmap.js';
2
+ import type { RenderBuffer } from '../RenderBuffer.js';
3
3
  import type { Instruction } from '../InstructionSet.js';
4
4
  import type { InstructionSet } from '../InstructionSet.js';
5
- import type { RenderPipe } from '../../RenderPipe.js';
5
+ import type { RenderPipe } from '../RenderPipe.js';
6
6
  export interface BitmapInstruction extends Instruction {
7
7
  readonly renderPipeId: 'bitmap';
8
8
  renderable: Bitmap;
@@ -29,7 +29,7 @@ export declare class BitmapPipe implements RenderPipe<Bitmap> {
29
29
  * Issue the draw call for a BitmapInstruction.
30
30
  * Called by WebGLRenderer._executeInstructions().
31
31
  */
32
- execute(inst: BitmapInstruction, buffer: WebGLRenderBuffer): void;
32
+ execute(inst: BitmapInstruction, buffer: RenderBuffer): void;
33
33
  private _drawScale9;
34
34
  }
35
35
  //# sourceMappingURL=BitmapPipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitmapPipe.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/BitmapPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACrD,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,UAAU,CAAC,MAAM,CAAC;IACpD,gBAAuB,OAAO,YAAY;IAG1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAA2B;IAExD,OAAO,CAAC,MAAM,CAAC,MAAM;WAaP,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAM7C,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAM9D,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO/C;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAqCnE,OAAO,CAAC,WAAW;CAsFnB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitmapPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/BitmapPipe.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import type { DisplayObject } from '../../../display/DisplayObject.js';
2
- import type { Filter } from '../../../filters/Filter.js';
3
- import type { WebGLRenderBuffer } from '../WebGLRenderBuffer.js';
1
+ import type { DisplayObject } from '../../display/DisplayObject.js';
2
+ import type { Filter } from '../../filters/Filter.js';
3
+ import type { WebGLRenderBuffer } from '../webgl/WebGLRenderBuffer.js';
4
4
  import type { Instruction } from '../InstructionSet.js';
5
5
  import type { InstructionSet } from '../InstructionSet.js';
6
- import type { RenderPipe } from '../../RenderPipe.js';
6
+ import type { RenderPipe } from '../RenderPipe.js';
7
7
  /** Marks the start of a filtered subtree. */
8
8
  export interface FilterPushInstruction extends Instruction {
9
9
  readonly renderPipeId: 'filterPush';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPipe.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/FilterPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,6CAA6C;AAC7C,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACzD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,6EAA6E;AAC7E,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACxD,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IACnC,UAAU,EAAE,aAAa,CAAC;IAC1B,uDAAuD;IACvD,IAAI,EAAE,qBAAqB,CAAC;CAC5B;AAYD;;;;;;;;;GASG;AACH,qBAAa,UAAW,YAAW,UAAU,CAAC,aAAa,CAAC;IAE3D,gBAAuB,OAAO,gBAAgB;IAC9C,gBAAuB,MAAM,eAAe;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IAIvD,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAK3E,gBAAgB,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI;WAI3C,QAAQ,CACrB,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,qBAAqB;WAaV,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAqB,GAAG,oBAAoB;WAUrF,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;WAM9C,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAQ1D;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS;IAuDzG;;;OAGG;IACI,UAAU,CAChB,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,iBAAiB,GAAG,SAAS,GACtC,IAAI;CA6CP"}
@@ -1,5 +1,5 @@
1
- import { ColorMatrixFilter } from '../../../filters/ColorMatrixFilter.js';
2
- import { WebGLRenderBuffer as WGLBuf } from '../WebGLRenderBuffer.js';
1
+ import { ColorMatrixFilter } from '../../filters/ColorMatrixFilter.js';
2
+ import { WebGLRenderBuffer as WGLBuf } from '../webgl/WebGLRenderBuffer.js';
3
3
  // ── Pipe ──────────────────────────────────────────────────────────────────────
4
4
  const BLEND_MODES = {
5
5
  0: 'source-over',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPipe.js","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/FilterPipe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAKvE,OAAO,EAAE,iBAAiB,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AA0B5E,iFAAiF;AAEjF,MAAM,WAAW,GAA2B;IAC3C,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,iBAAiB;CACpB,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;;;;;;;;;GASG;AACH,MAAM,OAAO,UAAU;IACtB,6EAA6E;IACtE,MAAM,CAAU,OAAO,GAAG,YAAY,CAAC;IACvC,MAAM,CAAU,MAAM,GAAG,WAAW,CAAC;IACpC,MAAM,CAAU,SAAS,GAA4B,EAAE,CAAC;IACxD,MAAM,CAAU,QAAQ,GAA2B,EAAE,CAAC;IAE9D,6EAA6E;IAEtE,mBAAmB,CAAC,WAA0B,EAAE,IAAoB;QAC1E,uEAAuE;QACvE,+DAA+D;IAChE,CAAC;IAEM,gBAAgB,CAAC,WAA0B,IAAS,CAAC;IAE5D,4EAA4E;IAErE,MAAM,CAAC,QAAQ,CACrB,UAAyB,EACzB,OAAiB,EACjB,OAAe,EACf,OAAe;QAEf,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YACpC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;IAC7G,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,UAAyB,EAAE,IAA2B;QAC3E,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAA2B;QACpD,IAAI,CAAC,UAAU,GAAG,SAAkB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,sBAAsB;YAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,IAA0B;QAClD,IAAI,CAAC,UAAU,GAAG,SAAkB,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,SAAkB,CAAC;QAC/B,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,sBAAsB;YAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,IAA2B,EAAE,MAAyB;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAE9D,+DAA+D;QAC/D,wEAAwE;QACxE,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,iBAAiB,EAAE,CAAC;YAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,CAAC,CAAC;YAClD,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACtD,MAAM,CAAC,OAAO,CAAC,2BAA2B,CACzC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,aAAa,CACxD,CAAC;YACH,CAAC;YACD,gEAAgE;YAChE,gEAAgE;YAChE,qDAAqD;YACrD,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC,CAAC,oCAAoC;QACvD,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,gDAAgD;QAChD,IAAI,IAAI,GAAG,CAAC,EACX,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI;gBAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI;gBAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI;gBAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI;gBAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,yEAAyE;QACzE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;QAC5B,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;QAE5B,oEAAoE;QACpE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,UAAU,CAChB,IAA0B,EAC1B,MAAyB,EACzB,SAAwC;QAExC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,KAAK,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC;QAEpE,qEAAqE;QACrE,uDAAuD;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;YACxC,IAAI,QAAQ;gBAAE,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9E,OAAO;QACR,CAAC;QAED,wEAAwE;QACxE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACpB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QAEpB,uEAAuE;QACvE,0CAA0C;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAClD,IAAI,QAAQ;YAAE,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAElE,iCAAiC;QACjC,iEAAiE;QACjE,qEAAqE;QACrE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;QAClC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;QAClC,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC;QAEnB,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAE1B,IAAI,QAAQ;YAAE,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAEpE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC"}
@@ -1,10 +1,10 @@
1
- import type { Graphics } from '../../../display/Graphics.js';
2
- import type { DisplayObject } from '../../../display/DisplayObject.js';
3
- import type { WebGLRenderBuffer } from '../WebGLRenderBuffer.js';
1
+ import type { Graphics } from '../../display/Graphics.js';
2
+ import type { DisplayObject } from '../../display/DisplayObject.js';
4
3
  import type { Instruction } from '../InstructionSet.js';
5
4
  import type { InstructionSet } from '../InstructionSet.js';
6
- import type { RenderPipe } from '../../RenderPipe.js';
7
- import type { CanvasRenderer } from '../../canvas/index.js';
5
+ import type { RenderPipe } from '../RenderPipe.js';
6
+ import type { RenderBuffer } from '../RenderBuffer.js';
7
+ import type { CanvasRenderer } from '../canvas/index.js';
8
8
  export interface GraphicsInstruction extends Instruction {
9
9
  readonly renderPipeId: 'graphics';
10
10
  renderable: DisplayObject;
@@ -26,13 +26,13 @@ export declare class GraphicsPipe implements RenderPipe<DisplayObject> {
26
26
  private readonly _canvasRenderer;
27
27
  private readonly _cache;
28
28
  private readonly _registryTokens;
29
- private _gl?;
29
+ private _context?;
30
30
  constructor(canvasRenderer: CanvasRenderer);
31
31
  private static _alloc;
32
32
  static release(inst: GraphicsInstruction): void;
33
33
  addToInstructionSet(renderable: DisplayObject, set: InstructionSet): void;
34
34
  updateRenderable(_renderable: DisplayObject): void;
35
35
  destroyRenderable(renderable: DisplayObject): void;
36
- execute(inst: GraphicsInstruction, buffer: WebGLRenderBuffer): void;
36
+ execute(inst: GraphicsInstruction, buffer: RenderBuffer): void;
37
37
  }
38
38
  //# sourceMappingURL=GraphicsPipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphicsPipe.d.ts","sourceRoot":"","sources":["../../../../src/kurot/player/pipes/GraphicsPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQzD,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,UAAU,EAAE,aAAa,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAkBD;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,UAAU,CAAC,aAAa,CAAC;IAE7D,gBAAuB,OAAO,cAAc;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAG1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,CAAgB;gBAGd,cAAc,EAAE,cAAc;IAIjD,OAAO,CAAC,MAAM,CAAC,MAAM;WAeP,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAM/C,mBAAmB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAQzE,gBAAgB,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI;IAKlD,iBAAiB,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IAkBlD,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;CA8FrE"}
@@ -1,18 +1,7 @@
1
- import { Rectangle } from '../../../geom/Rectangle.js';
2
- import { RenderBuffer } from '../../canvas/index.js';
1
+ import { Rectangle } from '../../geom/Rectangle.js';
2
+ import { CanvasBuffer } from '../canvas/index.js';
3
3
  // Shared scratch rectangle — avoids per-execute allocation.
4
4
  const _scratchBounds = new Rectangle();
5
- // ── Texture GC registry ───────────────────────────────────────────────────────
6
- /**
7
- * GC is the actual cleanup path for cached Graphics textures: nothing in the
8
- * engine calls destroyRenderable() during normal Shape lifecycle (Shapes are
9
- * typically just dropped), so this registry is what actually reclaims GPU
10
- * memory. destroyRenderable() remains as an optional explicit entry for
11
- * future use.
12
- */
13
- const _textureRegistry = new FinalizationRegistry(({ gl, texture }) => {
14
- gl.deleteTexture(texture);
15
- });
16
5
  // ── Pipe ──────────────────────────────────────────────────────────────────────
17
6
  /**
18
7
  * Handles WebGL rendering of Shape / Sprite graphics.
@@ -29,7 +18,7 @@ export class GraphicsPipe {
29
18
  _canvasRenderer;
30
19
  _cache = new WeakMap();
31
20
  _registryTokens = new WeakMap();
32
- _gl;
21
+ _context;
33
22
  // ── Constructor ───────────────────────────────────────────────────────────
34
23
  constructor(canvasRenderer) {
35
24
  this._canvasRenderer = canvasRenderer;
@@ -72,11 +61,10 @@ export class GraphicsPipe {
72
61
  // Unregister from GC registry and delete texture immediately.
73
62
  const token = this._registryTokens.get(graphics);
74
63
  if (token) {
75
- _textureRegistry.unregister(token);
64
+ this._context?.unregisterTextureGC(token);
76
65
  this._registryTokens.delete(graphics);
77
66
  }
78
- if (this._gl)
79
- this._gl.deleteTexture(cache.texture);
67
+ this._context?.deleteTexture(cache.texture);
80
68
  }
81
69
  this._cache.delete(graphics);
82
70
  }
@@ -86,9 +74,9 @@ export class GraphicsPipe {
86
74
  if (graphics.commands.length === 0) {
87
75
  return;
88
76
  }
89
- // Cache the GL context for use in destroyRenderable.
90
- if (!this._gl)
91
- this._gl = buffer.context.gl;
77
+ // Cache the render context for use in destroyRenderable.
78
+ if (!this._context)
79
+ this._context = buffer.context;
92
80
  const bounds = _scratchBounds;
93
81
  bounds.setEmpty();
94
82
  graphics.$measureContentBounds(bounds);
@@ -105,7 +93,7 @@ export class GraphicsPipe {
105
93
  let cache = this._cache.get(graphics);
106
94
  if (!cache) {
107
95
  cache = {
108
- renderBuffer: new RenderBuffer(w, h),
96
+ canvasBuffer: new CanvasBuffer(w, h),
109
97
  texture: undefined,
110
98
  textureWidth: 0,
111
99
  textureHeight: 0,
@@ -116,29 +104,29 @@ export class GraphicsPipe {
116
104
  }
117
105
  const needsRebuild = graphics.canvasCacheDirty || cache.textureWidth !== w || cache.textureHeight !== h;
118
106
  if (needsRebuild) {
119
- if (cache.renderBuffer.width !== w || cache.renderBuffer.height !== h) {
120
- cache.renderBuffer.resize(w, h);
107
+ if (cache.canvasBuffer.width !== w || cache.canvasBuffer.height !== h) {
108
+ cache.canvasBuffer.resize(w, h);
121
109
  }
122
- cache.renderBuffer.clear();
110
+ cache.canvasBuffer.clear();
123
111
  // skipCache=true: we are the cache owner, bypass CanvasRenderer's own
124
112
  // offscreen canvas layer to avoid a redundant intermediate rasterization.
125
- this._canvasRenderer.renderGraphicsToContext(graphics, cache.renderBuffer.context, -bounds.x, -bounds.y, false, true);
126
- const surface = cache.renderBuffer.surface;
113
+ this._canvasRenderer.renderGraphicsToContext(graphics, cache.canvasBuffer.context, -bounds.x, -bounds.y, false, true);
114
+ const surface = cache.canvasBuffer.surface;
127
115
  if (!cache.texture) {
128
116
  cache.texture = buffer.context.createTexture(surface);
129
117
  // Register for GC-based cleanup.
130
118
  const token = {};
131
- _textureRegistry.register(graphics, { gl: buffer.context.gl, texture: cache.texture }, token);
119
+ buffer.context.registerTextureForGC(graphics, cache.texture, token);
132
120
  this._registryTokens.set(graphics, token);
133
121
  }
134
122
  else {
135
123
  // Unregister old texture, create new registration for updated texture.
136
124
  const oldToken = this._registryTokens.get(graphics);
137
125
  if (oldToken)
138
- _textureRegistry.unregister(oldToken);
126
+ buffer.context.unregisterTextureGC(oldToken);
139
127
  buffer.context.updateTexture(cache.texture, surface);
140
128
  const token = {};
141
- _textureRegistry.register(graphics, { gl: buffer.context.gl, texture: cache.texture }, token);
129
+ buffer.context.registerTextureForGC(graphics, cache.texture, token);
142
130
  this._registryTokens.set(graphics, token);
143
131
  }
144
132
  cache.textureWidth = w;