M6.13a: Show character sex in Aside lineage block

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 <noreply@anthropic.com>
This commit is contained in:
Christopher Wiebe
2026-05-04 21:39:33 -07:00
parent e1fb988969
commit 067038de45
+14 -1
View File
@@ -85,7 +85,14 @@ public partial class Aside : MarginContainer
private void BuildDetailsGrid() 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 // Hybrid layout: SIRE / DAM column headers above the parent
// detail rows, then the Calling / Background row spans both // 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("Clade", CodexContent.Clade(_draft.DamCladeId)?.Name));
lineageGrid.AddChild(MakeCell("Species", CodexContent.SpeciesById(_draft.SireSpeciesId)?.Name)); lineageGrid.AddChild(MakeCell("Species", CodexContent.SpeciesById(_draft.SireSpeciesId)?.Name));
lineageGrid.AddChild(MakeCell("Species", CodexContent.SpeciesById(_draft.DamSpeciesId)?.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 else
{ {
@@ -109,6 +120,8 @@ public partial class Aside : MarginContainer
_content.AddChild(lineageGrid); _content.AddChild(lineageGrid);
lineageGrid.AddChild(MakeCell("Clade", CodexContent.Clade(_draft.CladeId)?.Name)); lineageGrid.AddChild(MakeCell("Clade", CodexContent.Clade(_draft.CladeId)?.Name));
lineageGrid.AddChild(MakeCell("Species", CodexContent.SpeciesById(_draft.SpeciesId)?.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 // Calling + Background — last row of the lineage block, with