diablo2-web/TEST_READY.md

97 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TEST_READY — Diablo II 1.13c Isometric Automap & Minimap E2E Test Suite
## Test Runner
```bash
npx vitest run tests/e2e-automap-113c/
```
Typecheck command:
```bash
npm run typecheck
```
Full-spectrum 136-level offline + headless Chrome CDP audit command:
```bash
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`)
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`
- [x] **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`