test(danmuku): [PKG-DANMUKU-08] cover old plugin combinations and expose model load failures

This commit is contained in:
Harvey Zhao committed 2026-09-14 21:32:10 +08:00
1 parent 30363a5346
commit 475d38043e
13 files changed
+11199 -282

No files matched your search

@@ -1,5 +1,12 @@
# Danmuku Mask maintenance map
The native combination suite includes both frozen/current Danmuku with three core
versions and a bounded 20 rows/s load after model readiness. Model output must
continue during that load. Current Chromium/WebKit delivery failures block the
combination gate under PKG-DANMUKU-MASK-LOAD-01; Firefox passes do not close them.
See `refactor/changes/2026-09-14-PKG-DANMUKU-08-combined-load.md` for exact source
inputs, historical observations and the still-unproven performance cause.
The compatibility baseline is the actual npm 1.1.0 package and the earlier
1.0.0 export shape. Sources and historical failure probes are recorded in
`refactor/baselines/danmuku-mask-contract.md`, `danmuku-mask-release.json` and
@@ -1,11 +1,14 @@
# Danmuku maintenance map
`test/browser/danmuku-dpip.spec.js` exercises the candidate with old/current cores
`test/browser/danmuku-dpip.spec.js` exercises frozen/current plugins with old/current cores
in two sequential native Document PiP windows. It checks timestamp-delivered text,
adopted layer and heatmap nodes, stylesheet layout, one surviving track Worker,
close/native-close/destroy cleanup, and no retained scheduling operation. Native
API absence is reported separately; it does not simulate a popup or count as
playback evidence. This is not a background-throttling or device benchmark.
playback evidence. Frozen 5.3.0 retains renderer/Setting nodes on destroy(false);
its explicit historical outcome is not candidate cleanup acceptance. The load
case runs 120 timestamped rows in each of two windows, observing native RAF in
the player's owning window. This is not a background-throttling or device benchmark.
Set `ARTPLAYER_DANMUKU_ARTIFACT` and `ARTPLAYER_DPIP_ARTIFACT` together to check
the corresponding built formats; both loaded hashes appear in each attachment.
@@ -15,6 +18,12 @@ both plugins from source by default. `ARTPLAYER_MASK_ARTIFACT` and
Do not substitute a stale dist file for source checks. Installation, remaining
old-plugin combinations, combined-load performance and devices remain task 08/09.
The actual Mask combination now also tests frozen 5.3.0 and a 20 rows/s post-model
load. `test/helpers/danmuku-combination-load.js` owns only test RAF/listeners and
retains observations after failed assertions. Candidate complete delivery remains
mandatory. Chromium/WebKit failures are tracked by DANMUKU-MASK-LOAD-01 and
PKG-DANMUKU-MASK-LOAD-01; ordinary playback or Firefox passes cannot close them.
`danmuku-fullscreen.spec.js` tests all old/current core and plugin pairs in real
document and CSS web fullscreen, with three fresh player lifetimes per case.
Each lifetime must show a timestamp-delivered row, restore layout and release its