Skip to content

docs(gui): lock Tauri (v2) and resolve framework-contingent annotations#31

Merged
IamMrCupp merged 1 commit into
mainfrom
docs/lock-gui-framework-tauri
May 18, 2026
Merged

docs(gui): lock Tauri (v2) and resolve framework-contingent annotations#31
IamMrCupp merged 1 commit into
mainfrom
docs/lock-gui-framework-tauri

Conversation

@IamMrCupp
Copy link
Copy Markdown
Member

Summary

Locks Tauri (v2) as Audiophore's v1 GUI framework and resolves the cascade of (contingent — depends on GUI framework choice) annotations that #29 (deployment pivot) left across the planning docs.

Closes #30.

Why Tauri

  • macOS is the only GUI target — Linux/Pi is the M4+ headless appliance per DEPLOYMENT.md. Tauri's strongest platform is the only one that matters.
  • Premium-app brief — Tauri's WebKit-on-macOS + native menus + .dmg notarization via tauri-bundler is the cleanest path. Custom-rendered alternatives (egui, Iced) read as "developer tool" against the brief.
  • In-app auto-update + manual "Check for updates" is the desired UX — tauri-plugin-updater is a first-class drop-in.
  • audiophore-api (axum) stays in scope for future remote monitoring / control consumers; Tauri IPC handles the local GUI surface only.
  • Of the six candidates surveyed (Tauri, egui, Iced, Slint, Dioxus, Xilem), Tauri is the only one marked "stable" in its README with no significant caveats. egui ships explicit breaking changes per release; Iced still self-labels experimental software; Slint is GPL/commercial only with no FOSS path; Dioxus's native renderer is experimental and the webview path is dominated by Tauri; Xilem is still pre-alpha.

Full evaluation captured in the private AI working folder's research-gui-framework.md (not committed — working folder is project-private).

What changed

  • SESSION_HANDOFF.md Locked decisions — three rows updated: GUI framework → Tauri v2; Web framework axum scope clarified to remote consumers; Frontend deferred to prototype time (no preference). Plus Deployment target row updated to reflect macOS=GUI / Linux=headless split, and Explicitly NOT in M1 clarified.
  • DEPLOYMENT.mdApp shape paragraph rewritten around Tauri; Packaging reframed around tauri-bundler + plugins; Auto-update open question resolved (tauri-plugin-updater + manual menu item); Target platforms table — Linux x86_64 + ARM64 relabeled as Headless / engine-only (was "Tested"; no Linux GUI ships in v1); When to actually start doing this checklist item for the framework decision ticked.
  • RUST_ECOSYSTEM.md UI build pipeline — contingent banner lifted; rust-embed removed in favor of Tauri's built-in asset embedding; cross-compile section updated for macOS-only-UI / Linux-engine-only split.
  • IMPLEMENTATION_PLAN.md — workspace layout comments clarified (audiophore-api = remote consumers; ui/ = Tauri frontend language TBD); Web API and Frontend sections rewritten for Tauri-IPC-local + axum-remote split; one M2 prep rust-embed checklist item resolved.

Test plan

  • CI green (markdownlint-cli2 + lychee)
  • grep -rn "contingent" *.md returns no GUI-framework matches (verified locally)
  • Lychee offline 11/11 OK on touched docs (verified locally)
  • Review-by-rendering: each touched file's tables and link anchors render cleanly in GitHub's preview

Follow-up (out of scope for this PR)

  • Tauri-on-macOS prototype (~2 hrs) in audiophore/audiophore repo before M2 packaging work starts — validates .app + Developer ID signing + notarization + tauri-plugin-updater end-to-end. Docs-only PR reverts cleanly if the prototype hits a blocker.
  • HARDWARE.md WS2815 + drzzs.com vendor addition — still queued as a separate small docs-PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(gui): lock Tauri (v2) and resolve framework-contingent annotations

1 participant