Skip to content

Zacaria/wakfokus

Repository files navigation

WakFocus (Rust)

This workspace hosts the cross-platform WakFocus rewrite built in Rust. The legacy Java client still lives under reference/java-app/ solely as a behaviour reference.

Workspace layout

  • apps/desktop – Tauri desktop shell (Rust backend + Svelte/shadcn frontend) that renders the frameless settings window and notification overlay.
  • crates/core – shared runtime (config, heuristics, async polling) reused by every platform.
  • crates/platform-win / crates/platform-mac – low-level bindings per OS.
  • crates/audio – rodio-based playback for bundled/custom notification sounds.
  • openspec/ – specs, proposals, and tasks that describe the desired behaviour.
  • reference/java-app/ – copy of the original Java sources (not built or shipped).

Getting started

# Install dependencies
cd apps/desktop
pnpm install

# Launch the desktop shell with hot reload
pnpm tauri dev

The Tauri process bootstraps the shared Rust runtime (wakfocus-core + platform crates) and renders the UI through the bundled Svelte/shadcn frontend. Player-turn notifications open in a dedicated always-on-top window; toggles, dropdowns, and logs live inside the main settings window.

Development notes

  • The Tauri app ships two windows: main (settings/logs) and notify (overlay). Both talk to the same runtime over Tauri commands/events.
  • Install Node.js 18+ and pnpm (corepack enable pnpm) before running UI commands. Rust 1.78+ is required for the backend crates.
  • All user-facing toggles persist to ~/.wakfocus/config.json (or the macOS Application Support path) and migrate the legacy .properties file on first launch.
  • The legacy Java artifacts are not part of the build; keep them untouched unless you need to refresh reference screenshots/specs.

Packaging

Tauri's bundler now generates signed .app bundles and Windows installers from a single command:

cd apps/desktop
# Create production bundles for macOS + Windows
pnpm tauri build

The build artefacts land under apps/desktop/src-tauri/target/release/bundle/ (MSI, NSIS, .app, DMG). Follow Apple's notarisation/codesign process on the generated .app if you plan to distribute outside of the local machine.

Deployment checklist

  • pnpm tauri build succeeds for every target OS.
  • macOS bundle signed/notarised if shipping to other machines.
  • Windows MSI verified in a VM before publishing.
  • README.md and release notes updated with any behaviour changes.

About

MacOS app to detect current player's turn using OCR detection on wakfu

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors