Skip to main content

Contributing

Grid Screen combines a Svelte 5 frontend, a Tauri 2 shell, a Rust application core, and generated shared TypeScript bindings.

Local setup

Install Rust, Node.js, and the Linux Tauri dependencies listed in the repository README. Then run:

npm install
npm run tauri dev

Keep changes focused. For UI changes, include the affected interaction and its failure state. For platform changes, state which adapter and session type are supported.

Source boundaries

  • src/ owns the webview, stores, drag state, canvas rendering, and typed command wrappers.
  • src-tauri/src/ owns persistence, geometry, diagnostics, eligibility, and platform adapters.
  • shared-types/ owns the Rust/TypeScript data contract.

Do not describe a platform feature until its adapter, command path, and release support are verified together. In particular, Wayland enumeration is not Wayland arrangement.

See Architecture and Testing before opening a pull request.