diablo2-web/tests
troytt 79bf8f4cda perf(scene): 解决首屏阻塞式 166 次 MPQ Range 请求导致的地图载入卡顿 (Issue #117)
- 将 DropTables 移出首屏临界路径,消除 runScene 启动时 166 次 MPQ HTTP Range 阻塞
- 引入 getSharedDropTables 全局单例记忆化缓存,避免跨地图切关卡时重复挂载与重读 MPQ
- 在 boot() 初始阶段提早非阻塞式预热,并在 GameEngine 创建后异步注入 dropTables
- 在 GameEngine 中添加 setDropTables 方法支持动态掉落表注入
- 新增 tests/scene-drop-preload.test.ts 覆盖单例缓存与延迟注入行为验证

TAG=agy
CONV=2a1934de-30ef-464e-b3f3-fcbcdbbc49f1
2026-09-19 03:03:28 +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): 修正 SuperUniques.txt 随从类名转录笔误与打包白名单脱节 (Issue #115) 2026-09-18 14:58:59 +00:00
affix-generator.test.ts feat(items): 实现词缀抽取与 alvl 计算 (Issue #104) 2026-09-18 11:48:25 +00:00
affixes.test.ts feat(items): 加载 MagicPrefix.txt 与 MagicSuffix.txt (Issue #94) 2026-09-18 11:28:39 +00:00
animated-tiles-speed.test.ts feat(anim): 接入 LvlPrest.txt 的 Animate 列还原逐关卡动画速度 (Issue #85) 2026-09-18 10:57:00 +00:00
animated-tiles.test.ts feat(anim): 接入 LvlPrest.txt 的 Animate 列还原逐关卡动画速度 (Issue #85) 2026-09-18 10:57:00 +00:00
armor.test.ts feat(items): 加载 Armor.txt (Issue #91) 2026-09-18 11:24:47 +00:00
auto-tc.test.ts feat(items): 实现 auto-TC 运行时生成 (Issue #100) 2026-09-18 11:47:34 +00:00
automagic.test.ts feat(items): 加载 AutoMagic.txt (Issue #96) 2026-09-18 11:13:14 +00:00
collision-113c.test.ts feat(collision): 还原原版 1.13c 16位多层碰撞掩码系统与投射物/视线穿透 (Issue #75) 2026-09-18 07:58:49 +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
d2-rng.test.ts feat(rng): 实现 1.13c PRNG 64位 LCG 与 per-unit seed (Issue #87) 2026-09-18 11:08:37 +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
drlg-alias-guard.test.ts refactor(drlg): 清理伪造的 Blizzard 命名与重复别名 (Issue #81) 2026-09-18 10:36:27 +00:00
drop-pipeline.test.ts feat(items): 用 TC 树替换 rollDrop 并彻底删除 demo 物品数据 (Issue #107) 2026-09-18 12:54:21 +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
gems.test.ts feat(items): 实现宝石与符文镶嵌属性 Gems.txt (Issue #106) 2026-09-18 11:48:37 +00:00
global-dt1-load.test.ts fix(tiles): 参照 1.13c DRLGROOM_LoadDt1Files 补充常驻全局通用 DT1 (InvisWal / Blank / Warp) (Issue #112) 2026-09-18 14:31:42 +00:00
implode.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
iso-spawn-void-guard.test.ts fix(d2map): 修正空单元格阻挡掩码与玩家出生点虚空悬空问题 (Issue #114) 2026-09-18 14:30:43 +00:00
iso-terrain.test.ts M6:舍弃 map-scene.ts,收敛到 act-scene.ts 单轨 2026-09-15 07:40:56 +00:00
item-names.test.ts feat(items): 实现物品名本地化三层链与中英文 fallback (Issue #108) 2026-09-18 12:00:46 +00:00
item-ratio.test.ts feat(items): 实现 ItemRatio 品质判定 (Issue #102) 2026-09-18 11:46:42 +00:00
item-struct.test.ts feat(items): 冻结物品数据结构与 .d2s 位对齐规格预留 (Issue #88) 2026-09-18 11:12:17 +00:00
item-types.test.ts feat(items): 加载 ItemTypes.txt 与 Equiv 继承判定 (Issue #89) 2026-09-18 11:11:07 +00:00
item-upgrade.test.ts feat(items): 实现 exceptional / elite 基底升级 (Issue #103) 2026-09-18 11:46:21 +00:00
items.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
killedge-113c.test.ts feat(maze): 还原相邻 Room 边界消隐去重 (bKillEdge) 与门洞平滑衔接 (Issue #77) 2026-09-18 09:05:17 +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
loot.test.ts feat(loot): 完善首杀路由、种子锁规避与暂停继续交互 (Issue #110) 2026-09-18 15:05:37 +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-113c.test.ts feat(maze): 还原核心迷宫专用布局例程与基于 LvlPrest Def ID 的精准预设替换 (Issue #73) 2026-09-18 08:45:15 +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 feat(maze): 补齐后宫、地窖、蜘蛛巢穴与熔岩层迷宫特殊预设表 (Issue #84) 2026-09-18 11:09:44 +00:00
maze-specials.test.ts feat(maze): 补齐后宫、地窖、蜘蛛巢穴与熔岩层迷宫特殊预设表 (Issue #84) 2026-09-18 11:09:44 +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
misc-items.test.ts feat(items): 加载 Misc.txt (Issue #93) 2026-09-18 11:26:45 +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
outdoor-vertices-path.test.ts feat(wilderness): 还原边界顶点链表与格子级土路算法替换 Catmull-Rom 样条 (Issue #82) 2026-09-18 11:37:20 +00:00
outdoor-waypoint-113c.test.ts feat(wilderness): 还原 DRLGOUTDOORS_SpawnAct12Waypoint 原版 8x8 单元网格打乱与有效性判定 (Issue #80) 2026-09-18 11:15:41 +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 feat(preset): 统一 35 个预设关卡流水线与 8×8 Room 几何装配切片 (Issue #74) 2026-09-18 07:00:53 +00:00
properties.test.ts feat(items): 加载 ItemStatCost.txt 与 Properties.txt (Issue #90) 2026-09-18 11:14:41 +00:00
rare-names.test.ts feat(items): 加载 RarePrefix.txt 与 RareSuffix.txt (Issue #95) 2026-09-18 11:12:17 +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
runeword.test.ts feat(items): 实现符文之语 Runes.txt 与镶嵌装配 (Issue #105) 2026-09-18 11:55:12 +00:00
save-schema.test.ts fix(game): 移除不安全的类型转换并增加存档校验 (refs #7) 2026-09-14 12:44:19 +00:00
scene-drop-preload.test.ts perf(scene): 解决首屏阻塞式 166 次 MPQ Range 请求导致的地图载入卡顿 (Issue #117) 2026-09-19 03:03:28 +00:00
set-items.test.ts feat(items): 加载 SetItems.txt 与 Sets.txt (Issue #98) 2026-09-18 11:35:37 +00:00
superuniques-fidelity.test.ts fix(monsters): 修正 SuperUniques.txt 随从类名转录笔误与打包白名单脱节 (Issue #115) 2026-09-18 14:58:59 +00:00
tbl.test.ts feat(game): decode level names from string.tbl with graceful fallback 2026-09-17 14:14:15 +00:00
tile-cache-seed.test.ts fix(wilderness): 消除 DRLGROOMTILE_GetTileCache 中的 Math.random 强制注入确定性 seed (Issue #78) 2026-09-18 10:30:32 +00:00
tiles.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
tilesub-113c.test.ts feat(tilesub): 严格对齐 1.13c LvlSub.txt 试验次数与全排列候选位地块替换算法 (Issue #76) 2026-09-18 08:06:50 +00:00
treasure-class.test.ts feat(items): 加载 TreasureClassEx.txt (Issue #99) 2026-09-18 11:35:05 +00:00
treasure-engine.test.ts feat(items): 实现 TreasureClassEx 展开算法 (Issue #101) 2026-09-18 11:49:45 +00:00
unique-items.test.ts feat(items): 加载 UniqueItems.txt (Issue #97) 2026-09-18 11:29:08 +00:00
variant-distribution.test.ts fix(drlg): 消除 pickVariant 45度斜向机械平铺条纹并纠正生成器虚构 Style (Issue #116) 2026-09-18 14:30:37 +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
weapons.test.ts feat(items): 加载 Weapons.txt (Issue #92) 2026-09-18 11:27:13 +00:00
widths.test.ts test: 修复三处跳过守卫,它们只在真实资源到位时才暴露 2026-09-14 14:51:50 +00:00
wilderness-acts.test.ts feat(wilderness): 还原边界顶点链表与格子级土路算法替换 Catmull-Rom 样条 (Issue #82) 2026-09-18 11:37:20 +00:00
wilderness-borders.test.ts feat(wilderness): 还原 DRLGOUTPLACE_PlaceAct1245OutdoorBorders 边界峭壁与门洞状态机 2026-09-18 02:51:30 +00:00
wilderness-features.test.ts fix(wilderness): 修复 Act 1 荒野关卡内部连通性与通路屏障 (Issue #79) 2026-09-18 10:52:05 +00:00
wilderness-ground-blend.test.ts fix(wilderness): 修复 pack-act-assets 漏传 dt1Libraries 及 wilderness 自动贴图跨章节污染 (Issue #113) 2026-09-18 14:26:16 +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 test(tiles): 同步 Kurast/Mesa/Desert/Barricade 真实 DT1 瓦片断言 (Issue #83) 2026-09-18 11:32:55 +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-seams.test.ts feat(wilderness): 实现相邻野外关卡接缝空间对齐与出入口坐标咬合 (Issue #69) 2026-09-18 03:29:18 +00:00
wilderness-siege-strips.test.ts fix(drlg): 消除 pickVariant 45度斜向机械平铺条纹并纠正生成器虚构 Style (Issue #116) 2026-09-18 14:30:37 +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): 修正 SuperUniques.txt 随从类名转录笔误与打包白名单脱节 (Issue #115) 2026-09-18 14:58:59 +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 原版 8x8 单元网格打乱与有效性判定 (Issue #80) 2026-09-18 11:15:41 +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