refactor(danmuku): [PKG-DANMUKU-04] own scheduler and worker request lifecycle

This commit is contained in:
Harvey Zhao committed 2026-09-13 19:19:25 +08:00
1 parent 0b2efb07f1
commit 12332df221
24 files changed
+23441 -461

No files matched your search

+51 -7
View File
@@ -5106,7 +5106,9 @@
"refactor/changes/2026-09-13-PKG-DANMUKU-02-browser-baseline.md",
"refactor/baselines/danmuku-browser-validation.json",
"refactor/changes/2026-09-13-PKG-DANMUKU-03-input.md",
"refactor/baselines/danmuku-input-validation.json"
"refactor/baselines/danmuku-input-validation.json",
"refactor/changes/2026-09-13-PKG-DANMUKU-04-scheduler.md",
"refactor/baselines/danmuku-scheduler-validation.json"
],
"compatibleResolution": "Track and release exact subscription and timer ownership across settings, renderer and instances.",
"closureCriteria": "Repeated lifecycle and pending settings actions leave no owned subscriptions, timers or late DOM writes."
@@ -5132,7 +5134,7 @@
"id": "DANMUKU-ASYNC-01",
"title": "Danmuku asynchronous input, worker replies and pending visibility have unverified failure and cancellation paths",
"confirmation": "reproduced",
"status": "open",
"status": "resolved",
"owners": [
"PKG-DANMUKU-02",
"PKG-DANMUKU-03",
@@ -5148,10 +5150,20 @@
"refactor/changes/2026-09-13-PKG-DANMUKU-02-browser-baseline.md",
"refactor/baselines/danmuku-browser-validation.json",
"refactor/changes/2026-09-13-PKG-DANMUKU-03-input.md",
"refactor/baselines/danmuku-input-validation.json"
"refactor/baselines/danmuku-input-validation.json",
"refactor/changes/2026-09-13-PKG-DANMUKU-04-scheduler.md",
"refactor/baselines/danmuku-scheduler-validation.json"
],
"compatibleResolution": "Reproduce load ordering, Bilibili rejection and late worker/visibility paths before defining operation ownership.",
"closureCriteria": "Failures settle, obsolete results cannot alter new queues or destroyed instances, and worker resources are released with browser evidence."
"closureCriteria": "Failures settle, obsolete results cannot alter new queues or destroyed instances, and worker resources are released with browser evidence.",
"resolutionEvidence": [
"refactor/changes/2026-09-13-PKG-DANMUKU-04-scheduler.md",
"refactor/baselines/danmuku-scheduler-validation.json",
"test/danmuku-scheduler.test.js",
"test/danmuku-worker-client.test.js",
"test/browser/danmuku-scheduler.spec.js"
],
"resolutionRationale": "Task03 input/parser settlement and task04 worker/visibility ownership prevent stale continuation, including recovery reentry; final native matrices verify worker disposal. Settings/heatmap cleanup remains separately open."
},
{
"id": "DANMUKU-HEATMAP-01",
@@ -5194,7 +5206,7 @@
"id": "DANMUKU-TRACK-01",
"title": "Native simultaneous fixed Danmuku comments can overlap with duplicate start loops and repeated Worker IDs",
"confirmation": "reproduced",
"status": "open",
"status": "resolved",
"owners": [
"PKG-DANMUKU-04",
"PKG-DANMUKU-05",
@@ -5204,10 +5216,42 @@
"refactor/changes/2026-09-13-PKG-DANMUKU-02-browser-baseline.md",
"refactor/baselines/danmuku-browser-validation.json",
"test/browser/danmuku-baseline.spec.js",
"test/danmuku-failures.test.js"
"test/danmuku-failures.test.js",
"refactor/changes/2026-09-13-PKG-DANMUKU-04-scheduler.md",
"refactor/baselines/danmuku-scheduler-validation.json"
],
"compatibleResolution": "Enforce one owned scheduler loop and request correlation before claiming simultaneous native anti-overlap stability; keep strict track geometry tests.",
"closureCriteria": "Deterministic duplicate-loop/worker regressions and repeated candidate native simultaneous-load geometry pass without extra nodes or stale state; a later passing old snapshot alone does not close the race."
"closureCriteria": "Deterministic duplicate-loop/worker regressions and repeated candidate native simultaneous-load geometry pass without extra nodes or stale state; a later passing old snapshot alone does not close the race.",
"resolutionEvidence": [
"refactor/changes/2026-09-13-PKG-DANMUKU-04-scheduler.md",
"refactor/baselines/danmuku-scheduler-validation.json",
"test/danmuku-scheduler.test.js",
"test/danmuku-worker-client.test.js",
"test/browser/danmuku-scheduler.spec.js"
],
"resolutionRationale": "Single owned loop, correlated IDs and unchanged real geometry algorithm pass deterministic regressions, all native matrices and 60 additional repeated dense cases with strict geometry, request and node counts; broad long-load acceptance remains task07."
},
{
"id": "DANMUKU-INPUT-02",
"title": "Intermediate explicit-zero correction regressed accepted NaN timestamp fallback",
"confirmation": "reproduced",
"status": "resolved",
"owners": [
"PKG-DANMUKU-04"
],
"evidence": [
"refactor/changes/2026-09-13-PKG-DANMUKU-04-scheduler.md",
"refactor/baselines/danmuku-scheduler-validation.json",
"test/danmuku-input.test.js"
],
"compatibleResolution": "Preserve old NaN default currentTime+0.5, corrected explicit zero and old Infinity normalization without widening validation.",
"closureCriteria": "Frozen history and current candidate numeric comparisons pass, and actual native candidate renders NaN input.",
"resolutionEvidence": [
"refactor/changes/2026-09-13-PKG-DANMUKU-04-scheduler.md",
"refactor/baselines/danmuku-scheduler-validation.json",
"test/browser/danmuku-scheduler.spec.js"
],
"resolutionRationale": "Historical source/main/legacy establish old behavior; source/main/legacy final input and native matrices confirm the one-condition correction. Task03 frozen evidence is preserved."
}
]
}