Files
2026-03-30 23:06:06 -04:00

119 lines
7.7 KiB
Markdown

# 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