@kurot/core 1.0.12 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kurot/player/{webgl/InstructionSet.d.ts → InstructionSet.d.ts} +1 -1
- package/dist/kurot/player/InstructionSet.d.ts.map +1 -0
- package/dist/kurot/player/InstructionSet.js.map +1 -0
- package/dist/kurot/player/Player.js +2 -2
- package/dist/kurot/player/RenderBuffer.d.ts +28 -0
- package/dist/kurot/player/RenderBuffer.d.ts.map +1 -0
- package/dist/kurot/player/RenderBuffer.js +2 -0
- package/dist/kurot/player/RenderBuffer.js.map +1 -0
- package/dist/kurot/player/RenderContext.d.ts +73 -0
- package/dist/kurot/player/RenderContext.d.ts.map +1 -0
- package/dist/kurot/player/RenderContext.js +2 -0
- package/dist/kurot/player/RenderContext.js.map +1 -0
- package/dist/kurot/player/RenderPipe.d.ts +1 -1
- package/dist/kurot/player/RenderPipe.d.ts.map +1 -1
- package/dist/kurot/player/canvas/{RenderBuffer.d.ts → CanvasBuffer.d.ts} +3 -3
- package/dist/kurot/player/canvas/{RenderBuffer.d.ts.map → CanvasBuffer.d.ts.map} +1 -1
- package/dist/kurot/player/canvas/{RenderBuffer.js → CanvasBuffer.js} +3 -3
- package/dist/kurot/player/canvas/{RenderBuffer.js.map → CanvasBuffer.js.map} +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.d.ts +2 -2
- package/dist/kurot/player/canvas/CanvasRenderer.js +7 -7
- package/dist/kurot/player/canvas/DisplayList.d.ts +2 -2
- package/dist/kurot/player/canvas/DisplayList.js +7 -7
- package/dist/kurot/player/canvas/index.d.ts +1 -1
- package/dist/kurot/player/canvas/index.js +1 -1
- package/dist/kurot/player/createPlayer.js +2 -2
- package/dist/kurot/player/index.d.ts +2 -2
- package/dist/kurot/player/index.d.ts.map +1 -1
- package/dist/kurot/player/index.js +2 -2
- package/dist/kurot/player/index.js.map +1 -1
- package/dist/kurot/player/{webgl/pipes → pipes}/BitmapPipe.d.ts +4 -4
- package/dist/kurot/player/pipes/BitmapPipe.d.ts.map +1 -0
- package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/FilterPipe.d.ts +4 -4
- package/dist/kurot/player/pipes/FilterPipe.d.ts.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/FilterPipe.js +2 -2
- package/dist/kurot/player/pipes/FilterPipe.js.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/GraphicsPipe.d.ts +7 -7
- package/dist/kurot/player/pipes/GraphicsPipe.d.ts.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/GraphicsPipe.js +17 -29
- package/dist/kurot/player/pipes/GraphicsPipe.js.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/MaskPipe.d.ts +3 -3
- package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/MaskPipe.js +2 -2
- package/dist/kurot/player/pipes/MaskPipe.js.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/MeshPipe.d.ts +4 -4
- package/dist/kurot/player/pipes/MeshPipe.d.ts.map +1 -0
- package/dist/kurot/player/pipes/MeshPipe.js.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/ParticlePipe.d.ts +4 -4
- package/dist/kurot/player/pipes/ParticlePipe.d.ts.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/ParticlePipe.js +1 -1
- package/dist/kurot/player/pipes/ParticlePipe.js.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/TextPipe.d.ts +6 -6
- package/dist/kurot/player/pipes/TextPipe.d.ts.map +1 -0
- package/dist/kurot/player/{webgl/pipes → pipes}/TextPipe.js +17 -29
- package/dist/kurot/player/pipes/TextPipe.js.map +1 -0
- package/dist/kurot/player/pipes/index.d.ts.map +1 -0
- package/dist/kurot/player/pipes/index.js.map +1 -0
- package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts +2 -1
- package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderBuffer.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderContext.d.ts +13 -1
- package/dist/kurot/player/webgl/WebGLRenderContext.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderContext.js +26 -0
- package/dist/kurot/player/webgl/WebGLRenderContext.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js +13 -13
- package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
- package/package.json +1 -1
- package/dist/kurot/player/webgl/InstructionSet.d.ts.map +0 -1
- package/dist/kurot/player/webgl/InstructionSet.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/BitmapPipe.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/BitmapPipe.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/FilterPipe.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/FilterPipe.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/GraphicsPipe.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/GraphicsPipe.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/MaskPipe.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/MaskPipe.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/MeshPipe.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/MeshPipe.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/ParticlePipe.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/ParticlePipe.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/TextPipe.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/TextPipe.js.map +0 -1
- package/dist/kurot/player/webgl/pipes/index.d.ts.map +0 -1
- package/dist/kurot/player/webgl/pipes/index.js.map +0 -1
- /package/dist/kurot/player/{webgl/InstructionSet.js → InstructionSet.js} +0 -0
- /package/dist/kurot/player/{webgl/pipes → pipes}/BitmapPipe.js +0 -0
- /package/dist/kurot/player/{webgl/pipes → pipes}/MeshPipe.js +0 -0
- /package/dist/kurot/player/{webgl/pipes → pipes}/index.d.ts +0 -0
- /package/dist/kurot/player/{webgl/pipes → pipes}/index.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DisplayObject } from '
|
|
1
|
+
import type { DisplayObject } from '../display/DisplayObject.js';
|
|
2
2
|
/**
|
|
3
3
|
* A single renderable instruction in the instruction set.
|
|
4
4
|
* Each instruction captures everything needed to execute one draw operation
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstructionSet.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/InstructionSet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAE3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,UAAU,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IAI1B,SAAgB,YAAY,EAAE,WAAW,EAAE,CAAM;IAG1C,eAAe,SAAK;IAGpB,cAAc,UAAQ;IAG7B,SAAgB,gBAAgB,EAAE,aAAa,EAAE,CAAM;IAGhD,oBAAoB,SAAK;IAGhC,SAAgB,eAAe,EAAE,GAAG,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAa;IAG9F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAIhE;;OAEG;IACI,KAAK,IAAI,IAAI;IAQb,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI1C;;;OAGG;IACI,OAAO,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C;;OAEG;IACI,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAYjD;;OAEG;IACI,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAMpD;;OAEG;IACI,qBAAqB,IAAI,IAAI;CAKpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstructionSet.js","sourceRoot":"","sources":["../../../src/kurot/player/InstructionSet.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAc;IAC1B,6EAA6E;IAE7E,6DAA6D;IAC7C,YAAY,GAAkB,EAAE,CAAC;IAEjD,4CAA4C;IACrC,eAAe,GAAG,CAAC,CAAC;IAE3B,+DAA+D;IACxD,cAAc,GAAG,IAAI,CAAC;IAE7B,gEAAgE;IAChD,gBAAgB,GAAoB,EAAE,CAAC;IAEvD,gDAAgD;IACzC,oBAAoB,GAAG,CAAC,CAAC;IAEhC,yEAAyE;IACzD,eAAe,GAAqD,IAAI,GAAG,EAAE,CAAC;IAE9F,uEAAuE;IACtD,mBAAmB,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEhE,6EAA6E;IAE7E;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,yBAAyB;IAClB,GAAG,CAAC,WAAwB;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,WAAW,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,WAAwB;QACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,WAAwB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,WAAW,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,GAAkB;QAC5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACD"}
|
|
@@ -2,7 +2,7 @@ import { Stage } from '../display/Stage.js';
|
|
|
2
2
|
import { DisplayObject } from '../display/DisplayObject.js';
|
|
3
3
|
import { DisplayObjectContainer } from '../display/DisplayObjectContainer.js';
|
|
4
4
|
import { Matrix } from '../geom/Matrix.js';
|
|
5
|
-
import {
|
|
5
|
+
import { CanvasBuffer, CanvasRenderer } from './canvas/index.js';
|
|
6
6
|
import { ticker } from './SystemTicker.js';
|
|
7
7
|
import { WebGLRenderContext, WebGLRenderBuffer, WebGLRenderer } from './webgl/index.js';
|
|
8
8
|
/**
|
|
@@ -69,7 +69,7 @@ export class Player {
|
|
|
69
69
|
const ctx = canvas.getContext('2d');
|
|
70
70
|
if (!ctx)
|
|
71
71
|
throw new Error('Failed to get Canvas 2D context');
|
|
72
|
-
this._canvas2dBuffer = new
|
|
72
|
+
this._canvas2dBuffer = new CanvasBuffer();
|
|
73
73
|
this._canvas2dBuffer.surface = canvas;
|
|
74
74
|
this._canvas2dBuffer.context = ctx;
|
|
75
75
|
this._canvas2dRenderer = new CanvasRenderer();
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Matrix } from '../geom/Matrix.js';
|
|
2
|
+
import type { RenderContext } from './RenderContext.js';
|
|
3
|
+
/**
|
|
4
|
+
* Backend-agnostic render buffer surface consumed by leaf pipes.
|
|
5
|
+
*
|
|
6
|
+
* This is the second coupling point (alongside {@link RenderContext}) between a
|
|
7
|
+
* leaf pipe's `execute()` body and a concrete backend. `WebGLRenderBuffer`
|
|
8
|
+
* implements this interface today; a future WebGPU backend would provide its
|
|
9
|
+
* own implementation without any change to the leaf pipes that consume it.
|
|
10
|
+
*
|
|
11
|
+
* Only the state actually read/written by `player/pipes/*.ts` is declared here
|
|
12
|
+
* — backend-specific fields (`rootRenderTarget`, FBO/stencil internals,
|
|
13
|
+
* `getPixels`, …) stay on the concrete class and are invisible through this
|
|
14
|
+
* interface. `context` is typed {@link RenderContext} (not the concrete WebGL
|
|
15
|
+
* type), so accessing `buffer.context` from a leaf pipe only exposes the
|
|
16
|
+
* backend-neutral drawing surface.
|
|
17
|
+
*/
|
|
18
|
+
export interface RenderBuffer {
|
|
19
|
+
/** The drawing surface — backend-neutral, see {@link RenderContext}. */
|
|
20
|
+
readonly context: RenderContext;
|
|
21
|
+
globalAlpha: number;
|
|
22
|
+
globalMatrix: Matrix;
|
|
23
|
+
offsetX: number;
|
|
24
|
+
offsetY: number;
|
|
25
|
+
saveTransform(): void;
|
|
26
|
+
restoreTransform(): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=RenderBuffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderBuffer.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,IAAI,IAAI,CAAC;IACtB,gBAAgB,IAAI,IAAI,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderBuffer.js","sourceRoot":"","sources":["../../../src/kurot/player/RenderBuffer.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 './
|
|
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,
|
|
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
|
|
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():
|
|
35
|
-
//# sourceMappingURL=
|
|
34
|
+
export declare function hitTestBuffer(): CanvasBuffer;
|
|
35
|
+
//# sourceMappingURL=CanvasBuffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
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
|
|
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
|
|
80
|
+
_hitTestBuffer = new CanvasBuffer(3, 3);
|
|
81
81
|
return _hitTestBuffer;
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=
|
|
83
|
+
//# sourceMappingURL=CanvasBuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
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 {
|
|
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:
|
|
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 {
|
|
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.
|
|
79
|
+
$displayList.canvasBuffer.clear();
|
|
80
80
|
const resolution = $displayList.actualResolution;
|
|
81
|
-
$displayList.
|
|
82
|
-
this.drawDisplayObject(displayObject, $displayList.
|
|
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.
|
|
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
|
|
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
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
80
|
-
this.
|
|
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.
|
|
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 {
|
|
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 {
|
|
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,
|
|
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
|
|
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 './
|
|
5
|
+
export { InstructionSet, type Instruction } from './InstructionSet.js';
|
|
6
6
|
export type { RenderPipe } from './RenderPipe.js';
|
|
7
|
-
export {
|
|
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,
|
|
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 './
|
|
8
|
-
export {
|
|
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,
|
|
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 '
|
|
2
|
-
import type {
|
|
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 '
|
|
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:
|
|
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 '
|
|
2
|
-
import type { Filter } from '
|
|
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 '
|
|
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 '
|
|
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":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { Graphics } from '
|
|
2
|
-
import type { DisplayObject } from '
|
|
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 '
|
|
7
|
-
import type {
|
|
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
|
|
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:
|
|
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"}
|