Web motion prototype Rive-ready

Motion that responds to attention.

A small interaction system built around three inputs: pointer, scroll and click. The artwork stays two-dimensional; depth comes from timing, perspective and layered movement.

Input
Pointer / Scroll / Click
Output
Transform / Depth / State
Runtime
Browser / Rive-ready
Live object idle
Move pointer over object Press Enter for click state

Three states. One object.

The same graphic is re-composed instead of swapping between pre-rendered scenes. That keeps the interaction continuous and easier to integrate into a live page.

01

Assemble

Layers settle into a readable starting composition as the section enters the viewport.

02

Inspect

Depth separates while pointer movement adds a small parallax response without moving the page itself.

03

Transform

Scroll progress changes scale, rotation and spacing so the graphic can support a product narrative.

A / Hover

Surface response

A restrained perspective shift and local highlight make a flat panel feel physical.

B / Scroll

Progress, not playback

Animation is tied to scroll position, so the user controls the pace in both directions.

C / Click

Discrete state change

Click maps to a trigger rather than a timeline, matching the way the behavior would be authored in Rive.

Small contract. Predictable handoff.

The browser only needs to provide a few normalized inputs. The same contract can drive a Rive state machine, which keeps design and implementation responsibilities clear.

InputTypeRange / action
pointerXNumber-1 → 1
pointerYNumber-1 → 1
scrollNumber0 → 1
focusBooleanon / off
burstTriggerfire
Delivery notes

Responsive behavior, reduced-motion handling, interaction mapping and QA notes are included with the project. The artwork is layered so it can be rebuilt as a native Rive asset without changing the web-facing interaction contract.

Layered SVG source State map Responsive rules QA checklist