mirror of
https://github.com/baketnk/frame-yap.git
synced 2026-10-06 03:00:04 +02:00
docs: describe paced typing and remaining acceptance gates
This commit is contained in:
1 parent
9829d0611d
commit
938caa39cc
5 files changed
+44
-18
No files matched your search
+13
-7
@@ -44,13 +44,19 @@ initialize OpenVR, open a microphone, run ASR, download files or inject input.
|
||||
microphone device failure releases the stream for explicit retry. A cancelled
|
||||
in-flight request or broken worker protocol may require reloading. No
|
||||
cloud/desktop fallback.
|
||||
- Gamescope IME v2 generated bindings, per-action short-lived lease, unavailable
|
||||
handling, UTF-8/control validation and explicit Type + Enter action.
|
||||
Type ensures a trailing space without doubling an existing one. Type + Enter
|
||||
first types pending review, releases the text lease, then acquires a fresh
|
||||
lease for Enter. Failed/uncertain text never proceeds to Enter; failed
|
||||
Enter acquisition never replays text. If a validated transcript fills the
|
||||
4096-byte bound and lacks a trailing space, Type preserves all its bytes and
|
||||
- Gamescope IME v2 generated bindings and a tick-driven paced delivery queue:
|
||||
at most 24 Unicode codepoints per commit, at least 150 ms between commits,
|
||||
including separate actions and explicit Enter. This is a proposed workaround
|
||||
for the finite temporary keymap, not a target-consumption acknowledgment. Clipboard is
|
||||
untouched. The full literal is retained while pending; Cancel/Quit, focus loss
|
||||
or model/debug changes discard unsent input without retry or Enter. Manual
|
||||
Type captures a verified Xwayland target; Auto insert keeps its original guard.
|
||||
The IME is retained only through the task and cooldown (shutdown can wait the
|
||||
remaining <=150 ms). Pacing does not sleep in the UI loop, but an individual
|
||||
Wayland roundtrip can still reach its bounded one-second timeout. Type adds
|
||||
a trailing space if it fits, without doubling an existing one. If a validated
|
||||
transcript fills the 4096-byte bound and lacks a trailing space, Type preserves
|
||||
all its bytes and
|
||||
queues it **without** the usual space; it does not signal a separate error.
|
||||
Destination consumption and repeated-delivery behavior remain unaccepted.
|
||||
- User-local installer with checked binary-archive or explicitly provisioned
|
||||
|
||||
+9
-4
@@ -194,11 +194,16 @@ Gamescope exposes focus-display/window root properties, but their encoding and
|
||||
relationship to seat focus need implementation-specific validation. Do not infer
|
||||
that X display `:0` is always the destination, or that an X focus observation
|
||||
identifies a native Wayland text field. For unobservable native Wayland focus,
|
||||
require explicit review/Type; do not advertise safe auto-targeting.
|
||||
keep the transcript in review; current paced manual Type also refuses an
|
||||
unverifiable target. Do not advertise native Wayland target support.
|
||||
|
||||
If focus changes, keep the result in review. A fresh Type explicitly approves
|
||||
the current destination and creates a new delivery authorization. Recheck again
|
||||
at typing. This minimizes stale delivery but does **not** eliminate a race
|
||||
Before the first send, focus failure keeps the result in review. A fresh Type
|
||||
approves a currently verified Xwayland destination and creates a new delivery
|
||||
authorization. The paced queue rechecks that same target before each <=24-codepoint
|
||||
batch and explicit Enter, spacing commits by at least 150 ms. After a partial
|
||||
send, focus failure drops the remainder and Enter without replay; it cannot
|
||||
undo already queued input. The clipboard remains untouched. This minimizes stale
|
||||
delivery but does **not** eliminate a race
|
||||
between the final check and global input processing; do not claim otherwise.
|
||||
A Wayland roundtrip means compositor processing, not application consumption.
|
||||
Report `input queued`, never `message sent`.
|
||||
|
||||
+12
-1
@@ -178,7 +178,9 @@ focus-out, root focus-property change (even if the same window returns), window
|
||||
destruction, held keyboard key, missing X display or any disagreement permanently
|
||||
disarms that clip. The transcript then remains for explicit review/Type.
|
||||
Native Wayland focus and child text-field focus cannot be safely inferred here;
|
||||
those cases fall back to review. No automatic Enter, speech commands or retry.
|
||||
those cases fall back to review. Manual Type now also requires a verifiable
|
||||
Xwayland target; it does not bypass an unavailable guard. No automatic Enter,
|
||||
speech commands or retry.
|
||||
The compositor can still change focus in the gap between the final check and
|
||||
global delivery, and IME commit is not an application receipt. This path has
|
||||
offline synthetic focus tests and a separate owned-target IME fixture; live
|
||||
@@ -186,6 +188,15 @@ speech-driven Auto insert, target coverage and headset acceptance remain
|
||||
unverified. The setting is preserved on upgrade
|
||||
and a failed preference write applies only to the current session.
|
||||
|
||||
Delivery uses a responsive, tick-driven queue of at most 24 Unicode codepoints
|
||||
per commit, with at least 150 ms between commits and before explicit Enter.
|
||||
The full 4096-byte literal is preserved, including all-space batches. The same
|
||||
target is checked before every batch; input blocked before the first send keeps
|
||||
review, whereas partial/uncertain input is consumed and never retried. Cancel
|
||||
stops remaining text and Enter; it cannot undo bytes already queued. Record and
|
||||
new Type actions are disabled while pacing. The clipboard is never touched.
|
||||
This source-grounded Gamescope workaround still needs long-text live acceptance.
|
||||
|
||||
`quick_inputs` is an editable list of 1–6 nonempty, printable ASCII strings,
|
||||
each at most 64 characters. Edit the JSON file and restart; there is no headset
|
||||
text editor. Inputs are literal (not expanded or interpreted by FrameYap) and
|
||||
|
||||
Reference in new issue
Block a user