From a435163fd069b2427c091dbe8d1901a3e940ad38 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 22 Mar 2026 16:27:45 +0100 Subject: [PATCH] =?UTF-8?q?docs(decisions):=20update=20D-159=20body=20type?= =?UTF-8?q?=20count=20(9=E2=86=9211),=20add=20D-165=20color=20palette?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit D-159 was missing teen body type — updated to 5 types × 2 genders + 1 child = 11. D-165 records the character creator color palette (6×9 HSL-computed swatches). Co-Authored-By: Claude Opus 4.6 (1M context) --- decisions/scope.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/decisions/scope.md b/decisions/scope.md index 466d5758d..9bbb247f8 100644 --- a/decisions/scope.md +++ b/decisions/scope.md @@ -348,13 +348,26 @@ What we're building: game concept, design pillars, prototype definition, map spe - **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-supports-full-360-rotation) (editor rotation) -### D-159: Character body type enum: 4 adult types × 2 genders + 1 child skeleton -- **Date:** 2026-03-18 -- **Decision:** The character system supports 4 adult body types × 2 genders (8 base meshes) plus 1 gender-neutral child skeleton (9 total). The adult body types are: **Thin** (ectomorph, narrow), **Average** (regular proportions, canonical/default), **Muscular** (broad shoulders, thick limbs), **Heavy** (wide torso, thick midsection). Children use a distinct skeleton with correct child proportions (larger head-to-body ratio, shorter limbs) — not a scaled-down adult. Child gender differentiation comes from animation, not mesh. Elderly is an animation/posture layer on adult bodies (slight stoop, different gait), not a separate body type. -- **Rationale:** Identified during the Quaternius aesthetic spike — the standard tier only has 3 body types (Superhero/Regular/Tiny) with no heavy/fat variation and clothing locked per body type. A populated life-sim world needs visually distinct people. 4 types gives readable silhouette variety at isometric zoom without exploding the clothing authoring burden (clothing authored on Average, batch-generated for other 3 via Blender Surface Deform). Araminta confirmed 4 is the right count — 2 is too coarse, 5+ becomes unmanageable. Thin vs Average may merge in loose clothing at gameplay zoom; this is acceptable. -- **Raised by:** Jeroen, during spike review. Araminta and Tyre confirmed. +### D-159: Character body type enum: 5 types × 2 genders + 1 child skeleton (11 total) +- **Date:** 2026-03-18 (updated 2026-03-19) +- **Decision:** The character system supports 5 body types × 2 genders (10 base meshes) plus 1 gender-neutral child skeleton (11 total). The body types are: **Thin** (ectomorph, narrow), **Average** (regular proportions, canonical/default), **Muscular** (broad shoulders, thick limbs), **Heavy** (wide torso, thick midsection), **Teen** (adolescent proportions). Children use a distinct skeleton with correct child proportions (larger head-to-body ratio, shorter limbs) — not a scaled-down adult. Child gender differentiation comes from animation, not mesh. Elderly is an animation/posture layer on adult bodies (slight stoop, different gait), not a separate body type. Quaternius source kit mapping: Teen→teen, Regular→average, Superhero→muscular. Thin, heavy, and child were auto-scaled forks from the spike (flagged for artist review). +- **Rationale:** Identified during the Quaternius aesthetic spike — the standard tier only has 3 body types (Superhero/Regular/Tiny) with no heavy/fat variation and clothing locked per body type. A populated life-sim world needs visually distinct people. 5 types (including teen) gives readable silhouette variety at isometric zoom without exploding the clothing authoring burden (clothing authored on Average, batch-generated for others via Blender Surface Deform). All 11 body type segment GLBs were delivered by the visual team in Sprint 28. +- **Raised by:** Jeroen, during spike review. Araminta and Tyre confirmed. Updated during wireframe design to include teen (was missing from original count). - **Cross-reference:** [D-153](#d-153-player-character-not-visually-distinct-from-npcs) (same models for player and NPCs), [D-158](#d-158-frontal-camera-angle-is-default-for-character-editor--mugshot-ui) (editor camera) +### D-165: Character creator color palette: 5x9 muted hues + 1x9 neutral gray +- **Date:** 2026-03-19 +- **Decision:** The character creation color picker uses a fixed 6×9 (54 swatch) palette plus a hex input field with 9 recent custom color slots persisted at game level. The palette rows are computed from HSL with fixed hue and saturation per row, 9 evenly spaced lightness steps (L=18→76% for chromatic rows). Row layout: + 1. **Reds** H=0° S=35%: `#3d1d1d` `#522727` `#673131` `#7f3d3d` `#974848` `#af5959` `#bc7575` `#c99090` `#d7acac` + 2. **Greens** H=150° S=28%: `#213a2d` `#2c4e3d` `#37614c` `#43785e` `#508f70` `#62a684` `#7cb599` `#96c4ad` `#b0d2c1` + 3. **Blues** H=215° S=35%: `#1d2b3d` `#273952` `#314867` `#3d587f` `#486997` `#597daf` `#7593bc` `#90a8c9` `#acbed7` + 4. **Purples** H=275° S=28%: `#30213a` `#402c4e` `#503761` `#624378` `#75508f` `#8a62a6` `#9d7cb5` `#b196c4` `#c4b0d2` + 5. **Browns** H=28° S=35%: `#3d2c1d` `#523b27` `#674a31` `#7f5c3d` `#976d48` `#af8159` `#bc9675` `#c9ab90` `#d7c0ac` + 6. **Neutral grays** R=G=B even steps: `#000000` `#1f1f1f` `#3f3f3f` `#5f5f5f` `#7f7f7f` `#9f9f9f` `#bfbfbf` `#dfdfdf` `#ffffff` +- **Rationale:** Art direction reference is Invisible Inc — muted, desaturated, adult. No primary colors. Palette covers practical clothing colors (workwear, jumpsuits, military surplus) without flashy tones. Players who want exact colors use the hex field; recent custom colors persist across character creation sessions at the game (save) level. HSL computation ensures each row stays in its hue family from dark to light with no drift. +- **Raised by:** Jeroen, during character creation wireframe design. +- **Cross-reference:** [D-155](#d-155-character-editor-supports-full-360-rotation) (editor rotation), [D-134](architecture.md#d-134-full-character-customisation) (character customisation) + --- -*33 decisions (24 active, 9 superseded). Last updated: 2026-03-18 (D-159 added — body type enum)* +*34 decisions (25 active, 9 superseded). Last updated: 2026-03-19 (D-165 added — character creator color palette)*