# ECP-0097: Tauri Desktop Bundle Boot via Relative Assets and Custom Protocol Status: Proposed ## Decision Make the Tauri desktop frontend boot from bundled assets reliably by: - building the Tauri UI with relative Trunk asset URLs - exposing the standard `custom-protocol` cargo feature so direct Cargo runs can load bundled assets instead of the dev server URL - showing a minimal boot-status overlay until the Dioxus app mounts, so startup failures are no longer silent blank windows ## Motivation The desktop shell was starting as a blank window even though the frontend bundle itself rendered correctly over HTTP. Two separate issues caused that failure mode: - the Trunk bundle used root-absolute asset paths, which are fragile for desktop asset loading - `cargo run` without the Tauri custom-protocol feature followed the dev-server path instead of the bundled `dist/` assets This made local desktop verification ambiguous and hid useful error information from operators. ## Scope In scope: - Tauri UI bundling for desktop - direct Cargo run behavior for the desktop app - a minimal visible frontend boot diagnostic Out of scope: - redesigning the viewer UI - changing the web deployment path for non-Tauri surfaces - full developer tooling around webview devtools ## Alternatives Considered - Keep root-absolute Trunk paths and require `cargo tauri dev` only. Rejected because desktop bundle verification remains fragile and blank-window failures remain opaque. - Add only the boot overlay. Rejected because diagnostics help, but the bundle/load path still needs correction. ## Rollout / Reversibility - The change is local to the Tauri desktop app. - Roll back by restoring the prior Trunk public URL and removing the package feature / boot overlay.