diablo2-web/scripts
troytt 5b3a9db986 fix(maze): 让 UNIMPLEMENTED_PASSES 反映真实缺口
`UNIMPLEMENTED_PASSES` 此前被硬编码为 `[]`,注释声称 11 个核心地牢 pass 全部
实现,于是 `stats.unimplementedPasses` 在每一关都无条件报告「零缺口」——包括
那些 `specials` 表为空、根本不生成楼梯房间的 level type。

改为从 `MAZE_LEVEL_TYPE_PROFILES` 实测推导:

- 新增 `unimplementedPassesFor(levelTypeName)`,按 level type 返回缺口:
  没有 profile 行,或 `specials` 为空且不是 `singleRoom` 定制关。
- `UNIMPLEMENTED_PASSES` 改为所有 level type 缺口的并集,因此非空。
- `generateMaze` 的 `stats.unimplementedPasses` 改报本关自己的缺口,
  而不是全局常量;`unresolvedRoles` / `notes` 本来就已随 stats 返回。

同时修正两处已经与代码不符的注释:`maze.ts` 里「per-act 装饰 pass 均未复现」
(它们已在 `maze-special-passes.ts` 中实现),以及 `pack-act-assets.ts` 里
「第二幕下水道 / 墓穴 / 第三幕地牢 specials 为空」(这三者现在都有 specials,
真正为空的是 Harem、Basement、Spider、Act 5 Lava)。

测试:原 `UNIMPLEMENTED_PASSES is completely empty` 断言的是被修正的错误行为,
改为断言它恰好列出所有 `specials` 为空的 level type;另加 4 个用例覆盖
按 level type 查询与 `generateMaze` 的 stats 透出。

TAG=agy
CONV=2a1934de-30ef-464e-b3f3-fcbcdbbc49f1
2026-09-17 11:29:06 +00:00
..
browser M6:舍弃 map-scene.ts,收敛到 act-scene.ts 单轨 2026-09-15 07:40:56 +00:00
lib fix(formats): 按官方哈希桶格式重写 tbl 解码器与编码器 (fixes #8) 2026-09-14 12:30:07 +00:00
dump-format.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
inspect-mpq.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
make-fixtures.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
make-map-fixtures.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
make-mpq-fixture.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
make-pl2-fixture.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
net-relay.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
net-server.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
pack-act-assets.ts fix(maze): 让 UNIMPLEMENTED_PASSES 反映真实缺口 2026-09-17 11:29:06 +00:00
pack-entity-assets.ts perf(renderer): implement Raw 8-bit GPU Index Texture (gl.R8) + Shader Hardware Palette Lookup (#34) 2026-09-16 02:10:34 +00:00
png.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
port-object-lookup.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
publish-packs.ts fix(publish): fine-grained batched push with resume 2026-09-15 06:33:19 +00:00
rebuild-pack-index-and-monsters.ts fix(packs): restore full Acts 1..5 index and map/bake all 741 monster IDs across all acts (#33) 2026-09-16 01:43:11 +00:00
verify-acts.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-archive.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-audio.ts feat(mpq): 实现 ADPCM 与 Huffman 音频解码并接入 Web Audio (fixes #13) 2026-09-14 12:30:21 +00:00
verify-collision-orientation.ts fix(collision): 修复 DT1 碰撞网格方向与朝向对齐 (fixes #4) 2026-09-14 07:54:38 +00:00
verify-combat.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-d2-data.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-dc6.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-dcc.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-deploy.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-depth-order.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-dt1-pixels.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-format-parity.sh chore(scripts): 使用 tsx 运行 TypeScript 脚本,解除对特定 Node 运行时的依赖 (fixes #12) 2026-09-14 11:44:43 +00:00
verify-formats.ts test(formats): 增加针对损坏资产的覆盖率和回归测试 (fixes #11) 2026-09-14 13:24:25 +00:00
verify-generators.ts refactor(map-gen/preset): move Chaos Sanctuary (Level 108) into preset pipeline (fixes #45) 2026-09-17 06:20:35 +00:00
verify-implode.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-items.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-listfile.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-m4.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-m5.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-monsters.ts feat(monsters): 完成 M7 怪物 COF/DCC 8向动画与美术层接入 2026-09-15 09:45:23 +00:00
verify-mpq-roundtrip.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-net.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-object-lookup.ts feat(objects): 完整实现对象层解码、打包图集与场景深度绘制 (#5) 2026-09-14 09:27:54 +00:00
verify-objects.ts fix: 修复非基底对象 NPC 丢失及其资源检索区分大小写的问题 2026-09-14 15:37:32 +00:00
verify-packs.ts feat(world): 全局世界连通、关卡无缝切换、传送点、传送门与小地图 (fixes #23) 2026-09-16 23:39:33 +00:00
verify-renderer-lifecycle.ts Merge branch 'fix/issue-16' into main 2026-09-17 09:10:59 +00:00
verify-sprites.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-tbl.ts fix(formats): 按官方哈希桶格式重写 tbl 解码器与编码器 (fixes #8) 2026-09-14 12:30:07 +00:00
verify-tile-alignment.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-tiles.ts verify-tiles: 给 DT1 库缓存加上限,避免跑全量时内存涨到数 GB 2026-09-14 09:28:07 +08:00
verify-widths.ts 初始提交:从零实现的暗黑破坏神 II WebGL2 引擎(TypeScript + Vite,零运行时依赖) 2026-09-13 18:10:28 +08:00
verify-world-graph.ts feat(world): 全局世界连通、关卡无缝切换、传送点、传送门与小地图 (fixes #23) 2026-09-16 23:39:33 +00:00
verify-world-walk.ts feat(world): 全局世界连通、关卡无缝切换、传送点、传送门与小地图 (fixes #23) 2026-09-16 23:39:33 +00:00
worktree.sh chore(tooling): add git worktree helper script for multi-session development 2026-09-17 05:49:58 +00:00