HalideRendering layer
000

Rendered,not decorated

It reads the pointer — speed, dwell, direction — and answers in light.

Halide is a rendering layer, not a template. Ninety thousand grains of light in a single draw call, reacting before you have finished moving.

Signal layerReal timeWebGL

Structure youcan feel

Three cords, one motion. Nothing here is a video loop.

Geometry is generated on the client, seeded, and identical on every load.

It answersin real time

Every grain on this page is a reply to you. Scroll turns the disc edge-on; the light collapses into a single line and holds there.

Grains of light
Frame budget ms
Cold start secs
Frames per sec

Built for everywhereat once

Real coastlines, drawn from a few hundred bytes of outline data and rasterised in the browser. No texture, no map tile, no image request — the same field you have been scrolling, rearranged into a planet.

Then it getsout of the way

An iris, drawn by the same field — a halide is the light-sensitive salt photographic film is made of, so the page signs off with the thing it is named after. It holds the frame for a beat, then hands everything back to the words.

[ Studio ]

A surface that listens

[ 01 ]

Halide is a rendering and interaction layer. It reads presence — pointer, scroll, dwell — and answers in motion rather than in chrome.

[ 02 ]

Point counts, tessellation and device pixel ratio all step down by viewport class, and the render loop yields the moment it is not needed.

[ 03 ]

Reduced motion is a separate path, not a smaller amplitude: one static frame, no loop, no smooth-scroll hijack, every reveal at its end state.

Ninety thousand grains, one draw call, and no video file anywhere on the page.

Frequently asked

A rendering layer you can put behind a real page. The particle work you just scrolled through is the engine describing itself — the same code drives product pages, launch films and installations.

It scales down rather than falling over. Grain count, device pixel ratio and the bloom radius are all chosen once on mount from the viewport class, and the heavy secondary layers are simply dropped below about 820px.

The canvas draws light and nothing else. Every heading, link, hit target and piece of copy is real DOM, selectable and reachable by keyboard, and prefers-reduced-motion takes a wholly separate code path.

Yes — we build it into your stack rather than handing over a black box. Typical engagements run four to eight weeks from first frame to production.

Let’s talk.

Or write to studio@halide.example