MainMenuController gains a 2-class picker that sets WorldLauncher.SelectedClass;
WorldLauncher seeds a ClassSelection singleton into the client world at session start,
which GoInGameClientSystem carries on the spawn RPC. Default Warrior. Completes the
Slice 2 loop: pick a class in the menu -> spawn with its kit. Editor-default boot stays
Warrior (the menu path drives the choice). 348/348.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Netcode frontend pattern: UITK main menu / pause / settings (MenuUi + controllers), on-demand world lifecycle (WorldLauncher/SessionRunner), GameBootstrap menu branch; Graphics/Audio settings (SettingsService/GameVolume); single-slot save foundation (SaveData/SaveService, born-correct load at director spawn, autosave on Siege->Calm + quit); RuntimePanelSettings + theme; BuildTool menu; 10 EditMode tests.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>