A video game where you play as a misaligned AI, deceiving and building power. An experiment in spec-driven development. cameron.tngl.io/misaligned

Interactive origin picker on the terminal title screen (chargen crit 3) master

The terminal title screen is now the new-game origin picker: ◄/► (or h/l) cycle the four origins, showing each one's name, lean, and built-to fiction; any other key begins the run. App keeps the seed and a selected_origin (default = --origin value); App::start_run rebuilds the sim with the chosen origin before entering play. Adds Origin::next/prev for the cycling. This completes criterion 3's interactive picker for the terminal (the core-card axis readout already landed in both frontends). Remaining for full criterion 3: the Bevy title-screen picker parity (filed as a follow-up) and the objective axis in the same picker (trivial while Persist is the only objective). Defense: Pilot-safe and additive — the default selection is the --origin value (Pilot without the flag) and start_run only rebuilds when the origin changed, so no-choice play is byte-identical. Cycling (next_and_prev_cycle_the_whole_set_and_wrap) and origin-application (title_picker_start_applies_the_selected_origin) are unit -pinned; all terminal (35) and core tests pass, fmt/clippy/docs gate green. The rebuild reuses the kept seed and the landed Sim::with_origin_seed, adding no rule.


+167 -10
6 changed files