Motion overlays and recenter¶
Overlays compose above the selected base effect. Their identities and controls come from the catalogue. Both phone apps expose detailed editors; watch keeps compact switches, and the minimal browser has no overlay editors.
Raised tip: tilt-driven travel (0.6.1)¶
On legacy strips, the upper ear's two brightness pulses follow calibrated tilt in both directions,
with no entry dwell or timed climb. Right tilt selects the left ear; left tilt selects
the right. Start tilt retains overlays.tilt_deg (5–60°, default 20°). Travel angle
is the additional tilt needed to reach the tip (5–30°, default 15°). Start + travel
must be at most 75°; invalid combined edits are refused atomically. Thus the defaults
start at 20° and finish at 35°, with half travel at 27.5°.
Position is clamp((upper-ear roll - start) / travel, 0, 1), softened with a 70 ms
filter. Pulses fade in/out over 60 ms at start. Partial tilts remain parked indefinitely;
straightening moves the pulses down. Both edge lengths share progress, retaining the
two-pixel body, fractional handoffs and simultaneous endpoint alignment. Speed and
Motion sensitivity do not scale the angles, smoothing or hold clock.
V2 maps this progress to each ring's own height range, with two held tip samples per ring and no centre participation. Turn trail repeats on each closed ring; Move shimmer uses global physical height including the centre.
Reaching finish enters selected tip colour over 200 ms and starts the existing two-second peak-to-midpoint pulse. Finish has 2° hysteresis: lowering below finish - 2° releases the selected colour over 150 ms while the brightness pulses move down. Entry/release reverse from the current blend. Crossing sides leaves only short fades; there is no autonomous cancelled climb, dwell or completion lockout. The colour fade continues if a quick return to neutral has already faded the base pulse away.
Chase/trough stays clamp(B + O/2, 0, 100), peak clamp(B + O, 0, 100). The chase
uses current main hues/outline fallback including Enforcer and palette cycling;
the selected tip pair remains a replacement that bypasses Enforcer, below forward
lean and gestures. Output gamma, trims, floor, dithering and current limits remain.
Suppression/stale motion/mounting/topology and either angle edit clear state; ordinary
brightness/palette/Speed/sensitivity edits preserve phase and colour edits blend 200 ms.
Straight strips, single pixels and disabled ears retain their existing topology rules.
Start tilt is control 9; Travel angle is private u8 control 12,
overlays.tilt_travel_deg. Overlay 5 revision 2 stores travel in the parameter map.
Changing either angle resets travel; invalid combined angles are rejected atomically.
The old timed climb is preserved only in history.
Turn trail and Move shimmer¶
Turn trail uses calibrated yaw to move palette-coloured accents around the outline; v2 repeats them on each closed ring. Move shimmer uses activity and physical height, including the v2 centre. Both retain the shared overlay offset, output limits and suppression rules. See the effect owner for mapped composition.
Enforcer and sustained red/green gestures¶
Enforcer remaps the main frame, background and palette accents to yellow/white/black, preserving peak intensity. It doesn't rewrite saved RGB. Shake red and Nod green blend above those layers and have priority over Raised tip and Forward lean.
Shake starts after three alternating legs, nod after two, with configured minimum speed/swing, dominant-axis checks and an 800 ms cooldown. Matching continuation at 40% of start speed can sustain an existing overlay but cannot start one. Attack is 60 ms; continuation refreshes a 250 ms hold, then releases over 250 ms. Newest initial gesture wins; red wins simultaneous triggers. Suppression, stale motion and calibration/threshold changes discard old gesture state. See buttons and motion.
The shared brightness offset is −100..100 points, default +20; the ordinary overlay cap is main brightness plus offset, clamped to 0..100. These overlays may light at main zero. Global off clears all layers; gamma, RGB trims and current limits still apply.
Forward lean¶
Forward lean is an independent default-off catalogue overlay on phone/watch. It uses calibrated positive pitch: enter above 60 degrees, remain active through 55–60, and release below 55. Thresholds are actual degrees, independent of sensitivity. The red raised-cosine pulse is 0.5 Hz (two seconds), peaking at 75% of main brightness before trims/current limiting. It replaces main, background and palette accents while the pose is held, including black pulse troughs. Entry/release use 150/350 ms envelopes to fade between the animation and alert. Shake/nod retain priority; Enforcer does not remap red. The alert ignores the shared brightness offset and is dark at main zero. This is a pose effect, not battery telemetry. Recenter changes its neutral basis.
Stale/unavailable motion, calibration changes and off/diagnostic/update/flash suppression clear its active state. A held pose can start a fresh entry after resume; paused gestures are not replayed. It is dark at main zero.
Recenter and qualification¶
Neutral-only recenter keeps learned mounting axes. The watch offers confirmed recenter; full mounting calibration belongs on phone. Check the real left/right mapping before comparing increasing, parked and decreasing tilt, both tip arrivals, colour entry/release, gesture priority and forward-pulse cadence.
Dated software checks, earlier palette accents and timed Raised tip variants remain in the overlay history. They are not current setup steps.