feat: Replace TUI with graphical macroquad UI and live panel preview#5
Merged
WeekendSuperhero merged 5 commits intomainfrom Mar 17, 2026
Merged
feat: Replace TUI with graphical macroquad UI and live panel preview#5WeekendSuperhero merged 5 commits intomainfrom
WeekendSuperhero merged 5 commits intomainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the ratatui terminal UI with a native graphical window (macroquad) that renders the physical Nanoleaf panel layout. The app now starts directly in visualizer mode with a real-time graphical representation of your device.
camera_font_scalefor sharp text on Retina displaysChanges
New
app.rs— Complete rewrite as macroquad-based graphical app with panel rendering, floating HUD overlays, and help screenArc<Mutex<HashMap<u16, [u8; 3]>>>) between visualizer thread and UI for live panel previewfetch_artwork_and_palette()— Single-fetch function that returns both artwork bytes and extracted palette to avoid race conditionsRemoved
event_handler.rs— Replaced by macroquad's built-in input handlingratatuidependencyEffectList,Scroll,NlEffect,get_effect_list,play_effect,cur_effect_name)TuiConfigandcolorful_effect_namesconfig optionosascriptfallback for now-playing (replaced by ScriptingBridge-only + iTunes Search API)Pause/Resumevisualizer messages (visualizer starts immediately)Changed
visualizer.rs— Writes display colors to shared HashMap after each frame for UI previewnow_playing.rs— ScriptingBridge only (no subprocess spawning), iTunes Search API fallback for streaming track artworkconfig.rs— Removedtui_configsection, silently ignores legacy config for backwards compatibilitymain.rs— Launches macroquad window instead of ratatui terminalREADME.md— Rewritten to reflect the graphical app with new screenshot and demo GIFTest plan