Phase 7: live encoder gauges in the profile editor
RioRuntime raises AxesUpdated with the calibrated AxisOutputs after every analog reply (independent of the joystick sink, so the gauges work while editor input routing is suppressed). The editor strip now renders the values live: Z and the L/R pedals (Rx/Ry) fill bottom-up, Rz deflects from a center tick, and the X/Y box tracks the stick as a dot over a crosshair. Fraction/deflection math is pure in Core.Editing.AxisGauges (clamped, unit-tested); the canvas repaints only the strip and only on change. Verified by offline form screenshots against injected values. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+7
-2
@@ -280,8 +280,13 @@ Replaces the legacy Google-Sheet → `.data` → GIMP → Script-Fu pipeline
|
||||
`ButtonBinding` ↔ `RioMapEntry.Create` — no hex. The value field is a
|
||||
context-sensitive picker (keyboard key by name via `KeyCatalog`, joystick Button N,
|
||||
hat direction, mouse/RIO-command enum); modifiers enable only for keyboard.
|
||||
Opened from the tray ("Edit profile…"); Save persists the profile.
|
||||
⏳ Still to refine: live encoder gauges, showing each button's assigned key as a
|
||||
Opened from the tray ("Edit profile…"); Save persists the profile. The encoder
|
||||
gauges are **live**: `RioRuntime.AxesUpdated` streams the calibrated axis values
|
||||
(post invert/deadzone/mix — exactly what the virtual joystick receives) into the
|
||||
strip at the analog poll rate — Z and the L/R pedals fill bottom-up, Rz deflects
|
||||
from its center tick, and the X/Y box tracks the stick as a dot (pure fraction
|
||||
math in `RioJoy.Core.Editing.AxisGauges`, unit-tested).
|
||||
⏳ Still to refine: showing each button's assigned key as a
|
||||
caption, grouping a button's two bank addresses, and clone-from-existing.
|
||||
- The unified profile JSON supersedes both `RIO.ini` and the Google Sheet, with
|
||||
importers for each.
|
||||
|
||||
Reference in New Issue
Block a user