Mouse-Tilt 3D Card
/187perspective3dPointer position maps to clamped rotateX/Y (±15°) with a quickTo lag and a specular sheen.

187MODEL skill
Builds interactive 3D product viewers: load models, swap materials, set cameras, and design configurator UX.
Model lab
Every 187MODEL pattern built as a real, GPU-accelerated CSS-3D demo you can grab and spin — orbital and cylindrical carousels, a hardware cube, a helical tornado, pointer-tilt cards, and a physics cascade. Each labelled with its /187… command; all honour prefers-reduced-motion.
/187perspective3dPointer position maps to clamped rotateX/Y (±15°) with a quickTo lag and a specular sheen.
/187radial3dCards placed on a rotateY+translateZ ring; Draggable spins it with inertia, auto-rotates at rest.
/187cube3dSix faces on a preserve-3d cube, backface-visibility hidden; tweens rotateY/X by 90° steps.
/187cylcarouselImage panels wrapped on a cylinder via rotateY increments; drag to rotate, inertia snaps to the nearest.
/187tornado3dCards arranged on a helix (rotateY + translateZ + rising translateY); the whole funnel spins.
/187physicscascadeA 2D physics engine (Matter.js) drives collisions and gravity, mapped onto stacked 3D objects.
Triggers
| Trigger | |
|---|---|
| /187model | |
| 187MODEL | |
| model | |
| product viewer | |
| 3d configurator | |
| model showcase | |
| three.js product | |
| r3f product | |
| glb viewer |
Use cases
Build a 3D product viewer
Add material, color, or feature variants
Define camera presets and orbit constraints
Budget load time and frame rate for real devices
Output contract
Routing
| Route to | When |
|---|---|
| 187CRAFT | UI/UX and design-token work is needed |
| 187HERO | the model anchors a full-screen hero |
| 187ACCESS+ | the viewer needs keyboard/screen-reader support |
Templates
| Template | When to use |
|---|---|
| product-viewer-spec.md | A 3D product showcase |
| configurator-state-map.md | Variant selection and state |