libbitsub 1.10.2 → 1.12.0

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/README.md +296 -49
  2. package/dist/index.d.ts +3 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/integrations/hlsjs.d.ts +45 -0
  7. package/dist/integrations/hlsjs.d.ts.map +1 -0
  8. package/dist/integrations/hlsjs.js +121 -0
  9. package/dist/integrations/hlsjs.js.map +1 -0
  10. package/dist/integrations/index.d.ts +11 -0
  11. package/dist/integrations/index.d.ts.map +1 -0
  12. package/dist/integrations/index.js +11 -0
  13. package/dist/integrations/index.js.map +1 -0
  14. package/dist/integrations/react.d.ts +55 -0
  15. package/dist/integrations/react.d.ts.map +1 -0
  16. package/dist/integrations/react.js +133 -0
  17. package/dist/integrations/react.js.map +1 -0
  18. package/dist/integrations/shaka.d.ts +38 -0
  19. package/dist/integrations/shaka.d.ts.map +1 -0
  20. package/dist/integrations/shaka.js +71 -0
  21. package/dist/integrations/shaka.js.map +1 -0
  22. package/dist/integrations/shared.d.ts +41 -0
  23. package/dist/integrations/shared.d.ts.map +1 -0
  24. package/dist/integrations/shared.js +123 -0
  25. package/dist/integrations/shared.js.map +1 -0
  26. package/dist/integrations/videojs.d.ts +85 -0
  27. package/dist/integrations/videojs.d.ts.map +1 -0
  28. package/dist/integrations/videojs.js +111 -0
  29. package/dist/integrations/videojs.js.map +1 -0
  30. package/dist/ts/capabilities.d.ts +8 -0
  31. package/dist/ts/capabilities.d.ts.map +1 -0
  32. package/dist/ts/capabilities.js +105 -0
  33. package/dist/ts/capabilities.js.map +1 -0
  34. package/dist/ts/diagnostics.d.ts.map +1 -1
  35. package/dist/ts/diagnostics.js.map +1 -1
  36. package/dist/ts/frame-export.d.ts.map +1 -1
  37. package/dist/ts/frame-export.js +4 -4
  38. package/dist/ts/frame-export.js.map +1 -1
  39. package/dist/ts/parsers.d.ts +46 -8
  40. package/dist/ts/parsers.d.ts.map +1 -1
  41. package/dist/ts/parsers.js +305 -14
  42. package/dist/ts/parsers.js.map +1 -1
  43. package/dist/ts/range-loader.d.ts +31 -0
  44. package/dist/ts/range-loader.d.ts.map +1 -0
  45. package/dist/ts/range-loader.js +220 -0
  46. package/dist/ts/range-loader.js.map +1 -0
  47. package/dist/ts/renderers.d.ts +140 -8
  48. package/dist/ts/renderers.d.ts.map +1 -1
  49. package/dist/ts/renderers.js +1773 -287
  50. package/dist/ts/renderers.js.map +1 -1
  51. package/dist/ts/types.d.ts +210 -7
  52. package/dist/ts/types.d.ts.map +1 -1
  53. package/dist/ts/utils.d.ts.map +1 -1
  54. package/dist/ts/utils.js +98 -2
  55. package/dist/ts/utils.js.map +1 -1
  56. package/dist/ts/video-frame-scheduler.d.ts +35 -0
  57. package/dist/ts/video-frame-scheduler.d.ts.map +1 -0
  58. package/dist/ts/video-frame-scheduler.js +98 -0
  59. package/dist/ts/video-frame-scheduler.js.map +1 -0
  60. package/dist/ts/wasm.d.ts +2 -0
  61. package/dist/ts/wasm.d.ts.map +1 -1
  62. package/dist/ts/wasm.js +12 -0
  63. package/dist/ts/wasm.js.map +1 -1
  64. package/dist/ts/webgl2-renderer.d.ts +9 -0
  65. package/dist/ts/webgl2-renderer.d.ts.map +1 -1
  66. package/dist/ts/webgl2-renderer.js +34 -0
  67. package/dist/ts/webgl2-renderer.js.map +1 -1
  68. package/dist/ts/webgpu-renderer.d.ts +9 -0
  69. package/dist/ts/webgpu-renderer.d.ts.map +1 -1
  70. package/dist/ts/webgpu-renderer.js +70 -2
  71. package/dist/ts/webgpu-renderer.js.map +1 -1
  72. package/dist/ts/worker.d.ts +11 -0
  73. package/dist/ts/worker.d.ts.map +1 -1
  74. package/dist/ts/worker.js +620 -158
  75. package/dist/ts/worker.js.map +1 -1
  76. package/dist/wrapper.d.ts +6 -3
  77. package/dist/wrapper.d.ts.map +1 -1
  78. package/dist/wrapper.js +5 -2
  79. package/dist/wrapper.js.map +1 -1
  80. package/examples/README.md +38 -0
  81. package/examples/hlsjs/README.md +53 -0
  82. package/examples/react/README.md +60 -0
  83. package/examples/shaka/README.md +61 -0
  84. package/examples/videojs/README.md +55 -0
  85. package/package.json +66 -8
  86. package/pkg/README.md +296 -49
  87. package/pkg/libbitsub.d.ts +65 -1
  88. package/pkg/libbitsub.js +228 -3
  89. package/pkg/libbitsub_bg.wasm +0 -0
  90. package/pkg/libbitsub_bg.wasm.d.ts +28 -0
  91. package/pkg/package.json +4 -4
  92. package/src/integrations/hlsjs.ts +154 -0
  93. package/src/integrations/index.ts +36 -0
  94. package/src/integrations/react.tsx +176 -0
  95. package/src/integrations/shaka.ts +92 -0
  96. package/src/integrations/shared.ts +171 -0
  97. package/src/integrations/videojs.ts +200 -0
  98. package/src/wrapper.ts +34 -2
@@ -0,0 +1,35 @@
1
+ import type { SubtitleSynchronizationMode } from './types';
2
+ export interface VideoFrameTick {
3
+ mediaTime: number;
4
+ presentedFrames: number | null;
5
+ }
6
+ interface VideoFrameSource {
7
+ currentTime: number;
8
+ requestVideoFrameCallback?: (callback: VideoFrameRequestCallback) => number;
9
+ cancelVideoFrameCallback?: (handle: number) => void;
10
+ }
11
+ interface AnimationFrameScheduler {
12
+ request(callback: FrameRequestCallback): number;
13
+ cancel(handle: number): void;
14
+ }
15
+ export declare function supportsFrameAwareSync(video: VideoFrameSource, enabled?: boolean): boolean;
16
+ /**
17
+ * Schedule one callback per presented video frame when possible, with an
18
+ * animation-frame/currentTime compatibility fallback.
19
+ */
20
+ export declare class VideoFrameScheduler {
21
+ private readonly video;
22
+ private readonly onFrame;
23
+ private readonly animationFrames;
24
+ private animationFrameHandle;
25
+ private videoFrameHandle;
26
+ private generation;
27
+ private useVideoFrames;
28
+ constructor(video: VideoFrameSource, frameAware: boolean, onFrame: (tick: VideoFrameTick) => void, animationFrames?: AnimationFrameScheduler);
29
+ get mode(): SubtitleSynchronizationMode;
30
+ start(): void;
31
+ stop(): void;
32
+ private schedule;
33
+ }
34
+ export {};
35
+ //# sourceMappingURL=video-frame-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-frame-scheduler.d.ts","sourceRoot":"","sources":["../../src/ts/video-frame-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAE1D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,yBAAyB,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,MAAM,CAAA;IAC3E,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACpD;AAED,UAAU,uBAAuB;IAC/B,OAAO,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAAA;IAC/C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,UAAO,GAAG,OAAO,CAEvF;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IATlC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,cAAc,CAAS;IAE/B,YACmB,KAAK,EAAE,gBAAgB,EACxC,UAAU,EAAE,OAAO,EACF,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,EACvC,eAAe,GAAE,uBAAwD,EAG3F;IAED,IAAI,IAAI,IAAI,2BAA2B,CAEtC;IAED,KAAK,IAAI,IAAI,CAIZ;IAED,IAAI,IAAI,IAAI,CAmBX;IAED,OAAO,CAAC,QAAQ;CAwCjB"}
@@ -0,0 +1,98 @@
1
+ const defaultAnimationFrameScheduler = {
2
+ request: (callback) => requestAnimationFrame(callback),
3
+ cancel: (handle) => cancelAnimationFrame(handle)
4
+ };
5
+ export function supportsFrameAwareSync(video, enabled = true) {
6
+ return enabled && typeof video.requestVideoFrameCallback === 'function';
7
+ }
8
+ /**
9
+ * Schedule one callback per presented video frame when possible, with an
10
+ * animation-frame/currentTime compatibility fallback.
11
+ */
12
+ export class VideoFrameScheduler {
13
+ video;
14
+ onFrame;
15
+ animationFrames;
16
+ animationFrameHandle = null;
17
+ videoFrameHandle = null;
18
+ generation = 0;
19
+ useVideoFrames;
20
+ constructor(video, frameAware, onFrame, animationFrames = defaultAnimationFrameScheduler) {
21
+ this.video = video;
22
+ this.onFrame = onFrame;
23
+ this.animationFrames = animationFrames;
24
+ this.useVideoFrames = supportsFrameAwareSync(video, frameAware);
25
+ }
26
+ get mode() {
27
+ return this.useVideoFrames ? 'video-frame' : 'animation-frame';
28
+ }
29
+ start() {
30
+ this.stop();
31
+ const generation = this.generation;
32
+ this.schedule(generation);
33
+ }
34
+ stop() {
35
+ this.generation++;
36
+ if (this.videoFrameHandle !== null) {
37
+ const cancelVideoFrameCallback = this.video.cancelVideoFrameCallback;
38
+ if (typeof cancelVideoFrameCallback === 'function') {
39
+ try {
40
+ cancelVideoFrameCallback.call(this.video, this.videoFrameHandle);
41
+ }
42
+ catch {
43
+ // A detached or replaced video may reject an otherwise valid handle.
44
+ }
45
+ }
46
+ this.videoFrameHandle = null;
47
+ }
48
+ if (this.animationFrameHandle !== null) {
49
+ this.animationFrames.cancel(this.animationFrameHandle);
50
+ this.animationFrameHandle = null;
51
+ }
52
+ }
53
+ schedule(generation) {
54
+ if (generation !== this.generation)
55
+ return;
56
+ if (this.useVideoFrames) {
57
+ const requestVideoFrameCallback = this.video.requestVideoFrameCallback;
58
+ if (typeof requestVideoFrameCallback === 'function') {
59
+ try {
60
+ this.videoFrameHandle = requestVideoFrameCallback.call(this.video, (_now, metadata) => {
61
+ this.videoFrameHandle = null;
62
+ if (generation !== this.generation)
63
+ return;
64
+ const mediaTime = Number.isFinite(metadata.mediaTime) ? metadata.mediaTime : this.video.currentTime;
65
+ try {
66
+ this.onFrame({
67
+ mediaTime,
68
+ presentedFrames: Number.isFinite(metadata.presentedFrames) ? metadata.presentedFrames : null
69
+ });
70
+ }
71
+ finally {
72
+ this.schedule(generation);
73
+ }
74
+ });
75
+ return;
76
+ }
77
+ catch {
78
+ this.useVideoFrames = false;
79
+ }
80
+ }
81
+ else {
82
+ this.useVideoFrames = false;
83
+ }
84
+ }
85
+ this.animationFrameHandle = this.animationFrames.request(() => {
86
+ this.animationFrameHandle = null;
87
+ if (generation !== this.generation)
88
+ return;
89
+ try {
90
+ this.onFrame({ mediaTime: this.video.currentTime, presentedFrames: null });
91
+ }
92
+ finally {
93
+ this.schedule(generation);
94
+ }
95
+ });
96
+ }
97
+ }
98
+ //# sourceMappingURL=video-frame-scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-frame-scheduler.js","sourceRoot":"","sources":["../../src/ts/video-frame-scheduler.ts"],"names":[],"mappings":"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"}
package/dist/ts/wasm.d.ts CHANGED
@@ -12,4 +12,6 @@ export declare function isWasmInitialized(): boolean;
12
12
  export declare function getWasm(): typeof import('../../pkg/libbitsub');
13
13
  /** Get the WASM file URL (always returns absolute URL). */
14
14
  export declare function getWasmUrl(): string;
15
+ /** Get the WASM glue script URL (always returns absolute URL).*/
16
+ export declare function getWasmGlueUrl(): string;
15
17
  //# sourceMappingURL=wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/ts/wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAW9C;AAED,oCAAoC;AACpC,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wDAAwD;AACxD,wBAAgB,OAAO,IAAI,cAAc,qBAAqB,CAAC,CAK9D;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,IAAI,MAAM,CAUnC"}
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/ts/wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAW9C;AAED,oCAAoC;AACpC,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wDAAwD;AACxD,wBAAgB,OAAO,IAAI,cAAc,qBAAqB,CAAC,CAK9D;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,IAAI,MAAM,CAUnC;AAED,iEAAiE;AACjE,wBAAgB,cAAc,IAAI,MAAM,CAUvC"}
package/dist/ts/wasm.js CHANGED
@@ -42,6 +42,18 @@ export function getWasmUrl() {
42
42
  return '/libbitsub/libbitsub_bg.wasm';
43
43
  }
44
44
  }
45
+ /** Get the WASM glue script URL (always returns absolute URL).*/
46
+ export function getWasmGlueUrl() {
47
+ try {
48
+ return new URL('../../pkg/libbitsub.js', import.meta.url).href;
49
+ }
50
+ catch {
51
+ if (typeof window !== 'undefined') {
52
+ return new URL('/libbitsub/libbitsub.js', window.location.origin).href;
53
+ }
54
+ return '/libbitsub/libbitsub.js';
55
+ }
56
+ }
45
57
  // Pre-initialize WASM module on first import (non-blocking)
46
58
  if (typeof window !== 'undefined') {
47
59
  setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../src/ts/wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,IAAI,UAAU,GAAgD,IAAI,CAAA;AAClE,IAAI,eAAe,GAAyB,IAAI,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,UAAU;QAAE,OAAM;IACtB,IAAI,eAAe;QAAE,OAAO,eAAe,CAAA;IAE3C,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAC/C,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;QACnB,UAAU,GAAG,GAAG,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,KAAK,IAAI,CAAA;AAC5B,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,OAAO;IACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,6BAA6B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;QAC7E,CAAC;QAED,OAAO,8BAA8B,CAAA;IACvC,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC,CAAA;IACnF,CAAC,EAAE,GAAG,CAAC,CAAA;AACT,CAAC"}
1
+ {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../src/ts/wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,IAAI,UAAU,GAAgD,IAAI,CAAA;AAClE,IAAI,eAAe,GAAyB,IAAI,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,UAAU;QAAE,OAAM;IACtB,IAAI,eAAe;QAAE,OAAO,eAAe,CAAA;IAE3C,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAC/C,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;QACnB,UAAU,GAAG,GAAG,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,KAAK,IAAI,CAAA;AAC5B,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,OAAO;IACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,6BAA6B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;QAC7E,CAAC;QAED,OAAO,8BAA8B,CAAA;IACvC,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,wBAAwB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,IAAI,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;QACxE,CAAC;QAED,OAAO,yBAAyB,CAAA;IAClC,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC,CAAA;IACnF,CAAC,EAAE,GAAG,CAAC,CAAA;AACT,CAAC"}
@@ -45,6 +45,15 @@ export declare class WebGL2Renderer {
45
45
  * Clear the canvas.
46
46
  */
47
47
  clear(): void;
48
+ /**
49
+ * Read back the current framebuffer as straight (non-premultiplied) RGBA.
50
+ * Intended for visual-regression / golden-image tests.
51
+ */
52
+ readPixels(): {
53
+ data: Uint8ClampedArray;
54
+ width: number;
55
+ height: number;
56
+ };
48
57
  /**
49
58
  * Check if renderer is initialized.
50
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"webgl2-renderer.d.ts","sourceRoot":"","sources":["../../src/ts/webgl2-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AA2DtD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAU3C;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAsC;IAChD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,GAAG,CAAsC;IAGjD,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAoC;IAGpD,OAAO,CAAC,QAAQ,CAAkC;IAElD,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IAEnB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAED;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEvF;IAED,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAW9C;IAED,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,MAAM,CACJ,YAAY,EAAE,uBAAuB,EAAE,EACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA0DN;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAIZ;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAgBd;CACF"}
1
+ {"version":3,"file":"webgl2-renderer.d.ts","sourceRoot":"","sources":["../../src/ts/webgl2-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AA2DtD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAU3C;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAsC;IAChD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,GAAG,CAAsC;IAGjD,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAoC;IAGpD,OAAO,CAAC,QAAQ,CAAkC;IAElD,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IAEnB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAED;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEvF;IAED,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAW9C;IAED,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,MAAM,CACJ,YAAY,EAAE,uBAAuB,EAAE,EACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA0DN;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAIZ;IAED;;;OAGG;IACH,UAAU,IAAI;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAiCvE;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAgBd;CACF"}
@@ -261,6 +261,40 @@ export class WebGL2Renderer {
261
261
  this.gl.clearColor(0, 0, 0, 0);
262
262
  this.gl.clear(this.gl.COLOR_BUFFER_BIT);
263
263
  }
264
+ /**
265
+ * Read back the current framebuffer as straight (non-premultiplied) RGBA.
266
+ * Intended for visual-regression / golden-image tests.
267
+ */
268
+ readPixels() {
269
+ if (!this.gl || !this._canvas) {
270
+ return { data: new Uint8ClampedArray(0), width: 0, height: 0 };
271
+ }
272
+ const width = this._canvas.width;
273
+ const height = this._canvas.height;
274
+ const gl = this.gl;
275
+ const raw = new Uint8Array(width * height * 4);
276
+ gl.pixelStorei(gl.PACK_ALIGNMENT, 1);
277
+ gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, raw);
278
+ // WebGL origin is bottom-left; flip to top-left ImageData orientation.
279
+ const data = new Uint8ClampedArray(raw.length);
280
+ const rowBytes = width * 4;
281
+ for (let y = 0; y < height; y += 1) {
282
+ const srcOffset = (height - 1 - y) * rowBytes;
283
+ const dstOffset = y * rowBytes;
284
+ data.set(raw.subarray(srcOffset, srcOffset + rowBytes), dstOffset);
285
+ }
286
+ // Convert premultiplied framebuffer samples back to straight alpha.
287
+ for (let i = 0; i < data.length; i += 4) {
288
+ const a = data[i + 3];
289
+ if (a > 0 && a < 255) {
290
+ const inv = 255 / a;
291
+ data[i] = Math.min(255, Math.round(data[i] * inv));
292
+ data[i + 1] = Math.min(255, Math.round(data[i + 1] * inv));
293
+ data[i + 2] = Math.min(255, Math.round(data[i + 2] * inv));
294
+ }
295
+ }
296
+ return { data, width, height };
297
+ }
264
298
  /**
265
299
  * Check if renderer is initialized.
266
300
  */
@@ -1 +1 @@
1
- {"version":3,"file":"webgl2-renderer.js","sourceRoot":"","sources":["../../src/ts/webgl2-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl2-renderer.js","sourceRoot":"","sources":["../../src/ts/webgl2-renderer.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,15 @@ export declare class WebGPURenderer {
57
57
  * Clear the canvas.
58
58
  */
59
59
  clear(): void;
60
+ /**
61
+ * Read back the current swap-chain texture as straight (non-premultiplied) RGBA.
62
+ * Intended for visual-regression / golden-image tests.
63
+ */
64
+ readPixels(): Promise<{
65
+ data: Uint8ClampedArray;
66
+ width: number;
67
+ height: number;
68
+ }>;
60
69
  /**
61
70
  * Check if renderer is initialized.
62
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-renderer.d.ts","sourceRoot":"","sources":["../../src/ts/webgpu-renderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AA2EtD,UAAU,WAAW;IACnB,OAAO,EAAE,UAAU,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,+GAA+G;IAC/G,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACpC,yFAAyF;IACzF,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;CAC/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAO;IAC/B,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAO;IACvC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAO;IACzC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAO;IACjC,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAO;IAGjD,aAAa,EAAE,SAAS,GAAG,IAAI,CAAO;IAGtC,eAAe,EAAE,SAAS,EAAE,CAAK;IAGjC,QAAQ,EAAE,WAAW,EAAE,CAAK;IAC5B,sBAAsB,EAAE,UAAU,EAAE,CAAK;IAEzC,MAAM,EAAE,gBAAgB,CAAe;IAEvC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,iBAAiB,CAAI;IAE7B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;YAEa,uBAAuB;YAgBvB,WAAW;IA6GzB;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvF;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAU9C;IAED,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,MAAM,CACJ,YAAY,EAAE,uBAAuB,EAAE,EACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA6JN;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAwBZ;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAyBd;CACF"}
1
+ {"version":3,"file":"webgpu-renderer.d.ts","sourceRoot":"","sources":["../../src/ts/webgpu-renderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AA2EtD,UAAU,WAAW;IACnB,OAAO,EAAE,UAAU,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,+GAA+G;IAC/G,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACpC,yFAAyF;IACzF,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;CAC/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAO;IAC/B,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAO;IACvC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAO;IACzC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAO;IACjC,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAO;IAGjD,aAAa,EAAE,SAAS,GAAG,IAAI,CAAO;IAGtC,eAAe,EAAE,SAAS,EAAE,CAAK;IAGjC,QAAQ,EAAE,WAAW,EAAE,CAAK;IAC5B,sBAAsB,EAAE,UAAU,EAAE,CAAK;IAEzC,MAAM,EAAE,gBAAgB,CAAe;IAEvC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,iBAAiB,CAAI;IAE7B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;YAEa,uBAAuB;YAgBvB,WAAW;IA6GzB;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvF;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAU9C;IAED,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,MAAM,CACJ,YAAY,EAAE,uBAAuB,EAAE,EACvC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA6JN;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAwBZ;IAED;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAuEtF;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAyBd;CACF"}
@@ -111,11 +111,11 @@ export class WebGPURenderer {
111
111
  }
112
112
  async assertShaderModuleValid(module, label) {
113
113
  const info = await module.getCompilationInfo();
114
- const errors = info.messages.filter(message => message.type === 'error');
114
+ const errors = info.messages.filter((message) => message.type === 'error');
115
115
  if (errors.length === 0)
116
116
  return;
117
117
  const formatted = errors
118
- .map(message => {
118
+ .map((message) => {
119
119
  const line = message.lineNum > 0 ? `:${message.lineNum}:${message.linePos}` : '';
120
120
  return `${label}${line} ${message.message}`;
121
121
  })
@@ -443,6 +443,74 @@ export class WebGPURenderer {
443
443
  return;
444
444
  }
445
445
  }
446
+ /**
447
+ * Read back the current swap-chain texture as straight (non-premultiplied) RGBA.
448
+ * Intended for visual-regression / golden-image tests.
449
+ */
450
+ async readPixels() {
451
+ if (!this.device || !this.context || !this._canvas) {
452
+ return { data: new Uint8ClampedArray(0), width: 0, height: 0 };
453
+ }
454
+ const width = this._canvas.width;
455
+ const height = this._canvas.height;
456
+ if (width <= 0 || height <= 0) {
457
+ return { data: new Uint8ClampedArray(0), width: 0, height: 0 };
458
+ }
459
+ const bytesPerRow = Math.ceil((width * 4) / 256) * 256;
460
+ const bufferSize = bytesPerRow * height;
461
+ const readBuffer = this.device.createBuffer({
462
+ size: bufferSize,
463
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ
464
+ });
465
+ try {
466
+ // Must copy in the same turn as the draw; awaiting first would present the swapchain.
467
+ const sourceTexture = this.context.getCurrentTexture();
468
+ const encoder = this.device.createCommandEncoder();
469
+ encoder.copyTextureToBuffer({ texture: sourceTexture }, { buffer: readBuffer, bytesPerRow }, { width, height });
470
+ this.device.queue.submit([encoder.finish()]);
471
+ // mapAsync is safe after the copy has been encoded/submitted.
472
+ await readBuffer.mapAsync(GPUMapMode.READ);
473
+ const packed = new Uint8Array(readBuffer.getMappedRange());
474
+ const data = new Uint8ClampedArray(width * height * 4);
475
+ const isBgra = this.format === 'bgra8unorm';
476
+ for (let y = 0; y < height; y += 1) {
477
+ const srcRow = y * bytesPerRow;
478
+ for (let x = 0; x < width; x += 1) {
479
+ const src = srcRow + x * 4;
480
+ const dst = (y * width + x) * 4;
481
+ let r = packed[src];
482
+ let g = packed[src + 1];
483
+ let b = packed[src + 2];
484
+ const a = packed[src + 3];
485
+ if (isBgra) {
486
+ const tmp = r;
487
+ r = b;
488
+ b = tmp;
489
+ }
490
+ if (a > 0 && a < 255) {
491
+ const inv = 255 / a;
492
+ r = Math.min(255, Math.round(r * inv));
493
+ g = Math.min(255, Math.round(g * inv));
494
+ b = Math.min(255, Math.round(b * inv));
495
+ }
496
+ data[dst] = r;
497
+ data[dst + 1] = g;
498
+ data[dst + 2] = b;
499
+ data[dst + 3] = a;
500
+ }
501
+ }
502
+ return { data, width, height };
503
+ }
504
+ finally {
505
+ try {
506
+ readBuffer.unmap();
507
+ }
508
+ catch {
509
+ // already unmapped / never mapped
510
+ }
511
+ readBuffer.destroy();
512
+ }
513
+ }
446
514
  /**
447
515
  * Check if renderer is initialized.
448
516
  */
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-renderer.js","sourceRoot":"","sources":["../../src/ts/webgpu-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgpu-renderer.js","sourceRoot":"","sources":["../../src/ts/webgpu-renderer.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,19 @@
5
5
  import type { WorkerRequest, WorkerResponse } from './types';
6
6
  /** Check if Web Workers are available. */
7
7
  export declare function isWorkerAvailable(): boolean;
8
+ /** Whether the shared worker has finished WASM initialization. */
9
+ export declare function isWorkerReady(): boolean;
8
10
  /** Create or get the shared worker instance. */
9
11
  export declare function getOrCreateWorker(): Promise<Worker>;
12
+ /** Pre-initialize the shared subtitle worker. */
13
+ export declare function warmup(): Promise<void>;
14
+ /** Wait until the shared worker is ready for parse/render requests. */
15
+ export declare function ready(): Promise<void>;
10
16
  /** Send a message to the worker with timeout support. */
11
17
  export declare function sendToWorker(request: WorkerRequest, timeout?: number): Promise<WorkerResponse>;
18
+ /**
19
+ * Test-only helper: tear down shared worker state between Bun test files.
20
+ * Not part of the public runtime API.
21
+ */
22
+ export declare function resetWorkerForTests(): void;
12
23
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/ts/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAe5D,0CAA0C;AAC1C,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAsVD,gDAAgD;AAChD,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAoDnD;AAKD,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,SAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAMtG"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/ts/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAiB5D,0CAA0C;AAC1C,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AA0sBD,kEAAkE;AAClE,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,gDAAgD;AAChD,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBnD;AAED,iDAAiD;AACjD,wBAAgB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtC;AAED,uEAAuE;AACvE,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAI3C;AAuED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,SAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAMtG;AAkDD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAc1C"}