Skip to content

feat(gui): add capability-driven actions ring - #528

Draft
jericho0521 wants to merge 9 commits into
AprilNEA:masterfrom
jericho0521:feat/actions-ring
Draft

feat(gui): add capability-driven actions ring#528
jericho0521 wants to merge 9 commits into
AprilNEA:masterfrom
jericho0521:feat/actions-ring

Conversation

@jericho0521

Copy link
Copy Markdown

Summary

Adds a capability-driven Actions Ring vertical slice, including MX Master 4 Haptic Sense Panel capture, agent-owned sessions, haptic feedback, a warm non-activating GPUI overlay, and an editor for radial actions.

Changes

  • core: add Actions Ring layouts, per-application overrides, custom presentation icons, typed keyboard shortcuts, and application/folder/URL targets
  • hidpp/hid: add reverse-engineered 0x19B0 haptic feedback and 0x19C0 force-sensing wrappers; discover and divert Haptic Sense Panel CID 0x01A0; preserve prior reporting state
  • hook/inject: expose cross-platform cursor positions and execute typed shortcuts or expanded application/path targets
  • agent/ipc: add validated, snapshotted ring sessions with expiry, hover deduplication, cancellation, activation, and haptic playback; bump the positional protocol to version 13 with wire goldens
  • gui: add an eight-slot radial editor, categorized action library, 53 custom icon choices, shortcut/path inputs, and the warm circular overlay without focus activation or native window borders/shadows
  • packaging: ship and sign openlogi-overlay in macOS, Linux, and Windows artifacts
  • i18n/docs: localize the new UI across all locale files and document schema version 3 Actions Ring configuration

The 0x19B0, 0x19C0, and CID 0x01A0 behavior is documented in code as reverse-engineered rather than treated as an official protocol guarantee.

Screenshots

Pending: macOS Screen Recording is unavailable to the development harness. The editor and overlay were runtime-tested locally, but a maintainer-captured screenshot still needs to be attached.

Testing

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace
  • cargo run -p xtask -- macos bundle
  • codesign --verify --deep --strict --verbose=2 target/release/bundle/osx/OpenLogi.app
  • launched the development and release-shaped app bundles on macOS 26.4 arm64
  • verified GUI, agent, and warm overlay processes launch together
  • verified selecting a radial slot and assigning Left Click persists the expected slot configuration
  • verified every custom gallery icon resolves to an embedded asset
  • verified the release-shaped local bundle can replace the installed application
  • MX Master 3S detection was runtime-tested
  • not runtime-tested on MX Master 4 hardware: CID 0x01A0 capture, waveform playback, force thresholds, and press-to-first-frame latency remain to be verified
  • not runtime-tested on Linux or Windows; CI is required for cfg-gated behavior

Related to #92 and #313.

Fixes #15

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Action Ring

1 participant