# ROADMAP.md # Tactical roadmap for MangoTune. Update this when UX direction, major milestones, or technical priorities change. # Last updated: 2026-03-25 - the old Studio preview binary has been replaced with a socket-driven renderer, so the remaining roadmap is mostly renderer polish, consistent hot-reload behavior, and manual validation --- ## Current Status - Dashboard-first overview is in place - Managed live preview works through real test apps and a companion preview renderer using a temporary preview config - Common appearance tuning is now surfaced up front - Profiles are available from the landing page - Studio preview scene, load, and FPS-cap controls now live in the dashboard and persist between runs - Studio preview now uses a socket-driven companion renderer instead of the older CLI-only shader preview - Dashboard preview state now auto-refreshes instead of only updating on button presses - Dashboard now includes one-click starter presets for minimal, competitive, balanced, and streamer-style HUD setups - Sidebar sections now collapse by default for the deeper areas, while search still reveals everything - Dashboard now also surfaces save state, validation summary, runtime detection, and quick actions in one place - Sidebar section opening now collapses the others so only one section stays expanded at a time - Dashboard now also controls preview window width/height for Studio, `vkcube`, and `glxgears` - Main appearance/display/behavior pages have started moving onto a custom control-deck shell instead of stock preferences-page layouts - Dashboard scrolling no longer accidentally tweaks nearby preview controls - Profiles can now be deleted from the landing page - The conflicts experience is now inline instead of opening a second window - Save is now blocked safely when validation errors exist instead of letting the user fall into a deadlock path - Raw Editor and Integrations now use the same custom control-deck language as the main settings pages - Right-aligned HUD previews now get extra width and avoid side-docking so they are less likely to disappear off-screen --- ## Immediate Focus ### 1. Dashboard Coverage - Expand the dashboard so it covers the most common MangoHud workflows - Keep common metric toggles, preview controls, and visual tuning on the first screen - Reduce how often users need to open deep schema pages - Keep refining preset bundles so they feel like strong default starting points rather than generic samples - Keep refining the workspace/status card so validation and save-state feedback stay obvious ### 2. Live Preview Reliability - Keep improving the managed preview flow around real MangoHud processes - Make reload/restart behavior more explicit when a change does not hot-apply cleanly - Preserve useful preview preferences between runs - Keep tightening the studio-renderer workflow and preview-state feedback - Continue validating MangoHud hot-reload behavior against more real-world options and drivers - Keep checking whether any non-studio scenes still need reload-to-restart fallback tweaks - Keep refining preview docking/visibility behavior on different monitors and layouts, especially for right-edge HUD placements - Keep validating that all starter presets behave correctly when the preview is docked to the side ### 3. Navigation Simplification - Make the sidebar feel less intimidating - Re-group advanced pages more clearly - Keep full MangoHud coverage without dumping all complexity on first use - Keep tuning which sections should be collapsed/open by default as the dashboard grows --- ## Next Milestones ### Milestone A — Better Dashboard - Add quick metric toggles for common FPS/GPU/CPU/memory items - Add smarter dashboard guidance and page jump-offs - Improve validation and dependency handling for dashboard controls - Consider promoting more edge-aware controls like right/bottom gap handling into other relevant pages, not only the dashboard ### Milestone B — Preview Studio - Expand the new dedicated preview renderer/workflow - Show clearer preview state: running, reloaded, restart recommended, stopped - Refine studio tuning UX now that renderer load/scene/FPS controls are exposed from the main app - Consider richer scene presets or staged load profiles - Unify Studio hot-reload behavior with the temp-config + signal/socket model used by the rest of previewing ### Milestone C — Custom Preview Renderer - Evolve the new `mangotune-preview` Rust binary beyond the initial particle scene - Keep it lightweight but configurable enough to create realistic MangoHud load - Target dark/bright/high-motion/readability scenes - Default to an uncapped renderer or a very high cap, with a safe default around 500 FPS if needed ### Milestone D — Full UX Polish - Revisit the remaining settings pages and bring them closer to the new visual direction - Reduce generic libadwaita-preferences feel - Add more helpful inline guidance for advanced features and config-layer behavior - Keep tightening copy, spacing, and visual hierarchy across the remaining advanced workflows - Replace manual MangoHud keybind text entry with real key-chord capture UX in the Keybindings page - Re-verify `docs/MANGOHUD_OPTION_BEHAVIOR.md` against upstream whenever MangoHud releases change option semantics --- ## Longer-Term Ideas - Scene presets tuned for different classes of hardware - Better Wayland-friendly preview/window management behavior - Optional import/export/share flow for profile bundles - More guided onboarding for first-time MangoHud users --- ## Risks / Constraints - A truly embedded real-time preview inside GTK may remain compositor- and platform-sensitive - MangoHud hot reload behavior may vary by option, so restart paths must remain first-class - The app still needs to preserve access to the full MangoHud option surface even while simplifying the main workflow --- ## Change Log - 2026-03-22 Initial roadmap created after dashboard-first redesign and managed preview foundation - 2026-03-22 Added the `mangotune-preview` companion renderer and shifted preview work toward deeper renderer integration - 2026-03-22 Added dashboard-level studio renderer tuning with persisted scene, load, and FPS-cap preferences - 2026-03-22 Switched preview launching to track real processes directly and added in-window studio controls plus more distinct scene designs - 2026-03-22 Added automatic preview-status refresh in the dashboard and safer reload-to-restart fallback behavior - 2026-03-22 Added one-click starter presets to the dashboard for common overlay styles - 2026-03-22 Collapsed deeper sidebar sections by default to reduce intimidation without removing discoverability - 2026-03-22 Added a dashboard workspace-status card with validation summary, save state, runtime info, and quick actions - 2026-03-22 Made studio preview reload restart safely instead of sending it down a brittle signal path and turned the sidebar into a one-open-at-a-time accordion - 2026-03-22 Added dashboard preview-size controls, clamped preview docking inside the screen, and started moving deep settings pages onto a custom control-deck shell - 2026-03-22 Fixed the preset/save deadlock path, added dashboard profile deletion plus smarter width/offset controls, and made layer conflicts an inline page - 2026-03-22 Brought Raw Editor and Integrations onto the same redesigned shell and fixed Steam launch generation to react live to method changes - 2026-03-23 Added a right-aligned preview safety path that widens the preview and skips side-docking when the HUD is anchored on the right - 2026-03-25 Added real hotkey capture UX as a roadmap item instead of treating typed MangoHud syntax as the final keybinding experience - 2026-03-25 Replaced the old Studio preview binary with a socket-driven `mangotune-preview` renderer that takes dashboard defaults from env and reload commands over a Unix socket