fix(jassub): [PKG-JASSUB-10] release bitmap batches on rendering errors

This commit is contained in:
Harvey Zhao committed 2026-09-14 15:28:52 +08:00
1 parent 04060aa8b6
commit 7b0e1d156b
22 files changed
+5795 -22

No files matched your search

+26 -1
View File
@@ -2,7 +2,7 @@
"schemaVersion": 1,
"task": "BASE-07",
"sourceCommit": "e01f39ff",
"updatedAt": "2026-09-14T06:00:35.506Z",
"updatedAt": "2026-09-14T07:23:15.393Z",
"note": "Open means closure evidence is outstanding; source-observed and unverified are not reproduced runtime bugs. A source issue already mitigated in the workspace still requires candidate regression evidence. No accepted-with-scope item is implied by baseline task completion.",
"items": [
{
@@ -6102,6 +6102,31 @@
"refactor/baselines/multiple-subtitles-ass-validation.json"
],
"resolutionRationale": "Frozen main output fails before repair while same-version legacy/source remain correct. Exact-output repair preserves valid/custom output and exception ownership.315 package checks, actual main/legacy unit cases and source/main/legacy each21 native desktop cases prove this specific conversion defect fixed, without claiming full ASS layout, device or source-seek acceptance."
},
{
"id": "JASSUB-RENDER-RESOURCES-01",
"title": "Main-thread async rendering leaves received ImageBitmaps open when native canvas operations throw",
"confirmation": "reproduced",
"status": "resolved",
"owners": [
"PKG-JASSUB-10"
],
"evidence": [
"test/jassub-offscreen.test.js",
"test/browser/jassub-render-failure.spec.js",
"refactor/changes/2026-09-14-PKG-JASSUB-10-render-resources.md",
"refactor/baselines/jassub-render-validation.json"
],
"compatibleResolution": "Release all owned async bitmaps in finally, preserving the original native exception, ordinary draw order and synchronous pixel buffer behavior.",
"closureCriteria": "Controlled clear/resize/first/later draw failures and actual native Canvas failure release all bitmaps; normal rendering, subsequent subtitle recovery, source/built regressions, provenance and strict types pass.",
"workspaceState": "Final main/legacy release all owned bitmaps on native drawing failure; normal main-thread subtitle playback and explicit redraw recovery pass on three desktop engines. Firefox offscreen stall remains separate.",
"resolutionEvidence": [
"refactor/baselines/jassub-render-validation.json",
"refactor/changes/2026-09-14-PKG-JASSUB-10-render-resources.md",
"test/jassub-offscreen.test.js",
"test/browser/jassub-render-failure.spec.js"
],
"resolutionRationale": "Old exact main fails all four controlled disposal cases and all three native batch-disposal cases. Candidate full suite passes 201 cases; actual main/legacy runtime groups each pass 69 cases and each has 12 native failure/recovery/playback cases. The fix changes only async bitmap release on main-thread render and retains exceptions and synchronous buffers."
}
]
}