akarisub 1.1.5 → 1.1.7

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/README.md CHANGED
@@ -95,7 +95,7 @@ const renderer = new AkariSub({
95
95
  renderer.setCurrentTime(true, 15)
96
96
  ```
97
97
 
98
- Custom canvases stay on the main thread by default. Set both `offscreenRender: true` and `rawAssImageGpu: true` to opt into worker WebGL2 raw-mask composition when dense overlays benefit from it.
98
+ Custom canvases stay on the main thread by default. Set both `offscreenRender: true` and `rawAssImageGpu: true` to opt into worker WebGL2 raw-mask composition when dense overlays benefit from it. Add `rawAssImageWebGPU: true` to compose with worker WebGPU instead; it falls back to WebGL2 when the worker has no WebGPU. A lost worker WebGPU device is replaced automatically. If that keeps failing, an overlay canvas that AkariSub created is swapped for a new one drawn with WebGL2, but a caller-owned canvas cannot take another context and stays blank: listen for the `renderer-recovery` performance warning, or check `getStats().workerRendererLost`.
99
99
 
100
100
  ### Timing semantics
101
101
 
@@ -339,81 +339,83 @@ if (renderer.isUsingGPURenderer) {
339
339
 
340
340
  The default options are best, and automatically fallback to the next fastest options in line, when the API's they use are unsupported. You can however forcefully change this behavior by specifying options.
341
341
 
342
- | Option | Type | Default | Description |
343
- | ---------------------- | ------------------------------------ | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
344
- | `video` | HTMLVideoElement | - | Video to use as target for rendering and event listeners. WebCodecs players pass `canvas` and call `presentVideoFrame` instead |
345
- | `canvas` | HTMLCanvasElement | - | Canvas to use for manual handling (optional if video is provided) |
346
- | `blendMode` | `'js'` \| `'wasm'` | `'wasm'` | Image blending mode. WASM is better for low-end devices, JS for hardware acceleration |
347
- | `asyncRender` | boolean | auto | Render via ImageBitmap. Defaults to `true` on Canvas2D paths and `false` when a GPU renderer is active (raw buffers upload with fewer copies) or on WebKit |
348
- | `offscreenRender` | boolean | automatic | Render fully on the worker; enabled for video-managed canvases and disabled for custom canvases |
349
- | `rawAssImageGpu` | boolean | `false` | Compose raw libass masks with worker WebGL2 when offscreen rendering is active |
350
- | `onDemandRender` | boolean | `true` | Render subtitles as the video player or `presentVideoFrame` presents frames |
351
- | `adaptiveTiming` | boolean | `true` | Compensate measured queue, worker, bitmap, IPC, and paint latency while video is playing; pause and seek renders remain frame-exact |
352
- | `frameTimeline` | FrameTimeline | - | Encoded browser-frame timestamps plus optional media/subtitle clock offsets; enables frame-locked libass sampling |
353
- | `framePrefetch` | number | `2` | Number of exact subtitle-frame bitmaps to prepare ahead (`0` disables preparation, maximum `24`) |
354
- | `targetFps` | number | `24` | Target FPS when not using onDemandRender |
355
- | `timeOffset` | number | `0` | Subtitle time offset in seconds |
356
- | `debug` | boolean | `false` | Enable debug logging |
357
- | `prescaleFactor` | number | `1.0` | Scale factor for subtitles canvas |
358
- | `prescaleHeightLimit` | number | `1080` | Height limit for prescaling in pixels |
359
- | `maxRenderHeight` | number | `0` | Maximum render height (0 = no limit) |
360
- | `dropAllAnimations` | boolean | `false` | Discard all animated tags for performance |
361
- | `dropAllBlur` | boolean | `false` | Drop all blur effects (~10x performance gain) |
362
- | `clampPos` | boolean | `false` | Clamp `\pos` values to script resolution |
363
- | `renderAhead` | number | `0` | Optional extra seconds to render ahead, in addition to adaptive timing; also applies when `onDemandRender` is disabled |
364
- | `workerUrl` | string | package worker URL | Optional worker script URL. Defaults to the package worker module URL |
365
- | `wasmUrl` | string | package WASM URL | Optional WASM binary URL. Defaults to the URL resolved from `import.meta.url` |
366
- | `glueUrl` | string | package glue URL | Optional WASM glue script URL. Defaults to the URL resolved from `import.meta.url` |
367
- | `modernWasmUrl` | string | - | Optional SIMD WASM URL used when the engine validates `v128` |
368
- | `mtWasmUrl` | string | package `akarisub-mt.wasm` | Optional pthread SIMD WASM URL. Requires COOP/COEP (`crossOriginIsolated`) |
369
- | `canvasColorSpace` | `'srgb'` \| `'display-p3'` \| `'rec2020'` \| `'auto'` | `'auto'` | Overlay canvas color space. `auto` follows the video primaries |
370
- | `hdr` | boolean \| `'auto'` | `'auto'` | Request an HDR canvas when the video transfer is PQ or HLG |
371
- | `subUrl` | string | - | URL of the subtitle file to play |
372
- | `subContent` | string \| Uint8Array \| ArrayBuffer | - | Content of the subtitle file to play |
373
- | `fonts` | (string \| Uint8Array)[] | - | Font URLs or bytes to force-load in full |
374
- | `availableFonts` | Record<string, FontFamilySource> | liberation sans from package assets | Family name (lowercase) → URL, bytes, or unicode-range / script slices. Slices load lazily from the current track |
375
- | `lazyFonts` | boolean | `true` | When `availableFonts` entries declare slices, fetch only the ones the current scripts need |
376
- | `fallbackFonts` | string[] | `['liberation sans']` | Fallback font families in order, used for the fontconfig cascade |
377
- | `useLocalFonts` | boolean | `true` | Use Local Font Access API if available |
378
- | `maxSubtitleBytes` | number | `33554432` | Largest subtitle accepted from any source, in bytes. Raising it increases worker/WASM memory use
379
- | `libassMemoryLimit` | number | `128` | libass bitmap cache memory limit in MiB |
380
- | `libassGlyphLimit` | number | `2048` | libass glyph cache limit |
381
- | `fullTrackWarmup` | boolean | `false` | Pre-render early track windows after load to warm libass caches |
382
- | `onCanvasFallback` | function | - | Callback when no GPU renderer is available (Canvas2D fallback) |
383
- | `onCueEnter` | `(cue) => void` | - | Dialogue event became active at the sampled media time |
384
- | `onCueExit` | `(cue) => void` | - | Dialogue event is no longer active |
385
- | `onRender` | `(event) => void` | - | Demand-frame render finished |
386
- | `onRendererChange` | `(event) => void` | - | Compositor backend changed or recovered; GPU recovery includes `event.reason` |
387
- | `onPerformanceWarning` | `(warning) => void` | - | Slow frame, dropped frames, a full demand queue, or GPU recovery |
342
+ | Option | Type | Default | Description |
343
+ | ---------------------- | ----------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
344
+ | `video` | HTMLVideoElement | - | Video to use as target for rendering and event listeners. WebCodecs players pass `canvas` and call `presentVideoFrame` instead |
345
+ | `canvas` | HTMLCanvasElement | - | Canvas to use for manual handling (optional if video is provided) |
346
+ | `blendMode` | `'js'` \| `'wasm'` | `'wasm'` | Image blending mode. WASM is better for low-end devices, JS for hardware acceleration |
347
+ | `asyncRender` | boolean | auto | Render via ImageBitmap. Defaults to `true` on Canvas2D paths and `false` when a GPU renderer is active (raw buffers upload with fewer copies) or on WebKit |
348
+ | `offscreenRender` | boolean | automatic | Render fully on the worker; enabled for video-managed canvases and disabled for custom canvases |
349
+ | `rawAssImageGpu` | boolean | `false` | Compose raw libass masks with worker WebGL2 when offscreen rendering is active |
350
+ | `rawAssImageAtlas` | boolean | `true` | With `rawAssImageGpu`, upload each frame as one libass texture atlas and draw it with one call; `false` uploads every mask separately |
351
+ | `rawAssImageWebGPU` | boolean | `false` | With `rawAssImageGpu`, compose the raw masks with worker WebGPU instead of WebGL2; falls back to WebGL2 when the worker has no WebGPU adapter |
352
+ | `onDemandRender` | boolean | `true` | Render subtitles as the video player or `presentVideoFrame` presents frames |
353
+ | `adaptiveTiming` | boolean | `true` | Compensate measured queue, worker, bitmap, IPC, and paint latency while video is playing; pause and seek renders remain frame-exact |
354
+ | `frameTimeline` | FrameTimeline | - | Encoded browser-frame timestamps plus optional media/subtitle clock offsets; enables frame-locked libass sampling |
355
+ | `framePrefetch` | number | `2` | Number of exact subtitle-frame bitmaps to prepare ahead (`0` disables preparation, maximum `24`) |
356
+ | `targetFps` | number | `24` | Target FPS when not using onDemandRender |
357
+ | `timeOffset` | number | `0` | Subtitle time offset in seconds |
358
+ | `debug` | boolean | `false` | Enable debug logging |
359
+ | `prescaleFactor` | number | `1.0` | Scale factor for subtitles canvas |
360
+ | `prescaleHeightLimit` | number | `1080` | Height limit for prescaling in pixels |
361
+ | `maxRenderHeight` | number | `0` | Maximum render height (0 = no limit) |
362
+ | `dropAllAnimations` | boolean | `false` | Discard all animated tags for performance |
363
+ | `dropAllBlur` | boolean | `false` | Drop all blur effects (~10x performance gain) |
364
+ | `clampPos` | boolean | `false` | Clamp `\pos` values to script resolution |
365
+ | `renderAhead` | number | `0` | Optional extra seconds to render ahead, in addition to adaptive timing; also applies when `onDemandRender` is disabled |
366
+ | `workerUrl` | string | package worker URL | Optional worker script URL. Defaults to the package worker module URL |
367
+ | `wasmUrl` | string | package WASM URL | Optional WASM binary URL. Defaults to the URL resolved from `import.meta.url` |
368
+ | `glueUrl` | string | package glue URL | Optional WASM glue script URL. Defaults to the URL resolved from `import.meta.url` |
369
+ | `modernWasmUrl` | string | - | Optional SIMD WASM URL used when the engine validates `v128` |
370
+ | `mtWasmUrl` | string | package `akarisub-mt.wasm` | Optional pthread SIMD WASM URL. Requires COOP/COEP (`crossOriginIsolated`) |
371
+ | `canvasColorSpace` | `'srgb'` \| `'display-p3'` \| `'rec2020'` \| `'auto'` | `'auto'` | Overlay canvas color space. `auto` follows the video primaries |
372
+ | `hdr` | boolean \| `'auto'` | `'auto'` | Request an HDR canvas when the video transfer is PQ or HLG |
373
+ | `subUrl` | string | - | URL of the subtitle file to play |
374
+ | `subContent` | string \| Uint8Array \| ArrayBuffer | - | Content of the subtitle file to play |
375
+ | `fonts` | (string \| Uint8Array)[] | - | Font URLs or bytes to force-load in full |
376
+ | `availableFonts` | Record<string, FontFamilySource> | liberation sans from package assets | Family name (lowercase) → URL, bytes, or unicode-range / script slices. Slices load lazily from the current track |
377
+ | `lazyFonts` | boolean | `true` | When `availableFonts` entries declare slices, fetch only the ones the current scripts need |
378
+ | `fallbackFonts` | string[] | `['liberation sans']` | Fallback font families in order, used for the fontconfig cascade |
379
+ | `useLocalFonts` | boolean | `true` | Use Local Font Access API if available |
380
+ | `maxSubtitleBytes` | number | `33554432` | Largest subtitle accepted from any source, in bytes. Raising it increases worker/WASM memory use |
381
+ | `libassMemoryLimit` | number | `128` | libass bitmap cache memory limit in MiB |
382
+ | `libassGlyphLimit` | number | `2048` | libass glyph cache limit |
383
+ | `fullTrackWarmup` | boolean | `false` | Pre-render early track windows after load to warm libass caches |
384
+ | `onCanvasFallback` | function | - | Callback when no GPU renderer is available (Canvas2D fallback) |
385
+ | `onCueEnter` | `(cue) => void` | - | Dialogue event became active at the sampled media time |
386
+ | `onCueExit` | `(cue) => void` | - | Dialogue event is no longer active |
387
+ | `onRender` | `(event) => void` | - | Demand-frame render finished |
388
+ | `onRendererChange` | `(event) => void` | - | Compositor backend changed or recovered; GPU recovery includes `event.reason` |
389
+ | `onPerformanceWarning` | `(warning) => void` | - | Slow frame, dropped frames, a full demand queue, or GPU recovery |
388
390
 
389
391
  ## Methods
390
392
 
391
393
  ### Track Management
392
394
 
393
- | Method | Parameters | Description |
394
- | ----------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------- |
395
- | `setTrackByUrl(url)` | `url: string` | Load subtitle from URL |
396
- | `setTrack(content)` | `content: string \| Uint8Array \| ArrayBuffer` | Set subtitle from content |
397
- | `freeTrack()` | - | Remove current subtitles |
398
- | `initStreamingTrack(options?)` | `StreamingTrackOptions \| string \| bytes` | Create a header-only track that can accept later fragments |
399
- | `appendSubtitleData(content)` | `content: string \| Uint8Array \| ArrayBuffer` | Parse ASS text (Dialogue lines, extra styles) into the current track |
400
- | `appendSubtitleChunk(data, start, duration)` | `data`, `start: number`, `duration: number` | Append one Matroska packet; `start`/`duration` are seconds |
401
- | `appendEvents(events)` | `events: Partial<ASSEvent>[]` | Append several Dialogue events in one message |
402
- | `pruneEvents(before)` | `before: number` | Drop events that ended before `before` seconds |
403
- | `flushEvents()` | - | Drop every event and keep styles / script info |
404
- | `configurePrune(delay)` | `delay: number` | Auto-drop events that ended more than `delay` seconds before the last render |
405
- | `preloadTrack(source)` | `PreloadTrackSource \| string \| bytes` | Parse a track and load its fonts without replacing the visible one |
406
- | `activatePreloadedTrack(id?)` | `id?: number` | Atomically swap to a preloaded track and await its matching readiness cycle |
395
+ | Method | Parameters | Description |
396
+ | -------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------- |
397
+ | `setTrackByUrl(url)` | `url: string` | Load subtitle from URL |
398
+ | `setTrack(content)` | `content: string \| Uint8Array \| ArrayBuffer` | Set subtitle from content |
399
+ | `freeTrack()` | - | Remove current subtitles |
400
+ | `initStreamingTrack(options?)` | `StreamingTrackOptions \| string \| bytes` | Create a header-only track that can accept later fragments |
401
+ | `appendSubtitleData(content)` | `content: string \| Uint8Array \| ArrayBuffer` | Parse ASS text (Dialogue lines, extra styles) into the current track |
402
+ | `appendSubtitleChunk(data, start, duration)` | `data`, `start: number`, `duration: number` | Append one Matroska packet; `start`/`duration` are seconds |
403
+ | `appendEvents(events)` | `events: Partial<ASSEvent>[]` | Append several Dialogue events in one message |
404
+ | `pruneEvents(before)` | `before: number` | Drop events that ended before `before` seconds |
405
+ | `flushEvents()` | - | Drop every event and keep styles / script info |
406
+ | `configurePrune(delay)` | `delay: number` | Auto-drop events that ended more than `delay` seconds before the last render |
407
+ | `preloadTrack(source)` | `PreloadTrackSource \| string \| bytes` | Parse a track and load its fonts without replacing the visible one |
408
+ | `activatePreloadedTrack(id?)` | `id?: number` | Atomically swap to a preloaded track and await its matching readiness cycle |
407
409
 
408
410
  ### Playback Control
409
411
 
410
- | Method | Parameters | Description |
411
- | ------------------------------------------------ | ----------------------------------------------------------- | --------------------------------------------- |
412
- | `setIsPaused(isPaused)` | `isPaused: boolean` | Set playback pause state |
413
- | `setRate(rate)` | `rate: number` | Set playback rate (speed multiplier) |
414
- | `setCurrentTime(isPaused?, currentTime?, rate?)` | `isPaused?: boolean, currentTime?: number, rate?: number` | Set current time, playback state and rate |
415
- | `setFrameTimeline(frameTimes)` | `ArrayLike<number> \| null` | Replace or disable the encoded-frame timeline |
416
- | `presentVideoFrame(frame, options?)` | `frame: VideoFrame, options?: PresentVideoFrameOptions` | Present a WebCodecs frame as the video clock |
412
+ | Method | Parameters | Description |
413
+ | ------------------------------------------------ | ----------------------------------------------------------------------- | -------------------------------------------------------------- |
414
+ | `setIsPaused(isPaused)` | `isPaused: boolean` | Set playback pause state |
415
+ | `setRate(rate)` | `rate: number` | Set playback rate (speed multiplier) |
416
+ | `setCurrentTime(isPaused?, currentTime?, rate?)` | `isPaused?: boolean, currentTime?: number, rate?: number` | Set current time, playback state and rate |
417
+ | `setFrameTimeline(frameTimes)` | `ArrayLike<number> \| null` | Replace or disable the encoded-frame timeline |
418
+ | `presentVideoFrame(frame, options?)` | `frame: VideoFrame, options?: PresentVideoFrameOptions` | Present a WebCodecs frame as the video clock |
417
419
  | `setVideoColorSpace(colorSpace)` | `BT709` \| `BT601` \| `BT2020` \| matrix name \| `colorSpace` \| `null` | Set the video YCbCr matrix and optional HDR primaries/transfer |
418
420
 
419
421
  ### Video & Canvas
@@ -494,19 +496,19 @@ renderer.addEventListener('rendererChange', (event) => {
494
496
 
495
497
  ## Properties
496
498
 
497
- | Property | Type | Description |
498
- | --------------------- | ---------------------------------------- | ------------------------------------------------------------- |
499
- | `debug` | boolean | Enable/disable debug logging |
500
- | `prescaleFactor` | number | Scale factor for subtitles |
501
- | `prescaleHeightLimit` | number | Height limit for prescaling |
502
- | `maxRenderHeight` | number | Maximum render height |
499
+ | Property | Type | Description |
500
+ | --------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
501
+ | `debug` | boolean | Enable/disable debug logging |
502
+ | `prescaleFactor` | number | Scale factor for subtitles |
503
+ | `prescaleHeightLimit` | number | Height limit for prescaling |
504
+ | `maxRenderHeight` | number | Maximum render height |
503
505
  | `timeOffset` | number | Subtitle time offset in seconds; assigning it at runtime discards prepared frames and re-renders at the new offset |
504
- | `renderAhead` | number | Optional extra seconds to render ahead of the video clock |
505
- | `framePrefetch` | number | Number of exact subtitle frames prepared ahead |
506
- | `busy` | boolean | Whether the renderer is currently busy |
507
- | `rendererType` | `'webgpu'` \| `'webgl2'` \| `'canvas2d'` | Active renderer backend (read-only) |
508
- | `isUsingGPURenderer` | boolean | Whether a hardware-accelerated renderer is active (read-only) |
509
- | `isUsingWebGPU` | boolean | _Deprecated_ - use `rendererType === 'webgpu'` |
506
+ | `renderAhead` | number | Optional extra seconds to render ahead of the video clock |
507
+ | `framePrefetch` | number | Number of exact subtitle frames prepared ahead |
508
+ | `busy` | boolean | Whether the renderer is currently busy |
509
+ | `rendererType` | `'webgpu'` \| `'webgl2'` \| `'canvas2d'` | Active renderer backend (read-only) |
510
+ | `isUsingGPURenderer` | boolean | Whether a hardware-accelerated renderer is active (read-only) |
511
+ | `isUsingWebGPU` | boolean | _Deprecated_ - use `rendererType === 'webgpu'` |
510
512
 
511
513
  ## Type Definitions
512
514
 
package/dist/COPYRIGHT CHANGED
@@ -10,13 +10,13 @@ Regenerate it with `bun run license:third-party` after dependency, submodule, fo
10
10
 
11
11
  | Component | Version/source | License | Use |
12
12
  | --- | --- | --- | --- |
13
- | Brotli | 028fb5a (lib/brotli) | MIT | Compiled into the WebAssembly worker for Brotli-compressed font data. |
14
- | Expat | R_2_9_0 (lib/expat) | MIT | Compiled into the WebAssembly worker as an XML parser dependency. |
13
+ | Brotli | db24a98 (lib/brotli) | MIT | Compiled into the WebAssembly worker for Brotli-compressed font data. |
14
+ | Expat | a76b117 (lib/expat) | MIT | Compiled into the WebAssembly worker as an XML parser dependency. |
15
15
  | FreeType | f4205da (lib/freetype) | FreeType License | Compiled into the WebAssembly worker for font loading and rasterization. |
16
- | FriBidi | 24f15ee (lib/fribidi) | LGPL-2.1-or-later | Compiled into the WebAssembly worker for bidirectional text support. |
16
+ | FriBidi | d2f3e1f (lib/fribidi) | LGPL-2.1-or-later | Compiled into the WebAssembly worker for bidirectional text support. |
17
17
  | fontconfig | 0f23672 (lib/fontconfig) | HPND-style license with additional notices | Compiled into the WebAssembly worker for font fallback and matching. |
18
18
  | HarfBuzz | eb03331 (lib/harfbuzz) | Old MIT | Compiled into the WebAssembly worker for text shaping. |
19
- | libass | 3fef2c1 (lib/libass) | ISC | Compiled into the WebAssembly worker for ASS/SSA subtitle rendering. |
19
+ | libass | 8ecd660 (lib/libass) | ISC | Compiled into the WebAssembly worker for ASS/SSA subtitle rendering. |
20
20
  | Liberation Sans | assets/default.woff2 (assets/default.woff2) | OFL-1.1 | Bundled fallback font asset used by default renderer options. |
21
21
  | Emscripten runtime | 6.0.6 (pkg/akarisub.js) | MIT OR NCSA | Generated JavaScript runtime wrapper used by the WebAssembly worker. |
22
22
 
@@ -24,7 +24,7 @@ Regenerate it with `bun run license:third-party` after dependency, submodule, fo
24
24
 
25
25
  | Package | Version | License | Source |
26
26
  | --- | --- | --- | --- |
27
- | `@types/bun` | 1.4.2 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped.git |
27
+ | `@types/bun` | 1.4.4 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped.git |
28
28
  | `@types/emscripten` | 1.41.6 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped.git |
29
29
  | `@types/node` | 25.0.9 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped.git |
30
30
  | `@typescript/typescript-aix-ppc64` | 7.0.2 | Apache-2.0 | https://github.com/microsoft/TypeScript.git |
@@ -48,8 +48,8 @@ Regenerate it with `bun run license:third-party` after dependency, submodule, fo
48
48
  | `@typescript/typescript-win32-arm64` | 7.0.2 | Apache-2.0 | https://github.com/microsoft/TypeScript.git |
49
49
  | `@typescript/typescript-win32-x64` | 7.0.2 | Apache-2.0 | https://github.com/microsoft/TypeScript.git |
50
50
  | `@webgpu/types` | 0.1.74 | BSD-3-Clause | git+https://github.com/gpuweb/types.git |
51
- | `bun-types` | 1.4.2 | MIT | https://github.com/oven-sh/bun |
52
- | `prettier` | 3.9.9 | MIT | prettier/prettier |
51
+ | `bun-types` | 1.4.4 | MIT | https://github.com/oven-sh/bun |
52
+ | `prettier` | 3.9.10 | MIT | prettier/prettier |
53
53
  | `typescript` | 7.0.2 | Apache-2.0 | https://github.com/microsoft/TypeScript.git |
54
54
  | `undici-types` | 7.16.0 | MIT | git+https://github.com/nodejs/undici.git |
55
55
 
package/dist/SHA256SUMS CHANGED
@@ -1,12 +1,12 @@
1
- c123e009e4b481b06e7ca995645cb63e1628d70bd9ac7ffcaf64a09fc7a982d5 dist/COPYRIGHT
1
+ 5624060cb8dec3eaf83576e87a8b7f82af604afb818effe65e116ce9ef2547d0 dist/COPYRIGHT
2
2
  875e830e8d3ffc9dd4ac04e35bbff1679e8c2cca04b9e253a52c13cdd427e002 dist/index.d.ts
3
3
  fa747f7391ea35d6b59c07de76361eb681eef308bb7e0b551172a28af0477b44 dist/index.d.ts.map
4
4
  f0871506c51e81b20a9e897475035e77b320c647dc2bcf188868a79cacfb5796 dist/index.js
5
5
  67016996be9755a0ef87973ead977d8273ea81787ccfae84c49fc640ebe32587 dist/index.js.map
6
- 0923a0094808cdbee10540c9d3216f6a259d11e73b76e4a19529327bad58f539 dist/ts/akarisub.d.ts
7
- e898f480502cf2ae37c3a171e0bd1e8e082e8df3e84ae26494342bf9ea1469c1 dist/ts/akarisub.d.ts.map
8
- 7f6c7db8b97cbf1dd6630382c2320aa74be3bff9a21e40387e02643745163d03 dist/ts/akarisub.js
9
- f7e0b58377fa2afa38e43959245b70ef2bae99f3974a94b688a814f1822e5746 dist/ts/akarisub.js.map
6
+ 830c91b06bcc300fe48868f12dd001c6cd320287b49f869c8d6a2a664c216ae7 dist/ts/akarisub.d.ts
7
+ ffcc1e172ae3907bd053640b086d710f92ced1f74f2f3be651f98a548bc5daee dist/ts/akarisub.d.ts.map
8
+ 16785d8271ff7ca0e459fd9ecfeed1fbadea9b57ce7408dba2eebf2bdbbdbeb3 dist/ts/akarisub.js
9
+ ea7fa60d2ee4ca9acff66649dabf8f03d2d1085eb60e0d07272d7eb5070525e7 dist/ts/akarisub.js.map
10
10
  2e3ec3f18d67bd58a48e96df1045319f6a9ba6c9eccdf1b5875e695a15c6eae6 dist/ts/asset-loader.d.ts
11
11
  f0ed2554e5776285d3af64375e59d0b9825d6c1cf9ad126d36a1d5e6aca1dfb5 dist/ts/asset-loader.d.ts.map
12
12
  415a79d77f55489e5a2fa72e88afee2d0a61a5afd6052617b0db2fb18b005a1b dist/ts/asset-loader.js
@@ -23,6 +23,10 @@ f9c04172077ddd7ce5159815878f7c20256744c53afd22199f7bffbc977b8788 dist/ts/cue-ev
23
23
  0410ba647170e1da8ce742075860de8dd839f7369e6ae5cd6adfabb45272343f dist/ts/cue-events.d.ts.map
24
24
  20aae4b28222605b6bdae476ecf5feb910a8edf779a55e2a3ed01f233c97c0e8 dist/ts/cue-events.js
25
25
  1827bfba70231ce14a8c6f1e4e3cdc45573d66b9c1acea2416e5ad59dfd55645 dist/ts/cue-events.js.map
26
+ cbbc4aeaf2f89b1a3aeb5c4606706a6a9cc68baf80e39a1490e6e97d4cf66647 dist/ts/encrypted-payload.d.ts
27
+ d727370e6929511b46240579cfd607e8e51fe85da52f878cd9ae4e4d424e2faf dist/ts/encrypted-payload.d.ts.map
28
+ 5000e8b50894b3417f70d07ac1f1093112c8c35c5f7c79f3571b58bf3cf093de dist/ts/encrypted-payload.js
29
+ cc98eaa114056ef3db51d6b967311b81c08d90f1d9d07bb14b16374ff411dbfe dist/ts/encrypted-payload.js.map
26
30
  96de10dcc3b39f1892343d4381efa6cfbb0f2731814876c786698cb3b72c15a0 dist/ts/font-reload.d.ts
27
31
  375b8c5b95fd8fb9fd4109d6de5728c10d117d230c988840c9206dcdca8e02fe dist/ts/font-reload.d.ts.map
28
32
  ae523b7c8321011eff40e545eddc952b5de3f4283578f5d4f69a442e1296b113 dist/ts/font-reload.js
@@ -39,18 +43,26 @@ ae523b7c8321011eff40e545eddc952b5de3f4283578f5d4f69a442e1296b113 dist/ts/font-r
39
43
  610f15df8f9d43d826a2c9576a808f1e1ab2b1bbd897a127bc401537f4e7c9c7 dist/ts/gpu-recovery.d.ts.map
40
44
  e63217eaf44b7d85809e57df99c0e067c831a8c98503df2ae1c93a37c0d1ee4b dist/ts/gpu-recovery.js
41
45
  642160676977e7087c7d6867143db7c8492fad0b3a34dfdce5e9fa6e17ba5ae0 dist/ts/gpu-recovery.js.map
42
- 028420fc464397a719156eb8acceee23e5b435632ee188eb7dc371c39b5422f4 dist/ts/prepared-presentation.d.ts
43
- b840b4191d937097ba3cfd07fb43b4c3f4e3856fc9a40fdc2273204a918b539c dist/ts/prepared-presentation.d.ts.map
44
- 632c199012591176e4793f208173c4deb408ab9235791aeedb53c58ef8a9f5f6 dist/ts/prepared-presentation.js
45
- a5405c79e0fecb7687c189876ef79584f9f6e18f672f5782af46c513a6690e00 dist/ts/prepared-presentation.js.map
46
+ ba0ebbfb845fac95d7b8fd34b5b81f57ebe677fa81c453949dc42fd0b4eb2435 dist/ts/prepared-presentation.d.ts
47
+ f30aebac83eda301111a2cd21119b0abe4be88aeecf200396a94e4c796c01f0e dist/ts/prepared-presentation.d.ts.map
48
+ 8b72eb17aeb6d934efede21b9d0ddd9fba450d913da4ace3c4e2d5fc87a5bb58 dist/ts/prepared-presentation.js
49
+ 53e3158f34f6b4e019c6870e7907bc5f1d7f2a416865feb686e4e83c6b6451b2 dist/ts/prepared-presentation.js.map
50
+ 76dddb259a343055925a888435767c8ab99da3c571d05055b91e04fbe1274c25 dist/ts/raw-ass-atlas.d.ts
51
+ 629523c52cd60cc50737fe0b41ac2ee3a9373056f119cf75012a6e218788717b dist/ts/raw-ass-atlas.d.ts.map
52
+ 846e9405d7f2e23478121c69e8b188154f177bf63c7676c2fcbf3348fd1d95c9 dist/ts/raw-ass-atlas.js
53
+ 677a96708c6d74cfd9cd1fa3701a04fb2aa1cda6295e1439931b4d808ef0526a dist/ts/raw-ass-atlas.js.map
54
+ 6b266683536d6dd845a1461f16aed1fc6d19072aa83de8826c0784461bb982bc dist/ts/raw-ass-webgpu.d.ts
55
+ e74c82fe2ebf565906bd1ffc2943cba5ed091581210fae573443414f6371ae75 dist/ts/raw-ass-webgpu.d.ts.map
56
+ 3de2c9e08fc7328dbcd62b3f8555bd02b862b4cbce3de07b7e5b68f24810bf09 dist/ts/raw-ass-webgpu.js
57
+ 0bdceb4e40db055a5462fe75f749ea9ef88e601aa6dd513de5104740725f50da dist/ts/raw-ass-webgpu.js.map
46
58
  f438521761285e122f980bf303340c896ae8900653592aca8a50490cef248c0d dist/ts/streaming.d.ts
47
59
  c9f15e4d436110dc5fd759a89c99c1062b531fa2c12397f71b2f279db9193a74 dist/ts/streaming.d.ts.map
48
60
  d1a3884fa5d724e7f2008a4bb8d72f4b93aa50e65c3aa747b3db35d01e43187c dist/ts/streaming.js
49
61
  3dc142c892b4474f04086957bea6b34c6bef4738f3ecd7a7425f853e8db774bf dist/ts/streaming.js.map
50
- ec7a617cc45977d2072cd980f489b324e7b3b7f814d22ab39bd2ae0f1861895c dist/ts/subtitle-budget.d.ts
51
- c356dbe7acd1cbac7bd1ff289ba8d3680cf3f2dc0c0f0d00212471ca9637364b dist/ts/subtitle-budget.d.ts.map
52
- 50cf42b3795c4f02339dfa4514fe52cc06168d85b34acb5dce0e33b270a6f705 dist/ts/subtitle-budget.js
53
- e79211ccd5e7bf52284c159700b69cb1abe35e379a36288f4f9e220b350f08ac dist/ts/subtitle-budget.js.map
62
+ 97841b0e571ec401d18480cdae5ee8f2c24618e59b1ecc441681e6f6f2daebc1 dist/ts/subtitle-budget.d.ts
63
+ b9c8de9266ff1ad5b10da955a5efc148f7957f8803319083a80652dae2491391 dist/ts/subtitle-budget.d.ts.map
64
+ e861eb287f7c7d1b62518bcb8fcc9e3436505b43da96b8ceaa04d0e193bc3060 dist/ts/subtitle-budget.js
65
+ f2e4f786a42f2c5852012846de1363abf9bad3d21863285e913d7657cb70582d dist/ts/subtitle-budget.js.map
54
66
  5be6a5f6e545d4779d5c69f57f01c749f5a70f682f4df154a745cf901b23822f dist/ts/timing.d.ts
55
67
  9dde42fc0ef84e31651bbcf8dfa8e030a448f667969796a706a93b6eafe91f67 dist/ts/timing.d.ts.map
56
68
  9d7e3f9299315bc05519cae424f46405896b4a2418f347067b7dd768189d129f dist/ts/timing.js
@@ -59,8 +71,8 @@ f9a58c4bec2b483a5d86520227bff9d00a0ea255694d82b768f2010c1b09e42e dist/ts/track-
59
71
  54f3c89a8bf08ba2fbdce4ef7e10ed21fd9c40e939760100b3d52c3403e56116 dist/ts/track-lifecycle.d.ts.map
60
72
  ff1b29b6eb330955d7f49e43184814b7b2b648b99fc8b30f6666e813428c7489 dist/ts/track-lifecycle.js
61
73
  50bccd0ab3fa035fe1e5925b7bfb6d8063f010a25c3831d793a9ba8bdc9f25fc dist/ts/track-lifecycle.js.map
62
- e7b1315ca0351ab30e225bdc20783f78521844ca3f31ff3a098be3c7bde8bcd5 dist/ts/types.d.ts
63
- 95ca59a555df674340f014af2f5b659c1ccae9cb64b589b22c4d37a614885b07 dist/ts/types.d.ts.map
74
+ ae24c14d544b1a687bac356adcbe4d5a68e7cbe3659d388556af4a623d35e835 dist/ts/types.d.ts
75
+ 54ba63426d1b2f923c251570ace679cd3819302da25271079504914aaf320b54 dist/ts/types.d.ts.map
64
76
  01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2 dist/ts/types.js
65
77
  dcf4d5b79e4b7e0be9a882c40457fde920685f8bbe01bf6f565ef0d97ef33564 dist/ts/types.js.map
66
78
  6f613569c4b1a778519fe1b34b0ec2087d5e430c5166c6fc243f0e533a21353f dist/ts/unicode-scripts.d.ts
@@ -93,13 +105,13 @@ cb6de44628c62b49105160468270f74f97da3a0636e3ede63174da2555dec05c dist/ts/webgpu
93
105
  7bba440c325155741e844e48626c3ace8f8144cd3691ee2f34a01b62408ae3ba dist/ts/webgpu-renderer.js.map
94
106
  14e7397ad7aab084b1c5b23b9f101c079611e43e872d5b4250f2be5499a6a273 dist/ts/worker.d.ts
95
107
  1fc2a3d6079a60bb0114cdcaea636e3dcca0b9aefad8c8260fe74bad79329dc3 dist/ts/worker.d.ts.map
96
- 6a0d0ca0c956b26aee7b1d2ae5b24b043b1836fd30f9cff211c6c0f195dffe1d dist/ts/worker.js
97
- 34e8e9bc8892dafd5bd70dc9e85d6203011bd9da45f49ac4c36a040c8bfcbfe6 dist/ts/worker.js.map
108
+ aaca4553e2226851126752e6ae467dc3099f02b6cc92df716717375aa8befff6 dist/ts/worker.js
109
+ 5a3810c470be9c9768241c2eb7a6354ab3cfba500eadfd0a4b8d5ead42041731 dist/ts/worker.js.map
98
110
  c33f5b7b3948884b2571c66fbc9eead2542944becb3aaf028414be69c18a8905 dist/wrapper.d.ts
99
111
  32addba2866bac68b19d9176471f48f53f835a0c2267e79708cc137a46e3e542 dist/wrapper.d.ts.map
100
112
  92c414eb37e60cf9eb51e9a5ad34a2d52127801f62b91319452f0f27bdfe6ab3 dist/wrapper.js
101
113
  969db85f288bec05a65200d3d9cec06a8e12fec82913b06ea7462360a687c489 dist/wrapper.js.map
102
- 3a520ec41601947a363e8562ebbca234e380b418085ee555acf4428dbb50b834 pkg/akarisub-mt.js
103
- b46f318fb30425bf450e1f588eb3ac38568b452ffdd15c027aa6cb5e6731dbdd pkg/akarisub-mt.wasm
104
- ffc230dad4ce5aca5920f6ea27ff895ff9116c31becc691b8179394b8ddccdca pkg/akarisub.js
105
- 5fa47e6a58cb2f769ce72116ae613c527bfe104ed0b3dcae23446cbdd0041601 pkg/akarisub.wasm
114
+ 62dc90dd3077dc46a2b1adeedeb849cf3f62e0c73d05191694419a33e45e7461 pkg/akarisub-mt.js
115
+ bc659760f67a97ee24dfd258b450e814170fd33d9a0a5671c5ce30dd95ffbdb4 pkg/akarisub-mt.wasm
116
+ c1b8b9e8e760b6f82bfffc09fe1cf7cd1993b97c7dd0bb7f4e5b8b7d9f0ff6a9 pkg/akarisub.js
117
+ 8b30189c2087d27c063c419e5bb012535b6b9637222dde091aa14e663241d5a5 pkg/akarisub.wasm
@@ -413,6 +413,13 @@ export default class AkariSub extends EventTarget {
413
413
  private _demandRender;
414
414
  /** @internal */
415
415
  private _detachOffscreen;
416
+ /**
417
+ * @internal Worker WebGPU gave up on its device. The transferred canvas can
418
+ * hold no other context, so an owned overlay canvas is replaced and the
419
+ * worker binds the new one to WebGL2 (or 2D); a caller-owned canvas cannot
420
+ * be replaced and stays blank.
421
+ */
422
+ private _rawAssGpuFailed;
416
423
  /** @internal */
417
424
  private _reAttachOffscreen;
418
425
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"akarisub.d.ts","sourceRoot":"","sources":["../../src/ts/akarisub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"akarisub.d.ts","sourceRoot":"","sources":["../../src/ts/akarisub.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,QAAQ,EAER,gBAAgB,EAEhB,cAAc,EACd,kBAAkB,EAKlB,YAAY,EAEZ,qBAAqB,EAGrB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACf,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AA4HvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAI;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAEzD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAuB;IAClD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAuB;IAEnD,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,uBAAuB,CAAoC;IACnE,OAAO,CAAC,yBAAyB,CAA4C;IAC7E,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,MAAM,CAAC,CAAkB;IACjC,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,kBAAkB,CAAgD;IAC1E,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,yBAAyB,CAA2B;IAC5D,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,WAAW,CAAmD;IACtE,OAAO,CAAC,IAAI,CAAgD;IAC5D,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,sBAAsB,CAAkC;IAChE,OAAO,CAAC,GAAG,CAAC,CAAgB;IAC5B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAmF;IACzG,OAAO,CAAC,kBAAkB,CAAC,CAAsB;IACjD,OAAO,KAAK,aAAa,GAYxB;IACD,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,oBAAoB,CAAe;IAC3C,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,OAAO,CAAC,mBAAmB,CAAC,CAAQ;IACpC,OAAO,CAAC,sBAAsB,CAAC,CAAQ;IACvC,OAAO,CAAC,wBAAwB,CAAC,CAAQ;IACzC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAAQ;IACpC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,0BAA0B,CAAY;IAC9C,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,mBAAmB,CAAY;IACvC,OAAO,CAAC,qBAAqB,CAAY;IACzC,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,gBAAgB,CAA6D;IAErF,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,KAAK,YAAY,GAmCvB;IACD,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAAY;IACtC,OAAO,CAAC,WAAW,CAAC,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,SAAS,CAAC,CAA8B;IAChD,OAAO,CAAC,iBAAiB,CAAC,CAAsC;IAChE,OAAO,CAAC,qBAAqB,CAAC,CAAuC;IACrE,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,sBAAsB,CAAe;IAC7C,OAAO,CAAC,sBAAsB,CAAI;IAElC,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,gBAAgB,CAA0D;IAElF,OAAO,CAAC,WAAW,CAAS;IAC5B,6DAA6D;IACtD,KAAK,EAAE,OAAO,CAAA;IACrB,uEAAuE;IAChE,cAAc,EAAE,MAAM,CAAA;IAC7B,kEAAkE;IAC3D,mBAAmB,EAAE,MAAM,CAAA;IAClC,sDAAsD;IAC/C,eAAe,EAAE,MAAM,CAAA;IAC9B,yDAAyD;IAClD,IAAI,EAAE,OAAO,CAAQ;IAC5B,qEAAqE;IAC9D,WAAW,EAAE,MAAM,CAAA;IAC1B,8DAA8D;IACvD,aAAa,EAAE,MAAM,CAAA;IAE5B;;;;OAIG;IACH,YAAY,OAAO,EAAE,eAAe,EAgPnC;IAED,gBAAgB;mBACK,cAAc;IAuDnC,gBAAgB;mBACK,KAAK;IAI1B,gBAAgB;IAChB,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAuBpC,gBAAgB;YACF,gBAAgB;IAqE9B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAkBxB,gBAAgB;YACF,cAAc;IAmB5B,sDAAsD;IACtD,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,gDAAgD;IAChD,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,yDAAyD;IACzD,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAWxB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAYvB,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAsB7B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAiD1B,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAoB/B,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAI3B,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAO/B,gBAAgB;IAChB,OAAO,CAAC,oBAAoB;IAM5B,gBAAgB;IAChB,OAAO,CAAC,8BAA8B;IAUtC,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAuB7B,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAO7B,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAsB/B,gBAAgB;YACF,wBAAwB;IAoCtC,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAMrB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAQzB,gBAAgB;IAChB,OAAO,CAAC,yBAAyB;IAiBjC,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAsBhC,gBAAgB;IAChB,OAAO,CAAC,0BAA0B;IA0ClC,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAShC,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAUrB;;;;;OAKG;IACH,MAAM,CACJ,KAAK,GAAE,MAAU,EACjB,MAAM,GAAE,MAAU,EAClB,GAAG,GAAE,MAAU,EACf,IAAI,GAAE,MAAU,EAChB,KAAK,GAAE,OAAsC,GAC5C,IAAI,CAkFN;IAED,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAInB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CA4CtC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,GAAE,wBAA6B,GAAG,IAAI,CA0BrF;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAUtG;IAED,kDAAkD;IAClD,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAM/B;IAED,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAOzD;IAED;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAOzD;IAED,gEAAgE;IAChE,SAAS,IAAI,IAAI,CAGhB;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAc5F;IAED;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAQnE;IAED;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQrG;IAED,4DAA4D;IAC5D,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAI9C;IAED,wDAAwD;IACxD,WAAW,IAAI,IAAI,CAElB;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAElC;IAED;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CA6B1G;IAED;;;;OAIG;IACG,sBAAsB,CAAC,EAAE,GAAE,MAAqC,GAAG,OAAO,CAAC,cAAc,CAAC,CAsC/F;IAED,4FAA4F;IAC5F,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAenC;IAED,mFAAmF;IACnF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAS1B;IAED;;;;OAIG;IACH,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAmB5E;IAED,mDAAmD;IACnD,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAE1C;IAED,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEtD;IAED,mCAAmC;IACnC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/B;IAED,4DAA4D;IACtD,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGrC;IAED,6EAA6E;IAC7E,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAE5C;IAED,4EAA4E;IAC5E,oBAAoB,IAAI,IAAI,CAE3B;IAED,0CAA0C;IAC1C,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAE1C;IAED,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEtD;IAED,mCAAmC;IACnC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/B;IAED,4DAA4D;IACtD,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGrC;IAED,0EAA0E;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBtD;IAED,qEAAqE;IACrE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEjC;IAED,uDAAuD;IACjD,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAgC1C;IAED,iDAAiD;IAC3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;IAED;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAUvD;IAED,+GAA+G;IAC/G,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAS3B;IAED,4CAA4C;IACtC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAGrC;IAED,4CAA4C;IACtC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAGrC;IAED,yEAAyE;IACzE,OAAO,CAAC,kBAAkB;IAgB1B,gBAAgB;YACF,cAAc;IAqB5B,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAgBrB,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAYf,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAwBzB,gBAAgB;IAChB,OAAO,CAAC,yBAAyB;IA8BjC,gBAAgB;IAChB,OAAO,CAAC,mCAAmC;IAkB3C,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IA2B7B,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAY/B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAKxB,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAU/B,gBAAgB;IAChB,OAAO,CAAC,2BAA2B;IAMnC,qFAAqF;IACrF,OAAO,CAAC,mBAAmB;IAI3B,gBAAgB;IAChB,OAAO,CAAC,+BAA+B;IA8BvC,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IA8E3B,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAiDhC,gBAAgB;IAChB,OAAO,CAAC,oBAAoB;IAY5B,gBAAgB;IAChB,OAAO,CAAC,oBAAoB;IA8B5B,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAiChC,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAwFtB,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAqD7B,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAYvB,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAO7B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IASxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAIrB,gBAAgB;IAChB,OAAO,CAAC,oBAAoB;IAO5B,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAkBnB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAkCrB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAQ1B,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAM/B,gBAAgB;IAChB,OAAO,CAAC,2BAA2B;IAKnC,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IASzB,gBAAgB;IAChB,OAAO,CAAC,4BAA4B;IAoBpC,gBAAgB;IAChB,OAAO,CAAC,2BAA2B;IAInC,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAwCvB,gBAAgB;IAChB,OAAO,CAAC,oBAAoB;IAc5B,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAoBtB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAmDnB,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAkBhC,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAkErB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAaxB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAmB1B,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAU3B,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAU7B,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAazB,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAc/B,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAqBzB,gBAAgB;IAChB,OAAO,CAAC,OAAO;IA2If,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAyFlB,gBAAgB;IAChB,OAAO,CAAC,MAAM;IAqCd,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAItB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAuBnB,gBAAgB;IAChB,OAAO,CAAC,gCAAgC;IAkBxC,wEAAwE;IAClE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9G;IAED,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAQ1B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IA6ExB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IA2C1B,gBAAgB;IAChB,OAAO,CAAC,KAAK;IAWb,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAwBnB,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAchC,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAK/B,gBAAgB;IAChB,OAAO,CAAC,QAAQ;IAIhB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAYlB,gBAAgB;IAChB,OAAO,CAAC,MAAM;IA6Bd,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAuBxB;;;;;OAKG;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAqC/C;CACF"}
@@ -15,6 +15,12 @@ import { isVideoFrameLike, videoFrameCallbackMetadata } from './video-frame';
15
15
  import { getDefaultFontUrl, getMtWasmGlueUrl, getMtWasmUrl, getWasmGlueUrl, getWasmUrl } from './wasm';
16
16
  import { webYCbCrMap } from './utils';
17
17
  const DEFAULT_RENDER_AHEAD = 0;
18
+ const transferredCanvasSize = (canvas) => ({ width: canvas.width, height: canvas.height });
19
+ // Firefox can composite a scheduled opacity swap with the old stage already
20
+ // hidden and the new one not yet shown, blanking subtitles for a refresh or
21
+ // two. Only Gecko UAs carry `rv:<version>) Gecko/`; Blink and WebKit say
22
+ // "like Gecko".
23
+ const isLikelyGecko = () => typeof navigator !== 'undefined' && /\brv:[\d.]+\) Gecko\/\d/.test(navigator.userAgent || '');
18
24
  const isLikelyWebKit = () => {
19
25
  if (typeof navigator === 'undefined')
20
26
  return false;
@@ -98,7 +104,7 @@ export default class AkariSub extends EventTarget {
98
104
  refreshInterval: () => estimateRefreshIntervalMs(this._refreshSamples ?? []),
99
105
  now: () => performance.now(),
100
106
  documentTime: () => Number(document.timeline?.currentTime)
101
- });
107
+ }, !isLikelyGecko());
102
108
  }
103
109
  _predictedDisplayTimes = new Map();
104
110
  _displayClockOffsets = [];
@@ -366,6 +372,8 @@ export default class AkariSub extends EventTarget {
366
372
  adaptiveBlendLayouts: options.adaptiveBlendLayouts ?? false,
367
373
  cueTracking: resolveCueTracking(options.cueTracking),
368
374
  rawAssImageGpu,
375
+ rawAssImageAtlas: options.rawAssImageAtlas ?? true,
376
+ rawAssImageWebGPU: options.rawAssImageWebGPU ?? false,
369
377
  onDemandRender: this._onDemandRender,
370
378
  initialTime,
371
379
  initialIsPaused: this._isVideoPausedForWorker(),
@@ -399,16 +407,19 @@ export default class AkariSub extends EventTarget {
399
407
  this._worker.postMessage(initMessage, AkariSub._getSubtitleTransfers(options.subContent, options.encryptedSubContent));
400
408
  if (this._offscreenRender) {
401
409
  const offscreenCanvas = this._canvasctrl;
410
+ const size = transferredCanvasSize(offscreenCanvas);
402
411
  // Post this immediately after init, before the worker can emit ready and
403
412
  // trigger an on-demand render. sendMessage() waits for ready and races
404
413
  // the first render, leaving offscreenRender=true with no canvas bound.
405
414
  this._worker.postMessage({
406
415
  target: 'offscreenCanvas',
407
416
  rawAssImageGpu,
417
+ rawAssImageWebGPU: options.rawAssImageWebGPU ?? false,
408
418
  canvasColorSpace: this._videoColorProfile.canvasColorSpace,
409
419
  hdr: this._shouldUseHdr(),
410
420
  transferable: [offscreenCanvas]
411
421
  }, [offscreenCanvas]);
422
+ this._canvasctrl = size;
412
423
  }
413
424
  });
414
425
  }
@@ -894,12 +905,13 @@ export default class AkariSub extends EventTarget {
894
905
  this._canvas.style.width = cssWidth;
895
906
  this._canvas.style.height = cssHeight;
896
907
  if (mode === 'offscreen') {
897
- this._canvasctrl = this._canvas.transferControlToOffscreen();
908
+ const offscreenCanvas = this._canvas.transferControlToOffscreen();
909
+ this._canvasctrl = transferredCanvasSize(offscreenCanvas);
898
910
  this._ctx = false;
899
911
  this.sendMessage('offscreenCanvas', {
900
912
  canvasColorSpace: this._videoColorProfile.canvasColorSpace,
901
913
  hdr: this._shouldUseHdr()
902
- }, [this._canvasctrl]);
914
+ }, [offscreenCanvas]);
903
915
  }
904
916
  else {
905
917
  this._canvasctrl = this._canvas;
@@ -1415,6 +1427,7 @@ export default class AkariSub extends EventTarget {
1415
1427
  usingWorker: stats.usingWorker ?? true,
1416
1428
  rawAssImageGpu: stats.rawAssImageGpu,
1417
1429
  workerRenderer: stats.workerRenderer,
1430
+ workerRendererLost: stats.workerRendererLost,
1418
1431
  offscreenRender: stats.offscreenRender ?? this._offscreenRender,
1419
1432
  onDemandRender: stats.onDemandRender ?? this._onDemandRender,
1420
1433
  wasmSimd: stats.wasmSimd ?? this._wasmSimd,
@@ -2153,12 +2166,13 @@ export default class AkariSub extends EventTarget {
2153
2166
  // RVFC and presentVideoFrame render ahead while frames are advancing. When
2154
2167
  // playback pauses, stalls, or seeks, the last ahead render can be visibly
2155
2168
  // in the future. Force an exact render at the displayed media time.
2169
+ // `stalled` only reports a quiet network fetch while playback continues
2170
+ // from the buffer; a real stall also fires `waiting`.
2156
2171
  const shouldRenderExactFrame = isPaused ||
2157
2172
  event?.type === 'pause' ||
2158
2173
  event?.type === 'seeking' ||
2159
2174
  event?.type === 'seeked' ||
2160
2175
  event?.type === 'waiting' ||
2161
- event?.type === 'stalled' ||
2162
2176
  event?.type === 'ended';
2163
2177
  if (shouldRenderExactFrame) {
2164
2178
  this._bumpRenderEpoch();
@@ -2326,24 +2340,41 @@ export default class AkariSub extends EventTarget {
2326
2340
  this._canvas.remove();
2327
2341
  this._createCanvas();
2328
2342
  this._canvasctrl = this._canvas;
2329
- this._ctx = this._canvasctrl.getContext('2d', this._canvas2dSettings());
2343
+ this._ctx = this._canvas.getContext('2d', this._canvas2dSettings());
2330
2344
  this.sendMessage('detachOffscreen');
2331
2345
  this.busy = false;
2332
2346
  this._pendingDemandTimes.length = 0;
2333
2347
  this.resize(0, 0, 0, 0, true);
2334
2348
  }
2349
+ /**
2350
+ * @internal Worker WebGPU gave up on its device. The transferred canvas can
2351
+ * hold no other context, so an owned overlay canvas is replaced and the
2352
+ * worker binds the new one to WebGL2 (or 2D); a caller-owned canvas cannot
2353
+ * be replaced and stays blank.
2354
+ */
2355
+ _rawAssGpuFailed() {
2356
+ if (this._destroyed)
2357
+ return;
2358
+ this._emitPerformanceWarning({ kind: 'renderer-recovery', reason: 'device-lost', rendererType: this._rendererType });
2359
+ if (this._offscreenRender && !this._ctx && this._canvasParent) {
2360
+ this._replaceOwnedOverlayCanvas('offscreen');
2361
+ return;
2362
+ }
2363
+ console.warn('[AkariSub] Worker WebGPU failed; the caller-owned canvas cannot be replaced, so subtitles are not drawn');
2364
+ }
2335
2365
  /** @internal */
2336
2366
  _reAttachOffscreen() {
2337
2367
  if (!this._offscreenRender || !this._ctx)
2338
2368
  return;
2339
2369
  this._canvas.remove();
2340
2370
  this._createCanvas();
2341
- this._canvasctrl = this._canvas.transferControlToOffscreen();
2371
+ const offscreenCanvas = this._canvas.transferControlToOffscreen();
2372
+ this._canvasctrl = transferredCanvasSize(offscreenCanvas);
2342
2373
  this._ctx = false;
2343
2374
  this.sendMessage('offscreenCanvas', {
2344
2375
  canvasColorSpace: this._videoColorProfile.canvasColorSpace,
2345
2376
  hdr: this._shouldUseHdr()
2346
- }, [this._canvasctrl]);
2377
+ }, [offscreenCanvas]);
2347
2378
  this.resize(0, 0, 0, 0, true);
2348
2379
  }
2349
2380
  /** @internal */