Files
zhila/app

ZHILA · Tauri shell

This is the desktop shell for the ZHILA surface. It is built and verified on Fedora (WebKitGTK 2.54.2, GTK 3.24.52, dbus 1.16.2, Tauri 2.12.5 / CLI 2.12.4). The binary is src-tauri/target/release/zhila-app.

The shell expects the Vite surface at http://127.0.0.1:5173 (the devUrl in src-tauri/tauri.conf.json) and the Rust daemon at ws://127.0.0.1:4317. The P0 window does not embed the engine yet.

Install the system packages (Fedora)

sudo dnf install dbus-devel webkit2gtk4.1-devel gtk3-devel libappindicator-gtk3-devel \
  librsvg2-devel openssl-devel libsoup3-devel javascriptcoregtk4.1-devel pkgconf-pkg-config

Run

# terminal 1
cd ..
cargo run -p zhila-daemon -- --port 4317

# terminal 2
cd ..
npm --prefix ui run dev

# terminal 3
npm --prefix app install
npm --prefix app run tauri dev

Build

npm --prefix ui run build
npm --prefix app run tauri build -- --bundles deb

The bundle targets are deb and appimage. The icon at src-tauri/icons/icon.png is a P0 placeholder.

Self-contained app

The app now starts the ZHILA host (engine, session, SQLite project, assets, loopback wire) inside its own process. The built window does not need the daemon.

npm --prefix ui run build
cd app
./node_modules/.bin/tauri build --no-bundle
./src-tauri/target/release/zhila-app

The host binds 127.0.0.1:4317 with the development token dev and loads ~/.local/share/zhila/descent-04. For browser development run the standalone daemon instead; both cannot own the port at the same time.

cargo check --manifest-path app/src-tauri/Cargo.toml and the release build pass. The earlier dbus-1/webkit2gtk/gtk pkg-config failure is historical; those packages are installed. The window screenshot is preview-tauri.png at the repository root.