Add Tauri desktop shell MVP for macOS#372
Open
woltspace-jerpint[bot] wants to merge 4 commits into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The shell was authored in the Linux lodge with no Rust toolchain, so it had never been through a Mac compile — and it didn't build: - serde_json wasn't declared, but tauri::generate_context! expands to code that needs it - docker.rs borrowed data_dir for `home` then moved it on the same line (E0505) — compute the candidates before the move - `tauri dev` loaded devUrl port 1420 but `npm run dev` served Vite on 5173, so the dev webview was dead — pin Vite to 1420 with a vite.config Checks in the Mac lodge now green: cargo test (4/4), npm test (8/8), lint, build. Cargo.lock added from the first clean build. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
The icon and the boot screen now wear the same pixel beaver as the web lodge, instead of placeholder vector art — the mark, the loading screen, and the real lodge finally read as one place. - App icon: the beaver sitting on a mini riverbank scene (blue sky, snow-capped ridge, pines, grass, river, drifting clouds), regenerated across every platform size from desktop/assets/icon-beaver.svg. - Boot screen: vendored the colony's sprite + landscape renderers (pixel-sprites.js, pixel-scene.js) so the scene paints offline, before the container is even reachable — that's the whole point of a boot screen. scene.js composes drifting clouds + a bobbing beaver + a log over the procedural riverbank, with a resize-aware landscape. - Retired the old CSS moon/pines/pond vector scene and gave the footer a frosted bar so it reads over the river. - eslint: added the globals the new scene code uses (clearTimeout, and process for the Vite config). The vendored renderers are copied from public/static (sprites.js, home-scene.js) with a sync note — the desktop bundle can't fetch them from the container at boot. npm test 8/8, lint, build all green. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
The desktop shell expects woltspace/woltspace:latest but the CLI builds bare `woltspace` and nothing is published to a registry yet. Existing users are unaffected (we attach to their existing container); net-new users can't pull. Documented inline so it's not lost. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
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
http://127.0.0.1:7777woltspace/woltspace:latestcontainer shape with persistent~/.woltspace/woltsstate and localhost-only port bindingChecks completed in the Linux lodge
npm test— 8/8 tests passnpm run lintnpm run buildgit diff --checkRust and native packaging were not run here because this environment has no Rust toolchain, Tauri Linux system libraries, or macOS SDK. A Mac agent must treat native compilation and launch as unverified until completing the steps below.
Mac build instructions
Prerequisites:
From the repository root:
Start with
desktop/README.md. The main native implementation is indesktop/src-tauri/src/docker.rsanddesktop/src-tauri/src/lib.rs; the boot UI/controller lives underdesktop/src/; packaging configuration is indesktop/src-tauri/tauri.conf.json.Native validation checklist
woltspace/woltspace:latestruns as containerwoltspace127.0.0.1:7777:7777is published~/.woltspace/woltswoltspace://session/<name>routes correctly on initial launch.appand.dmgpathsFor public distribution, configure Apple Developer ID signing and notarization in CI after the unsigned build works on a clean Mac.
Known MVP follow-ups