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>
6.2 KiB
6.2 KiB
Character Creation Snapshot — Manifest
Snapshot taken: 2026-04-25 (Phase 5 M3 complete)
Files in this snapshot
Each row maps canonical source path → snapshot path within this folder.
Snapshot paths mirror the canonical paths exactly so it's obvious where each
file came from.
| Canonical source | Why included |
|---|---|
Theriapolis.Game/Screens/CharacterCreationScreen.cs |
The screen itself — primary subject |
Theriapolis.Game/Screens/IScreen.cs |
Lifecycle interface (Init/Update/Draw) |
Theriapolis.Game/Screens/TitleScreen.cs |
Screen pushed BEFORE character creation |
Theriapolis.Game/Screens/WorldGenProgressScreen.cs |
Screen pushed AFTER character creation |
Theriapolis.Core/Data/CladeDef.cs |
Clade record schema |
Theriapolis.Core/Data/SpeciesDef.cs |
Species record schema |
Theriapolis.Core/Data/ClassDef.cs |
Class record schema (incl. starting_kit) |
Theriapolis.Core/Data/BackgroundDef.cs |
Background record schema |
Theriapolis.Core/Data/TraitDef.cs |
Shared trait/detriment record |
Theriapolis.Core/Data/ContentResolver.cs |
One-shot id→def lookup table loader |
Theriapolis.Core/Rules/Character/Character.cs |
Runtime aggregate the screen produces |
Theriapolis.Core/Rules/Character/CharacterBuilder.cs |
Fluent builder + validation + stat rolls |
Theriapolis.Core/Rules/Stats/AbilityScores.cs |
6-ability struct + Mod() math |
Theriapolis.Core/Rules/Stats/Size.cs |
SizeCategory enum + helpers |
Theriapolis.Core/Rules/Stats/SkillId.cs |
18-skill enum + ability mapping |
Content/Data/clades.json |
The 7 clades players choose from |
Content/Data/species.json |
The 19 species filtered by clade |
Content/Data/classes.json |
The 8 classes (with feature defs + level table + starting kit) |
Content/Data/backgrounds.json |
The 12 backgrounds |
Refresh command
To bring this snapshot back in sync with the canonical sources, run from the repo root:
# (from repo root C:\Users\chris\OneDrive\Documents\AI\Claude\TTRPG\TheriapolisV3)
mkdir -p _design_handoff/character_creation/Theriapolis.Game/Screens \
_design_handoff/character_creation/Theriapolis.Core/Data \
_design_handoff/character_creation/Theriapolis.Core/Rules/Character \
_design_handoff/character_creation/Theriapolis.Core/Rules/Stats \
_design_handoff/character_creation/Content/Data
cp Theriapolis.Game/Screens/CharacterCreationScreen.cs _design_handoff/character_creation/Theriapolis.Game/Screens/
cp Theriapolis.Game/Screens/IScreen.cs _design_handoff/character_creation/Theriapolis.Game/Screens/
cp Theriapolis.Game/Screens/TitleScreen.cs _design_handoff/character_creation/Theriapolis.Game/Screens/
cp Theriapolis.Game/Screens/WorldGenProgressScreen.cs _design_handoff/character_creation/Theriapolis.Game/Screens/
cp Theriapolis.Core/Data/CladeDef.cs _design_handoff/character_creation/Theriapolis.Core/Data/
cp Theriapolis.Core/Data/SpeciesDef.cs _design_handoff/character_creation/Theriapolis.Core/Data/
cp Theriapolis.Core/Data/ClassDef.cs _design_handoff/character_creation/Theriapolis.Core/Data/
cp Theriapolis.Core/Data/BackgroundDef.cs _design_handoff/character_creation/Theriapolis.Core/Data/
cp Theriapolis.Core/Data/TraitDef.cs _design_handoff/character_creation/Theriapolis.Core/Data/
cp Theriapolis.Core/Data/ContentResolver.cs _design_handoff/character_creation/Theriapolis.Core/Data/
cp Theriapolis.Core/Rules/Character/Character.cs _design_handoff/character_creation/Theriapolis.Core/Rules/Character/
cp Theriapolis.Core/Rules/Character/CharacterBuilder.cs _design_handoff/character_creation/Theriapolis.Core/Rules/Character/
cp Theriapolis.Core/Rules/Stats/AbilityScores.cs _design_handoff/character_creation/Theriapolis.Core/Rules/Stats/
cp Theriapolis.Core/Rules/Stats/Size.cs _design_handoff/character_creation/Theriapolis.Core/Rules/Stats/
cp Theriapolis.Core/Rules/Stats/SkillId.cs _design_handoff/character_creation/Theriapolis.Core/Rules/Stats/
cp Content/Data/clades.json _design_handoff/character_creation/Content/Data/
cp Content/Data/species.json _design_handoff/character_creation/Content/Data/
cp Content/Data/classes.json _design_handoff/character_creation/Content/Data/
cp Content/Data/backgrounds.json _design_handoff/character_creation/Content/Data/
After refreshing, bump the Snapshot taken: date at the top of this file
and at the top of README.md.
Files NOT included (and why)
Theriapolis.Core/Rules/Stats/{ProficiencyBonus,XpTable,SaveId,DamageType,Condition}.cs— used by combat, not by character creation. Design doesn't need them.Theriapolis.Core/Items/*.cs— inventory mechanics. The starting kit lands viaCharacterBuilder.ApplyStartingKit; Design can see the result on the spawned character without touching the equip plumbing.Theriapolis.Core/Persistence/*.cs— character serialization. Orthogonal to creation UX.Theriapolis.Core/Constants.cs— game-wide tuning numbers. IncludesRNG_STAT_ROLL(one constant the screen uses) but nothing UX-relevant.- The Phase 5 plan in full — only §4.2 is relevant to character creation;
it's extracted into
DESIGN_INTENT.md.