No description
A friend on Chrome reported the page renders briefly then drops to the plain theme background (Brave/Chromium fine). Defensive changes so the next blank-page report comes with a visible cause: - main.ts installs Vue config.errorHandler, window.onerror, and window.unhandledrejection listeners. Any uncaught error pins a red banner to the top of the page with the error message, so the user sees what crashed instead of a blank background. - App.vue's onMounted now wraps each data fetch in a safeLoad helper. Promise.allSettled (vs allSettled used previously: was a plain Promise.all) means one failed file can't reject the whole batch. Errors log to the console and show as a non-fatal "Boot warning" toast in the share bar. This doesn't fix the root cause yet — needs Chrome devtools console output to pinpoint — but ensures the next person who hits it sees an actionable error. 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.