PRO

Floating Model Scroll

A product page with a GLTF model held in the centre of the frame while the copy scrolls past it. The model bobs on a sine of wall clock time, independent of scroll, and separately takes two full turns on its X axis mapped to overall scroll progress, so idling and scrubbing read as two different motions on the same object. It renders with a cheap loop until the file lands, then swaps to the animated loop and scales up from zero, and the closing statement rises line by line on its own trigger. Three.js, GSAP ScrollTrigger, SplitText, and Lenis.

Component

Spaces for

Future

Innovative furniture design studio. Crafting sustainable, bespoke, and functional solutions for homes and businesses.

Living Here

Collection

Ripple Bench

US / EU

Design Concept

Bench

Outdoor

Arc Table

US / EU

Design Concept

Table

Modern

Orb Vase

US / EU

Limited Edition

Decor

Contemporary

Grid Shelving

US / EU

Project Details

Shelving

Industrial

Halo Pendant

US / EU

Project Details

Lighting

Modern

Flow Chair

US / EU

Design Concept

Armchair

Minimalist

We are a French, Dutch, and German multidisciplinary design atelier specializing in bespoke furniture, spatial installations, and immersive visual experiences.

Promos info.oakatelier.com

Contact hello.oakatelier.com

Install
npx shadcn@latest add https://ui.aryank.space/r/floating-model-scroll.json

Installs from ui.aryank.space. To add it by hand, copy the files in Usage below, or register the @compronents namespace via the docs.

Files

API
PropTypeDefaultDescription
modelSrcstringBLANK chair.glbGLTF product. It is centred and the camera distance is derived from its bounding box, so any model frames itself.
archiveItemsFloatingModelArchiveItem[]6 BLANK productsTitle plus four metadata columns per row.
outroCopy / contactRows / footerCopystring / [string, string][] / stringBLANK copyClosing section, revealed line by line on entry.
embeddedbooleantrueOwn the scroll container. Set false to drive it from the window scroll.
Customize
headingRowstext

The three lines of the opening statement.

archiveLabeltext

Small italic label above the collection list.

Dependencies
threegsaplenis