You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The in-game mod UI works but has never had a deliberate design pass — it reads as scaffolding. This issue covers both finishing its incomplete surfaces and giving the whole thing a coherent visual language that feels native to Factorio.
Current surfaces
Main panel (control.lua): a screen-frame sized to 60%×72% of the display, with a titlebar (title, connection LED, drag handle, close) and a tabbed pane. The Tasks tab is live; the Blocks tab is a "(Blocks viewer — coming soon.)" placeholder.
Request-combinator planner (combinator.lua) and the task capture dialog (tasks.lua).
Styles (gui-styles.lua): split into an IN USE region and a large PALETTE region of exploration candidates that mirrors the web app's status colors — the split exists precisely because the design pass hasn't happened yet.
What "designed" means here
Native first: follow vanilla Factorio GUI conventions — proper frame anatomy (inside_shallow_frame, subheader frames, deep_frame_in_shallow_frame for lists), standard paddings and title-bar behavior — so the panel feels like part of the game, not a web page teleported in. Custom tinted styles should be reserved for the status/priority chips where they carry meaning.
Complete the Blocks tab: a real viewer of the project's blocks (name, icon, goal rate, health), with per-block "show summary" as the bridge to the existing build sheet.
Tasks tab polish: the list/detail layout, priority badges, and capture dialog should share one spacing and typography rhythm.
Prune gui-styles.lua: promote what the final design uses into IN USE, delete the rest of the PALETTE region wholesale (it is explicitly marked as dead weight once the design ships).
Small affordances: the connection LED needs a clearer state story (connected / connecting / no app found, with the click-to-ping behavior discoverable), and the mod-gui button could use a proper PyOps icon instead of the borrowed logistic-network sprite.
Non-goals
No new data flows or bridge messages — this is presentation and completion of existing surfaces.
The web app's design system (docs/design.md) governs colors for shared semantics (status, priority) but NOT layout idioms — in-game follows Factorio conventions.
Closes #4 when the summary layout lands as part of this.
Verification is hands-on in-game (screenshots through the bridge), per the mod testing conventions in AGENTS.md.
The in-game mod UI works but has never had a deliberate design pass — it reads as scaffolding. This issue covers both finishing its incomplete surfaces and giving the whole thing a coherent visual language that feels native to Factorio.
Current surfaces
control.lua): a screen-frame sized to 60%×72% of the display, with a titlebar (title, connection LED, drag handle, close) and a tabbed pane. The Tasks tab is live; the Blocks tab is a "(Blocks viewer — coming soon.)" placeholder.summary.lua): the Helmod-style build sheet pushed from the web app — recipes/machines matrix, I/O, power, blueprint buttons. Cramped at its current width (Summary panel: make the production matrix fill a wider window #4).combinator.lua) and the task capture dialog (tasks.lua).gui-styles.lua): split into an IN USE region and a large PALETTE region of exploration candidates that mirrors the web app's status colors — the split exists precisely because the design pass hasn't happened yet.What "designed" means here
inside_shallow_frame, subheader frames,deep_frame_in_shallow_framefor lists), standard paddings and title-bar behavior — so the panel feels like part of the game, not a web page teleported in. Custom tinted styles should be reserved for the status/priority chips where they carry meaning.gui-styles.lua: promote what the final design uses into IN USE, delete the rest of the PALETTE region wholesale (it is explicitly marked as dead weight once the design ships).Non-goals
Closes #4 when the summary layout lands as part of this.
Verification is hands-on in-game (screenshots through the bridge), per the mod testing conventions in AGENTS.md.