Files
healer-man/dungeon-pipeline/FIVE_PLAYER_IMPORT_TODO.md
2026-10-06 22:25:34 -04:00

143 lines
5.7 KiB
Markdown

# Five-player dungeon import checklist
This checklist tracks the native asset and population import, not complete
instance gameplay. A checked dungeon has its environment, collision,
navigation, AzerothCore population, boss roster, and native animated creature
models packaged under `public/assets/game/dungeons/<slug>/`. Use
`WOW_DUNGEON_FUNCTIONALITY_REPORT.md` for the separate production-fidelity gate
covering doors, objects, scripted progression, waves, escorts, vehicles,
traversal, resets, checkpoints, and completion playtests.
Instance-source review status (2026-09-08): 54/54 reviewed, 51/54 backed by an
executable instance controller, and 3/54 pinned as source-exact no-op instance
scripts. These counts describe implemented runtime coverage; they do not close
the native game-object export or end-to-end playtest gates.
Run one dungeon at a time:
```powershell
npm run dungeon:five-player:import -- <slug> --refresh
npm run dungeon:catalog
npm run dungeon:five-player:verify
npm test
```
To run that command separately for every unchecked dungeon and record each
result, use `npm run dungeon:five-player:import:remaining`. Progress and exact
blockers are written to `FIVE_PLAYER_IMPORT_RUN_REPORT.md`.
Verified 2026-07-26: 51/54 dungeons are authoritative. The native registry has
50 packaged imports, Wailing Caverns remains the authored golden fixture, all
2,007 unique native assets passed checksum/size validation, all 1,251 packaged
creature-entry mappings resolved to animated models, 496 tests passed, and the
TypeScript/production bundle checks passed.
## Baseline
These are import baselines, not routine live-test selections. As of 2026-10-05,
new routine gameplay/mechanics QA uses Stormwind Stockade: Cellblock Rush
(`bite-sized-stormwind-stockade`) under `../AGENTS.md` and
`../docs/TEST_DUNGEON_POLICY.md`. The one boss is selected from the run ID and
should be recorded; a full-source campaign requires explicit selection.
- [x] Wailing Caverns (`43`) - preserve the historical native import reference;
use Cellblock Rush for new routine live QA.
## Classic
- [x] Shadowfang Keep (`33`) - native environment and 31/31 combat models packaged.
- [x] The Stockade (`34`)
- [x] The Deadmines (`36`)
- [x] Razorfen Kraul (`47`)
- [x] Blackfathom Deeps (`48`)
- [x] Uldaman (`70`)
- [x] Gnomeregan (`90`)
- [x] The Temple of Atal'Hakkar / Sunken Temple (`109`)
- [x] Razorfen Downs (`129`)
- [x] Scarlet Monastery (`189`)
- [x] Zul'Farrak (`209`)
- [x] Blackrock Spire (`229`)
- [x] Blackrock Depths (`230`)
- [x] Scholomance (`289`)
- [x] Stratholme (`329`)
- [x] Maraudon (`349`)
- [x] Ragefire Chasm (`389`)
- [x] Dire Maul (`429`)
## Burning Crusade
- [x] The Shattered Halls (`540`)
- [x] The Blood Furnace (`542`)
- [x] Hellfire Ramparts (`543`)
- [x] The Steamvault (`545`)
- [x] The Underbog (`546`)
- [x] The Slave Pens (`547`)
- [x] The Arcatraz (`552`)
- [x] The Botanica (`553`)
- [x] The Mechanar (`554`)
- [x] Shadow Labyrinth (`555`)
- [x] Sethekk Halls (`556`)
- [x] Mana-Tombs (`557`)
- [x] Auchenai Crypts (`558`)
- [x] Magisters' Terrace (`585`)
## Caverns of Time and Wrath
- [x] The Black Morass (`269`)
- [x] The Escape From Durnholde (`560`)
- [x] Utgarde Keep (`574`)
- [x] Utgarde Pinnacle (`575`)
- [x] The Nexus (`576`)
- [x] The Oculus (`578`)
- [x] The Culling of Stratholme (`595`)
- [x] Halls of Stone (`599`)
- [x] Drak'Tharon Keep (`600`)
- [x] Azjol-Nerub (`601`)
- [x] Halls of Lightning (`602`)
- [x] Gundrak (`604`)
- [x] The Violet Hold (`608`)
- [x] Ahn'kahet: The Old Kingdom (`619`)
- [x] The Forge of Souls (`632`)
- [x] Trial of the Champion (`650`)
- [x] Pit of Saron (`658`)
- [x] Halls of Reflection (`668`)
## Ascension-specific five-player instances
- [ ] Tinkertech Showdown (`821`) - playable HealerMan-authored adaptation.
Mechatron (`663012`) and the environment are exact; the candidate machine
spell cluster, trash, cadence, positions, models, and phase rules remain
explicitly authored because no server binding or spawn snapshot survived.
- [ ] Frozen Reach (`908`) - playable source-backed adaptation. Alva (`97700`),
Arktos (`97701`), 85 exact spell rows, and summon links for entries `97703`,
`97731`, and `97770` were recovered. Server cadence, positions, stats,
models, targeting, and exact phase behavior remain authored.
- [ ] Forgotten Mine (`1781`) - playable source-backed adaptation. Geolord Vek
(`254272`), 33 exact spell rows, Geospike (`254278`), and Resonite Shard
(`254051`) were recovered. Server cadence, positions, trash, models, and the
exact crystal rule remain authored.
The individual import command has been run for all three source-limited
instances. Their checksummed recovery manifest lives under `ascension/` and is
validated by `npm run dungeon:ascension:recovery:validate`. Runtime adapters
consume the recovered evidence while retaining explicit `source-backed-adapted`
or `healer-man-authored` labels. The checklist remains open until an
authoritative Ascension creature/spawn/object/server-script snapshot and native
display mappings replace the remaining authored portions.
## Per-dungeon asset/import gate
These gates passed for every checked dungeon above:
- [x] Correct five-player `Map.dbc`/LFG identity and recipe.
- [x] Instance visual, collision, and navigation GLBs packaged outside Manastorm.
- [x] Stock/custom instance population imported with ambient/event-only actors excluded.
- [x] Every required mob and boss has a native animated model.
- [x] Boss order, entrance, and coordinates reviewed.
- [x] Generated campaign catalog points at `/assets/game/dungeons/<slug>/`.
- [x] Catalog verification, tests, type-check, and production bundle pass.
These checks do not certify instance-script behavior. A dungeon remains
functionally incomplete until its entry in `WOW_DUNGEON_FUNCTIONALITY_REPORT.md`
is green.