diff --git a/README.md b/README.md index 986054d97..5c691e030 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ capabilities, three outputs, one shared library, one build. | 🔗 **Maps that talk to each other** | Maps share props and events, so one app can nest them and a click in one can move another. | | ðŸŠķ **Small bundles** | Each map's file carries only the parts of the shared library it uses (tree-shaken). | | ⚙ïļ **One build step** | `bun run build` makes every map at once. | -| ðŸ“Ķ **Three outputs** | A web folder (iframe, script embed), a mobile app, a desktop app — [the 3 outputs](#what-the-build-makes--3-outputs). | +| ðŸ“Ķ **Three outputs** | A web folder (iframe, script embed), a mobile app, and a desktop app built from the same code you run in the browser — [the 3 outputs](#what-the-build-makes--3-outputs). | | What dx-maps set out to do | Proof | |---|---| @@ -259,10 +259,12 @@ If you build with AI agents, this repo is made for you: updating the moment you save. - **Speak instead of typing.** Rudder, an offline voice-to-text tool, sits as a corner widget in the Studio: look at a plugin, say what you see, and hand the text to your agent. Nothing leaves your - computer (Linux today). -- **One plugin, several outputs.** The same plugin ships as a web embed or a mobile app, and a plugin - can target the desktop: Rudder is the desktop example, a corner widget in the Studio and its own - desktop app (`bun run desktop:build rudder-voice`, see [HOWTO-build-the-desktop-app](./documentation/HOWTO-build-the-desktop-app.md)). + computer. Rudder also runs as its own desktop app: the Linux app works and is used to dictate the + work on many of these maps. +- **One plugin, several outputs.** The same code ships as a web embed, a mobile app or a desktop app. + Rudder shows the whole path: you run it in your browser on the development server, then + `bun run desktop:build rudder-voice` ships that same code as a desktop app (see + [HOWTO-build-the-desktop-app](./documentation/HOWTO-build-the-desktop-app.md)). - **Build together.** [Run it in the cloud](#run-it-in-the-cloud) gives a whole team one shared dev server. @@ -615,21 +617,29 @@ bun run phone # builds the app and installs it on a phone or emulator ### Output 3 — the desktop app ✅ works today -**We got the JAMstack map app running as a desktop app.** +**Run it in your browser, then ship the same code as a desktop app.** What you build and try on the +development server (`bun run dev`) is what ships to the desktop: [Tauri](https://tauri.app) wraps the +built folder in a small Rust program that runs on your own computer. There is no second code base. -![Desktop app (Tauri), working](documentation/readme-images/deploy5-desktop.png) - -**Rudder, the voice-to-text plugin, runs as its own desktop app too**, built with -`bun run desktop:build rudder-voice` ([HOWTO-build-the-desktop-app](./documentation/HOWTO-build-the-desktop-app.md)). +**Rudder, the offline voice-to-text plugin, proves it.** It runs as a corner widget in the Plugin +Studio and as its own desktop app, built with `bun run desktop:build rudder-voice` +([HOWTO-build-the-desktop-app](./documentation/HOWTO-build-the-desktop-app.md)). The Linux app works and +is used to dictate the work on many of these maps: look at a plugin, say what you see, and hand the +text to an agent. Nothing leaves the computer. ![Rudder, the offline voice-to-text desktop app, running](documentation/readme-images/deploy5-desktop-rudder.png) +**The map app runs as a desktop app the same way.** + +![Desktop app (Tauri), working](documentation/readme-images/deploy5-desktop.png) +
More about the desktop app -[Tauri](https://tauri.app) wraps the same built folder into a desktop program: it produced a Linux -app and a `.deb` installer. It isn't in the dx bundler for production yet — and the Research Gallery -could become a strong desktop app. +Tauri builds a Linux app and a `.deb` installer today. The macOS and Windows builds are set up but +have not been run yet ([the HOWTO](./documentation/HOWTO-build-the-desktop-app.md) says which steps are +proven). The desktop build runs on demand with the commands below; the automatic production build +doesn't make it yet. The Research Gallery could become a strong desktop app too. ```bash bun run check:tauri # checks the desktop setup — needs no Rust tools diff --git a/documentation/HOWTO-build-the-desktop-app.md b/documentation/HOWTO-build-the-desktop-app.md index 33360ce45..0fb8f8936 100644 --- a/documentation/HOWTO-build-the-desktop-app.md +++ b/documentation/HOWTO-build-the-desktop-app.md @@ -4,8 +4,9 @@ Rudder (`plugin-designs/rudder-voice`) is voice-to-text that runs on your own co local engine (`backend/rudder-engine`, Go) that drives NVIDIA's NeMo-Speech.cpp speech server. The desktop app is a Tauri window around the built web tree, with the engine started as a **sidecar**. -This page is written for an agent following it cold. **Read "What is proven" first**: most of the -desktop path has never been run by anyone, and the steps say so where that is the case. +This page is written for an agent following it cold. **Read "What is proven" first**: the Linux app is +proven and in use; the macOS and Windows path has not been run yet, and the steps say so where that is +the case. ## What is proven, and what is not @@ -18,8 +19,8 @@ desktop path has never been run by anyone, and the steps say so where that is th | The engine **compiling** for macOS (arm64, x86_64) and Windows (x86_64) | Proven by cross-compiling. It has **never been run** on either. | | The engine accepting a WebSocket from the Tauri webview (`tauri://localhost`, `http://tauri.localhost`) | Proven against a running engine; another site's origin is refused. | | NeMo-Speech.cpp runtime for macOS / Windows | Published by NVIDIA (release v0.1.0: `macos-aarch64-cpu`, `macos-aarch64-metal`, `macos-x86_64-cpu`, `windows-x86_64-cpu` / `-cuda` / `-vulkan`). **Never run here.** | -| `bun run desktop:build rudder-voice` on **Linux** | Proven: produced `Rudder_0.1.0_amd64.deb` (8.8 MB) holding the app and the `rudder-engine` sidecar side by side. The app has **not been launched** from it yet (no display on the build box). | -| The shell starting and stopping the engine sidecar | Built (`deployment/src-tauri/src/main.rs`), compiled into that installer; not yet run. | +| `bun run desktop:build rudder-voice` on **Linux** | Proven: produced `Rudder_0.1.0_amd64.deb` (8.8 MB) holding the app and the `rudder-engine` sidecar side by side. The installed Linux app has since been launched and is in use: it is used to dictate the work on these maps. | +| The shell starting and stopping the engine sidecar | Built (`deployment/src-tauri/src/main.rs`), compiled into that installer. The installed Linux app works (the row above); not yet run on macOS or Windows. | | First-run model download | **Not built.** Run `setup-runtime.sh` into the app's data folder by hand (step 7). | ## 1. Prerequisites