Skip to content

Orbit Product Hero

A first screen with the product in it, raymarched live in WebGL2: drag the dial round, move across the hero to click its ring through detents, and switch its finish between titanium, ceramic and polymer.

ProSpatial 3Dminimalneon

This is a viberdy Pro component

The live preview, the props panel and the write-up are open to everyone. The full source, the AI prompt and CLI install are part of Pro.

Preview
Knurl · Control dial

One dial.Every slider.

A physical dial for the software you make things in. Map it to anything, feel every step, keep your eyes on the work.

Pre-orderSee it apart
Drag to turn it

Props

Live readout
No runtime dependencies
"use client";

import { useEffect, useRef, useState, useSyncExternalStore } from "react";
import type { CSSProperties, KeyboardEvent as ReactKeyboardEvent, PointerEvent as ReactPointerEvent, ReactNode, RefObject } from "react";

/**
 * OrbitProductHero — a first screen with the real product in it, rendered live.
 *
 * The object (Knurl, a control dial) is raymarched in WebGL2 from smoothly
 * blended primitives under a studio rig: a key, fill and rim, soft shadows,
 * occlusion and a softbox reflection. Drag it round (with inertia); left
 * alone it drifts on the page clock. Moving across the hero clicks its knurled
 * ring through detents on a spring, the finish keys put it in titanium,
 * ceramic or soft-touch polymer, and a mono readout reports finish, angle and
 * detent. Draws only on screen; without WebGL2 a CSS dial stands in.
 *
 * Part of the Spatial 3D kit: a dark studio (#0a0a0d, panels #101114 and
 * #16171b, ink #f2f1ee) with anodised copper #ff7a3d only as light, and

  // ---------------------------------------------------------------
  // Full source available with a viberdy Pro subscription.
  // https://viberdy.dev/pricing
  // ---------------------------------------------------------------
}
Notes

About this heroe

The first screen of a hardware launch with the product actually in it, not a photo on a tilt card. The object, a control dial, is raymarched live from smoothly blended primitives under a studio rig: a warm key, a cool fill, a rim from behind, soft shadows, ambient occlusion and a softbox reflection, so titanium reads as metal, ceramic as matte and warm, polymer as soft. Drag it round and it turns with inertia; let go and after a moment it drifts on the page clock. Move across the hero and its knurled ring clicks through detents on a spring, and a copper marker on its glass cap follows. The finish keys change its material in about 400ms, and a mono readout reports the finish, the angle and the detent. It draws only on screen, and without WebGL2 a CSS dial stands in.

Curator’s note

The Spatial 3D kit's hero (slot 1, Featured), cut from spatial-3d-site. Pro: a hand-written WebGL2 SDF raymarcher (soft shadows, occlusion, a studio reflection, three finishes) with orbit inertia, a page-clock drift, a detent ring on a spring and the kit's keycaps.

Related

Pairs well with

Matched on shared tags and category — the entries most likely to be used alongside this one.

Trending
Pro

A raymarched glass prism on black: a white beam comes in from wherever your pointer is, a spectrum fans out the other side, and the prism turns once a minute. One shader, no libraries.

herowebglshader
NewPro

The product taken apart live in WebGL2: its parts separate on a spring and each carries a callout pinned to it by a leader line re-projected from the 3D scene every frame, so labels stay on their part as it turns.

sectionwebgl3d
NewPro

A footer where the product comes to rest: as it scrolls into view the dial floats down onto a mirror floor, its parts closing up as it lands, over a large wordmark lit from the object's key light.

footerwebgl3d