diablo2-web/tests
troytt b6fc2512d4 feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455)
The eight Act I outdoor levels (Blood Moor 2, Cold Plains 3, Stony Field
4, Dark Wood 5, Black Marsh 6, Tamoe Highland 7, Burial Grounds 17, Moo
Moo Farm 39) are now generated by the function-by-function port of
D2MOO's D2Common DRLG in src/game/drlg, bit-exact against a native D2MOO
oracle. The legacy Act I generator (src/game/wilderness/*, the Blood Moor
branch and the Act I paths of wilderness.ts) is deleted; there is no
fallback. Acts 2-5 are unchanged.

Port (completes the kernel committed earlier):
- Tile-map stage: DRLGROOMTILE_AddRoomMapTiles with its tile-data,
  linked-tile and warp helpers, DRLGPRESET_AddPresetRoomMapTiles,
  DRLGOUTROOM_InitializeDrlgOutdoorRoom (drlg-outroom.ts), the
  DrlgDrlgLogic.cpp parts they reach (drlg-logic.ts), D2CMP shim updates.
- drlg-dump.ts: runAct1() driver API; schema 3 dumps with per-room tile
  lists. The port is now type-checked (tsconfig no longer excludes it).

Integration:
- drlg-map.ts (replaces drlg/adapter.ts): turns a generated level into
  the bake's DS1-shaped canvas with exact (style, sequence, type) per
  tile and per-cell DT1 masks, objects, seams from the DRLG level links,
  warps from their UNIT_TILE preset units; blank cells stay blocked.
- pack-act-assets: one D2 game seed per (act, variant), a DRLG bake job
  and index.json actLayouts; scripts/lib/drlg-mpq-source.ts feeds the
  port from the MPQs with the oracle's file list.
- act-variants.ts: WorldVariants picks one generated copy per act (and
  the Rogue Encampment DS1 that copy fixed); act-scene.ts and
  verify-world-walk both use it. act-scene no longer paints grass into
  the blank cells of DRLG scenes.
- world-graph: remove the invented Stony Field <-> Dark Wood seam
  (gAct1WildernessDrlgLink / gAct1MonasteryDrlgLink keep them apart;
  they meet only through the Underground Passage); world-placement
  anchors the second group at the Monastery Gate (3000, 1000).
- level-links: findBorderOpening takes an optional edge range.
- d2map: dt1MaskAllows extracted, behaviour unchanged.

Tools and tests:
- tools/d2moo-oracle: tile-map stage and schema 3; the 4 fixtures are
  regenerated (scripts/drlg-fixtures.ts).
- scripts/render-drlg-compare.ts (both dumps through the same adapter
  and renderer, fails unless the XOR is empty) and
  scripts/audit-levels-browser.ts (headless audit of every baked map).
- tests/drlg-act1-oracle.test.ts (all stages, all 4 fixtures) and
  tests/drlg-act1-invariants.test.ts; tests and stress scripts of the
  deleted generator are retired or now run on Acts 2-5 only.
- verify-world-walk: start in the town the runtime opens and floor the
  spawn sub-tile like the movement collision does.

Verification:
- drlg-diff --levels 2-7,17,39 --seeds 32: 32/32 identical at every
  stage; --trace-check 64/64, --isolated 32/32, difficulty 1 and 2 16/16.
- render-drlg-compare, 3 bake copies x 8 levels: 24/24 XOR empty.
- Full re-bake: 365 maps, 0 missing tiles. Browser audit: 355/365 maps,
  133/136 level ids clean (112/124/129: Act 5 minions without art, as
  before).
- verify:world-graph 37583 assertions; verify:world-walk 29/29;
  verify:entity-packs, typecheck clean. vitest 6369 passed; the 6
  failures (5 ground-item name formatting, 123-var3 waypoint) and the
  verify:packs / verify:generators failures also occur at bad6806.

Test pins updated, measured on the new bake: SceneEntrance 172 -> 166
and world-graph edges 286 -> 284 (the removed seam), seamless pairs
27 -> 26 and placement pairs 19 -> 18; full-spectrum floors / walls /
PNGs 1008898 / 237542 / 1390 (the old pins matched no bake of the
current code).

TAG=agy
CONV=a4f9163c-a011-4161-b169-7f361b1ed57e
2026-09-27 15:20:41 +00:00
..
assets test: fix 29 pre-existing vitest failures and ensure test hygiene (Fixes #451) 2026-09-24 17:15:59 +00:00
e2e-drop-parity feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
e2e-skills-113c feat(engine): implement R1 universal 1.13c skill engine, 7-class renderer, arena harness, and M2/E2E suites 2026-09-22 03:22:02 +00:00
engine chore(m5): stabilize full-suite test timeouts and track project/test docs 2026-09-22 04:20:32 +00:00
fixtures feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
helpers feat(engine): implement R1 universal 1.13c skill engine, 7-class renderer, arena harness, and M2/E2E suites 2026-09-22 03:22:02 +00:00
skills feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
act-scene-monster-dispatch.test.ts fix(skill): implement Glacial Spike explosion and 64px AoE freeze (Fixes #430) 2026-09-24 12:23:39 +00:00
act-scene-monster-plan.test.ts fix(monsters): 修正 SuperUniques.txt 随从类名转录笔误与打包白名单脱节 (Issue #115) 2026-09-18 14:58:59 +00:00
act-scene-object-dispatch.test.ts feat(render): refactor transparency and blend modes for light beams and monsters 2026-09-23 14:29:50 +00:00
actor-animator.test.ts feat(anim): 实现基于 8.8 定点数时钟的实体动画状态机与事件调度器 (ActorAnimator) 2026-09-21 13:50:23 +00:00
adv_probe_35b9267.test.ts feat(skills): harden 1.13c Nova and Static Field against adversarial probes (fixes #196, #202) 2026-09-23 17:14:53 +00:00
adversarial-drop-parity-audit.test.ts feat(drop): embed MonStats and SuperUniques with 1.13c multi-diff TC parity (Fixes #410, #411) 2026-09-25 13:44:35 +00:00
adversarial-world-placement-m3-gen2.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
affix-generator.test.ts feat(drop/tooltip): 实现Superior/LowQuality属性、Ethereal无形与Socket打孔生成及Rare逐槽分配 (fixes #131) 2026-09-19 10:43:20 +00:00
affixes.test.ts fix(affix): 校验词缀classspecific职业限制并支持职业专属装备classlevelreq等级需求 (fixes #132) 2026-09-19 10:51:55 +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
animdata.test.ts feat(anim): 实现动画锚点系统、animdata 解析与玩家/怪物动画合成对齐 2026-09-21 13:30:04 +00:00
armor.test.ts test: fix 29 pre-existing vitest failures and ensure test hygiene (Fixes #451) 2026-09-24 17:15:59 +00:00
attack-skill.test.ts feat(class): complete 7-class switching with signature sets and stash treasures (Fixes #379) 2026-09-22 10:45:48 +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
blizzard-challenger-stress.test.ts test(skills): add comprehensive Blizzard missile physics stress verification suite (Ref #400) 2026-09-23 11:35:28 +00:00
blizzard-missile-113c.test.ts feat(skills): implement Blizzard (Skill 59) with 1.13c parity and baked missile assets (Ref #400) 2026-09-23 11:35:28 +00:00
blizzard-stress.test.ts test(skills): add comprehensive Blizzard missile physics stress verification suite (Ref #400) 2026-09-23 11:35:28 +00:00
boss.test.ts feat(items): 属性词条具体数值Roll点、统一1.13c英文规范与品质降级Fallback机制 (Issue #122) 2026-09-19 04:17:15 +00:00
cast-overlay-113c.test.ts fix(skills): remove translucent solid light boxes during cast overlay animation (#386, #395) 2026-09-23 06:14:11 +00:00
challenger-cold-armors-stress.test.ts fix(sor-cold): remediate number overload contract and wire reactive combat hooks (Issue #194, #204, #214) 2026-09-24 01:06:25 +00:00
challenger-m1-adversarial.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
challenger-m1-controlbar-stress.test.ts feat(char): pack and render all 7 hero classes with R8 atlases and tests 2026-09-22 02:38:22 +00:00
challenger-m1-elite-stats.test.ts fix(monsters): enforce 1.13c champion [2,4] and unique [3,6] minion pack sizes (Fixes #448) 2026-09-24 14:01:16 +00:00
challenger-m1-stress.test.ts fix(monsters): enforce 1.13c champion [2,4] and unique [3,6] minion pack sizes (Fixes #448) 2026-09-24 14:01:16 +00:00
challenger-m2-adversarial.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
challenger-m2-level-names.test.ts fix: resolve slug edge cases and Act 5 Pandemonium level names (Fixes #147) 2026-09-22 03:17:22 +00:00
challenger-m2-statistical-stress.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
challenger-m2-stress.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
challenger-m3-adversarial.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
challenger-m3-charged-bolt-telekinesis-stress.test.ts test(skills): persist M3 and M4 adversarial stress test suites on main 2026-09-23 21:00:53 +00:00
challenger-m3-entity-concurrency.test.ts fix(entities): bake the Hell Bovine (MonStats Code EC) art for the Moo Moo Farm 2026-09-27 15:18:30 +00:00
challenger-m3-statistical-stress.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
challenger-m3-tooltip-stress.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
challenger-m4-adversarial.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
challenger-m4-determinism-parity.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
challenger-m4-inventory-audit.test.ts test(inventory): track challenger M4 inventory audit suite 2026-09-22 05:02:56 +00:00
challenger-m4-lockstep-stress.test.ts feat(drop): overhaul item drop engine for strict 1.13c assembly parity (Fixes #412, #413, #414, #415, #416, #417, #418, #419, #420, #421, #422, #423, #424, #425, #426, #427, #428) 2026-09-25 22:37:17 +00:00
challenger-m4-stress.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
challenger-m4-thunder-storm-energy-shield-mastery.test.ts test(skills): persist M3 and M4 adversarial stress test suites on main 2026-09-23 21:00:53 +00:00
challenger-m4-thunderstorm-energyshield-mastery-stress.test.ts test(skills): persist M3 and M4 adversarial stress test suites on main 2026-09-23 21:00:53 +00:00
challenger-m5-stash-entities-gold.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
challenger-m5-stash-grid.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
challenger-m6-attack-bindings.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
challenger-m6-attack-combat.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
challenger-m7-skill-formulas.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
challenger-m7-tooltip-clamping.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
challenger-m8-docking-stress.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
challenger-m8-input-routing.test.ts docs: update README with art assets, JSON data specifications, and UI parity 2026-09-22 13:12:25 +00:00
charm-ground-flippy-parity.test.ts fix(ground): hover ground item reveals label & fix grand charm flippy sprite (Fixes #447, Fixes #452) 2026-09-24 13:06:15 +00:00
class-switching.test.ts fix(ui): authentic tab indexing for skill tree and waypoint panels 2026-09-23 01:22:51 +00:00
classes.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +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-kill-lifecycle.test.ts fix(combat): resolve static typecheck errors and event double-clear race (Fixes #404) 2026-09-24 07:18:35 +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
cursor.test.ts fix(ui): 点击商人面板买/卖/修理按钮后鼠标样式切换为原版 buysell.dc6 交易光标 (Fixes #491) 2026-09-27 07:47:31 +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
data-contract-lighting.test.ts feat(lighting): implement authentic Diablo II v1.13c Glide dynamic lighting system 2026-09-24 08:02:29 +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
death-animation-drop-gating.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
debug-toolbar-density-elite.test.ts feat(debug): add monster density and elite chance selectors to acts.html (Fixes #450) 2026-09-24 14:50:27 +00:00
drlg-act1-invariants.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
drlg-act1-oracle.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
drlg-alias-guard.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
drop-pipeline.test.ts fix(drop): 基于ItemTypes.txt标志驱动品质判定与classSpecific传递,杜绝普通/劣质戒指护身符 (fixes #127) 2026-09-19 10:01:46 +00:00
drop-sfx-parity.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
dungeon-wilderness-animations.test.ts test: fix 29 pre-existing vitest failures and ensure test hygiene (Fixes #451) 2026-09-24 17:15:59 +00:00
e2e-m11-adversarial.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
e2e-m11-skills.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +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 feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
exp-bar-m1-stress.test.ts feat(char): pack and render all 7 hero classes with R8 atlases and tests 2026-09-22 02:38:22 +00:00
fail-fast-drop.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
firebolt-missile-113c.test.ts feat(skills): authentic baked missile DCC atlas and explosion rendering 2026-09-23 02:35:55 +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
frozen-orb-missile-113c.test.ts feat(skills): implement Frozen Orb with 1.13c parity and visual assets 2026-09-23 08:07:47 +00:00
full-spectrum-drop-parity.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
gems-runes-parity.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
gems.test.ts feat(items): 实现宝石与符文镶嵌属性 Gems.txt (Issue #106) 2026-09-18 11:48:37 +00:00
glacial-spike-quickbar.test.ts fix(ground-items): authentic ground item icon sprites and eliminate residual white dot 2026-09-23 05:48:03 +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
ground-drop-parity-issues.test.ts fix(drop): unify monster and inventory ground drops on 16x8 sub-tile lattice with bilingual metadata parity 2026-09-26 04:51:32 +00:00
ground-drop-sprite.test.ts fix(ground): resolve monster-drop ground sprites from padded .d2s item codes 2026-09-24 12:30:30 +00:00
ground-items-alt-labels.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
ground-items-drop.test.ts feat(ground): monster loot and gold ground spawning, isometric scatter, and flippy bounce (Fixes #406) 2026-09-24 09:39:09 +00:00
ground-items-flippy-parity.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
ground-items-full-bounce.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
ground-items-pickup.test.ts fix(ground-items): authentic ground item icon sprites and eliminate residual white dot 2026-09-23 05:48:03 +00:00
ground-items-quadrant-spiral.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
ground-items-reachability.test.ts fix(drop): prevent items and gold from dropping into player-unreachable locations (Fixes #492) 2026-09-27 06:09:02 +00:00
ground-items-render.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
ground-items-scatter-bounce.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
hero-classes-art.test.ts feat(skills): full 33 Paladin aura visual overlays & offline UI atlases parity (Fixes #397) 2026-09-23 10:33:34 +00:00
hotkeys-parity.test.ts fix(ground-items): authentic ground item icon sprites and eliminate residual white dot 2026-09-23 05:48:03 +00:00
hotkeys.test.ts feat(ui): organize left and right speedbar skill selection by skill tree rows (closes #402) 2026-09-24 02:44:09 +00:00
hydra-missile-113c.test.ts fix(skills): eliminate idle hydra turret inward crossfire self-targeting (Ref #399) 2026-09-23 09:58:57 +00:00
implode.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
input-controls.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
inventory.test.ts feat(inventory): support ring, amulet, jewel, and charm VarInvGfx graphic variants (Fixes #375) 2026-09-22 09:36:29 +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
issue-480-tbl-item-parity.test.ts fix(items): strictly align item names & stat descriptions with 1.13c .tbl across inventory, stash, and ground (fixes #480) 2026-09-26 05:23:09 +00:00
item-cost.test.ts feat(vendor): implement 1.13c vendor inventory generator, pricing engine & town NPC UI (Fixes #481, #482, #483, #484, #485, #486) 2026-09-26 05:49:03 +00:00
item-names.test.ts feat(items): 实现物品名本地化三层链与中英文 fallback (Issue #108) 2026-09-18 12:00:46 +00:00
item-ratio.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
item-struct.test.ts feat(items): 冻结物品数据结构与 .d2s 位对齐规格预留 (Issue #88) 2026-09-18 11:12:17 +00:00
item-to-ui-bridge.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
item-tooltip-123-125.test.ts fix(tooltip): 对齐1.13c dgrp全等合并规则,四抗与四维属性仅在全部相等时折叠显示 (fixes #130) 2026-09-19 10:32:47 +00:00
item-tooltip-124.test.ts fix(tooltip/affix): 对齐1.13c Properties/ItemStatCost/.tbl全量182项词条模板与descFunc=11规则 (fixes #124) 2026-09-19 07:43:58 +00:00
item-tooltip-color-dye.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
item-tooltip-i18n-122.test.ts feat(i18n): 补全暗黑2全量词缀汉化、修复语序倒装、充能技能负数与属性词条解析 (Issue #122) 2026-09-19 12:35:08 +00:00
item-types.test.ts test: fix 29 pre-existing vitest failures and ensure test hygiene (Fixes #451) 2026-09-24 17:15:59 +00:00
item-upgrade.test.ts feat(items): 实现 exceptional / elite 基底升级 (Issue #103) 2026-09-18 11:46:21 +00:00
items.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
killedge-113c.test.ts feat(maze): 还原相邻 Room 边界消隐去重 (bKillEdge) 与门洞平滑衔接 (Issue #77) 2026-09-18 09:05:17 +00:00
light-grid.test.ts feat(lighting): implement authentic Diablo II v1.13c Glide dynamic lighting system 2026-09-24 08:02:29 +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 fix(loot): 修复怪物选择器TC被Baal(H)死锁覆盖的缺陷 (Issue #121) 2026-09-19 03:58:27 +00:00
m4-visual-belt-net-parity.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
m4.test.ts test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (fixes #14) 2026-09-14 12:25:28 +00:00
m5.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
maze-113c.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +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(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +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
meteor-adversarial-stress.test.ts fix(skills): implement falling meteor dual sprite trajectory, frame indexing, exact tick-60 detonation, and wall collision 2026-09-23 13:06:24 +00:00
meteor-stress.test.ts fix(test): align test expectations and monster max resistance with 1.13c parity 2026-09-24 17:30:38 +00:00
misc-items.test.ts feat(items): 加载 Misc.txt (Issue #93) 2026-09-18 11:26:45 +00:00
missile-skills-113c.test.ts test: fix 29 pre-existing vitest failures and ensure test hygiene (Fixes #451) 2026-09-24 17:15:59 +00:00
monster-art-diagnostics.test.ts fix(scene): 让怪物美术加载失败可观测,不再静默变红方块 2026-09-17 11:40:05 +00:00
monster-art.test.ts feat(render): refactor transparency and blend modes for light beams and monsters 2026-09-23 14:29:50 +00:00
monster-drop-e2e.test.ts feat(items): spawn magic/rare/set/unique drops unidentified and implement full 1.13c identification 2026-09-27 05:39:21 +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
monster-treasure-class.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
monsters-136-spectrum.test.ts fix(monsters): align monster density and champion/unique elite generation with 1.13c Levels.txt (Fixes #448) 2026-09-24 13:26:34 +00:00
monsters.test.ts fix(monsters): enforce 1.13c champion [2,4] and unique [3,6] minion pack sizes (Fixes #448) 2026-09-24 14:01:16 +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 feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +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-animation-113c.test.ts feat(scene): authentic 1.13c animated map objects and phase staggering (Fixes #387) 2026-09-23 03:14:14 +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
overlay-assets-m0.test.ts test: fix 29 pre-existing vitest failures and ensure test hygiene (Fixes #451) 2026-09-24 17:15:59 +00:00
pack-pipelines-transparency.test.ts feat(render): refactor transparency and blend modes for light beams and monsters 2026-09-23 14:29:50 +00:00
packed-entity-art.test.ts fix(entities): bake the Hell Bovine (MonStats Code EC) art for the Moo Moo Farm 2026-09-27 15:18:30 +00:00
packed-npc-art.test.ts fix(npc): 补齐城镇 NPC 解析的收尾问题并加上回归护栏 (refs #6) 2026-09-14 15:58:51 +00:00
parity-1.13c.test.ts feat(tooltip/drop): 接线properties.ts实现显示层数据驱动化并完成Phase4 1.13c细节对齐 (fixes #133) 2026-09-19 11:06:06 +00:00
physical-gold-piles.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
png-stress.test.ts feat(pipeline): multi-worker concurrency architecture for entity animation packing (Fixes #396) 2026-09-23 09:55:05 +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
quest-special-drops.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
quest-tbl.test.ts feat(quest): authentic Diablo II 1.13c quest log tbl strings (Fixes #381) 2026-09-22 11:24:02 +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 feat(boss): 新建幕Boss击杀模拟与真实属性掉落页面 (boss.html) 2026-09-19 03:42:32 +00:00
scene-lighting.test.ts fix(lighting): calibrate isometric sub-tile torch radii and cave quadratic falloff 2026-09-24 10:46:30 +00:00
set-items-icons-dye.test.ts feat(skills): full 33 Paladin aura visual overlays & offline UI atlases parity (Fixes #397) 2026-09-23 10:33:34 +00:00
set-items.test.ts feat(items): 加载 SetItems.txt 与 Sets.txt (Issue #98) 2026-09-18 11:35:37 +00:00
shadow-rendering.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
skill-calc-engine.test.ts fix(skills): reconstruct skill tooltips to 1.13c formula and next level preview (Fixes #152) 2026-09-22 07:13:00 +00:00
skill-quickbar-tooltip.test.ts feat(ui): authentic Diablo II 1.13c skill quickbar & speedbar tooltips (Fixes #380) 2026-09-22 10:57:58 +00:00
skill-tree-panel.test.ts fix(ui): 对齐技能树剩余技能点凹槽、移除底部冗余横幅并归位关闭按钮插槽 2026-09-27 05:50:42 +00:00
skill-tree-stress.test.ts chore(m5): stabilize full-suite test timeouts and track project/test docs 2026-09-22 04:20:32 +00:00
skill-tree.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
skills-batch1.test.ts test: fix 29 pre-existing vitest failures and ensure test hygiene (Fixes #451) 2026-09-24 17:15:59 +00:00
skills-combat-stress.test.ts fix(necro): resolve 7 pre-existing 1.13c parity test regressions (#453) 2026-09-24 17:32:34 +00:00
skills-stress.test.ts fix(test): align test expectations and monster max resistance with 1.13c parity 2026-09-24 17:30:38 +00:00
speedbar-authentic-parity.test.ts feat(ui): organize left and right speedbar skill selection by skill tree rows (closes #402) 2026-09-24 02:44:09 +00:00
starter-items-inv-size-parity.test.ts fix(inventory): correct Swirling Crystal inventory size to 1x3 and fix Oculus sprite parity 2026-09-23 07:25:25 +00:00
stash.test.ts fix(ui): align Private Stash header and gold text inside TradeStash.dc6 recessed boxes (Fixes #493) 2026-09-27 05:54:58 +00:00
stress-world-placement.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
superunique-minion-drop.test.ts feat(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
superuniques-fidelity.test.ts fix(monsters): 修正 SuperUniques.txt 随从类名转录笔误与打包白名单脱节 (Issue #115) 2026-09-18 14:58:59 +00:00
synergy-stress.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +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
town-portal.test.ts feat(portal): implement v1.13c Town Portal tome/scroll, DS1 town positions & two-way travel (#394) 2026-09-26 15:11:09 +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(skills): complete 1.13c D2MOO parity for Assassin and Universal skills (#154-#374) 2026-09-25 22:13:38 +00:00
ui-hud.test.ts fix(ui): restore Horadric Cube Transmute and Close buttons per D2Client.dll 1.13c parity 2026-09-27 08:36:19 +00:00
unidentified-drops-identify.test.ts feat(items): spawn magic/rare/set/unique drops unidentified and implement full 1.13c identification 2026-09-27 05:39:21 +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
vendor-generator.test.ts feat(vendor): implement 1.13c vendor inventory generator, pricing engine & town NPC UI (Fixes #481, #482, #483, #484, #485, #486) 2026-09-26 05:49:03 +00:00
vendor-panel-ui.test.ts fix(ui): align vendor and gamble item background colors with D2 1.13c item usability rules 2026-09-27 08:35:32 +00:00
vendor-service.test.ts feat(vendor): implement 1.13c vendor inventory generator, pricing engine & town NPC UI (Fixes #481, #482, #483, #484, #485, #486) 2026-09-26 05:49:03 +00:00
warp-tiles.test.ts feat(world): 全局世界连通、关卡无缝切换、传送点、传送门与小地图 (fixes #23) 2026-09-16 23:39:33 +00:00
waypoint-fidelity-regression.test.ts fix(waypoint): 修复冰冷之原等14处场景小站未渲染缺陷并消除全量跨幕ID冲突 (#409) 2026-09-24 06:10:49 +00:00
weapons.test.ts feat(items): 加载 Weapons.txt (Issue #92) 2026-09-18 11:27:13 +00:00
widescreen-docking.test.ts feat(ui): implement widescreen left/right panel docking and central vision corridor (Fixes #153) 2026-09-22 07:56:21 +00:00
widths.test.ts test: 修复三处跳过守卫,它们只在真实资源到位时才暴露 2026-09-14 14:51:50 +00:00
wilderness-acts.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
wilderness-barricade-stress.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
wilderness-borders.test.ts feat(wilderness): 还原 DRLGOUTPLACE_PlaceAct1245OutdoorBorders 边界峭壁与门洞状态机 2026-09-18 02:51:30 +00:00
wilderness-features.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
wilderness-ground-blend.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20: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(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
wilderness-roads-multi-act.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
wilderness-seams.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
wilderness-seed-sensitivity.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +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(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
wilderness-superuniques.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
wilderness-telemetry.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
wilderness-waypoints-shrines.test.ts feat(drlg): generate Act I outdoor levels with the 1:1 D2MOO port (#455) 2026-09-27 15:20:41 +00:00
world-graph.test.ts feat(ui/controls): 实现完整 UI/HUD 系统、操作快捷键对齐与装备词条染色 (fixes #134, fixes #135, fixes #136, fixes #137, fixes #138, fixes #139, fixes #140) 2026-09-21 11:09:10 +00:00
world-panels.test.ts fix(ui): restore Horadric Cube Transmute and Close buttons per D2Client.dll 1.13c parity 2026-09-27 08:36:19 +00:00