3D film · interactive web · AI-directed • 2026

Zar Cabin Case

I directed a crew of AI agents to make a 33-second film and a live 3D page for an aluminium cabin case. The agents did the labour: scene and render scripts, splat training, web code and tests. The taste, the calls and the checks were mine.

Film · Zero G 33 s · directed by me, agent-built in Blender and Cycles

Live · travel.zar.sh

Turn the case, switch finish, recolour, add stickers, share an image. It all runs in your browser.

This configurator is the version I chose to finish. Nothing went live on travel.zar.sh without my sign-off.

Explore it live ↗
The live configurator: the titanium case with teal handles, orange wheels and two stickers facing the camera, next to the handle and wheel colour controls
The live configurator: teal handles, orange wheels, four stickers on.

How this was made

Director and crew

Agents produce fast; the hard part is knowing whether the result is good. That is where I spent the time. Nothing counts as done on an agent’s own word: a captain turns my intent into briefs with pass/fail checks, crews build in parallel, a separate reviewer checks, and I sign off.

Director

Me: intent, taste, scope

Captain threads

Plan, set pass/fail checks, brief crews, check every result

Crews, in parallel

ModellingLookdevRenderingWeb buildShare image

Independent review

A separate reviewer passes or fails each candidate

Sign-off

Ships only after my “ship it”

PLEASE VERIFY INDEPENDENTLY (priority order):
A. Share on all 4 models x s2/s5 x 3 formats …
look judged by you …
floating? shadow/reflection believable? halo/cut-out edges?
sticker visibility? small print present and legible? host text? …
exact sizes, <=1.5 MB, QR decodes ([…]) to the same config, QR off = no QR; …
Esc/focus return, camera/viewer state restored after closing (colours, stickers, orbit),
no GPU device leak (max 1 live), repeated open/close x5.
B. Fallbacks: …
quiet notice, … studio image valid with a decoding QR,
never a blank/broken image, never an uncaught page error.
…
Return PASS / PASS-with-advisories / BLOCKED + repro; do not fix anything.
Excerpt: the integrator’s brief to a separate reviewer before the share-image release, 10 Nov. The reviewer can only return a verdict, not fix anything.

A few of the things I caught

A handful of examples from many review notes on the agents’ renders, and what came back.

An early film render of the floating cases, with my red outlines around the empty left and right of the frame
Note: the swarm bunched in the middle, sides empty.
The same moment in the final film, cases filling the frame edge to edge
Final film: edge to edge.
An early render of the wall of cases, where every case wears one of only three looks
Note: only three looks, more variations.
The same shot in the final film with many distinct case finishes
Final film: 16 new looks.
Close crop of the last frame of an earlier film version: the cases’ wheels hover just above the floor, with no contact shadow
My note on the ending: the wheels were not on the ground, and the floor felt fake.
The same crop in the final film: the wheels rest on the oak herringbone floor and cast contact shadows
Final film: wheels on the floor with contact shadows, real oak herringbone.

Calls I made

Each of these was a decision; the agents carried it out.

  1. 01

    Cycles over V-Ray 31 Oct

    Realism came from shading, not from the renderer: both looked equally convincing on one test scene. Cycles also runs on every machine in the render farm, so I kept it and put the effort into shading and wear.

    Titanium case hero render in Cycles
    Cycles
    The same hero render in V-Ray
    V-Ray
  2. 02

    Wall B Film review

    The stronger aged-plaster wall for the final room.

    Final room of the film, Plain wall
    Plain
    Final room of the film, A · subtle wall
    A · subtle
    Final room of the film, B · chosen wall
    B · chosen
  3. 03

    A full-quality splat 7 Nov

    I wanted one case you can turn all the way round. Brush trained Cycles renders of it into soft, coloured 3D blobs: a Gaussian splat. The browser sorts the blobs by depth as you turn it and blends them on the GPU (WebGPU, WebGL2 fallback). The light is baked in, so it looks rendered but stays light: the titanium case is one 6 MB file.

    I kept it full quality and accepted a 6 to 7 second first load on simulated fast 4G, behind an honest loader, instead of shrinking it.

Pipeline

Agents built every step; the brief, reviews and go/no-go were mine.

  1. 01 →

    Model

    Blender. Titanium or Black, New or Worn; dents modelled.

  2. 02 →

    Render

    Cycles, split across a three-machine farm.

  3. 03 →

    Splat

    Trained into Gaussian splats with Brush.

  4. 04

    Web

    Static page, WebGPU with WebGL2 fallback, four languages.

Every release was frozen, hash-checked, reviewed and previewed privately before going live. Never from main. The old address redirects in one hop, and other sites cannot frame the page.

Cabin case, Titanium · New, captured from the live Gaussian splat
Titanium · New
Cabin case, Titanium · Worn, captured from the live Gaussian splat
Titanium · Worn
Cabin case, Black · New, captured from the live Gaussian splat
Black · New
Cabin case, Black · Worn, captured from the live Gaussian splat
Black · Worn

Render farm

I didn’t want to wait on one machine, so I designed the farm with the agents; they built it. A queue hands out chunks of frames, and Cycles runs on all three machines, so they render at once; every frame comes back to be checked before comp and grade.

What it took

A 33 s film and a live 3D page in four languages.

The live page reached version 1 in about two and a half days, through 21 frozen release candidates. The agent work that shipped came to ≈ $613 in API tokens.

I run on subscriptions; this is list price, not what I paid. With exploration and dead ends, the full total was about $778.

Claude Opus 5.5 $409 Claude Sonnet 5.5 $177 GPT-6.1 Sol $27
Hours 0–4 h (31 Oct): Claude Opus 5.5 $49 (slot total $51) Hours 0–4 h (31 Oct): GPT-6.1 Sol $2 (slot total $51) Hours 4–8 h (31 Oct): Claude Opus 5.5 $50 (slot total $54) Hours 4–8 h (31 Oct): GPT-6.1 Sol $4 (slot total $54) Hours 8–12 h (31 Oct to 1 Nov): Claude Opus 5.5 $44 (slot total $52) Hours 8–12 h (31 Oct to 1 Nov): GPT-6.1 Sol $8 (slot total $52) Hours 12–16 h (1 Nov): Claude Opus 5.5 $31 (slot total $36) Hours 12–16 h (1 Nov): GPT-6.1 Sol $5 (slot total $36) Hours 16–20 h (1 Nov to 4 Nov): Claude Opus 5.5 $39 (slot total $47) Hours 16–20 h (1 Nov to 4 Nov): GPT-6.1 Sol $7 (slot total $47) Hours 20–24 h (4 Nov to 7 Nov): Claude Opus 5.5 $28 (slot total $28) Hours 24–28 h (7 Nov): Claude Opus 5.5 $55 (slot total $55) Hours 28–32 h (7 Nov to 9 Nov): Claude Opus 5.5 $56 (slot total $80) Hours 28–32 h (7 Nov to 9 Nov): Claude Sonnet 5.5 $24 (slot total $80) Hours 32–36 h (9 Nov): Claude Sonnet 5.5 $37 (slot total $37) Hours 36–40 h (9 Nov): Claude Sonnet 5.5 $40 (slot total $40) Hours 40–44 h (9 Nov): Claude Opus 5.5 $21 (slot total $43) Hours 40–44 h (9 Nov): Claude Sonnet 5.5 $23 (slot total $43) Hours 44–48 h (9 Nov to 10 Nov): Claude Opus 5.5 $37 (slot total $74) Hours 44–48 h (9 Nov to 10 Nov): Claude Sonnet 5.5 $37 (slot total $74) Hours 48–50.4 h (10 Nov): Claude Sonnet 5.5 $16 (slot total $16)

Hours of active agent work (about 50 in all, 31 Oct to 10 Nov). Each bar is 4 hours.

Show as table
Active hours Opus 5.5Sonnet 5.5GPT-6.1 Sol Total
0–4 h31 Oct $49–$2 $51
4–8 h31 Oct $50–$4 $54
8–12 h31 Oct to 1 Nov $44–$8 $52
12–16 h1 Nov $31–$5 $36
16–20 h1 Nov to 4 Nov $39–$7 $47
20–24 h4 Nov to 7 Nov $28–– $28
24–28 h7 Nov $55–– $55
28–32 h7 Nov to 9 Nov $56$24– $80
32–36 h9 Nov –$37– $37
36–40 h9 Nov –$40– $40
40–44 h9 Nov $21$23– $43
44–48 h9 Nov to 10 Nov $37$37– $74
48–50.4 h10 Nov –$16– $16
Model Role
Claude Opus 5.5 Captains, 3D crews (animation, lookdev, splats) and release reviewers
Claude Sonnet 5.5 Captains, plus web layout, copy and share-flow crews
GPT-6.1 Sol (Codex) Codex crews: textures, environment and light, web prototypes

Each session’s log was sorted by whether its output shipped; anything unclear counts as exploration. List prices of 13 Nov 2026. Harness: T3 Code, driven by my agent Zar.

Turn the case yourself.

Personal study. Not for sale. Not affiliated with any luggage brand. Worn is modelled geometry, not a photo. Finished 10 November 2026.