No description
Find a file
Vantz Stockwell 9f53a58701 Harden boot path + surface errors instead of blanking
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>
2026-05-23 08:30:14 -04:00
character-builder Harden boot path + surface errors instead of blanking 2026-05-23 08:30:14 -04:00
specialization-calculator Add Dune Awakening character builder + initial project scaffolding 2026-05-23 07:30:37 -04:00
.gitignore Add Dune Awakening character builder + initial project scaffolding 2026-05-23 07:30:37 -04:00
README.md Add Dune Awakening character builder + initial project scaffolding 2026-05-23 07:30:37 -04:00

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:

  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.