mirror of
https://github.com/baketnk/frame-yap.git
synced 2026-10-06 01:00:04 +02:00
Record experimental input priority deployment on Frame
This commit is contained in:
1 parent
69f5de5a09
commit
e5cb80ce59
1 file changed
+67
@@ -0,0 +1,67 @@
|
||||
# Experimental overlay input priority — 2026-09-24
|
||||
|
||||
Source commit: `69f5de5a`.
|
||||
Installed native ARM64 version: `2026-09-24T183121Z-g69f5de5a`.
|
||||
|
||||
The user confirmed the Vulkan flicker fix, reported controller actions becoming
|
||||
unavailable in system laser/dashboard interaction states, and agreed to try
|
||||
OpenVR's experimental priority mechanism. The investigation concerns action
|
||||
delivery across modes, independent of any specific physical button.
|
||||
|
||||
## Implementation and preparation
|
||||
|
||||
FrameYap config `input_priority` accepts `normal` (default) or `experimental`.
|
||||
Experimental requests `k_nActionSetOverlayGlobalPriorityMin` (`0x01000000`) for
|
||||
the existing action set through `UpdateActionState`, including while system
|
||||
laser mode or the dashboard is active. The request covers the sources bound to
|
||||
FrameYap actions; bindings and action paths are unchanged. The installer
|
||||
preserves the selection and backs up invalid config before repair.
|
||||
|
||||
SteamVR separately permits global input priority through its Developer setting.
|
||||
The current Frame's saved `steamvr.globalActionSetPriority` was already true;
|
||||
its runtime default was false. This was a targeted file read, not an effective
|
||||
runtime API query. FrameYap now reads this permission through `IVRSettings` and
|
||||
reports it separately from its priority request at startup. It does not write
|
||||
the SteamVR setting.
|
||||
|
||||
The controls-only diagnostic reports all six actions' activity, press state and
|
||||
pose/role acceptance, alongside dashboard visibility, our Lasers anytime flag,
|
||||
`IsInputAvailable`, panel visibility and the application focus gate. This can
|
||||
distinguish runtime action inactivity from application rejection. The laser flag
|
||||
records our request; it is not a detector for all system laser activation.
|
||||
|
||||
## Verification and deployment
|
||||
|
||||
- Local default build and CTest: 13/13 passed.
|
||||
- Local native build and hardware-free CTest: 16/16 passed. The fake Wayland
|
||||
test used sandbox escalation to bind its local Unix socket.
|
||||
- Frame ARM64 Release build from a checksum-verified archive of the source
|
||||
commit above: 16/16 hardware-free CTest checks passed.
|
||||
- The package was installed through the existing installer. Installed
|
||||
`--version` matched and its executable hash matched the staged executable.
|
||||
- FrameYap's config was set to `experimental` under the application lock, with
|
||||
an exact backup; all other config values were verified unchanged by that edit.
|
||||
- No OpenVR probe, microphone capture, inference or text delivery was started.
|
||||
No application, SSH or session process was stopped.
|
||||
|
||||
Native archive SHA-256:
|
||||
`40a9445427469286e8997563bc5598ace7769ba4c13b1a9290911c821d0e419c`.
|
||||
Installed executable SHA-256:
|
||||
`da842efcad926660efc66c03d843592573380b30e563e797df2944a0d6d77da7`.
|
||||
|
||||
The prior Vulkan version `2026-09-24T181314Z-g4c043c99` is retained. To end the
|
||||
priority experiment on the new build, set `input_priority` to `normal` and
|
||||
relaunch. To roll back to the older binary, first restore the pre-upgrade config
|
||||
backup `config.json.backup-sih_efaa`: that binary predates the new config key.
|
||||
The separate `config.json.backup-priority-2026-09-24T183121Z-g69f5de5a` preserves
|
||||
the upgraded config before selecting experimental priority.
|
||||
|
||||
## Acceptance boundary
|
||||
|
||||
The user was told the new build is ready for headset testing. Compare the same
|
||||
bindings with the dashboard open/closed and Lasers anytime on/off; check both
|
||||
pointer interaction and controller press/release, including mode transitions.
|
||||
Higher priority may consume input used by a scene or the dashboard. This record
|
||||
does not claim that actions now arrive in every state or that simultaneous
|
||||
dashboard interaction is accepted. Dated deployment evidence does not establish
|
||||
future device availability or authorize future live runs.
|
||||
Reference in new issue
Block a user