No description
Skill trees now render the way the source does: each class has three named subtrees (e.g. Swordmaster: The Blade / The Will / The Way), each with its own 3-col or 5-col grid, sized in 72px cells. Extractor parses subtrees separately so the per-tree row/col coordinates are correct (previously all 22 nodes were stacked on one combined grid and overlapped). Connector edges are mapped per-subtree too. Loadout: new global 3-ability + 3-technique slot row at the bottom of the Skill Trees panel. The cap is global across all 5 classes (matches the source HTML which has `id=active-Ability-N` / `id=active-Technique-N` without per-tree scope). Click a slot to pick from any allocated Ability or Spice (for Ability slots) or any allocated Perk (for Technique slots); right-click clears. Slot backgrounds use the local ability.png / technique.png artwork copied into /icons. Label overlap fix: constrained the name label under each node to the node width (72px) and bumped the vertical gap from 44 to 60px so 2-3 line names have room without bleeding into the row below. Existing saved builds migrate cleanly — loadout normalizes to length-3 slot arrays if absent or malformed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| character-builder | ||
| specialization-calculator | ||
| .gitignore | ||
| README.md | ||
dune-tools
Fan-made tooling for Dune Awakening.
Projects
- 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/ — 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 that live in sample-data/.
That directory is gitignored (~19 MB of raw HTML).
To regenerate character-builder/data/*.json:
- Save the relevant pages (right-click → "Save Page As → Web Page Complete")
into
sample-data/. - From
character-builder/, runuv 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.