@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.
- package/dist/kurot/display/texture/BitmapData.d.ts +1 -0
- package/dist/kurot/display/texture/BitmapData.d.ts.map +1 -1
- package/dist/kurot/display/texture/BitmapData.js +2 -0
- package/dist/kurot/display/texture/BitmapData.js.map +1 -1
- package/dist/kurot/media/Video.d.ts +21 -17
- package/dist/kurot/media/Video.d.ts.map +1 -1
- package/dist/kurot/media/Video.js +137 -106
- package/dist/kurot/media/Video.js.map +1 -1
- 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 +14 -1
- package/dist/kurot/player/webgl/WebGLRenderContext.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderContext.js +31 -2
- 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 +4 -3
- 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
|
@@ -23,6 +23,7 @@ export declare class BitmapData {
|
|
|
23
23
|
debugCompressedTextureURL: string;
|
|
24
24
|
etcAlphaMask?: BitmapData;
|
|
25
25
|
webGLTexture?: WebGLTexture;
|
|
26
|
+
contentVersion: number;
|
|
26
27
|
private _source?;
|
|
27
28
|
constructor(source?: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ArrayBuffer);
|
|
28
29
|
get source(): HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ArrayBuffer | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitmapData.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/BitmapData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,qBAAqB;IACjC,gBAAgB,SAAK;IACrB,KAAK,SAAK;IACV,MAAM,SAAK;IACX,SAAS,EAAE,UAAU,CAAqB;IAC1C,IAAI,SAAK;IACT,KAAK,SAAK;CACV;AAED,qBAAa,UAAU;IAGtB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAiD;WAI9D,MAAM,CACnB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,WAAW,EACjB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GACzC,UAAU;WACC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GAAG,UAAU;IA4B3G,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAY/F,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAOlG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"BitmapData.d.ts","sourceRoot":"","sources":["../../../../src/kurot/display/texture/BitmapData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,qBAAqB;IACjC,gBAAgB,SAAK;IACrB,KAAK,SAAK;IACV,MAAM,SAAK;IACX,SAAS,EAAE,UAAU,CAAqB;IAC1C,IAAI,SAAK;IACT,KAAK,SAAK;CACV;AAED,qBAAa,UAAU;IAGtB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAiD;WAI9D,MAAM,CACnB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,WAAW,EACjB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GACzC,UAAU;WACC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GAAG,UAAU;IA4B3G,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAY/F,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAOlG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAe3D,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAiBxD,KAAK,SAAK;IACV,MAAM,SAAK;IACX,MAAM,SAAW;IACjB,YAAY,UAAQ;IACpB,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,EAAE,CAAM;IAC/D,yBAAyB,SAAM;IAC/B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,SAAK;IAEnB,OAAO,CAAC,OAAO,CAAC,CAAwE;gBAIrE,MAAM,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,WAAW;IAYjG,IAAW,MAAM,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAErG;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,EAEzG;IAIM,OAAO,IAAI,IAAI;IAUf,0BAA0B,IAAI,qBAAqB,GAAG,SAAS;IAI/D,0BAA0B,CAAC,SAAS,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAIpE,eAAe,IAAI,OAAO;IAI1B,0BAA0B,IAAI,IAAI;CAGzC"}
|
|
@@ -53,6 +53,7 @@ export class BitmapData {
|
|
|
53
53
|
if (!bitmapData) {
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
|
+
bitmapData.contentVersion++;
|
|
56
57
|
const list = BitmapData._displayList.get(bitmapData);
|
|
57
58
|
if (!list) {
|
|
58
59
|
return;
|
|
@@ -85,6 +86,7 @@ export class BitmapData {
|
|
|
85
86
|
debugCompressedTextureURL = '';
|
|
86
87
|
etcAlphaMask;
|
|
87
88
|
webGLTexture;
|
|
89
|
+
contentVersion = 0;
|
|
88
90
|
_source;
|
|
89
91
|
// ── Constructor ───────────────────────────────────────────────────────────
|
|
90
92
|
constructor(source) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitmapData.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/BitmapData.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BitmapData.js","sourceRoot":"","sources":["../../../../src/kurot/display/texture/BitmapData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { Rectangle } from '../geom/Rectangle.js';
|
|
4
|
-
export declare class Video extends DisplayObject {
|
|
1
|
+
import { Bitmap } from '../display/Bitmap.js';
|
|
2
|
+
export declare class Video extends Bitmap {
|
|
5
3
|
fullscreen: boolean;
|
|
6
|
-
private _video;
|
|
4
|
+
private readonly _video;
|
|
7
5
|
private _src;
|
|
8
6
|
private _poster;
|
|
9
7
|
private _posterData?;
|
|
10
|
-
private
|
|
8
|
+
private _videoData?;
|
|
9
|
+
private _videoTexture?;
|
|
11
10
|
private _loaded;
|
|
12
|
-
private _bitmapData?;
|
|
13
|
-
private _widthSet;
|
|
14
|
-
private _heightSet;
|
|
15
11
|
private _waiting;
|
|
16
12
|
private _userPause;
|
|
17
13
|
private _userPlay;
|
|
18
14
|
private _isPlayed;
|
|
15
|
+
private _frameCallbackId?;
|
|
16
|
+
private _usesAnimationFrame;
|
|
19
17
|
constructor(url?: string);
|
|
20
18
|
get src(): string;
|
|
21
19
|
set src(value: string);
|
|
@@ -23,28 +21,34 @@ export declare class Video extends DisplayObject {
|
|
|
23
21
|
set poster(value: string);
|
|
24
22
|
get volume(): number;
|
|
25
23
|
set volume(value: number);
|
|
24
|
+
get muted(): boolean;
|
|
25
|
+
set muted(value: boolean);
|
|
26
|
+
get loop(): boolean;
|
|
27
|
+
set loop(value: boolean);
|
|
28
|
+
get playsInline(): boolean;
|
|
29
|
+
set playsInline(value: boolean);
|
|
26
30
|
get position(): number;
|
|
27
31
|
set position(value: number);
|
|
28
32
|
get paused(): boolean;
|
|
29
33
|
get length(): number;
|
|
30
|
-
get bitmapData(): BitmapData | undefined;
|
|
31
|
-
get width(): number;
|
|
32
|
-
set width(value: number);
|
|
33
|
-
get height(): number;
|
|
34
|
-
set height(value: number);
|
|
35
34
|
load(url: string): void;
|
|
36
35
|
play(startTime?: number, loop?: boolean): void;
|
|
37
36
|
pause(): void;
|
|
38
37
|
close(): void;
|
|
39
|
-
$measureContentBounds(bounds: Rectangle): void;
|
|
40
38
|
private videoPlay;
|
|
41
39
|
private enterFullscreen;
|
|
42
40
|
private exitFullscreen;
|
|
43
41
|
private loadPoster;
|
|
44
|
-
private
|
|
45
|
-
private
|
|
42
|
+
private makePosterTexture;
|
|
43
|
+
private scheduleFrameUpdate;
|
|
44
|
+
private cancelFrameUpdates;
|
|
45
|
+
private updateVideoFrame;
|
|
46
46
|
private onVideoLoaded;
|
|
47
47
|
private onVideoEnded;
|
|
48
48
|
private onVideoError;
|
|
49
|
+
private onVideoWaiting;
|
|
50
|
+
private onVideoCanPlay;
|
|
51
|
+
private onVideoFrame;
|
|
52
|
+
private onAnimationFrame;
|
|
49
53
|
}
|
|
50
54
|
//# sourceMappingURL=Video.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../../src/kurot/media/Video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../../src/kurot/media/Video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C,qBAAa,KAAM,SAAQ,MAAM;IAEzB,UAAU,UAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAS;gBAGjB,GAAG,CAAC,EAAE,MAAM;IAmB/B,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,IAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAG3B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAQ9B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAW,KAAK,IAAI,OAAO,CAE1B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,OAAO,EAG9B;IAED,IAAW,IAAI,IAAI,OAAO,CAEzB;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAE7B;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IACD,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEhC;IAED,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAGM,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAcvB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,IAAI;IAoB5C,KAAK,IAAI,IAAI;IAWb,KAAK,IAAI,IAAI;IAkBpB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,aAAa,CAcnB;IAEF,OAAO,CAAC,YAAY,CAOlB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,cAAc,CAOpB;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,gBAAgB,CAItB;CACF"}
|
|
@@ -1,46 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Bitmap } from '../display/Bitmap.js';
|
|
2
2
|
import { BitmapData } from '../display/texture/BitmapData.js';
|
|
3
|
+
import { Texture } from '../display/texture/Texture.js';
|
|
3
4
|
import { Event } from '../events/Event.js';
|
|
4
5
|
import { IOErrorEvent } from '../events/IOErrorEvent.js';
|
|
5
6
|
import { ImageLoader } from '../net/ImageLoader.js';
|
|
6
|
-
export class Video extends
|
|
7
|
+
export class Video extends Bitmap {
|
|
7
8
|
// ── Instance fields ───────────────────────────────────────────────────────
|
|
8
9
|
fullscreen = true;
|
|
9
10
|
_video;
|
|
10
11
|
_src = '';
|
|
11
12
|
_poster = '';
|
|
12
13
|
_posterData;
|
|
13
|
-
|
|
14
|
+
_videoData;
|
|
15
|
+
_videoTexture;
|
|
14
16
|
_loaded = false;
|
|
15
|
-
_bitmapData;
|
|
16
|
-
_widthSet = NaN;
|
|
17
|
-
_heightSet = NaN;
|
|
18
17
|
_waiting = false;
|
|
19
18
|
_userPause = false;
|
|
20
19
|
_userPlay = false;
|
|
21
20
|
_isPlayed = false;
|
|
21
|
+
_frameCallbackId;
|
|
22
|
+
_usesAnimationFrame = false;
|
|
22
23
|
// ── Constructor ───────────────────────────────────────────────────────────
|
|
23
24
|
constructor(url) {
|
|
24
25
|
super();
|
|
25
26
|
this._video = document.createElement('video');
|
|
26
|
-
this._video.
|
|
27
|
+
this._video.playsInline = true;
|
|
27
28
|
this._video.setAttribute('webkit-playsinline', 'true');
|
|
28
29
|
this._video.controls = false;
|
|
29
30
|
this._video.addEventListener('canplaythrough', this.onVideoLoaded);
|
|
30
31
|
this._video.addEventListener('ended', this.onVideoEnded);
|
|
31
32
|
this._video.addEventListener('error', this.onVideoError);
|
|
32
|
-
this._video.addEventListener('waiting',
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this._video.addEventListener('canplay', () => {
|
|
36
|
-
this._waiting = false;
|
|
37
|
-
if (this._userPause)
|
|
38
|
-
this.pause();
|
|
39
|
-
else if (this._userPlay)
|
|
40
|
-
this.videoPlay();
|
|
41
|
-
});
|
|
42
|
-
if (url)
|
|
33
|
+
this._video.addEventListener('waiting', this.onVideoWaiting);
|
|
34
|
+
this._video.addEventListener('canplay', this.onVideoCanPlay);
|
|
35
|
+
if (url) {
|
|
43
36
|
this.load(url);
|
|
37
|
+
}
|
|
44
38
|
}
|
|
45
39
|
// ── Getters / Setters ─────────────────────────────────────────────────────
|
|
46
40
|
get src() {
|
|
@@ -54,11 +48,13 @@ export class Video extends DisplayObject {
|
|
|
54
48
|
return this._poster;
|
|
55
49
|
}
|
|
56
50
|
set poster(value) {
|
|
57
|
-
if (this._poster === value)
|
|
51
|
+
if (this._poster === value) {
|
|
58
52
|
return;
|
|
53
|
+
}
|
|
59
54
|
this._poster = value;
|
|
60
|
-
if (value)
|
|
55
|
+
if (value) {
|
|
61
56
|
this.loadPoster(value);
|
|
57
|
+
}
|
|
62
58
|
}
|
|
63
59
|
get volume() {
|
|
64
60
|
return this._video.volume;
|
|
@@ -66,6 +62,25 @@ export class Video extends DisplayObject {
|
|
|
66
62
|
set volume(value) {
|
|
67
63
|
this._video.volume = Math.max(0, Math.min(1, value));
|
|
68
64
|
}
|
|
65
|
+
get muted() {
|
|
66
|
+
return this._video.muted;
|
|
67
|
+
}
|
|
68
|
+
set muted(value) {
|
|
69
|
+
this._video.muted = value;
|
|
70
|
+
this._video.defaultMuted = value;
|
|
71
|
+
}
|
|
72
|
+
get loop() {
|
|
73
|
+
return this._video.loop;
|
|
74
|
+
}
|
|
75
|
+
set loop(value) {
|
|
76
|
+
this._video.loop = value;
|
|
77
|
+
}
|
|
78
|
+
get playsInline() {
|
|
79
|
+
return this._video.playsInline;
|
|
80
|
+
}
|
|
81
|
+
set playsInline(value) {
|
|
82
|
+
this._video.playsInline = value;
|
|
83
|
+
}
|
|
69
84
|
get position() {
|
|
70
85
|
return this._video.currentTime;
|
|
71
86
|
}
|
|
@@ -78,43 +93,18 @@ export class Video extends DisplayObject {
|
|
|
78
93
|
get length() {
|
|
79
94
|
return this._video.duration || 0;
|
|
80
95
|
}
|
|
81
|
-
get bitmapData() {
|
|
82
|
-
if (!this._video || !this._loaded)
|
|
83
|
-
return this._posterData;
|
|
84
|
-
if (!this._bitmapData) {
|
|
85
|
-
this._video.width = this._video.videoWidth;
|
|
86
|
-
this._video.height = this._video.videoHeight;
|
|
87
|
-
this._bitmapData = new BitmapData(this._video);
|
|
88
|
-
this._bitmapData.deleteSource = false;
|
|
89
|
-
}
|
|
90
|
-
// Invalidate each access so dependent Bitmaps redraw the current video frame
|
|
91
|
-
BitmapData.invalidate(this._bitmapData);
|
|
92
|
-
return this._bitmapData;
|
|
93
|
-
}
|
|
94
|
-
get width() {
|
|
95
|
-
return isNaN(this._widthSet) ? this.getPlayWidth() : this._widthSet;
|
|
96
|
-
}
|
|
97
|
-
set width(value) {
|
|
98
|
-
this._widthSet = value;
|
|
99
|
-
this.$renderDirty = true;
|
|
100
|
-
}
|
|
101
|
-
get height() {
|
|
102
|
-
return isNaN(this._heightSet) ? this.getPlayHeight() : this._heightSet;
|
|
103
|
-
}
|
|
104
|
-
set height(value) {
|
|
105
|
-
this._heightSet = value;
|
|
106
|
-
this.$renderDirty = true;
|
|
107
|
-
}
|
|
108
96
|
// ── Public methods ────────────────────────────────────────────────────────
|
|
109
97
|
load(url) {
|
|
98
|
+
this.cancelFrameUpdates();
|
|
110
99
|
this._src = url;
|
|
111
100
|
this._loaded = false;
|
|
112
|
-
|
|
101
|
+
this._isPlayed = false;
|
|
102
|
+
this.texture = this.makePosterTexture();
|
|
113
103
|
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
114
|
-
|
|
104
|
+
this._video.crossOrigin = 'anonymous';
|
|
115
105
|
}
|
|
116
|
-
|
|
117
|
-
|
|
106
|
+
this._video.src = url;
|
|
107
|
+
this._video.load();
|
|
118
108
|
}
|
|
119
109
|
play(startTime, loop = false) {
|
|
120
110
|
if (!this._loaded) {
|
|
@@ -123,10 +113,11 @@ export class Video extends DisplayObject {
|
|
|
123
113
|
return;
|
|
124
114
|
}
|
|
125
115
|
this._isPlayed = true;
|
|
126
|
-
this.
|
|
127
|
-
this.
|
|
128
|
-
if (startTime !== undefined)
|
|
116
|
+
this.loop = loop;
|
|
117
|
+
this.texture = this._videoTexture;
|
|
118
|
+
if (startTime !== undefined) {
|
|
129
119
|
this._video.currentTime = startTime;
|
|
120
|
+
}
|
|
130
121
|
if (this.fullscreen) {
|
|
131
122
|
this.enterFullscreen();
|
|
132
123
|
}
|
|
@@ -136,6 +127,7 @@ export class Video extends DisplayObject {
|
|
|
136
127
|
}
|
|
137
128
|
pause() {
|
|
138
129
|
this._userPlay = false;
|
|
130
|
+
this.cancelFrameUpdates();
|
|
139
131
|
if (this._waiting) {
|
|
140
132
|
this._userPause = true;
|
|
141
133
|
return;
|
|
@@ -144,23 +136,20 @@ export class Video extends DisplayObject {
|
|
|
144
136
|
this._video.pause();
|
|
145
137
|
}
|
|
146
138
|
close() {
|
|
139
|
+
this.cancelFrameUpdates();
|
|
140
|
+
this._video.pause();
|
|
147
141
|
this._video.removeEventListener('canplaythrough', this.onVideoLoaded);
|
|
148
142
|
this._video.removeEventListener('ended', this.onVideoEnded);
|
|
149
143
|
this._video.removeEventListener('error', this.onVideoError);
|
|
150
|
-
this._video.
|
|
151
|
-
this._video.
|
|
144
|
+
this._video.removeEventListener('waiting', this.onVideoWaiting);
|
|
145
|
+
this._video.removeEventListener('canplay', this.onVideoCanPlay);
|
|
146
|
+
this._video.removeAttribute('src');
|
|
147
|
+
this._video.load();
|
|
152
148
|
this._loaded = false;
|
|
153
|
-
this._bitmapData = undefined;
|
|
154
149
|
this._isPlayed = false;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const w = this.getPlayWidth();
|
|
159
|
-
const h = this.getPlayHeight();
|
|
160
|
-
if (w > 0 && h > 0)
|
|
161
|
-
bounds.setTo(0, 0, w, h);
|
|
162
|
-
else
|
|
163
|
-
bounds.setEmpty();
|
|
150
|
+
this.texture = this.makePosterTexture();
|
|
151
|
+
this._videoData = undefined;
|
|
152
|
+
this._videoTexture = undefined;
|
|
164
153
|
}
|
|
165
154
|
// ── Private methods ───────────────────────────────────────────────────────
|
|
166
155
|
videoPlay() {
|
|
@@ -170,73 +159,115 @@ export class Video extends DisplayObject {
|
|
|
170
159
|
return;
|
|
171
160
|
}
|
|
172
161
|
this._userPlay = false;
|
|
173
|
-
this._video.play()
|
|
162
|
+
void this._video.play().then(() => this.scheduleFrameUpdate()).catch(() => {
|
|
163
|
+
IOErrorEvent.dispatchIOErrorEvent(this);
|
|
164
|
+
});
|
|
174
165
|
}
|
|
175
166
|
enterFullscreen() {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
void video.requestFullscreen();
|
|
167
|
+
if (!this._video.parentElement) {
|
|
168
|
+
document.body.appendChild(this._video);
|
|
169
|
+
}
|
|
170
|
+
void this._video.requestFullscreen();
|
|
181
171
|
this.videoPlay();
|
|
182
172
|
}
|
|
183
173
|
exitFullscreen() {
|
|
184
|
-
if (document.fullscreenElement)
|
|
174
|
+
if (document.fullscreenElement) {
|
|
185
175
|
void document.exitFullscreen();
|
|
186
|
-
if (this._video.parentElement) {
|
|
187
|
-
this._video.parentElement.removeChild(this._video);
|
|
188
176
|
}
|
|
177
|
+
this._video.remove();
|
|
189
178
|
}
|
|
190
179
|
loadPoster(url) {
|
|
191
180
|
const loader = new ImageLoader();
|
|
192
181
|
loader.once(Event.COMPLETE, () => {
|
|
193
|
-
if (loader.data)
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
this
|
|
198
|
-
this.$markDirty();
|
|
182
|
+
if (!loader.data)
|
|
183
|
+
return;
|
|
184
|
+
this._posterData = loader.data;
|
|
185
|
+
if (!this._isPlayed) {
|
|
186
|
+
this.texture = this.makePosterTexture();
|
|
199
187
|
}
|
|
200
188
|
});
|
|
201
189
|
loader.load(url);
|
|
202
190
|
}
|
|
203
|
-
|
|
204
|
-
if (!
|
|
205
|
-
return
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
191
|
+
makePosterTexture() {
|
|
192
|
+
if (!this._posterData)
|
|
193
|
+
return undefined;
|
|
194
|
+
const texture = new Texture();
|
|
195
|
+
texture.disposeBitmapData = false;
|
|
196
|
+
texture.setBitmapData(this._posterData);
|
|
197
|
+
return texture;
|
|
198
|
+
}
|
|
199
|
+
scheduleFrameUpdate() {
|
|
200
|
+
if (!this._isPlayed || this._frameCallbackId !== undefined)
|
|
201
|
+
return;
|
|
202
|
+
if (typeof this._video.requestVideoFrameCallback === 'function') {
|
|
203
|
+
this._usesAnimationFrame = false;
|
|
204
|
+
this._frameCallbackId = this._video.requestVideoFrameCallback(this.onVideoFrame);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
this._usesAnimationFrame = true;
|
|
208
|
+
this._frameCallbackId = requestAnimationFrame(this.onAnimationFrame);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
cancelFrameUpdates() {
|
|
212
|
+
if (this._frameCallbackId === undefined)
|
|
213
|
+
return;
|
|
214
|
+
if (this._usesAnimationFrame) {
|
|
215
|
+
cancelAnimationFrame(this._frameCallbackId);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
this._video.cancelVideoFrameCallback(this._frameCallbackId);
|
|
219
|
+
}
|
|
220
|
+
this._frameCallbackId = undefined;
|
|
221
|
+
}
|
|
222
|
+
updateVideoFrame() {
|
|
223
|
+
BitmapData.invalidate(this._videoData);
|
|
224
224
|
}
|
|
225
225
|
onVideoLoaded = () => {
|
|
226
226
|
this._loaded = true;
|
|
227
|
-
|
|
228
|
-
|
|
227
|
+
const bitmapData = new BitmapData(this._video);
|
|
228
|
+
bitmapData.deleteSource = false;
|
|
229
|
+
bitmapData.width = this._video.videoWidth;
|
|
230
|
+
bitmapData.height = this._video.videoHeight;
|
|
231
|
+
const texture = new Texture();
|
|
232
|
+
texture.disposeBitmapData = false;
|
|
233
|
+
texture.setBitmapData(bitmapData);
|
|
234
|
+
this._videoData = bitmapData;
|
|
235
|
+
this._videoTexture = texture;
|
|
236
|
+
this.texture = texture;
|
|
229
237
|
this.dispatchEventWith(Event.COMPLETE);
|
|
230
238
|
};
|
|
231
239
|
onVideoEnded = () => {
|
|
232
|
-
this.
|
|
240
|
+
this.cancelFrameUpdates();
|
|
233
241
|
this._isPlayed = false;
|
|
234
|
-
if (this.fullscreen)
|
|
242
|
+
if (this.fullscreen) {
|
|
235
243
|
this.exitFullscreen();
|
|
244
|
+
}
|
|
236
245
|
this.dispatchEventWith(Event.ENDED);
|
|
237
246
|
};
|
|
238
247
|
onVideoError = () => {
|
|
239
248
|
IOErrorEvent.dispatchIOErrorEvent(this);
|
|
240
249
|
};
|
|
250
|
+
onVideoWaiting = () => {
|
|
251
|
+
this._waiting = true;
|
|
252
|
+
};
|
|
253
|
+
onVideoCanPlay = () => {
|
|
254
|
+
this._waiting = false;
|
|
255
|
+
if (this._userPause) {
|
|
256
|
+
this.pause();
|
|
257
|
+
}
|
|
258
|
+
else if (this._userPlay) {
|
|
259
|
+
this.videoPlay();
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
onVideoFrame = () => {
|
|
263
|
+
this._frameCallbackId = undefined;
|
|
264
|
+
this.updateVideoFrame();
|
|
265
|
+
this.scheduleFrameUpdate();
|
|
266
|
+
};
|
|
267
|
+
onAnimationFrame = () => {
|
|
268
|
+
this._frameCallbackId = undefined;
|
|
269
|
+
this.updateVideoFrame();
|
|
270
|
+
this.scheduleFrameUpdate();
|
|
271
|
+
};
|
|
241
272
|
}
|
|
242
273
|
//# sourceMappingURL=Video.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Video.js","sourceRoot":"","sources":["../../../src/kurot/media/Video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Video.js","sourceRoot":"","sources":["../../../src/kurot/media/Video.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":""}
|