From 682bd821e3a5c093b937f67b84fb769510495a00 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 20 Apr 2026 20:44:48 +0200 Subject: [PATCH] feat(ui): Skills tab stub content (Workstream 8, #618) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the W5 placeholder inside the Skills tab with a properly framed stub per Araminta's spec. Final workstream of the #618 + #680 + MetaScreen implementation. Content: - MarginContainer (8 px sides, 4 px top — matches existing tab padding) - Single centered Label: "Skills allocation — coming soon." - DIM_TEXT color, font_body size (11 px), horizontally and vertically centered inside the tab content area No inputs, no interactivity — real skill allocation lands in a future sprint when the skills system exists server-side. Players selecting a bookmark still proceed to Start regardless of what they see on this tab. Closes the implementation half of #618 (CK3-style character creation screen) and #680 (location picker) — Hoshe's revised test plans for MetaScreen pattern, #618, and #680 can now run end-to-end. Verification: - gdlint clean - Headless parse + widened scanner check (per hardened pr-push skill) clean; pre-existing autoload class_name noise filtered. - test_character_creation_sprint28 88/88, test_protocol 62/62, test_client_p3 24/24, test_ui_framework_sprint15 54/54 Next: Hoshe runs her full revised test gauntlet against the shipped shape; if green, the PR pushes via /pr-push. Co-Authored-By: Claude Opus 4.6 --- .../character_creation/character_creation.gd | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/client/ui/meta/screens/character_creation/character_creation.gd b/client/ui/meta/screens/character_creation/character_creation.gd index 86f4ee84e..0ed963751 100644 --- a/client/ui/meta/screens/character_creation/character_creation.gd +++ b/client/ui/meta/screens/character_creation/character_creation.gd @@ -606,15 +606,22 @@ func _update_appearance_sub_btns() -> void: func _build_skills_tab(tab: Control) -> void: + var margin := MarginContainer.new() + margin.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + margin.add_theme_constant_override("margin_left", 8) + margin.add_theme_constant_override("margin_right", 8) + margin.add_theme_constant_override("margin_top", 4) + tab.add_child(margin) + var lbl := Label.new() - lbl.text = "Skills content lands in Workstream 8." + lbl.text = "Skills allocation — coming soon." lbl.add_theme_color_override("font_color", TEXT_DIM) - lbl.add_theme_font_size_override("font_size", 12) + lbl.add_theme_font_size_override("font_size", 11) lbl.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER lbl.vertical_alignment = VERTICAL_ALIGNMENT_CENTER lbl.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) lbl.mouse_filter = Control.MOUSE_FILTER_IGNORE - tab.add_child(lbl) + margin.add_child(lbl) # =============================================================================