Entry interaction studyForblune
The blink was the door.
While you held it, the eye tracked you, narrowed, and dilated. One value moves between 0 and 1 for as long as the pointer is down, and every visible state reads from that single number — which is why letting go early needed no special case. It simply runs backwards, more slowly than it ran forward. Open the inspector and drag the value yourself.
- Hold to open
- 900 ms filled, linear intent, eased render
- Release decay
- 1.6× the hold, ease-out — a retreat should feel unhurried
- Lids closing
- 200 ms, ease-in
- Lids opening
- 340 ms, ease-out — the content is already there behind them
- Pupil
- r 11.00 → 15.40, travel ±13 of 220 viewBox units
- Cursor
- Ring lerps at 0.18, pupil dot tracks exactly, dot dilates with the eye
- Input
- Pointer Events — mouse, touch and pen on one path; Space or Enter to hold
- Reduced motion
- No tracking, no blink, no cursor lag; the gate opens on press
- Weight
- One HTML file, typeface embedded, no libraries, no external requests
Built as a working answer, not a mockup.