Cordial 0.3.0 — keys work in an experience
Keys work in an experience, and this project's frame-rate metric is retracted.
- Keys work in an experience.
nativePassKeyEventwants evdev codes, not
Android keycodes — which is why every keystroke had been arriving as the wrong
key, or as nothing. - Present mode MAILBOX instead of FIFO: a flat 60 where FIFO gave a variable
35–50. pthread_onceand thread-specific data are implemented in the shim. The
stub that returned success forpthread_oncecould not be survived — a stub
that lies is worse than one that fails.- The extracted engine cache never invalidated, so a new APK ran the old
engine. Warm start now invalidates when the build changes. - The build is stamped with
git describe, so a binary says which tree it
came from, including-dirty.
Retracted here, and it matters: vkQueuePresentKHR counts were this
project's fps metric and they measure the wrong thing. Presents run at about 60 a
second for thirteen seconds and then drop to exactly 1.0 a second, identically on
X11 and Wayland — an idle throttle, not a frame rate. Synthetic pointer motion
holds 50–60 for a whole 240-second run and toggling it flips the rate both ways.
Every count recorded before 2026-08-02 is that curve integrated, and several were
quoted as evidence.
Also corrected: pthread_cond_t is 48 bytes in bionic, not 32. A recorded
finding was wrong.