Tesseract

Interactive audiovisual piece
Self-initiated experiment · 2026 · Built using Claude Opus 5.5 · three.js (WebGPU, TSL), Web Audio

A tiny 4D universe, experienced on a flat screen.

The question
What makes an interactive experience feel immersive on a 2D screen?
How it was made
Built using Claude Opus 5.5 in two days, from research done first, and judged against it at every pass.
What it shows
The research decides how well the model builds; judgment closes the loop.

See it live

tesseract.postminimal.agency

A moment after a tap: the light around the signal fans out.

Tesseract is a small universe on the surface of a four-dimensional sphere, unfolded, turned and heard with your hands. A fourth dimension can't be shown, only felt through interaction, which makes it a pure test of the question. The subject was a pick; it turned out to be a good one.

PhaseYouIt answers
1ThresholdPress and holdA dimension latches: line, square, cube, tesseract. A voice and a line of narration for each
2BloomWatchThe tesseract presses onto a 4D sphere; its light falls into linked circles
3WorldArriveOne hint at a time, each gone once it's done
DragIt turns through the fourth dimension with the hand, then coasts
ScrollYou travel ana and kata; the light warms and cools
TapA bell; its echo from the far side; the homecoming
HoldTime slows: long exposures, the sound sinks like a record
4Outside timePress TThe visit as one shape, a knot for each signal; a playhead plays it back
5ReturnCome backYour last signals are still arriving; hints already learned are skipped
The interaction model: in each phase of a visit, what you do and how the piece answers, in light, sound and words.

The gesture is the tutorial.

Browsers won't play sound without a gesture, so instead of a start button the piece asks you to press and hold. A point, moved, draws a line; then a square, a cube, a tesseract. Each dimension latches, so letting go early costs nothing. Only then does the next lesson appear: drag to turn it through the fourth dimension, shown as colour, warm for anaHinton's names for the two directions along the fourth axis: ana and kata. and cool for kata.

Press and holdor hold the space bar
Press and hold to unfold it, then drag to turn it. The lesson appears when it's needed and leaves once it's done.

Hints arrive when needed, and leave when done.

Each hint is keyed to what you've done, not to a clock: it waits its turn, is skipped if you already did the thing, and disappears when you do. Two explanations interrupt on purpose, at the moment they become true: when your first signal reaches the far side, and when it comes home.

A first visit: each hint appears when it's needed and leaves once it's done.

You travel the fourth dimension by hand.

Dragging turns the universe through the fourth dimension, scrolling travels ana and kata, and on a phone, tilting leans it through. It turns exactly with the hand, then coasts. Anything that answers you directly is critically damped: as fast as possible, without overshooting, a rule borrowed from control engineering.

Its hint, then the travel: scrolling moves you along the fourth axis.
Move the ring. Eased motion trails the hand; underdamped motion overshoots; critically damped motion arrives fastest without overshooting.

Every tap is heard, and comes back.

A tap rings a glass bell whose pitch is its colour. The wave spreads through the 3-sphere, meets itself on the opposite point and comes home, a real property of the sphere, and each meeting rings again. Sound and light read one function, so every echo lands on the frame its light converges. Every sound is synthesized live.

A signal reaches the far side of the universe and comes back.
/** Geodesic radius of the wavefront, 0 (home) … π (antipode). */
front(signal: Signal, now: number): number {
    const x = Math.max(0, now - signal.born) * this.speed
    const m = x % (2 * Math.PI)
    return Math.PI - Math.abs(m - Math.PI)
}
The wavefront, defined once. The GPU draws it; the score is scheduled from it.
Tap the ring to send a signalsound on
The same function, one dimension down. Tap the ring: the pulse meets itself on the far side and comes home.

Your visit, laid out as a timeline.

Hold, and time slows: light smears into long exposures and the sound sinks like a slowing record. Press T and the light becomes your visit: your hand's path with time as its length, a knot for every signal. From the present it's a scribble; from the side, a shape, and a playhead plays it back. Come back later and your last signals are still arriving.

Press T: the whole visit, seen from outside time, played back.

Judgment closes the loop.

The piece was built using Claude Opus 5.5, in two days. The research came first, so the model had something solid to build from. Judgment did the correcting, and what it found went back into the thesis before the next prompt.

  1. ResearchThe thesis: what it should be, and why
  2. BuildClaude Opus 5.5 writes the code
  3. JudgeCompare the result with the thesis
  4. RefineImprove the thesis, not just the output
prompt again
Research sets the thesis; each pass is judged against it, and the thesis improves before the next.
None of it is invented: the public sources it stands on (8)
  1. Page Laubheimer, Onboarding Tutorials vs. Contextual Help, NN/g, 2023hints that arrive when they're needed
  2. Apple, Designing Fluid Interfaces, WWDC 2018following the hand, then momentum
  3. Karl J. Åström, Richard M. Murray, Feedback Systems, 2021critical damping (free book)
  4. Jos Leys, Étienne Ghys, Aurélien Alvarez, Dimensions, 2008stereographic projection and the Hopf fibration (free film)
  5. C. H. Hinton, A New Era of Thought, 1888the tesseract, ana and kata
  6. John Chowning, The Synthesis of Complex Audio Spectra by Means of Frequency Modulation, 1973FM synthesis, the glass bells
  7. Charles Howard Hinton, What is the Fourth Dimension?, 1880motion as a cross-section, the timeline
  8. W3C, WCAG 2.2, Animation from Interactionsmotion that can be turned off

An experiment by Post Minimal, Montréal, 2026. Built using Claude Opus 5.5, with research and direction by Bahae Ben. three.js (WebGPU, TSL) and the Web Audio API. Every gesture has a key, reduced motion is respected, and sound is never required.