87 lines
6.2 KiB
Markdown
87 lines
6.2 KiB
Markdown
|
|
# 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:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# (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
|
||
|
|
via `CharacterBuilder.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. Includes
|
||
|
|
`RNG_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`.
|