← Back to Index Scene_04 · Durée ● live
Scene 04 · Temporal Space · 2025

Durée

Three.js · WebCodecs · GLSL · Gemini AI → Frame Stack

Durée treats video as a spatial object instead of a flat sequence. Every frame appears at once as a stack of translucent planes, turning time into something you can orbit, inspect, and query with language.

Three.js WebCodecs GLSL Gemini
Montreal, QC
2025
OUTPUT
Frame Stack
Temporal Object
01 · Problem

Video players hide time behind a single current frame.

Standard playback makes time serial. You scrub, pause, and resume, but you only ever confront one slice of the video at once. That model is efficient, yet it obscures the full structure of motion and repetition distributed across the clip.

Durée asks what happens when the timeline is unfolded into space. If all frames coexist simultaneously, then navigation through video becomes spatial inspection rather than linear transport.

Durée frame stack overview
Durée · full timeline rendered as a spatial stack
02 · Context

Duration translated into geometry.

The project inherits its name from Bergson’s sense of duration as lived, continuous time rather than a neutral sequence of discrete instants. In Durée, that intuition becomes visual and navigable: time is no longer hidden behind the playhead but built into the scene as depth.

At the same time, the work sits inside a contemporary browser stack. WebCodecs, shader logic, and multimodal search become tools for turning a familiar media object into a temporal sculpture that can still be queried and explored interactively.

03 · Approach

Decode every frame, then stack the whole clip in 3D.

Durée renders all frames of a video simultaneously as semi-transparent planes distributed along a depth axis. Orbit controls let the viewer inspect the full stack from different angles, revealing density, repetition, and gesture across the clip as a single object.

WebCodecs handles browser-native frame extraction while GLSL manages the visual treatment of the stack. Gemini AI search sits on top of that structure so users can query the video by natural language and jump toward the regions that semantically match the prompt.

04 · Stack

Temporal media decoded, stacked, and queried in-browser.

Rendering
Three.js · custom GLSL materials · orbitable frame volume
Backend / Data
Gemini multimodal search · edge proxy infrastructure
Pipeline
Video file → WebCodecs frame decode → stacked planes → natural language retrieval
Deploy
Vercel · duree.spatial-index.xyz
05 · Reflections

Search and visualization reinforce each other.

Durée made clear that semantic search becomes more legible when the media object itself is spatialized. Querying by language is useful, but seeing the matched region inside the full volume of a clip changes how retrieval is understood.

A likely next step is feeding this temporal object into later reconstruction projects, letting frame stacks become raw material for splat or accumulation pipelines instead of ending at visualization.

06 · Build Log

From timeline to spatial object.

2025
Frame volume prototype
Tested the idea of rendering every frame at once as stacked translucent planes to turn temporal media into a navigable object.
2025
WebCodecs integration
Moved decoding into the browser so frame extraction could happen fast enough for interactive spatial rendering.
2025
Language search layer
Integrated Gemini-powered querying so natural-language prompts could surface relevant regions of the stacked timeline.
2025
Launch
duree.spatial-index.xyz live as a spatial video viewer with frame-stack rendering and semantic retrieval.