Skip to content

Interaction UI Index

Every interaction module is documented through the same atomic contract:

  1. Trigger: physical input or game event that starts it.
  2. Transaction owner: the system that owns input from down to release.
  3. Commit point: the moment economy or save state actually changes.
  4. Visual assets: PNG, sheet, bitmap font or code-drawn geometry.
  5. Timing: authored FPS, lifetime and scheduler frequency.
  6. Cancellation: movement threshold, ring exit, navigation, ambient and lost capture.
  7. Degradation: reduced-motion and ambient policy.
  8. Firmware mapping: the matching C++, dirty-region and hardware-service boundary.

Module matrix

ModulePrimary assetsLogic commitFull motionReduced / ambient
TapEight fx_tap framesPointer up24 FPS + particlesFirst frame / silent
HoldCore charge/press + code ringReleaseThree stages + burstShortened / cancelled
ParticlesBitmap ASCII + code particlesAfter event8–48 particles3–8 / silent
Edge navigationCode arcs and detent ticksEach accumulated 45°Continuous previewDiscrete result
SHOP orbitMaker frames + TEAM linesStable releasePreview + fx_growFirst FX frame
Card swipeTwo-state icons + code clipReleaseContinuous offsetDiscrete result
STAR launchTen fx_loop framesSecond confirmation18 FPS + particlesKey frames / unavailable in ambient
Tilt160×160 pixel bandsEvery IMU sample30 Hz visual15 Hz / never wakes
AmbientSix core_sleep_loop framesTimeout2 FPSOptional pure black

Every GIF is deterministically assembled from frozen frames or historical screenshots by website/scripts/generate_media.py. They explain the production assets rather than inventing a second simulation.