feat(client): character creation screen with live 3D preview (#705)
Full character creation UI with 5-tab customisation panel (Body, Head, Hair, Clothing, Accessories), live 3D compositor preview via SubViewport, D-165 color picker modal, keyboard navigation, and game flow integration. - CharacterCreation scene + script (~1440 lines) implementing wireframe spec - SubViewport with Camera3D (frontal/dramatic/overhead presets per D-158) - Cardinal rotation (Q/E) per D-155, randomise (R), Tab/Enter/Esc navigation - Body type grid (11 types, D-159), skin tone dock (9 tones, shared state) - Head template, hair, facial hair, eyebrow grids with DirAccess asset scanning - Clothing slot selector with per-item Primary/Secondary/Accent tints - Accessory slot selector with Primary/Secondary tints (Array[Color] descriptor) - 54-swatch color picker modal (D-165) with hex input and recent colors - Auto-derive flags for highlight, eyebrow tint, facial hair tint from hair primary - Game flow: main_menu → archetype select → character creation → game start - GameState.character_visual_descriptor field for gameplay consumption - Updated accessory_tints from single Color to Array[Color] in descriptor + compositor - 40+ GdUnit tests covering scene structure, signals, keyboard nav, color derivation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,11 @@ var pending_load_path: String = ""
|
||||
# Default: "detective" — fallback for legacy saves without character.txt.
|
||||
var character_archetype: String = "detective"
|
||||
|
||||
# #705: Character visual descriptor — set by character_creation.gd on confirmation.
|
||||
# Passed to EntityRenderer for the player entity's CharacterVisual on game start.
|
||||
# Null when no custom appearance has been selected (fallback: default descriptor).
|
||||
var character_visual_descriptor: CharacterVisualDescriptor = null
|
||||
|
||||
# #646: AI-Enhanced Dialogue enabled state (D-138).
|
||||
# Runtime toggle — true means the LLM re-voicing pipeline should run (server-side).
|
||||
# Default: true (opt-out model per D-138 §8). Hardware detector may disable at startup
|
||||
|
||||
Reference in New Issue
Block a user