mirror of
https://github.com/hanzo-apps/world.git
synced 2026-10-30 14:53:09 +00:00
The analyst could show/hide/move panels and drive the map, but NOT change the layout mode, add a topic to watch, or drive the Watch Queue — so 'reconfigure the layout and all widgets from the chat' was not actually true. New commands (each drives the SAME public API the UI does; no second path): - set_layout_mode: grid / free / immersive - set_immersive_background: map | video - set_language - add_monitor / remove_monitor — 'watch for X'; goes through the one monitor path, so an AI-added monitor persists + matches server-side like a typed one - queue_next / queue_prev — drive the Watch Queue AppState snapshot now exposes layoutMode, immersiveBg, language, the user's monitors, and queue depth — the model cannot drive what it cannot see. Fixes a real WatchQueue restore bug the e2e caught: a persisted blob whose currentId pointed at a non-'watching' item silently lost watch-tracking (next() only finishes a 'watching' item). load() now restores the invariant. e2e/analyst-full-control.spec.ts: AI really flips to immersive, really adds a monitor that lands in storage, really advances the queue — 3/3. Full suite 56. Co-authored-by: Hanzo Dev <[email protected]>