diablo2-web/tests
troytt d7defd8da3 feat(wilderness): 还原 DRLGOUTDOORS_SpawnAct12Waypoint 小站与神殿拓扑放置算法 (#68)
- 在 src/game/wilderness.ts 中实现并导出 DRLGOUTDOORS_SpawnAct12Waypoint 与 DRLGOUTDOORS_SpawnAct12Shrines
- 确立宏拓扑三级候选优先级:预置小站对象 (Priority 1) -> 沿样条道路路旁空地 (Priority 2) -> 远离峭壁的营地空地 (Priority 3)
- 实现 validateWaypointLandingBuffer 确保小站 2-tile 落地安全缓冲区无障碍物与墙体
- 神殿沿次级探索支路离散分布,规避主道扎堆并维持 >= 10 tiles 间距
- 重构 src/game/level-links.ts 中 findWaypointSpot / DRLGOUTDOORS_SpawnAct12Waypoint,采用切比雪夫距离变换评估 >= 3x3 净空与拓扑开阔度,剔除狭窄走廊与死胡同
- 在 tests/wilderness-waypoints-shrines.test.ts 补充拓扑选址与落地安全区验证测试

TAG=agy
CONV=2a1934de-30ef-464e-b3f3-fcbcdbbc49f1
2026-09-18 03:09:19 +00:00
..
fixtures feat(mpq): 实现 ADPCM 与 Huffman 音频解码并接入 Web Audio (fixes #13) 2026-09-14 12:30:21 +00:00
act-scene-monster-plan.test.ts fix(monsters): include superunique and minion monster IDs in PlannedLevel types 2026-09-17 12:36:42 +00:00
animated-tiles.test.ts feat(renderer/map): support animated tiles loop playback (fixes #43) 2026-09-17 06:34:02 +00:00
collision-orientation.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
combat.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
cull.test.ts test(cull): add unit test for bounds rebuild on level switch 2026-09-17 05:48:51 +00:00
dc6.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
dcc.test.ts test: 修复三处跳过守卫,它们只在真实资源到位时才暴露 2026-09-14 14:51:50 +00:00
engine-save-load.test.ts M6:舍弃 map-scene.ts,收敛到 act-scene.ts 单轨 2026-09-15 07:40:56 +00:00
engine.test.ts fix(monster): fix loading performance, monster facing, and spawn logic (#30, #31, #32) 2026-09-15 15:03:28 +00:00
formats-malformed.test.ts test: 修复三处跳过守卫,它们只在真实资源到位时才暴露 2026-09-14 14:51:50 +00:00
formulas.test.ts feat(combat): implement Diablo II 1.10+ combat math & PvE depth mechanics (fixes #24, fixes #39) 2026-09-17 02:52:00 +00:00
implode.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
iso-terrain.test.ts M6:舍弃 map-scene.ts,收敛到 act-scene.ts 单轨 2026-09-15 07:40:56 +00:00
items.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
lockstep-hash.test.ts refactor(lockstep): 按项目规范彻底移除 any 约束逃逸并优化哈希分配性能 (refs #7) 2026-09-14 13:05:18 +00:00
loop.test.ts test(loop): expand timeout tolerance to 120ms to prevent jitter in concurrent runs 2026-09-17 09:16:48 +00:00
m4.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
m5.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
maze-bounds.test.ts fix(map-gen/maze): enforce Levels.txt global bounds SizeX/SizeY on room growth (fixes #48) 2026-09-17 06:59:31 +00:00
maze-objects.test.ts fix(engine): fix logical tautologies, edge conditions, and argument defaults 2026-09-17 15:46:49 +00:00
maze-special-passes.test.ts fix(maze): use PRNG stream in special passes and fix Act 5 temple NE waypoint generation 2026-09-17 13:36:02 +00:00
maze-waypoint.test.ts feat(map-gen/maze): integrate waypoint room into maze preset replacement pass (fixes #47) 2026-09-17 06:33:16 +00:00
monster-art-diagnostics.test.ts fix(scene): 让怪物美术加载失败可观测,不再静默变红方块 2026-09-17 11:40:05 +00:00
monster-art.test.ts fix(monster): fix loading performance, monster facing, and spawn logic (#30, #31, #32) 2026-09-15 15:03:28 +00:00
monster-mapping.test.ts fix(monster-mapping): update hellbovine token to EC, remove XX tokens, and eliminate startsWith fallback 2026-09-17 12:42:44 +00:00
monster-packs.test.ts M7 第一步:真实怪物数据层 2026-09-15 08:06:52 +00:00
monster-rooms.test.ts fix(engine): fix logical tautologies, edge conditions, and argument defaults 2026-09-17 15:46:49 +00:00
monster-streaming.test.ts feat(sim/monsters): lazy room population with bPopulated and active/sleeping streaming 2026-09-17 08:33:19 +00:00
monsters.test.ts fix(monsters): eliminate unwired columns, dead logic, and wire elite modifier scaling 2026-09-17 15:56:33 +00:00
mpq-audio.test.ts feat(mpq): 实现 ADPCM 与 Huffman 音频解码并接入 Web Audio (fixes #13) 2026-09-14 12:30:21 +00:00
mpq-roundtrip.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
net-scene-integration.test.ts refactor(lockstep): 按项目规范彻底移除 any 约束逃逸并优化哈希分配性能 (refs #7) 2026-09-14 13:05:18 +00:00
net.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
npc-paths.test.ts fix(art): 将 NPC 渲染文件的基础寻址从 objects 修正为 monsters 2026-09-14 13:08:46 +00:00
npc-placeholder.test.ts fix(render): NPC 有立绘时不再叠加绿色占位方块 (refs #6) 2026-09-14 23:56:49 +00:00
object-lookup.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
packed-entity-art.test.ts fix(monster-mapping): update hellbovine token to EC, remove XX tokens, and eliminate startsWith fallback 2026-09-17 12:42:44 +00:00
packed-npc-art.test.ts fix(npc): 补齐城镇 NPC 解析的收尾问题并加上回归护栏 (refs #6) 2026-09-14 15:58:51 +00:00
preset.test.ts refactor(map-gen/preset): move Chaos Sanctuary (Level 108) into preset pipeline (fixes #45) 2026-09-17 06:20:35 +00:00
reader.test.ts fix(engine): fix logical tautologies, edge conditions, and argument defaults 2026-09-17 15:46:49 +00:00
render-performance.test.ts test(render/perf): comprehensive lifecycle verification and performance regression suite (fixes #16) 2026-09-17 08:15:13 +00:00
renderer-tuning.test.ts perf(render): optimize GL state with immutable texStorage2D, uniform caching, and configurable discard (fixes #20) 2026-09-17 08:16:05 +00:00
resolve-type1.test.ts fix(npc): 补齐城镇 NPC 解析的收尾问题并加上回归护栏 (refs #6) 2026-09-14 15:58:51 +00:00
roofs.test.ts fix(render): 还原原版暗黑2建筑与城门屋顶过道遮挡消失机制 (#72) 2026-09-18 02:12:37 +00:00
save-schema.test.ts fix(game): 移除不安全的类型转换并增加存档校验 (refs #7) 2026-09-14 12:44:19 +00:00
tbl.test.ts feat(game): decode level names from string.tbl with graceful fallback 2026-09-17 14:14:15 +00:00
tiles.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
variants.test.ts refactor(map-gen/preset): fix variant selection and seam orientation alignment (fixes #42) 2026-09-17 06:18:42 +00:00
warp-tiles.test.ts feat(world): 全局世界连通、关卡无缝切换、传送点、传送门与小地图 (fixes #23) 2026-09-16 23:39:33 +00:00
widths.test.ts test: 修复三处跳过守卫,它们只在真实资源到位时才暴露 2026-09-14 14:51:50 +00:00
wilderness-acts.test.ts fix(wilderness): prevent destructive wiping of walls and presets in roads and bridges 2026-09-17 15:10:59 +00:00
wilderness-borders.test.ts feat(wilderness): 还原 DRLGOUTPLACE_PlaceAct1245OutdoorBorders 边界峭壁与门洞状态机 2026-09-18 02:51:30 +00:00
wilderness-features.test.ts refactor(wilderness): 移除凭空发明的程序化十字矮石墙网络,回归原版自然地貌阻隔 (#65) 2026-09-18 01:38:00 +00:00
wilderness-ground-blend.test.ts Merge branch 'fix/issue-53' 2026-09-17 08:56:41 +00:00
wilderness-jungles.test.ts feat(map-gen/wilderness): implement Act 3 jungle river network and branch topology (fixes #53) 2026-09-17 07:25:07 +00:00
wilderness-population.test.ts feat(map-gen/population): implement wilderness population phase, waypoints, shrines, superuniques & safe zones (fixes #36) 2026-09-17 03:44:12 +00:00
wilderness-roads-multi-act.test.ts refactor(wilderness): 移除凭空发明的程序化十字矮石墙网络,回归原版自然地貌阻隔 (#65) 2026-09-18 01:38:00 +00:00
wilderness-roads.test.ts fix(engine): fix logical tautologies, edge conditions, and argument defaults 2026-09-17 15:46:49 +00:00
wilderness-siege-strips.test.ts fix(wilderness): add seed diversity to Bloody Foothills obstacle placement 2026-09-17 15:25:45 +00:00
wilderness-spline-roads.test.ts feat(wilderness): 用基于控制顶点图 (DRLGVER) 的 Catmull-Rom 样条道路取代栅格化 A* 道路 (#66) 2026-09-18 02:32:14 +00:00
wilderness-superuniques.test.ts fix(monsters): derive superunique specs from SuperUniques table and eliminate fallen1 fallback 2026-09-17 12:54:09 +00:00
wilderness-telemetry.test.ts refactor(wilderness): 移除凭空发明的程序化十字矮石墙网络,回归原版自然地貌阻隔 (#65) 2026-09-18 01:38:00 +00:00
wilderness-waypoints-shrines.test.ts feat(wilderness): 还原 DRLGOUTDOORS_SpawnAct12Waypoint 小站与神殿拓扑放置算法 (#68) 2026-09-18 03:09:19 +00:00
world-graph.test.ts refactor(acts): unify ACT_TOWNS and townLevelForAct single source of truth 2026-09-17 13:31:07 +00:00