97 lines
4.4 KiB
Markdown
97 lines
4.4 KiB
Markdown
# 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`
|