@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
@@ -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;IAc3D,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;IAE5B,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"}
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 { DisplayObject } from '../display/DisplayObject.js';
2
- import { BitmapData } from '../display/texture/BitmapData.js';
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 _loop;
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 getPlayWidth;
45
- private getPlayHeight;
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,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,qBAAa,KAAM,SAAQ,aAAa;IAGhC,UAAU,UAAQ;IAEzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAIP,GAAG,CAAC,EAAE,MAAM;IAwB/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,EAI9B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;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;IAED,IAAW,UAAU,IAAI,UAAU,GAAG,SAAS,CAW9C;IAED,IAAoB,KAAK,IAAI,MAAM,CAElC;IACD,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtC;IAED,IAAoB,MAAM,IAAI,MAAM,CAEnC;IACD,IAAoB,MAAM,CAAC,KAAK,EAAE,MAAM,EAGvC;IAIM,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAYvB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,IAAI;IAkB5C,KAAK,IAAI,IAAI;IAUb,KAAK,IAAI,IAAI;IAaX,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IASvD,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,YAAY,CAKlB;IAEF,OAAO,CAAC,YAAY,CAElB;CACF"}
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 { DisplayObject } from '../display/DisplayObject.js';
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 DisplayObject {
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
- _loop = false;
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.setAttribute('playsinline', '');
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
- this._waiting = true;
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
- const video = this._video;
101
+ this._isPlayed = false;
102
+ this.texture = this.makePosterTexture();
113
103
  if (url.startsWith('http://') || url.startsWith('https://')) {
114
- video.crossOrigin = 'anonymous';
104
+ this._video.crossOrigin = 'anonymous';
115
105
  }
116
- video.src = url;
117
- video.load();
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._loop = loop;
127
- this._video.loop = loop;
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.pause();
151
- this._video.src = '';
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
- // ── Internal methods ──────────────────────────────────────────────────────
157
- $measureContentBounds(bounds) {
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
- const video = this._video;
177
- // Append to body so fullscreen API works
178
- if (!video.parentElement)
179
- document.body.appendChild(video);
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
- this._posterData = loader.data;
195
- this._posterData.width = this.getPlayWidth() || loader.data.width;
196
- this._posterData.height = this.getPlayHeight() || loader.data.height;
197
- this.$renderDirty = true;
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
- getPlayWidth() {
204
- if (!isNaN(this._widthSet))
205
- return this._widthSet;
206
- if (this._bitmapData)
207
- return this._bitmapData.width;
208
- if (this._posterData)
209
- return this._posterData.width;
210
- if (this._video.videoWidth)
211
- return this._video.videoWidth;
212
- return 0;
213
- }
214
- getPlayHeight() {
215
- if (!isNaN(this._heightSet))
216
- return this._heightSet;
217
- if (this._bitmapData)
218
- return this._bitmapData.height;
219
- if (this._posterData)
220
- return this._posterData.height;
221
- if (this._video.videoHeight)
222
- return this._video.videoHeight;
223
- return 0;
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
- this._video.width = this._video.videoWidth;
228
- this._video.height = this._video.videoHeight;
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.pause();
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":"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"}
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 '../../display/DisplayObject.js';
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 { RenderBuffer, CanvasRenderer } from './canvas/index.js';
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 RenderBuffer();
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RenderBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderBuffer.js","sourceRoot":"","sources":["../../../src/kurot/player/RenderBuffer.ts"],"names":[],"mappings":""}