Skip to content

Edge Rotation Navigation

Edge-rotation page 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 ≥ 185 may 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.