dune-tools/README.md
Vantz Stockwell 98a1792106 Add Dune Awakening character builder + initial project scaffolding
- character-builder/: Vue 3 + NestJS + Valkey app for planning house, class,
  character XP, 5 spec tracks, faction standing, and skill trees. Shareable
  via short link (POST /api/builds → 8-char nanoid).
- character-builder/data/: parsed JSON tables (character XP through L200,
  5 specs to L100, 2 faction standing tables, 5 class skill trees).
- character-builder/scripts/extract.py: parser that regenerates data/*.json
  from the gitignored sample-data/*.html snapshots.
- Dockerfile + docker-compose.yml: two-container deploy (app + Valkey).
- specialization-calculator/: pre-existing single-file XP/quest calculator,
  carried into the repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 07:30:37 -04:00

31 lines
1.1 KiB
Markdown

# dune-tools
Fan-made tooling for Dune Awakening.
## Projects
- **[character-builder/](character-builder/)** — Vue 3 + NestJS + Valkey app to
plan a character (house, class, character XP, 5 specialization tracks, faction
standing, skill trees). Shareable via short link. Runs as two Docker
containers.
- **[specialization-calculator/](specialization-calculator/)** — single-file
HTML calculator for spec-track XP / quests / days.
## Source data
The character builder is built from saved HTML snapshots of
[dune.gaming.tools](https://dune.gaming.tools) that live in `sample-data/`.
That directory is **gitignored** (~19 MB of raw HTML).
To regenerate `character-builder/data/*.json`:
1. Save the relevant pages (right-click → "Save Page As → Web Page Complete")
into `sample-data/`.
2. From `character-builder/`, run `uv run python3 scripts/extract.py`.
The runtime JSON (`character-builder/data/*.json`) **is** committed so the app
builds without the raw HTML.
## Disclaimer
Unofficial fan project. Not affiliated with Funcom or any rights holder.