akarisub 0.2.0 → 0.2.2
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/LICENSE +3 -0
- package/README.md +56 -54
- package/THIRD_PARTY_NOTICES.md +1590 -0
- package/dist/COPYRIGHT +1588 -949
- package/dist/akarisub-worker.js +2 -2
- package/dist/akarisub-worker.wasm +0 -0
- package/dist/akarisub.umd.js +3 -3
- package/dist/index.js +3 -3
- package/dist/ts/index.d.ts +14 -0
- package/dist/ts/index.d.ts.map +1 -0
- package/dist/ts/index.js +17 -0
- package/dist/ts/index.js.map +1 -0
- package/dist/ts/ts/akarisub.d.ts +225 -0
- package/dist/ts/ts/akarisub.d.ts.map +1 -0
- package/dist/ts/ts/akarisub.js +1073 -0
- package/dist/ts/ts/akarisub.js.map +1 -0
- package/dist/ts/ts/types.d.ts +424 -0
- package/dist/ts/ts/types.d.ts.map +1 -0
- package/dist/ts/ts/types.js +5 -0
- package/dist/ts/ts/types.js.map +1 -0
- package/dist/ts/ts/utils.d.ts +78 -0
- package/dist/ts/ts/utils.d.ts.map +1 -0
- package/dist/ts/ts/utils.js +395 -0
- package/dist/ts/ts/utils.js.map +1 -0
- package/dist/ts/ts/webgl2-renderer.d.ts +52 -0
- package/dist/ts/ts/webgl2-renderer.d.ts.map +1 -0
- package/dist/ts/ts/webgl2-renderer.js +391 -0
- package/dist/ts/ts/webgl2-renderer.js.map +1 -0
- package/dist/ts/ts/webgpu-renderer.d.ts +62 -0
- package/dist/ts/ts/webgpu-renderer.d.ts.map +1 -0
- package/dist/ts/ts/webgpu-renderer.js +577 -0
- package/dist/ts/ts/webgpu-renderer.js.map +1 -0
- package/dist/ts/ts/worker.d.ts +6 -0
- package/dist/ts/ts/worker.d.ts.map +1 -0
- package/dist/ts/ts/worker.js +1762 -0
- package/dist/ts/ts/worker.js.map +1 -0
- package/dist/ts/wrapper.d.ts +8 -0
- package/dist/ts/wrapper.d.ts.map +1 -0
- package/dist/ts/wrapper.js +9 -0
- package/dist/ts/wrapper.js.map +1 -0
- package/package.json +9 -6
- package/src/ts/akarisub.ts +48 -12
- package/src/ts/types.ts +22 -7
- package/src/ts/webgl2-renderer.ts +19 -13
- package/src/ts/webgpu-renderer.ts +26 -71
- package/src/ts/worker.ts +303 -70
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/ts/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript wrapper for AkariSub.
|
|
3
|
+
* Re-exports all types and the main AkariSub class.
|
|
4
|
+
*/
|
|
5
|
+
export type { ASSEvent, ASSStyle, AkariSubOptions, PerformanceStats, ASSEventCallback, ASSStyleCallback, PerformanceStatsCallback, ResetStatsCallback, RenderImage, RenderTimes, VideoFrameCallbackMetadata, SubtitleColorSpace, WebYCbCrColorSpace, EncryptedSubtitleContent, AkariSubModule, WorkerInboundMessage, WorkerOutboundMessage } from './ts/types';
|
|
6
|
+
export { webYCbCrMap, colorMatrixConversionMap, libassYCbCrMap, computeCanvasSize, getVideoPosition, fixAlpha, parseAss, dropBlur, fixPlayRes, testImageBugs, runFeatureTests, getAlphaBug, getBitmapBug, getColorSpaceFilterUrl } from './ts/utils';
|
|
7
|
+
export { default as AkariSub } from './ts/akarisub';
|
|
8
|
+
//# sourceMappingURL=wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,EACZ,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript wrapper for AkariSub.
|
|
3
|
+
* Re-exports all types and the main AkariSub class.
|
|
4
|
+
*/
|
|
5
|
+
// Re-export utilities
|
|
6
|
+
export { webYCbCrMap, colorMatrixConversionMap, libassYCbCrMap, computeCanvasSize, getVideoPosition, fixAlpha, parseAss, dropBlur, fixPlayRes, testImageBugs, runFeatureTests, getAlphaBug, getBitmapBug, getColorSpaceFilterUrl } from './ts/utils';
|
|
7
|
+
// Re-export main class
|
|
8
|
+
export { default as AkariSub } from './ts/akarisub';
|
|
9
|
+
//# sourceMappingURL=wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,sBAAsB;AACtB,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,EACZ,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAEnB,uBAAuB;AACvB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "akarisub",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "libass Subtitle Renderer and Parser library for browsers",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -14,9 +14,11 @@
|
|
|
14
14
|
},
|
|
15
15
|
"./worker": {
|
|
16
16
|
"import": "./dist/akarisub-worker.js"
|
|
17
|
-
}
|
|
17
|
+
},
|
|
18
|
+
"./worker.wasm": "./dist/akarisub-worker.wasm"
|
|
18
19
|
},
|
|
19
20
|
"files": [
|
|
21
|
+
"THIRD_PARTY_NOTICES.md",
|
|
20
22
|
"dist/COPYRIGHT",
|
|
21
23
|
"dist/default.woff2",
|
|
22
24
|
"dist/akarisub*",
|
|
@@ -29,6 +31,7 @@
|
|
|
29
31
|
"build:ts": "tsgo",
|
|
30
32
|
"build:bundle": "bun build.ts",
|
|
31
33
|
"build": "bun run build:wasm && bun run build:ts && bun run build:bundle",
|
|
34
|
+
"license:third-party": "bun build/generate-third-party-notices.mjs",
|
|
32
35
|
"typecheck": "tsc --noEmit",
|
|
33
36
|
"format": "bun run prettier . --write"
|
|
34
37
|
},
|
|
@@ -53,11 +56,11 @@
|
|
|
53
56
|
},
|
|
54
57
|
"homepage": "https://github.com/altqx/akarisub",
|
|
55
58
|
"devDependencies": {
|
|
56
|
-
"@types/bun": "1.3.
|
|
59
|
+
"@types/bun": "1.3.14",
|
|
57
60
|
"@types/emscripten": "^1.41.5",
|
|
58
|
-
"@typescript/native-preview": "^7.0.0-dev.
|
|
59
|
-
"@webgpu/types": "^0.1.
|
|
60
|
-
"prettier": "^3.8.
|
|
61
|
+
"@typescript/native-preview": "^7.0.0-dev.20260612.1",
|
|
62
|
+
"@webgpu/types": "^0.1.70",
|
|
63
|
+
"prettier": "^3.8.4",
|
|
61
64
|
"typescript": "^6.0.3"
|
|
62
65
|
}
|
|
63
66
|
}
|
package/src/ts/akarisub.ts
CHANGED
|
@@ -14,6 +14,7 @@ import type {
|
|
|
14
14
|
SubtitleColorSpace,
|
|
15
15
|
WebYCbCrColorSpace
|
|
16
16
|
} from './types'
|
|
17
|
+
import type { EncryptedSubtitleContent } from './types'
|
|
17
18
|
import {
|
|
18
19
|
webYCbCrMap,
|
|
19
20
|
colorMatrixConversionMap,
|
|
@@ -152,7 +153,8 @@ export default class AkariSub extends EventTarget {
|
|
|
152
153
|
this._onCanvasFallback = options.onCanvasFallback
|
|
153
154
|
|
|
154
155
|
const canUseGPURenderer = !this._isLikelyWebKit && !options.canvas && (isWebGPUSupported() || isWebGL2Supported())
|
|
155
|
-
const shouldUseAsyncRender =
|
|
156
|
+
const shouldUseAsyncRender =
|
|
157
|
+
typeof createImageBitmap !== 'undefined' && (options.asyncRender ?? (!this._isLikelyWebKit && !canUseGPURenderer))
|
|
156
158
|
|
|
157
159
|
// Don't support offscreen rendering on custom canvases
|
|
158
160
|
this._offscreenRender =
|
|
@@ -223,7 +225,7 @@ export default class AkariSub extends EventTarget {
|
|
|
223
225
|
|
|
224
226
|
// Initialize worker after feature tests complete
|
|
225
227
|
test.then(() => {
|
|
226
|
-
|
|
228
|
+
const initMessage = {
|
|
227
229
|
target: 'init',
|
|
228
230
|
wasmUrl: options.wasmUrl ?? 'akarisub-worker.wasm',
|
|
229
231
|
asyncRender: shouldUseAsyncRender,
|
|
@@ -235,6 +237,7 @@ export default class AkariSub extends EventTarget {
|
|
|
235
237
|
blendMode: options.blendMode ?? 'wasm',
|
|
236
238
|
subUrl: options.subUrl,
|
|
237
239
|
subContent: options.subContent || null,
|
|
240
|
+
encryptedSubContent: options.encryptedSubContent || null,
|
|
238
241
|
fonts: options.fonts || [],
|
|
239
242
|
availableFonts: options.availableFonts || { 'liberation sans': './default.woff2' },
|
|
240
243
|
fallbackFonts: options.fallbackFonts || ['liberation sans'],
|
|
@@ -247,7 +250,9 @@ export default class AkariSub extends EventTarget {
|
|
|
247
250
|
libassGlyphLimit: options.libassGlyphLimit ?? 2048,
|
|
248
251
|
useLocalFonts: typeof (globalThis as any).queryLocalFonts !== 'undefined' && (options.useLocalFonts ?? true),
|
|
249
252
|
hasBitmapBug: AkariSub._hasBitmapBug
|
|
250
|
-
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
this._worker.postMessage(initMessage, AkariSub._getSubtitleTransfers(options.subContent, options.encryptedSubContent))
|
|
251
256
|
|
|
252
257
|
if (this._offscreenRender) {
|
|
253
258
|
this.sendMessage('offscreenCanvas', {}, [this._canvasctrl as OffscreenCanvas])
|
|
@@ -319,6 +324,29 @@ export default class AkariSub extends EventTarget {
|
|
|
319
324
|
await AkariSub._testImageBugs()
|
|
320
325
|
}
|
|
321
326
|
|
|
327
|
+
private static _getSubtitleTransfers(
|
|
328
|
+
subContent?: string | Uint8Array | ArrayBuffer,
|
|
329
|
+
encryptedSubContent?: EncryptedSubtitleContent
|
|
330
|
+
): Transferable[] {
|
|
331
|
+
const transfers: Transferable[] = []
|
|
332
|
+
|
|
333
|
+
if (subContent instanceof ArrayBuffer) {
|
|
334
|
+
transfers.push(subContent)
|
|
335
|
+
} else if (subContent instanceof Uint8Array) {
|
|
336
|
+
transfers.push(subContent.buffer)
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
if (encryptedSubContent?.encrypted) {
|
|
340
|
+
transfers.push(encryptedSubContent.encrypted)
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
for (const chunk of encryptedSubContent?.encryptedChunks || []) {
|
|
344
|
+
transfers.push(chunk)
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
return transfers
|
|
348
|
+
}
|
|
349
|
+
|
|
322
350
|
// ==========================================================================
|
|
323
351
|
// GPU Renderer Management (WebGPU → WebGL2 → Canvas2D fallback)
|
|
324
352
|
// ==========================================================================
|
|
@@ -522,13 +550,6 @@ export default class AkariSub extends EventTarget {
|
|
|
522
550
|
}
|
|
523
551
|
}
|
|
524
552
|
|
|
525
|
-
/**
|
|
526
|
-
* Run a benchmark on the worker.
|
|
527
|
-
*/
|
|
528
|
-
runBenchmark(): void {
|
|
529
|
-
this.sendMessage('runBenchmark')
|
|
530
|
-
}
|
|
531
|
-
|
|
532
553
|
// ==========================================================================
|
|
533
554
|
// Track Management
|
|
534
555
|
// ==========================================================================
|
|
@@ -545,8 +566,19 @@ export default class AkariSub extends EventTarget {
|
|
|
545
566
|
/**
|
|
546
567
|
* Overwrites the current subtitle content.
|
|
547
568
|
*/
|
|
548
|
-
setTrack(content: string): void {
|
|
549
|
-
this.sendMessage('setTrack', { content })
|
|
569
|
+
setTrack(content: string | Uint8Array | ArrayBuffer): void {
|
|
570
|
+
this.sendMessage('setTrack', { content }, AkariSub._getSubtitleTransfers(content))
|
|
571
|
+
this._reAttachOffscreen()
|
|
572
|
+
if (this._ctx) this._ctx.filter = 'none'
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* Overwrites the current subtitle content with encrypted v2 payloads.
|
|
577
|
+
* Decryption happens inside the AkariSub worker so plaintext ASS text is not
|
|
578
|
+
* materialized in the main thread.
|
|
579
|
+
*/
|
|
580
|
+
setEncryptedTrack(content: EncryptedSubtitleContent): void {
|
|
581
|
+
this.sendMessage('setEncryptedTrack', { content }, AkariSub._getSubtitleTransfers(undefined, content))
|
|
550
582
|
this._reAttachOffscreen()
|
|
551
583
|
if (this._ctx) this._ctx.filter = 'none'
|
|
552
584
|
}
|
|
@@ -1110,6 +1142,10 @@ export default class AkariSub extends EventTarget {
|
|
|
1110
1142
|
this.dispatchEvent(new CustomEvent('partial_ready'))
|
|
1111
1143
|
}
|
|
1112
1144
|
|
|
1145
|
+
private _trackReady(): void {
|
|
1146
|
+
this.dispatchEvent(new CustomEvent('trackReady'))
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1113
1149
|
/**
|
|
1114
1150
|
* Send data and execute function in the worker.
|
|
1115
1151
|
*/
|
package/src/ts/types.ts
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
/** ASS Event (dialogue/subtitle entry) */
|
|
10
10
|
export interface ASSEvent {
|
|
11
|
-
/** Start Time of the Event (in
|
|
11
|
+
/** Start Time of the Event (in milliseconds) */
|
|
12
12
|
Start: number
|
|
13
|
-
/** Duration of the Event (in
|
|
13
|
+
/** Duration of the Event (in milliseconds) */
|
|
14
14
|
Duration: number
|
|
15
15
|
/** Style name */
|
|
16
16
|
Style: string
|
|
@@ -168,8 +168,10 @@ export interface AkariSubOptions {
|
|
|
168
168
|
wasmUrl?: string
|
|
169
169
|
/** URL to subtitle file */
|
|
170
170
|
subUrl?: string
|
|
171
|
-
/** Subtitle content as string */
|
|
172
|
-
subContent?: string
|
|
171
|
+
/** Subtitle content as string or UTF-8 bytes */
|
|
172
|
+
subContent?: string | Uint8Array | ArrayBuffer
|
|
173
|
+
/** Encrypted subtitle content decrypted inside the worker before loading into libass */
|
|
174
|
+
encryptedSubContent?: EncryptedSubtitleContent
|
|
173
175
|
/** Array of font URLs or Uint8Arrays */
|
|
174
176
|
fonts?: (string | Uint8Array)[]
|
|
175
177
|
/** Available fonts map (lowercase name -> URL/data) */
|
|
@@ -190,6 +192,15 @@ export interface AkariSubOptions {
|
|
|
190
192
|
fullTrackWarmup?: boolean
|
|
191
193
|
}
|
|
192
194
|
|
|
195
|
+
export interface EncryptedSubtitleContent {
|
|
196
|
+
/** Non-extractable AES-GCM content key from akari-crypto's v2 transport flow */
|
|
197
|
+
contentKey: CryptoKey
|
|
198
|
+
/** Single encrypted subtitle payload */
|
|
199
|
+
encrypted?: ArrayBuffer
|
|
200
|
+
/** Chunked encrypted subtitle payloads, in display file order */
|
|
201
|
+
encryptedChunks?: ArrayBuffer[]
|
|
202
|
+
}
|
|
203
|
+
|
|
193
204
|
// =============================================================================
|
|
194
205
|
// Callback Types (deprecated - use Promise-based API instead)
|
|
195
206
|
// =============================================================================
|
|
@@ -240,6 +251,7 @@ export interface RenderMessage {
|
|
|
240
251
|
/** Worker -> Main thread messages */
|
|
241
252
|
export type WorkerOutboundMessage =
|
|
242
253
|
| { target: 'ready' }
|
|
254
|
+
| { target: 'trackReady' }
|
|
243
255
|
| { target: 'unbusy' }
|
|
244
256
|
| { target: 'console'; command: string; content: string }
|
|
245
257
|
| { target: 'getLocalFont'; font: string }
|
|
@@ -264,7 +276,8 @@ export interface WorkerInitMessage {
|
|
|
264
276
|
height: number
|
|
265
277
|
blendMode: 'js' | 'wasm'
|
|
266
278
|
subUrl?: string
|
|
267
|
-
subContent?: string | null
|
|
279
|
+
subContent?: string | Uint8Array | ArrayBuffer | null
|
|
280
|
+
encryptedSubContent?: EncryptedSubtitleContent | null
|
|
268
281
|
fonts: (string | Uint8Array)[]
|
|
269
282
|
availableFonts: Record<string, string | Uint8Array>
|
|
270
283
|
fallbackFonts: string[]
|
|
@@ -286,7 +299,8 @@ export type WorkerInboundMessage =
|
|
|
286
299
|
| { target: 'detachOffscreen' }
|
|
287
300
|
| { target: 'canvas'; width: number; height: number; videoWidth: number; videoHeight: number; force?: boolean }
|
|
288
301
|
| { target: 'video'; currentTime?: number; isPaused?: boolean; rate?: number; colorSpace?: string | null }
|
|
289
|
-
| { target: 'setTrack'; content: string }
|
|
302
|
+
| { target: 'setTrack'; content: string | Uint8Array | ArrayBuffer }
|
|
303
|
+
| { target: 'setEncryptedTrack'; content: EncryptedSubtitleContent }
|
|
290
304
|
| { target: 'setTrackByUrl'; url: string }
|
|
291
305
|
| { target: 'freeTrack' }
|
|
292
306
|
| { target: 'demand'; time: number }
|
|
@@ -307,7 +321,6 @@ export type WorkerInboundMessage =
|
|
|
307
321
|
| { target: 'resetStats' }
|
|
308
322
|
| { target: 'getEventCount' }
|
|
309
323
|
| { target: 'getStyleCount' }
|
|
310
|
-
| { target: 'runBenchmark' }
|
|
311
324
|
| { target: 'getColorSpace' }
|
|
312
325
|
|
|
313
326
|
// =============================================================================
|
|
@@ -375,6 +388,8 @@ export interface AkariSubModule extends EmscriptenModule {
|
|
|
375
388
|
_akarisub_style_set_num: (handle: number, index: number, field: number, value: number) => void
|
|
376
389
|
_akarisub_style_get_str: (handle: number, index: number, field: number) => number
|
|
377
390
|
_akarisub_style_set_str: (handle: number, index: number, field: number, valuePtr: number) => void
|
|
391
|
+
_akarisub_get_event_time_range: (handle: number, outPtr: number) => number
|
|
392
|
+
_akarisub_get_empty_window: (handle: number, tm: number, outPtr: number) => number
|
|
378
393
|
_akarisub_render_blend_collect: (handle: number, time: number, force: number, outPtr: number, maxItems: number) => number
|
|
379
394
|
_akarisub_render_image_collect: (handle: number, time: number, force: number, outPtr: number, maxItems: number) => number
|
|
380
395
|
FS_createPath: (parent: string, path: string, canRead: boolean, canWrite: boolean) => void
|
|
@@ -179,7 +179,6 @@ export class WebGL2Renderer {
|
|
|
179
179
|
gl.bindVertexArray(null)
|
|
180
180
|
|
|
181
181
|
// Texture array
|
|
182
|
-
this._texArray = gl.createTexture()!
|
|
183
182
|
this._allocateTextureArray(256, 256, 32)
|
|
184
183
|
|
|
185
184
|
// Premultiplied-alpha blending
|
|
@@ -194,18 +193,28 @@ export class WebGL2Renderer {
|
|
|
194
193
|
// Texture management
|
|
195
194
|
// ==========================================================================
|
|
196
195
|
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
// Round up to a multiple of 64: gives headroom against size jitter without
|
|
197
|
+
// power-of-2 over-allocation (a 1920x1080 blend region would otherwise
|
|
198
|
+
// round to 2048x2048 and waste ~2x memory).
|
|
199
|
+
private _roundDim(n: number): number {
|
|
200
|
+
return (Math.max(n, 64) + 63) & ~63
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// Round layers up to a multiple of 8, clamped to the layer cap
|
|
204
|
+
private _roundLayers(n: number): number {
|
|
205
|
+
return Math.min((Math.max(n, 8) + 7) & ~7, MAX_TEXTURE_ARRAY_LAYERS)
|
|
199
206
|
}
|
|
200
207
|
|
|
201
208
|
private _allocateTextureArray(width: number, height: number, layers: number): void {
|
|
202
209
|
const gl = this._gl!
|
|
203
|
-
const w = this.
|
|
204
|
-
const h = this.
|
|
205
|
-
const l =
|
|
210
|
+
const w = this._roundDim(width)
|
|
211
|
+
const h = this._roundDim(height)
|
|
212
|
+
const l = this._roundLayers(layers)
|
|
206
213
|
|
|
214
|
+
if (this._texArray) gl.deleteTexture(this._texArray)
|
|
215
|
+
this._texArray = gl.createTexture()!
|
|
207
216
|
gl.bindTexture(gl.TEXTURE_2D_ARRAY, this._texArray)
|
|
208
|
-
gl.
|
|
217
|
+
gl.texStorage3D(gl.TEXTURE_2D_ARRAY, 1, gl.RGBA8, w, h, l)
|
|
209
218
|
gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MIN_FILTER, gl.NEAREST)
|
|
210
219
|
gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MAG_FILTER, gl.NEAREST)
|
|
211
220
|
gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE)
|
|
@@ -219,12 +228,9 @@ export class WebGL2Renderer {
|
|
|
219
228
|
private _ensureTextureArray(maxW: number, maxH: number, count: number): void {
|
|
220
229
|
const c = Math.min(count, MAX_TEXTURE_ARRAY_LAYERS)
|
|
221
230
|
if (maxW <= this._texWidth && maxH <= this._texHeight && c <= this._texLayers) return
|
|
222
|
-
const newW =
|
|
223
|
-
const newH =
|
|
224
|
-
const newL = Math.min(
|
|
225
|
-
this._nextPow2(Math.max(this._texLayers, c, c + 16)),
|
|
226
|
-
MAX_TEXTURE_ARRAY_LAYERS
|
|
227
|
-
)
|
|
231
|
+
const newW = Math.max(this._texWidth, maxW)
|
|
232
|
+
const newH = Math.max(this._texHeight, maxH)
|
|
233
|
+
const newL = Math.max(c, Math.min(this._texLayers, 16))
|
|
228
234
|
this._allocateTextureArray(newW, newH, newL)
|
|
229
235
|
}
|
|
230
236
|
|
|
@@ -147,10 +147,6 @@ export class WebGPURenderer {
|
|
|
147
147
|
private readonly imageDataArray: Float32Array
|
|
148
148
|
private readonly resolutionArray = new Float32Array(2)
|
|
149
149
|
|
|
150
|
-
// Reusable conversion buffer for RGBA->BGRA (grows as needed, never shrinks)
|
|
151
|
-
private conversionBuffer: Uint8Array | null = null
|
|
152
|
-
private conversionBufferSize = 0
|
|
153
|
-
|
|
154
150
|
// Bind group (recreated only when texture array changes)
|
|
155
151
|
private bindGroup: GPUBindGroup | null = null
|
|
156
152
|
private bindGroupDirty = true
|
|
@@ -251,15 +247,16 @@ export class WebGPURenderer {
|
|
|
251
247
|
this._initialized = true
|
|
252
248
|
}
|
|
253
249
|
|
|
254
|
-
// Round up to
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
n
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
250
|
+
// Round up to a multiple of 64: gives headroom against size jitter without
|
|
251
|
+
// power-of-2 over-allocation (a 1920x1080 blend region would otherwise
|
|
252
|
+
// round to 2048x2048 and waste ~2x memory).
|
|
253
|
+
private roundDim(n: number): number {
|
|
254
|
+
return (Math.max(n, 64) + 63) & ~63
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// Round layers up to a multiple of 8, clamped to the WebGPU max
|
|
258
|
+
private roundLayers(n: number): number {
|
|
259
|
+
return Math.min((Math.max(n, 8) + 7) & ~7, MAX_TEXTURE_ARRAY_LAYERS)
|
|
263
260
|
}
|
|
264
261
|
|
|
265
262
|
private createTextureArray(width: number, height: number, layers: number): void {
|
|
@@ -267,15 +264,13 @@ export class WebGPURenderer {
|
|
|
267
264
|
this.pendingDestroyTextures.push(this.textureArray)
|
|
268
265
|
}
|
|
269
266
|
|
|
270
|
-
|
|
271
|
-
const
|
|
272
|
-
const
|
|
273
|
-
// Clamp layers to WebGPU max (256)
|
|
274
|
-
const l = Math.min(this.nextPowerOf2(Math.max(layers, 16)), MAX_TEXTURE_ARRAY_LAYERS)
|
|
267
|
+
const w = this.roundDim(width)
|
|
268
|
+
const h = this.roundDim(height)
|
|
269
|
+
const l = this.roundLayers(layers)
|
|
275
270
|
|
|
276
271
|
this.textureArray = this.device!.createTexture({
|
|
277
272
|
size: [w, h, l],
|
|
278
|
-
format:
|
|
273
|
+
format: 'rgba8unorm',
|
|
279
274
|
usage: GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT
|
|
280
275
|
})
|
|
281
276
|
this.textureArrayView = this.textureArray.createView({ dimension: '2d-array' })
|
|
@@ -318,14 +313,10 @@ export class WebGPURenderer {
|
|
|
318
313
|
) {
|
|
319
314
|
return false
|
|
320
315
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
const
|
|
324
|
-
const
|
|
325
|
-
const newLayers = Math.min(
|
|
326
|
-
this.nextPowerOf2(Math.max(this.textureArraySize, clampedCount, clampedCount + 16)),
|
|
327
|
-
MAX_TEXTURE_ARRAY_LAYERS
|
|
328
|
-
)
|
|
316
|
+
|
|
317
|
+
const newWidth = Math.max(this.textureArrayWidth, maxWidth)
|
|
318
|
+
const newHeight = Math.max(this.textureArrayHeight, maxHeight)
|
|
319
|
+
const newLayers = Math.max(clampedCount, Math.min(this.textureArraySize, 16))
|
|
329
320
|
|
|
330
321
|
this.createTextureArray(newWidth, newHeight, newLayers)
|
|
331
322
|
return true
|
|
@@ -345,15 +336,6 @@ export class WebGPURenderer {
|
|
|
345
336
|
this.bindGroupDirty = false
|
|
346
337
|
}
|
|
347
338
|
|
|
348
|
-
private ensureConversionBuffer(size: number): Uint8Array {
|
|
349
|
-
if (this.conversionBufferSize < size) {
|
|
350
|
-
// Grow with 50% headroom to reduce reallocations
|
|
351
|
-
this.conversionBufferSize = Math.max(size, (this.conversionBufferSize * 1.5) | 0, 65536)
|
|
352
|
-
this.conversionBuffer = new Uint8Array(this.conversionBufferSize)
|
|
353
|
-
}
|
|
354
|
-
return this.conversionBuffer!
|
|
355
|
-
}
|
|
356
|
-
|
|
357
339
|
async setCanvas(canvas: HTMLCanvasElement, width: number, height: number): Promise<void> {
|
|
358
340
|
await this.init()
|
|
359
341
|
|
|
@@ -560,7 +542,6 @@ export class WebGPURenderer {
|
|
|
560
542
|
const queue = device.queue
|
|
561
543
|
const textureArray = this.textureArray!
|
|
562
544
|
const imageDataArray = this.imageDataArray
|
|
563
|
-
const isBGRA = this.format === 'bgra8unorm'
|
|
564
545
|
const textureView = currentTexture.createView()
|
|
565
546
|
|
|
566
547
|
// Process images in batches if needed
|
|
@@ -586,7 +567,7 @@ export class WebGPURenderer {
|
|
|
586
567
|
{ width: w, height: h }
|
|
587
568
|
)
|
|
588
569
|
} else if (imgData instanceof ArrayBuffer || imgData instanceof Uint8Array || imgData instanceof Uint8ClampedArray) {
|
|
589
|
-
this.uploadTextureData(texIndex, imgData, w, h
|
|
570
|
+
this.uploadTextureData(texIndex, imgData, w, h)
|
|
590
571
|
}
|
|
591
572
|
|
|
592
573
|
// Fill pre-allocated array
|
|
@@ -636,38 +617,14 @@ export class WebGPURenderer {
|
|
|
636
617
|
layerIndex: number,
|
|
637
618
|
rgbaBuffer: ArrayBuffer | Uint8Array | Uint8ClampedArray,
|
|
638
619
|
width: number,
|
|
639
|
-
height: number
|
|
640
|
-
swapRB: boolean
|
|
620
|
+
height: number
|
|
641
621
|
): void {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
// Unrolled loop for better performance
|
|
650
|
-
for (let j = 0; j < size; j += 4) {
|
|
651
|
-
uploadData[j] = src[j + 2] // B <- R
|
|
652
|
-
uploadData[j + 1] = src[j + 1] // G
|
|
653
|
-
uploadData[j + 2] = src[j] // R <- B
|
|
654
|
-
uploadData[j + 3] = src[j + 3] // A
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
this.device!.queue.writeTexture(
|
|
658
|
-
{ texture: this.textureArray!, origin: [0, 0, layerIndex] },
|
|
659
|
-
uploadData.buffer,
|
|
660
|
-
{ bytesPerRow: width * 4 },
|
|
661
|
-
{ width, height }
|
|
662
|
-
)
|
|
663
|
-
} else {
|
|
664
|
-
this.device!.queue.writeTexture(
|
|
665
|
-
{ texture: this.textureArray!, origin: [0, 0, layerIndex] },
|
|
666
|
-
src,
|
|
667
|
-
{ bytesPerRow: width * 4 },
|
|
668
|
-
{ width, height }
|
|
669
|
-
)
|
|
670
|
-
}
|
|
622
|
+
this.device!.queue.writeTexture(
|
|
623
|
+
{ texture: this.textureArray!, origin: [0, 0, layerIndex] },
|
|
624
|
+
toUint8View(rgbaBuffer),
|
|
625
|
+
{ bytesPerRow: width * 4 },
|
|
626
|
+
{ width, height }
|
|
627
|
+
)
|
|
671
628
|
}
|
|
672
629
|
|
|
673
630
|
private cleanupPendingTextures(): void {
|
|
@@ -723,8 +680,6 @@ export class WebGPURenderer {
|
|
|
723
680
|
this.imageDataBuffer = null
|
|
724
681
|
|
|
725
682
|
this.bindGroup = null
|
|
726
|
-
this.conversionBuffer = null
|
|
727
|
-
this.conversionBufferSize = 0
|
|
728
683
|
|
|
729
684
|
this.device?.destroy()
|
|
730
685
|
this.device = null
|