Captures the pre-Godot-port state of the codebase. This is the rollback anchor for the Godot port (M0 of theriapolis-rpg-implementation-plan-godot-port.md). All Phase 0 through Phase 6.5 work is included; Phase 7 is in flight. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
4.6 KiB
Character Creation — Design Handoff Snapshot
Snapshot date: 2026-04-25
Created for: Claude Design (UX redesign of the character creation flow)
Project phase at snapshot time: Phase 5 M3 complete (M4 not yet started)
Design returned: 2026-04-25 — see from_design/ and IMPLEMENTATION_STATUS.md
What this folder is
A curated, self-contained copy of every file Claude Design needs to understand and redesign the character creation screen. The folder mirrors the original repo layout so paths stay obvious:
Theriapolis.Game/Screens/ ← the screen + adjacent flow screens
Theriapolis.Core/Data/ ← record schemas (CladeDef, ClassDef, etc.)
Theriapolis.Core/Rules/Character/ ← what the screen builds (Character, Builder)
Theriapolis.Core/Rules/Stats/ ← stat math the screen previews
Content/Data/ ← the actual content shown (clades, species, classes, backgrounds)
DESIGN_INTENT.md ← extract from the Phase 5 plan §4.2
MANIFEST.md ← file list + refresh command
What this folder is NOT
These files are copies, not the canonical source. The real files live
at the same paths without the _design_handoff/character_creation/
prefix. If something in here motivates a code change, edit the original.
It is safe to delete this folder once the Claude Design conversation wraps up — nothing in the build references it.
See ../README.md for the broader _design_handoff/ policy.
What Design should know going in
The current implementation is a single-screen multi-selector, not the
multi-step wizard the Phase 5 plan originally called for. Section 4.2 of
the plan (extracted into DESIGN_INTENT.md) describes the originally-
intended 7-step flow: Clade → Species → Class → Background → Stats →
Skills → Name. M2 collapsed that into one screen for shipping speed; the
data model and validation already support either presentation.
Inputs the screen orchestrates (see Content/Data/ for full content):
- 7 Clades (Canidae, Felidae, Mustelidae, Ursidae, Cervidae, Bovidae, Leporidae)
- 19 Species across those clades
- 8 Classes (Fangsworn, Bulwark, Feral, Shadow-Pelt, Scent-Broker, Covenant-Keeper, Muzzle-Speaker, Claw-Wright)
- 12 Backgrounds
- 2 stat-roll methods (Standard Array assignment, 4d6-drop-lowest reroll)
- N class-driven skill picks (varies 2-4 by class)
- A name field
Output: a Character record (see Theriapolis.Core/Rules/Character/Character.cs)
with final ability scores, level 1 HP, skill proficiencies, and a starting-
kit-populated Inventory.
What the current screen does well
- All selectors visible at once → no "what step am I on" confusion
- Defaults are sensible → press Confirm immediately and you get a working character
- Real-time validation message at the bottom
- Live stat preview with clade + species mods applied
Known weaknesses worth addressing
- No portrait or visual identity. The screen is text-only; no clade/species illustration.
- No stat-array manual swapping. Standard Array auto-assigns by class priority; player can't drag the 15 to a different ability.
- Skills are presented as a flat row of toggle buttons. Wraps inelegantly with 10+ skill options.
- Trait/detriment text is hidden. Selecting a clade/species shows only the name; you can't see "Pack Instinct: reaction grants +2 AC" without picking and consulting the inventory.
- No retry flow for rolled stats. "Reroll" replaces the values but doesn't show the previous roll for comparison.
- Background flavor text doesn't display. Each background has 1-2 sentences of role-playing flavor that never surface.
- No starting kit preview. Player doesn't see what they'll start with until after creation finishes.
These are not blockers — they're the natural targets for a UX pass.
File index
See MANIFEST.md for the complete list of files included in this snapshot
plus the bash command to refresh them from the canonical sources.
What Claude Design returned
from_design/ contains the React/HTML/CSS prototype Claude Design built
from this snapshot — a 7-step wizard with an illuminated-codex aesthetic,
drag-and-drop ability assignment, hover popovers for traits, and a live
aside summary panel.
IMPLEMENTATION_STATUS.md records what the C# / Myra port preserves
faithfully, what was adapted (drag-drop → click-pick-place; hover popovers
→ click-to-show detail panel), and what remains as visual / aesthetic gap
(parchment background, gilded accents, serif display fonts — Myra theming
work, deferred to M6+).