The Web target compiles the selected Rust UI integration to WebAssembly and publishes the JavaScript, WebAssembly, and public files as one immutable generation.

Development

mix rekindle.dev watches the client and publishes successful builds below .rekindle/dev. Connected browsers are notified only after a complete generation is available. A failed build leaves the previous generation active.

Run one build without the development server:

mix rekindle.build web

Production

mix rekindle.build web --release

By default, generations are published below:

priv/static/rekindle/web/<generation>/
priv/static/rekindle/entry.js

The entry module imports and starts the selected complete generation. It is replaced only after that generation has been published. The installer adds a static endpoint at /rekindle and prepends the release build to assets.deploy, before phx.digest. Rekindle validates its canonical release generation under .rekindle/release before copying it into priv/static; Phoenix may add digested and compressed derivatives to the public copy.

Browser requirements

GPUI requires WebGPU. The egui and Slint templates use WebGL2. Browser graphics APIs can require hardware acceleration and a supported adapter.

WebGPU also requires a secure context. http://localhost is treated as potentially trustworthy, but an HTTP address accessed from another device is not. Use HTTPS for remote development and deployment.