The engine needs ~75 ms per key, so above ~13 keys/s every reply came
back after the next key and was dropped as stale, and queued requests
made each reply later still. At 20 keys/s an 18-letter sentence
refreshed the panel once and took 532 ms after the last key to settle.
- Addon: show a reply for an earlier prefix of the pinyin being typed as
a non-selectable preview instead of dropping it.
- Harness: when several B commands are already queued, feed them to the
engine together and fetch candidates once. The merged commands answer
SKIP so replies still pair one-to-one with commands. Without a
backlog each key is still handled immediately.
At 20 keys/s the same sentence now refreshes 10 times and settles
149 ms after the last key.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>