diablo2-web/TEST_READY.md

4.4 KiB
Raw Blame History

TEST_READY — Diablo II 1.13c Isometric Automap & Minimap E2E Test Suite

Test Runner

npx vitest run tests/e2e-automap-113c/

Typecheck command:

npm run typecheck

Full-spectrum 136-level offline + headless Chrome CDP audit command:

npx tsx scripts/verify-automap.ts

Coverage Summary

  • Features in PROJECT.md § Feature Inventory: 13 (F1–F13)
  • Total E2E Test Files: 4
  • Total E2E Test Cases: 160 (>= 155 required)
    • Tier 1 (tests/e2e-automap-113c/tier1-feature-coverage.test.ts): 65 tests (5 per feature across F1–F13, >= 65 required)
    • Tier 2 (tests/e2e-automap-113c/tier2-boundary-corner.test.ts): 65 tests (5 per feature across F1–F13, >= 65 required)
    • Tier 3 (tests/e2e-automap-113c/tier3-cross-feature-combinations.test.ts): 18 tests (>= 15 required)
    • Tier 4 (tests/e2e-automap-113c/tier4-real-world-scenarios.test.ts): 12 tests (>= 10 required)

Feature Checklist (F1–F13)

  • F1: AutoMap.txt 36-Entry Level Name & 20-Entry Tile Name Lookup Tables (D2Common.dll 0x6fdef720 & 0x6fdef7b0)
    • Tier 1: F1.1–F1.5 (5 tests)
    • Tier 2: F1.B1–F1.B5 (5 tests)
    • Tier 3: C1, C18
  • F2: AutoMap.txt 3,288-Row Parser & [36][20] Bucketed Lookup with Deterministic Cel1..Cel4 Variant Hash (D2Common.dll 0x6fd5f8f0 & 0x6fd5fdd0)
    • Tier 1: F2.1–F2.5 (5 tests)
    • Tier 2: F2.B1–F2.B5 (5 tests)
    • Tier 3: C1, C2, C4, C18
  • F3: 0x6fba1528 18-Group Cell Priority Weight Table & Same-Pixel Deduplication (D2Client.dll 0x6fba1528 & 0x6fb11320)
    • Tier 1: F3.1–F3.5 (5 tests)
    • Tier 2: F3.B1–F3.B5 (5 tests)
    • Tier 3: C2, C3, C4, C18
  • F4: 1.13c Special Tile, Object & Monster Overrides (0x6fd89360, 0x6fb11d00, 0x6fb10c40)
    • Tier 1: F4.1–F4.5 (5 tests)
    • Tier 2: F4.B1–F4.B5 (5 tests)
    • Tier 3: C3, C5, C6, C7, C18
  • F5: Pre-Baked Town Base Map Chunk Generation (D2Client.dll 0x6fb12760)
    • Tier 1: F5.1–F5.5 (5 tests)
    • Tier 2: F5.B1–F5.B5 (5 tests)
    • Tier 3: C8, C9, C18
    • Tier 4: S2, S4, S5
  • F6: Offline Packing of All 8 Automap DC6 Sprite Sheets (scripts/pack-ui.ts)
    • Tier 1: F6.1–F6.5 (5 tests)
    • Tier 2: F6.B1–F6.B5 (5 tests)
    • Tier 3: C9, C10, C18
  • F7: Live & Offline 4-Layer Automap Generation Across All 136 Levels (src/game/d2map.ts & scripts/pack-act-assets.ts)
    • Tier 1: F7.1–F7.5 (5 tests)
    • Tier 2: F7.B1–F7.B5 (5 tests)
    • Tier 3: C1, C2, C3, C4, C8, C18
    • Tier 4: S1–S5, S10
  • F8: 4-Layer Isometric Sprite Automap & Minimap Renderer (src/ui/minimap.ts — 0x6fb102a0 & 0x6fb10480)
    • Tier 1: F8.1–F8.5 (5 tests)
    • Tier 2: F8.B1–F8.B5 (5 tests)
    • Tier 3: C9, C10, C11, C12, C18
    • Tier 4: S1–S5, S11, S12
  • F9: Dual Viewport Modes (bMinimap=1 Corner Minimap vs bMinimap=0 Full Automap), Panel Shifts (±160px), Panning & Hotkeys (Tab, V, F9, F10, Arrows, Home)
    • Tier 1: F9.1–F9.5 (5 tests)
    • Tier 2: F9.B1–F9.B5 (5 tests)
    • Tier 3: C11, C13, C14, C18
    • Tier 4: S1, S8, S11, S12
  • F10: Room/Chunk-Based Fog-of-War Exploration Reveal (0x6fb12af0 & 0x6fb12580, 160 sub-unit octile distance threshold)
    • Tier 1: F10.1–F10.5 (5 tests)
    • Tier 2: F10.B1–F10.B5 (5 tests)
    • Tier 3: C12, C15, C16, C18
    • Tier 4: S6, S9
  • F11: 12-Segment Closed Directional Crosshair Polygon (0x6fb107f0, 0x6fb82de8) & Dynamic Town Portals (0x6fb10dc5)
    • Tier 1: F11.1–F11.5 (5 tests)
    • Tier 2: F11.B1–F11.B5 (5 tests)
    • Tier 3: C14, C16, C17, C18
    • Tier 4: S7, S11, S12
  • F12: Entrance/Warp Destination Area Name Labels (Font6) & Top-Right Gold Font16 HUD Text (0x6fb0f9f0)
    • Tier 1: F12.1–F12.5 (5 tests)
    • Tier 2: F12.B1–F12.B5 (5 tests)
    • Tier 3: C15, C17, C18
    • Tier 4: S3, S6, S11, S12
  • F13: Full-Spectrum 136-Level Verification & Headless Browser Audit (scripts/verify-automap.ts)
    • Tier 1: F13.1–F13.5 (5 tests)
    • Tier 2: F13.B1–F13.B5 (5 tests)
    • Tier 3: C18
    • Tier 4: S10, S11, S12