Edge Rotation Navigation

TURN THE BEZEL INTO NAVIGATION
A pointer beginning at r≥185 submits one detent per accumulated 45°. One long drag can cross several pages while the arc retains the residual fraction.
Capture rules
- The 466×466 center is
(233,233). r ≥ 185may start edge rotation, leaving about 48 px of forgiving inner bezel.- Once owned, the edge transaction outranks page actions and cannot become a center tap.
- Reaching 12 px of total travel permanently cancels tap fallback.
Detent accumulation
Each move computes signed adjacent polar-angle delta. Residual submits and subtracts ±π/4 in a loop, so one sample may cross multiple detents.
ts
while (abs(residual) >= PI / 4) {
switchPage(sign(residual))
residual -= sign(residual) * PI / 4
}Leaving and re-entering
Leaving the valid annulus sets rebasePending. The first point after re-entry only updates the reference angle; otherwise a center crossing or off-screen return looks like an almost-π rotation.
Feedback
Code draws a blue structural arc, yellow current detent and red trail. Each committed detent may play a short sound; the physical board has no vibration motor. A sub-detent drag simply rebounds and never activates the page action.
