b451f83174
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>
94 lines
4.6 KiB
Markdown
94 lines
4.6 KiB
Markdown
# 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+).
|