Prompt file imported from akspa0/parp-tools (
.codex/prompts/wow-viewer-dataset-builder-plan.md). Copyright stays with the author.
Design the first-class wow-viewer dataset and supervised-training tool stack and the shared-library cutover it depends on.
Read First
gillijimproject_refactor/memory-bank/activeContext.mdgillijimproject_refactor/memory-bank/progress.mdgillijimproject_refactor/plans/wow_viewer_shared_io_library_plan_2026-03-26.mdgillijimproject_refactor/plans/wow_viewer_dataset_builder_tool_plan_2026-04-14.mdwow-viewer/README.mdAGENTS.md.codex/prompts/wow-viewer-tool-inventory-cutover-plan.md.codex/prompts/wow-viewer-shared-io-library-plan.md
Goal
Define the wow-viewer-owned dataset-builder stack so dataset export, terrain-supervision artifacts, dataset exploration, and supervised training orchestration stop depending on WoWMapConverter or MdxViewer as long-term owners.
Non-Negotiable Constraints
- Do not keep adding new shared dataset/export logic to
gillijimproject_refactor/src/WoWMapConverter/WoWMapConverter.Core/VLMwhen the ask is architectural cleanup or new capability. - Shared data contracts and artifact builders must live in
wow-viewer/src/core/WowViewer.Coreandwow-viewer/src/core/WowViewer.Core.IObefore a tool surface claims ownership. - The dataset-builder should be a dedicated
wow-viewertool over shared services, not another legacy sidecar. WoWMapConverter,MdxViewer,parpToolbox, and older scripts are extraction or compatibility references only unless the user explicitly asks for a bounded legacy hotfix.- ML training and inference scripts are downstream consumers; they do not own format decode, artifact packing, or manifest semantics.
- The long-range user-facing surfaces should be explicit: shared library, CLI, viewer/editor workflows, dataset explorer, and supervised training tooling.
- The workflow must be Bring Your Own Data. Do not assume the tool can ship copyrighted source data, harvested corpora, trained models, or model outputs.
- Prefer reproducible local-run configs and metadata over redistributed outputs.
- Do not assume CUDA is the only long-range backend. Call out where backend seams should stay open for Vulkan or OpenCL or MLX or other local runners.
Shared Surfaces To Classify Explicitly
- ADT and WDT and WDL access and tile discovery
- split ADT companion ownership (
_tex0.adt,_obj0.adt,_lod.adt) - heightmaps, normalmaps, MCCV, alpha and shadow, liquid, and object or PM4 mask artifacts
- minimap cleanup variants such as no-liquid, no-MCCV, no-object, and terrain-only outputs
- archive-backed versus loose override resolution
- dataset JSON contracts, manifests, metadata rows, and harvest packaging
- corpus batch orchestration and resumable tile-map jobs
- dataset explorer indexing, preview, filtering, and provenance surfaces
- supervised labels, training manifests, experiment configs, and local launch metadata
- backend-runner abstraction for local training or inference orchestration
What The Plan Must Produce
- The target module tree in
wow-viewer. - The boundary between shared libraries and the new CLI or viewer/editor or explorer or training-tool surfaces.
- The artifact ownership matrix.
- The absorb vs rewrite vs reference-only map for legacy exporter code.
- The first vertical slice that proves the cutover is real.
- The validation plan using real fixed client roots and dataset outputs.
- What not to port or not to deepen in the legacy repo.
- The BYOD and no-model-distribution policy surface.
- The backend portability seams for local training or inference.
Deliverables
Return all items:
- target
wow-viewermodule or tool layout - shared-contract ownership matrix
- legacy exporter cutover map
- first migration wave
- highest-risk artifact seams
- real-data validation plan
- explicit no-go list for legacy ownership
- BYOD and redistribution policy notes
- backend portability strategy
First Output
Start with:
- the exact dataset-builder problem you think the user is trying to solve
- the shared data seams that must move first
- the proposed
wow-viewertool boundary across CLI or viewer/editor or explorer or training surfaces - the legacy exporter code that should become reference-only first
