Linear
Mostly diagrams: hundreds of dots popping in on quad-out, step-timed loaders, a product frame fading up over 1.5s. The headline blurs into place on a plain 1s ease, and conversation turns arrive on a sampled spring.
Tiers
Each curve was read from the browser while visiting linear.app. The demo is our own element running the same timing.
headline lines blurring up into place (WAAPI)
Click the track or Replay.
- Timing
- cubic-bezier(0.25, 0.1, 0.25, 1)
- Duration
- 1000ms
- Property
- transform
- Seen
- Web Animations API, on load, 1×
- On
- span > span.hide-mobile.QI8oKG_titleLine
product frame background fading up (WAAPI)
Click the track or Replay.
- Timing
- cubic-bezier(0.455, 0.03, 0.515, 0.955)
- Duration
- 1500ms
- Property
- opacity
- Seen
- Web Animations API, on load, 1×
- On
- div.WS84WW_wrapper > div.WS84WW_background
agent conversation turn arriving (WAAPI spring)
Click the track or Replay.
- Timing
- linear(0 0%, 0.0411 3.4482758620689653%, 0.1342 6.896551724137931%, 0.2478 10.344827586206897%, 0.3638 13.793103448275863%, 0.4725 17.24137931034483%, 0.5692 20.689655172413794%, 0.6524 24.137931034482758%, 0.7222 27.586206896551722%, 0.7798 31.034482758620687%, 0.8267 34.48275862068965%, 0.8644 37.93103448275862%, 0.8944 41.37931034482759%, 0.9181 44.827586206896555%, 0.9367 48.27586206896552%, 0.9513 51.72413793103449%, 0.9626 55.17241379310346%, 0.9714 58.62068965517243%, 0.9782 62.068965517241395%, 0.9834 65.51724137931036%, 0.9874 68.96551724137933%, 0.9904 72.4137931034483%, 0.9927 75.86206896551727%, 0.9945 79.31034482758623%, 0.9959 82.7586206896552%, 0.9969 86.20689655172416%, 0.9976 89.65517241379311%, 0.9982 93.10344827586208%, 0.9987 96.55172413793105%, 1 100%)
- Duration
- 300ms
- Property
- opacity
- Seen
- Web Animations API, while scrolling, 3×
- On
- div.q1lnWq_turn > div
customer card hover filter
The site animates filter; the demo shows the same timing as movement.
- Timing
- cubic-bezier(0.25, 0.46, 0.45, 0.94)
- Duration
- 0.16s
- Property
- filter
- Seen
- CSS transition, on hover, 3×
- On
- div.Dc5tqa_customerCards > a.Dc5tqa_customerCard.Dc5tqa_primary
grid loader dot, stepped
The site animates a keyframe animation (grid-dot-0-0-agent); the demo shows the same timing as movement.
- Timing
- steps(1)
- Duration
- 3.2s
- Property
- grid-dot-0-0-agent
- Seen
- CSS animation, on load, 1×
- On
- svg._3fVNxW_gridLoader._3fVNxW_gridLoaderAgent > circle.grid-dot-0-0-agent
diagram dots popping in
The site animates a keyframe animation (fFDhtq_dotIn); the demo shows the same timing as movement.
- Timing
- cubic-bezier(0.25, 0.46, 0.45, 0.94)
- Duration
- 0.42s
- Property
- fFDhtq_dotIn
- Seen
- CSS animation, while scrolling, 5×
- On
- g.fFDhtq_cluster > circle.fFDhtq_dot
Honest notes
- Reduced motion
- Honored
Movement (transform, position, size): 474 events in the normal run, 18 with reduced motion on (4%). All timed CSS and WAAPI motion: 713, then 285 (40%). 78 prefers-reduced-motion queries in stylesheets; scripts asked matchMedia about it 7 times.
transition: all- Used
2 elements computed
transition-property: allat the end of the visit. 0 declarations in the CSS the page loaded. - Motion in JavaScript
- Yes
Scripts include Framer Motion / Motion. Motion run on requestAnimationFrame isn't readable from styles, so it isn't in the tiers.
- Canvas
- No viewport-sized WebGL canvas
Nothing here was hidden in a canvas.
- Posture
- material
At rest, 68 transitions move things (transform, opacity) and 437 change surfaces (colour, shadow, background, filter), and 184 elements loop. The glossary's quick test reads that as material.
- Coverage
- One load, 30 elements hovered
Scrolled to the bottom with the mouse wheel, hovered and left a spread sample of links and buttons. Menus, clicks, forms and other pages weren't visited.
Notes
- The one site so far that cuts movement when asked: 474 movement events became 18 with reduced motion on. Fades and filters mostly stay.
- The hover floor is quad-out, cubic-bezier(0.25, 0.46, 0.45, 0.94), at 0.1s to 0.16s.
- The statement is the browser's own ease written out as cubic-bezier(0.25, 0.1, 0.25, 1). Not an aggressive ease-out.
- The grid loaders are steps(1) keyframe animations, one per dot, so each dot blinks rather than fades.