Welcome to devlog #2 for Orvix. here’s what was done today:
profiles + gui
- added named config profiles (list/save/load/delete), so you can have more than one saved setup instead of just one config.yaml
- wired profiles into the menu bar
- added a confirm prompt before save-as silently overwrites a profile, matching how delete already asks
cursor ring
- added an optional always-on cursor ring toggle, separate from the existing dwell countdown ring
- made the ring flash on a landed click
- found dwell click skipped the flash since it fires through a different path, fixed that too
- checked every other action (radial mee, pause), none of those need it, already covered by their own feedback
gesture tuning
- fist twist volume knob now scales rate with twist speed instead of a fixed step
- checked if cursor drift builds up ovet, added a long session test instead of a fix nobody needed
bug fixes, mostly config/crash related
fixed a bunch of ways a bad or hand edited config.yaml could crash orvix silently, since the menu bar app
has no terminal to show errors in:
- unknown/typo’d keys in the yaml
- wrong types (string where a number sh
- out of range values (negative durations, percentages over 100)
- invalid action names like pinch_actio
- fast_speed <= slow_speed causing a divide by zero in cursor gain math
also:
- fixed calibration double starting if aced two threads on the same state
- fixed stale gesture state firing a click or thumbs up right after unpausing
- fixed desktop bounds going stale if yid session
- gave “first” hand tracking mode identity continuity so a second hand cant hijack the cursor mid use
cli fixes found by actually running things
- fixed orvix status giving a false “cant reach leapd” error when leapd is fine but no device event came
in - fixed orvix calibrate hanging forever with no timeout when theres no leap device plugged in
test coverage + cleanup
- added tests for leap_client’s frame parsing, mouse_control.py, overlay.py, none had any before
- ran pyflakes across orvix/ and tests/
- updated readme to match current behavior (volume rate, cursor ring, profiles)
verification passes that found nothing
- ran full test suite 3x looking for flaky tests, found none
- launched the real menu bar app live, shutdown
- checked orvix profile’s numbers still make sense after all the mapper changes
- did a late audit for remaining state up empty
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.