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

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors