Files
TheriapolisV3/_design_handoff/character_creation
Christopher Wiebe b451f83174 Initial commit: Theriapolis baseline at port/godot branch point
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>
2026-04-30 20:40:51 -07:00
..

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+).