From ebac8c958088ee7372605ea561cd876b13b122ae Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 22 Mar 2026 17:54:53 +0100 Subject: [PATCH] =?UTF-8?q?fix(client):=20address=20PR=20#99=20review=20ro?= =?UTF-8?q?und=202=20=E2=80=94=203=20doc/comment=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. character_creation.gd:125 — cam_pitch_idx comment: 2=overhead(0°) → (-80°) 2. character_visual.gd:37 — segment arithmetic: 17+2+2=21 → 14+2+2=18 3. decisions/scope.md D-158 — overhead angle: 0° → -80° to match code Co-Authored-By: Claude Opus 4.6 (1M context) --- client/scripts/rendering/character_visual.gd | 2 +- client/ui/character_creation.gd | 2 +- decisions/scope.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/scripts/rendering/character_visual.gd b/client/scripts/rendering/character_visual.gd index abb91b0cd..2b504ef97 100644 --- a/client/scripts/rendering/character_visual.gd +++ b/client/scripts/rendering/character_visual.gd @@ -34,7 +34,7 @@ const TOON_SHADER_PATH := BASE_PATH + "shaders/toon.gdshader" const TOON_MASKED_SHADER_PATH := BASE_PATH + "shaders/toon_masked.gdshader" const OUTLINE_SHADER_PATH := BASE_PATH + "shaders/outline.gdshader" -## All body segment names in assembly order. D-160: 17 base + 2 swappable torso + 2 face. +## All body segment names in assembly order. D-160: 14 base + 2 swappable torso + 2 face = 18. ## torso_upper is loaded and hidden by default; clothing coverage reveals it. const ALL_SEGMENTS: Array[String] = [ "head", "neck", "torso", "torso_upper", diff --git a/client/ui/character_creation.gd b/client/ui/character_creation.gd index 0cf9f30a7..2252f5ecc 100644 --- a/client/ui/character_creation.gd +++ b/client/ui/character_creation.gd @@ -122,7 +122,7 @@ const RECENT_SLOTS := 9 var _descriptor: CharacterVisualDescriptor var _char_visual: CharacterVisual = null var _facing_idx: int = 0 # index into CARDINAL_DIRS (0 = south, default face-forward) -var _cam_pitch_idx: int = 0 # 0=frontal(-5°), 1=dramatic(-30°), 2=overhead(0°) +var _cam_pitch_idx: int = 0 # 0=frontal(-5°), 1=dramatic(-30°), 2=overhead(-80°) # --- Tab active slot state --- var _active_clothing_slot: String = "torso" diff --git a/decisions/scope.md b/decisions/scope.md index d44750152..65025a379 100644 --- a/decisions/scope.md +++ b/decisions/scope.md @@ -343,7 +343,7 @@ What we're building: game concept, design pillars, prototype definition, map spe ### D-158: Frontal camera angle is default for character editor / mugshot UI - **Date:** 2026-03-18 -- **Decision:** The character editor and mugshot UI use a frontal camera angle (-5° tilt, near eye-level) by default. Three confirmed camera presets: frontal (-5°, editor default), dramatic/low-angle (-30°, gameplay default), top-down (0°, overhead). ~~Isometric (-45°) superseded — not part of the confirmed set.~~ +- **Decision:** The character editor and mugshot UI use a frontal camera angle (-5° tilt, near eye-level) by default. Three confirmed camera presets: frontal (-5°, editor default), dramatic/low-angle (-30°, gameplay default), overhead (-80°, top-down). ~~Isometric (-45°) superseded — not part of the confirmed set.~~ - **Rationale:** Frontal view is the natural angle for inspecting a character's face and outfit in an editor context. Identified during the Quaternius aesthetic spike — the frontal preset immediately felt right for close inspection while the tilted angles serve gameplay readability. - **Raised by:** Jeroen, during spike validation. - **Cross-reference:** [D-146](#d-146-character-creation-preview--tile-scale-sprite-with-heavy-zoom) (character creation as separate context), [D-155](#d-155-character-editor-rotation--cardinal-directions-only-no-free-spin) (editor rotation)