Spatial Card Tunnel
Use for a finite sequence of related cards that advances through restrained z-depth with explicit navigation.
Live example
Try the interaction before reading the recipe.
real component · keyboard-safe
Open plan01
Open plan
01 / 04Shared studio02
Shared studio
02 / 04Quiet room03
Quiet room
03 / 04Long table04
Long table
04 / 04Open plan
Purpose
Use for a finite sequence of related cards that advances through restrained z-depth with explicit navigation.
Use when
- Three to ten documents, product surfaces or steps have a meaningful order.
- A tunnel communicates progression better than a flat list.
Avoid when
- The content is a comparison grid or a long feed.
- Users would need a camera gesture to reach information.
Interaction and accessibility
Keep all cards in DOM order, use a roving active item and expose Arrow/Home/End plus Previous/Next. Metadata must not depend on opacity or depth.
Reduced motion and performance
Flatten to a normal stack immediately. The collection is bounded and transform-only; avoid cloned cards, camera loops and WebGL.
Source: packages/skills/layouts/spatial-card-tunnel.md