MARK
first visit00

Gated preloader

loading · motion — trigger: reload, or replay

The intro ends when three separate things agree.

A preloader that waits only for load flashes on a fast connection and lies on a slow one. This one opens three gates independently — a counter that must finish its own run, a mark animation that must finish the cycle it is in, and the actual page load — and leaves only when all three are open.

Counter reached 100
Mark finished its current cycle
Page reported loaded

The second gate is the interesting one: the mark loops forward and back until the page is ready, then finishes the cycle it happens to be in rather than cutting mid-motion. The intro therefore never stops on a half-drawn frame, whatever the connection does.

Returning visitors get the short version — the counter is skipped, one cycle plays, and the curtain lifts. That decision is stored per session, so it survives navigation but not a new visit.

3800ms
1100ms
2000ms
900ms
gates open independently; the curtain waits for all three