From 067038de4571b346ebcb486307cca1d4c9b8d8ba Mon Sep 17 00:00:00 2001 From: Christopher Wiebe Date: Mon, 4 May 2026 21:39:33 -0700 Subject: [PATCH] M6.13a: Show character sex in Aside lineage block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sex is a character-level field set at Step 0 — surface it in the right-rail summary alongside clade and species. Lands as a Sex row under the lineage cells in both purebred (single Sex cell + filler) and hybrid (Sex applies to the whole character, spans below the sire/dam clade and species rows) layouts. Falls back to the empty "—" placeholder when not yet picked. Co-Authored-By: Claude Opus 4.7 --- Theriapolis.Godot/Scenes/Aside.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Theriapolis.Godot/Scenes/Aside.cs b/Theriapolis.Godot/Scenes/Aside.cs index fd20c80..62fd93e 100644 --- a/Theriapolis.Godot/Scenes/Aside.cs +++ b/Theriapolis.Godot/Scenes/Aside.cs @@ -85,7 +85,14 @@ public partial class Aside : MarginContainer private void BuildDetailsGrid() { - if (_draft!.IsHybrid) + string sexLabel = _draft!.Sex switch + { + "male" => "Male", + "female" => "Female", + _ => "", + }; + + if (_draft.IsHybrid) { // Hybrid layout: SIRE / DAM column headers above the parent // detail rows, then the Calling / Background row spans both @@ -102,6 +109,10 @@ public partial class Aside : MarginContainer lineageGrid.AddChild(MakeCell("Clade", CodexContent.Clade(_draft.DamCladeId)?.Name)); lineageGrid.AddChild(MakeCell("Species", CodexContent.SpeciesById(_draft.SireSpeciesId)?.Name)); lineageGrid.AddChild(MakeCell("Species", CodexContent.SpeciesById(_draft.DamSpeciesId)?.Name)); + // Sex is a character-level field, not per-parent — span left + // column with an empty filler in the right. + lineageGrid.AddChild(MakeCell("Sex", sexLabel)); + lineageGrid.AddChild(new Control()); } else { @@ -109,6 +120,8 @@ public partial class Aside : MarginContainer _content.AddChild(lineageGrid); lineageGrid.AddChild(MakeCell("Clade", CodexContent.Clade(_draft.CladeId)?.Name)); lineageGrid.AddChild(MakeCell("Species", CodexContent.SpeciesById(_draft.SpeciesId)?.Name)); + lineageGrid.AddChild(MakeCell("Sex", sexLabel)); + lineageGrid.AddChild(new Control()); } // Calling + Background — last row of the lineage block, with