Commit graph

6 commits

Author SHA1 Message Date
Vantz Stockwell
65d06f1754 Two-column layout with sticky character summary
The Build Ledger now uses a two-column grid: the builder UI stays on the
left, and a new sticky CharacterSummary panel on the right aggregates the
whole character at a glance — house, level, total XP, skill/intel point
pools (with POI bonus broken out), per-spec levels with cumulative XP and
perks unlocked, current faction tier and progress to next, skill
allocations grouped by class, and the six most recent perk unlocks across
character + specs.

The previous separate "Skill Summary" panel is subsumed by the sidebar.
Wrap width grows from 1240px to 1560px. Below 1180px the layout collapses
to one column and the summary becomes non-sticky.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 07:58:27 -04:00
Vantz Stockwell
6c7b4b8133 Add Bonus Intel input for off-level intel sources (POIs etc.)
Players can pick up intel from points of interest on the map beyond what
levelling grants. Add a "Bonus Intel" card alongside the Character XP card
with an editable input. The character totals strip now shows the combined
intel (levels + bonus) with a small "+N" badge when a bonus is present.

Existing builds without the field migrate cleanly via the existing
defaults-merge in store.ts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 07:55:00 -04:00
Vantz Stockwell
99259e64bf Theme the page by selected house (Atreides green/black, Harkonnen blue/orange)
- Introduce body[data-house="atreides"] and body[data-house="harkonnen"]
  CSS blocks that override --sand / --sand-2 / --spice / --ember and the
  background gradient vars, so the whole UI (panels, progress bars, primary
  CTA, totals, allocated/maxed skill borders) recolors when the house is
  switched.
- Fix the previously-swapped house identity colors: Atreides is green,
  Harkonnen is orange. Both house-pick cards now always display in their
  identity color, so the unselected house remains visually tagged.
- App.vue applies the theme by setting document.body.dataset.house from a
  reactive watcher.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 07:52:38 -04:00
Vantz Stockwell
84b3f6a061 Synthesize per-level rewards for the Character card
Character XP has no Rewards column, but every level grants skill points
and/or intel points. Synthesize a "Level Reward" perk per level (e.g.
"+1 Skill Point · +10 Intel Points") so the Character card uses the same
unlocked-perks UI as the spec cards. The card header reads "Level Rewards"
instead of "Perks Unlocked" via a new perksLabel prop.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 07:50:20 -04:00
Vantz Stockwell
616a84ec5e Allow allocation across all 5 skill trees + show spec perks per level
Skill trees:
- Class is no longer a single choice. The class panel is now tabs inside the
  Skill Trees section that switch which tree is viewed; allocations from every
  tree share one global skill-point pool sourced from character level.
- Switching tabs preserves allocations (previously cleared them).
- New "Skill Summary" panel lists every allocated skill grouped by class.
- Tree-local "spent" badge appears on each class tab; tree header now shows
  both per-tree and global totals, and turns red if over-budget.

Spec perks:
- Extractor now parses the Rewards column of each spec track HTML (name, cost,
  description, effect, bonus, icon). All 5 specs have 41 perks each.
- Spec cards display a scrollable perk list: unlocked perks highlighted, and a
  "Show all" toggle reveals locked/upcoming perks dimmed. A "Next: X at L Y"
  hint always points at the next unlock.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 07:47:55 -04:00
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