Files
settled-reach/docs/design/character-creation-screen-wireframe.md
jpmschweitzerandClaude Fable 5 ca255dc16c chore(meta): cascade refocus — supersede v0.2 cluster, re-home backlog tree, capture workshop WIP
Governance:
- D-166 amendment (2026-06-12): outside-in build order (geo → econ-on-world →
  building templates → door boundary contracts → NPC/interiors → gameplay);
  Phase 5 ramps in parallel once outsides are walkable (gate: T-962)
- D-114/D-115/D-117/D-118/D-120 marked superseded by D-166 (inbound anchors fixed)
- D-221 amended: milestones retired, cascade-hierarchy gating is canonical
- Q-077/Q-068/Q-036 resolved (answered by events); Q-110 (scale anchoring) and
  Q-111 (live-econ coupling) opened from cascade grounding

Ticket tree (147 stray backlog tickets dispositioned):
- New parents: T-1036 (post-cascade gameplay parking), T-1037 (maintenance initiative)
- Re-homed: 15 → Phase 4 (T-750), 30 → Phase 5 (T-749), 11 → Phase 6 (T-751),
  21 → gameplay parking, 28 → maintenance; children follow their epics
- Cancelled 12 administrative shells (mirror tickets, emptied pre-cascade umbrellas,
  v0.2 pivot shell T-603); T-9/T-28 closed done; T-745 in_progress
- New grounded tickets T-1038..T-1044: inter-settlement road/rail graph, L3→L4
  dispatch threading, river-channel-anchor bug, 64m landform-repeat bug,
  region seam blending, road-entry octants, drainage re-run fix

Docs:
- CLAUDE.md cascade paragraph updated to the amended rule
- 20 v0.1-era docs/design files marked superseded with pointers;
  content-structure-canonical retitled (v0.2 label dropped)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 12:26:32 +02:00

6.2 KiB
Raw Permalink Blame History

title, description, type, status, sprint, ticket, created, superseded_by
title description type status sprint ticket created superseded_by
Character Creation Screen Wireframe UI layout specification for the character creation screen — wireframe deliverable for ticket #685 design superseded 28 685 2026-03-19 D-166

SUPERSEDED (2026-06-12, cascade-refocus sweep): superseded by D-166 (Phase 5 player work; built on the superseded D-115 skills+bookmark scope — the D-146 tile-scale preview decision still stands). Kept as historical record; do not build against it.

Character Creation Screen Wireframe

Ticket: #685 Designed by: Jeroen (project lead) Tool: Frame0 Downstream: #694 (client: character creation screen), #705 (character editor Godot tool)


Wireframe Files

All source JSON and exported PNGs in docs/design/wireframes/character-creation/:

File Description
main-layout.json/.png Body tab (default view on open)
head-tab.json/.png Head template + eyebrows tab
hair-tab.json/.png Hair style + facial hair tab
clothing-tab.json/.png Clothing slot selector tab
accessories-tab.json/.png Accessories slot selector tab
color-picker.json/.png Color picker modal (opens on swatch click)

Screen Layout

Preview pane (left, ~60% of screen)

  • Live 3D compositor in SubViewport (D-149, D-146)
  • Default camera: frontal (-5°) for editor (D-158), toggle to dramatic (-30°)
  • Default facing: South (face-forward)
  • [Q] / [E] rotate buttons — incremental cardinal rotation (D-155)
  • Always LOD Tier 0, no degradation

Tab panel (right, ~35% of screen)

5 tabs: Body, Head, Hair, Clothing, Accessories

Each tab follows the same layout pattern:

  1. Search bar (top, fixed) — scoped to current tab contents
  2. Scrollable content grid (middle) — item/option thumbnails
  3. Color dock (bottom, fixed, non-scrolling) — context-sensitive color controls
  • [ESC] Back — return to main menu
  • [R] Randomise — randomize all slots
  • [ENTER] Start — confirm character and begin game

Tab Contents

Body

  • Skin tone dock (bottom): 9 preset swatches (separate from the D-165 clothing palette)
  • Body type grid: 11 options (D-159) organized as:
    • Female row: Thin, Average, Muscular, Heavy, Teen
    • Male row: Thin, Average, Muscular, Heavy, Teen
    • Child (unlabeled row — no gendered framing)

Head

  • Head template grid: Trellis-generated unique heads (D-163), scrollable. Starts with 4 Quaternius starters.
  • Skin tone dock (bottom): same 9 swatches as Body tab (shared state)

Hair

  • Hair style grid: Short A, Short B, Medium A, Medium B, Long A, Bald (and more via scroll)
  • Facial hair selector: None, Stubble, Beard, Moustache
  • Eyebrow selector: Regular, Female, Teen, Thick (matches Source tier asset keys)
  • Hair color dock (bottom): Hair primary + Hair highlight (auto) + Eyebrow tint (auto from hair, independent override) + Facial hair tint (auto from hair, independent override — single tint for both beard and moustache)

Clothing

  • Slot selector (fixed): Torso, Legs, Feet, Hands — click to filter the grid below
  • Item grid: Shows items for the selected slot (Coveralls, Jacket, Shirt, etc.)
  • Item color dock (bottom): Primary / Secondary / Accent swatches. Secondary and Accent auto-derive if unset.

Accessories

  • Slot selector (fixed): Hat, Goggles, Mask, Backpack, Belt, Wrist L, Wrist R, Earring L, Earring R, Necklace
  • Item grid: Shows items for the selected slot
  • Item color dock (bottom): Primary / Secondary swatches

Color Picker Modal

Opens when any color swatch in a dock is clicked. Overlays the tab panel.

  • 54-swatch palette (6 rows × 9 columns, D-165):
    1. Reds (H=0° S=35%)
    2. Greens (H=150° S=28%)
    3. Blues (H=215° S=35%)
    4. Purples (H=275° S=28%)
    5. Browns (H=28° S=35%)
    6. Neutral grays (#000000 → #ffffff, even steps)
  • Hex input field with Apply button for custom colors
  • Recent custom colors: 9 slots, persisted at game (save) level
  • Cancel / OK buttons

Keyboard Navigation

Full keyboard/controller support required (existing character_select.gd is keyboard-friendly):

  • Tab / Shift+Tab: cycle between tabs
  • Arrow keys: navigate within grids
  • Enter: select item / confirm
  • Q / E: rotate character in preview
  • R: randomize
  • ESC: back to main menu

Design Decisions Referenced

Decision Summary
D-146 Tile-scale preview with heavy zoom (compatible with 3D via SubViewport)
D-149 3D characters rendered live
D-153 Player not visually distinct from NPCs
D-155 Cardinal rotation only in editor
D-157 Game start = alarm clock / fade from black (editor is separate context)
D-158 Frontal camera default for editor
D-159 11 body types (5 types × 2 genders + 1 child)
D-163 Trellis-generated unique heads
D-160 18 body segments (clothing hides covered segments)
D-165 Color picker palette (5×9 muted hues + 1×9 neutral gray — clothing colors only, not skin tones)

Notes for Implementation (#694)

  • Held items (held_l, held_r) are not in the character creator — those are play-time decisions. Wrist slots replace them.
  • The color picker modal should preview changes live on the 3D model before OK is pressed.
  • Search filters items by name within the active tab only.
  • The skin tone dock appears on both Body and Head tabs and shares state — changing it on one updates the other.
  • Compositor coverage: Changing body type or clothing in the editor must update segment visibility on the CharacterCompositor. Clothing items hide the body segments they cover (e.g. torso clothing hides seg_torso). The preview must reflect this in real time — switching from a tank top to a jacket should hide the arm segments underneath.
  • Eyebrow tint and facial hair tint are independent from hair color. Default: auto-derive from hair primary. Player can override to any color via the color picker.
  • Earring L/R and Necklace are jewelry accessory slots — they use accessory_primary / accessory_secondary color regions like other accessories.