album-export-contract
=== 导出 v2 验证 ===
靶子: http://h8 tplid=15076
PASS 多页 isZip — true
PASS 多页 MIME — "application/zip"
PASS 多页 pageCount — 12
PASS 多页 fileName 以 .zip 结尾 — true
PASS zip 条目数 == pageCount — 12
PASS zip 内扩展名集合严格等于 .jpg 一种 — "[\".jpg\"]"
PASS 第一条消息是 albumExportMeta(早于完成) — "meta"
PASS meta.pageCount == done.pageCount — 12
累计加载 75 张 / 239.9 MB(改造前同一本作品是 115 张 / 273.6 MB,跳过全量预载后只下载真正渲染用到的图)
PASS imageCache 常驻峰值 < 60 MB — 50.2 MB(改造前 = 累计值 273.6 MB)
PASS 跑完后 imageCache 清空(引用计数全部归零) — size=0
▶ 单页作品(XML 裁到 1 页)
PASS 单页 isZip — false
PASS 单页 MIME — "image/jpeg"
PASS 单页 pageCount — 1
PASS 单页 fileName 以 .jpg 结尾 — true
PASS 单页产物体积 — 51.8 KB
▶ quality 钳制
q75=38355B q85=52994B q90=68463B q200=52994B q=abc→52994B
PASS 锚:quality 确实影响体积(75/85/90 三者互不相等) — 38355 / 52994 / 68463
PASS 越界 quality=200 回落 85(字节相等且锚成立) — 52994
PASS 非数字 quality=abc 回落 85(字节相等且锚成立) — 52994
PASS 体积随质量严格单调 75 < 85 < 90 — 38355 < 52994 < 68463
=== 结果: PASS=19 FAIL=0 ===