We use cookies to improve your experience on our site.
OK, don’t show again
The sunflower of the gold medal, very close up

GENIX STUDIO

From line to metal

Making a 3D short film with an AI coding agent

Technical report: an experience report. Jérôme Coustillas, GENIX STUDIO, the creative label of GENIXCONSEIL. Version 1, November 2026.

Abstract

This report describes the making of Elektron, a 3 min 38 s short film in 4K that joins two films, Électrum and then “Le jour, la nuit” (“The day, the night”). Its director had no experience of 3D or of coding, and led an AI coding agent. The pipeline starts from a generated image, replaces it with computation and runs to the published film. It covers source research on a craft, guilloché; a guilloché machine built in a web page, which records each drawing in a key; 16-bit heightmaps derived from these keys; two medals, in gold and in silver, carved and rendered by Blender on a rented GPU; an animation governed by physical laws; a soundtrack made of measurements, real recordings, a simulation derived from a measurement and two computed notes; signing, timestamping and publication. Each step is described by its step card (the idea, the request, the exchanges counted in the session transcripts, the time lost, the expected outcome), then by its mechanism, its settings and its abandoned leads. Two tables gather the faults a reader will meet and the dead ends of this film. The 26 logged sessions count 557 messages from the director, 1,878 from the agent, 10,774 tool calls and 30 subagents, for some 86 hours of session work and about €47 of rented GPU time, excluding VAT. The report targets replication of the approach with one’s own tools: the agent’s trajectory cannot be replayed.

Audience

AI engineers and 3D engineers, students or researchers. Readers should know how to use a coding agent; no 3D knowledge is assumed. Each reader finds the other’s field detailed in the boxes, and each box says which reader it serves.

After reading, the reader will be able to:

  • drive a coding agent from an idea to a finished film, in a field new to them;
  • have a craft researched from sources before building, each fact with its level of evidence;
  • build a parametric drawing tool in a web page, where each drawing can be redrawn from its key;
  • derive from a trace a heightmap that Blender carves, and set the light that reads it;
  • organise the rendering of a film on a rented GPU, HD before 4K;
  • govern a movement by physical laws, judged as a line test before the metal;
  • compose a track from measurements and freely usable recordings, sample-accurate to the picture;
  • sign, timestamp and publish a film, and check what the platform does to it.

Definitions

  • Reproduce: redo with our files, with the same versions and settings. Replicate: redo with one’s own tools. This is the ACM sense; the computer graphics community often uses the two words the other way round. This report targets replication of the approach.
  • A message: what the director writes or dictates, or a reply from the agent that carries text. A tool call: an action the agent takes through a tool (read, write, run a program, act in the browser). A subagent: a copy of the agent launched on a task, which returns a report.
  • Working hours: the sum of the intervals under ten minutes between two consecutive events in a transcript, across all the sessions of the step. It measures the time a session works, which differs from the director’s time in front of the screen. Time lost: a passage whose result was discarded, judged after the fact, counted in working hours. Its elapsed time, from the first to the last message of the passage, is given in the Troubleshooting and Dead ends tables.
  • The negative: the sequence of rendered frames of a film, one PNG image per file, from which every edit is made without re-rendering. A cut: one turn of the cutter over the metal. An edit point: a join between two shots in the edit.
The pair of medals facing the sea, the film’s poster

Elektron. GENIX STUDIO, 2026, in 4K. Every frame is computed. The sound starts from measurements and real recordings.

Method

Declaration of AI use

The director led a coding agent: Claude Code, by Anthropic, in its desktop app, in four successive versions from 2.1.295 to 2.1.308. It ran on the claude-opus-5-5 model, in the main conversation and in the subagents it spawned. The logged sessions run from 11 to 23 October 2026; what lies outside the transcripts is stated under Limitations.

The agent wrote the code, and the code rendered every frame; no image or sound in the film comes from a generator. Three generative tools, outside our environment, were used upstream. Google’s AI Mode wrote the prompt for the structure of the starting banknote. Google’s Flow (model Nano Banana Pro) generated that banknote, which is absent from the film. Google’s Flow Music (model Lyria 3.5) made the music of “Le jour, la nuit”, of which Elektron keeps only the bar length. The machine’s page also calls Claude, through the platform where the page is published, without naming the model, for “Graver ma phrase” (“Engrave my sentence”). The film made no use of it.

The agent’s role appears in the credits by role, and the origin of each idea in the step card of its step. The director is accountable for the whole. The agent wrote this report from the project files and the session transcripts, under the director’s direction.

The environment

The starting point: a director with no experience of 3D or of coding, and no pipeline. Everything that follows was built for this project, inside a working environment that already existed.

  • A working folder. The agent opens in the project folder, or at the root of the director’s working folder. The project first had its own folder, then moved into the working folder. The director dictates by voice.
  • Rules reread at every session. Project instructions (the project’s CLAUDE.md file, and the working folder’s) and a file-based memory (auto memory) say who the director is, how he works and how things are done. The model reads them and may not follow them: hence the checks at every step.
  • The state of each project lives in a state file of record, overwritten in place. At each session, the agent starts afresh: it knows of the project only what the files say. Since Électrum (Step VII), a session whose context window is full hands over to a new session, with its opening brief.
  • Every change is recorded in a version history, git, and so can be reversed. The machine enters it at its twenty-third version.
  • Subagents. For broad research, the agent spawns copies of itself in parallel, one per question. For review, an adversarial reviewer judges against a rubric written in advance.
  • Integrations. The agent acts in its own Chrome tab (Claude in Chrome) and sees the director’s screen (computer use). Blender is driven by Python scripts run from the command line; its connector was used only to read the manual.
  • The tool’s settings. Auto mode, in which the agent proceeds without waiting for approval of each tool call. No hooks (a hook is a program the tool would run by itself at fixed moments). Permission prompts, set by ask rules on folders unrelated to the film. Transcripts kept for ten years on the director’s computer and copied to an archive.

Two rules hold everything else together: research from sources before making; look at a result before describing it.

ComponentVersionRole
Claude Code, desktop app2.1.295 to 2.1.308the agent
Claude Opus 5.5claude-opus-5-5, a pinned snapshotthe model
Three.js0.160.0the 3D view in the machine’s page, the line test
Headless Chrome, Node.jsChrome version not recorded; Node.js 24.12.0replaying the page, testing it
Blender and its Cycles engine5.2.2 LTS, verified against its checksumthe scenes, the rendering
Python3.14.2; numpy 2.4.4, scipy 1.17.1, OpenCV 4.13.0, matplotlib 3.10.9, Pillow 12.2.0, imageio 2.37.3the tools, the normals, the sound
FFmpeg7.1, through imageio-ffmpeg 0.6.0the edits, the encodes
OpenTimestampsthree public calendar serversthe timestamping
The rented GPUNVIDIA L4, 24 GB, 8 cores, 48 GB of memory, at Scaleway in Warsaw, about €0.80 per hour excl. VATrendering in HD and in 4K
The director’s computerfour cores, 16 GB of memorythe drafts, the sound, the edits

The versions of Node.js, Blender, Python and its libraries, and FFmpeg are those used for rendering: all were installed before the film, and all have stayed unchanged since.

BoxThe components of the method

For the AI engineer.

  • The state file of a project says where things stand, what is finished and where it lives, what remains open, and the decisions taken. It points to the notebooks that hold the knowledge: one for the medal, one for the presentation case, one for the film, each to be read before touching that part.
  • The opening brief for the next session, written by the session that closes, restates the project, its state, what remains to do, the rules and the files to read first.
  • A subagent’s brief, taking as the example the musical adversarial reviewer, whose template is kept. Its film-specific parts are filled in at each review round; neither the filled brief nor the report is kept. Who it is: a composer of dance music made from real sounds, in the tradition of Matthew Herbert, who judges by the rubric alone, setting taste aside, and proposes the smallest correction. Its limit: it cannot hear. It reads the score, that is, the code in which each sound is written, and measurements of the rendered sound, its “ears”. Whatever neither the score nor the measurements show, it refers to the director’s ear. What it receives: the piece, and the director’s words, which are authoritative. Its rubric, written before the review: tuning, overall harmony, the dance, the build-up, the connotations; for each point, “holds”, “to fix” or “for the director’s ear”. What it returns: its verdicts and their evidence, fifteen findings at most, each with its correction in the terms of the code. A report in which everything holds is suspect. Before the review, record the hash of the project files. Afterwards, check that it is unchanged, that every reference points to the right place, and that every figure and every quotation of the director in the report comes from the brief or the measurements, before acting on anything.
  • An unattended session: a session launched for the night carries on from its brief, measures what it produces, and leaves for the director, when he wakes, the state of the work and the images to judge.

The pipeline

StepInputToolOutput
Ian idea for a bannerGoogle’s AI Mode, Flow; a program by the agenta generated banknote, outside the film
IIa questionthe agent and its subagentsa research notebook: the spirograph, guilloché, the state of the art
IIIsettingsa web page written by the agent, Le Tour des graveurs (the engravers’ lathe)a drawing and its key
IVthe keythe page replayed headless by Python; Blender and Cycles, scenes written in Pythona 16-bit heightmap, rendered metal
Vfreely usable photographs, an astronomy calculationBlender, Pythonthe presentation case, the beach, the sky of a real morning
VIthe scenesBlender, on the director’s computer for the drafts, on the rented GPU for 4K; FFmpega negative, the first film
VIIthe keys, laws of motiona Three.js page for the line test; Blender on the rented GPUa second negative, the second film
VIIImeasurements, freely usable recordings, a simulation derived from a measurementPython, FFmpega 24-bit track at 48 kHz
IXthe two negatives, the soundPython, FFmpeg, OpenTimestampsElektron, signed and timestamped

Step I

Deciding to compute rather than generate

The starting banknote

The idea
from the director, a banner for a page of his website, shaped like a banknote, with Janus at the centre.
The request
the structure of the banknote, as a prompt written by Google’s AI Mode; the bust, as a prompt written by the agent (Appendix A).
The exchanges
before the transcripts; nine generations in Flow, in forty minutes.
Time lost
none.
Expected outcome
a reference image, marked as generated, and the question it raises; the question is settled under the loupe, against a computed line (Figure 13).

The director generates the banknote in Flow, Google’s image generator, at 1K upscaled to 2K. A program by the agent finishes it: the green brought to the firm’s green, a lily copied in mirror image, two framings (Figure 1). For a codified art such as the banknote, Google’s AI Mode first researches from sources its history, its periods and what makes it recognisable. It then writes the Flow prompt itself; the Avoid: line and the framings are added to it. The banknote’s lacework looks like guilloché, which engravers traced by machine so that no hand could paint it. The decision that opens the project: compute the guilloché instead of generating it.

An imaginary banknote with a bearded Janus, in green and ochre
Figure 1 The starting banknote, generated in Flow, finished by a program by the agent. Generated with Flow, reworked by the agent

Step II

Researching an unfamiliar craft from sources, before building

The spirograph, then guilloché

The idea
from the director, after a spiral by an engraver of old, tried for another image on his website, and a spirograph he had made in 3D with Claude, before the project.
The request
understand the object, physically and mathematically, before any line of code, in order to simulate it faithfully (Appendix A).
The exchanges
before the transcripts; 59 sources, their calculations verified by a program.
Time lost
none.
Expected outcome
a notebook in which each fact carries its level of evidence, and the object’s equations verified by a program; it is checked by redoing the calculations and rereading the sources marked verified.

The source research lives in a notebook beside the project. Each fact in it carries a status: verified (read at the source, or two independent sources that agree); unconfirmed (a single weak source, or an unresolved divergence); demonstrated here (a mathematical consequence checked by a program, to within 10⁻¹²); inferred here (an estimate awaiting confirmation by a measurement). The research starts from what the director knows: Mellan’s spiral and his own spirograph (Figures 2 and 3).

The 1967 Spirograph set has toothed rings and wheels, all at the same pitch. A wheel of r teeth rolls inside a ring of R teeth, and a pen at a distance d from the wheel’s centre traces a hypotrochoid. With g the greatest common divisor of R and r, the drawing has R/g points and closes after r/g revolutions (Figure 4). The same word, spirograph, already named a machine for engraving copper to prevent banknote forgery, built in Vienna by Peter Hubert Desvignes between 1845 and 1848. The research moves from the Spirograph set to guilloché.

Guilloché is cut on a lathe. The metal turns under a stationary cutter, rocking to the rhythm of a wavy wheel, the rosette, and each cut is offset from the one before (Figures 5 and 6). A barleycorn takes twenty to thirty cuts, a basket weave dial about a hundred and sixty (the guillocheur Joshua Shapiro, in Revolution). In 3D and CNC, the research finds no dedicated CNC guilloché machine. It finds a G-code program published in 2011 (Battersby), a machine running LinuxCNC (Garrett), a femtosecond laser patented by a watchmaker (patent US10649406B2), and pages that draw patterns without modelling a machine. The agent found no simulator that goes as far as 3D relief. Figures 7 to 9 show guilloché through its history.

A second round of source research, carried out after the film for the next version of the machine, describes the rose engine in detail and clarifies what the machine imitates. Spring tension holds the headstock, which carries the metal, against a touch that follows the edge of the rosette: at each lobe, the headstock rocks. Between two cuts, the cutter advances by a constant pitch, and the rosette turns relative to the metal. One notch per cut gives a spiral; half a lobe gives a barleycorn; a zigzag in which some cuts take the same path gives a basket weave. The groove is three to four hundredths of a millimetre deep (Vacheron Constantin).

The Sudarium of Saint Veronica by Claude Mellan, 1649: a face engraved almost entirely in a single spiral line
Figure 2 A face engraved almost entirely in a single line, which starts at the tip of the nose, turns in a spiral and swells to make the shadow: Claude Mellan, The Sudarium of Saint Veronica, 1649. National Gallery of Art, Washington, public domain
Figure 3 The spirograph the director had made in 3D with Claude before the project, in Three.js, replayed with its original settings. The director, with Claude
Figure 4 The spirograph, adjustable: the ring, the wheel and the pen. Drawn by your screen
A man, his eye to the loupe and his hand on a rose engine, works a dial
Figure 5 The guillocheur at work: Derek Pratt at the rose engine. Photograph by Louisetarp, Wikimedia Commons, CC BY-SA 4.0
Figure 6 A rosette of twenty-four lobes and five offset laws between two cuts: circular waves, the spiral, the barleycorn, the basket weave, the zigzag. The disc rocks against a stationary cutter; the proportions are exaggerated so they can be seen. Drawn by your screen
A rose engine in mahogany and bronze, in a room of the Palace of Versailles
Figure 7 A royal rose engine: the one Antoine Wolff made in 1773 for the Comte d’Artois (Count of Artois), brother of Louis XVI. Palace of Versailles. Photograph by Janmad, Wikimedia Commons, CC BY 3.0
The Penny Black, 1840
Figure 8 An engine-turned background against forgery: the Penny Black, 1840, the world’s first adhesive postage stamp issued by a public postal service. Public domain
Detail of the shell of the Gatchina Palace Egg by Fabergé: a moiré under translucent enamel
Figure 9 Guilloché under enamel: the Gatchina Palace Egg, Fabergé, 1901. The moiré is engraved under the translucent enamel, whose shade follows the depth of the recess. Walters Art Museum, Baltimore. Photograph by museado, CC0

Step III

Building the drawing tool in a web page

Le Tour des graveurs

The idea
from the director, the machine itself, rather than an image of a machine.
The request
build the rose engine in a web page; reconstructed, as no file keeps it.
The exchanges
before the transcripts; twenty-eight versions, from the first rose pattern to the ingot, of which only 23 and 28 are in the version history.
Time lost
in-browser ray tracing, tried without gain; the leap in quality comes with Blender.
Expected outcome
a page that traces the pattern and returns a key that redraws it to the pixel; it is checked by replaying the key, and under the loupe against the generated banknote, the computed line keeping its width (Figure 13).

The machine, Le Tour des graveurs, fits in a single web file: a 2D canvas for the drawing, Three.js for the 3D view. Each stage is an arm that turns at the end of the previous one, at an integer speed, and the pen point traces their sum. The chucks of the craft, the eccentric, the oval and the geometric, are special cases of it, as is the 1967 Spirograph set. The rosette modulates the radius; each cut turns by one notch. The drawing follows the craft: one line weight per layer, each layer inked in one go, so that lines are not inked twice where they cross. The engraving animates, the plate turning under a stationary cutter (Figures 10 and 11). Each drawing is saved as a key, its complete description, which redraws it to the pixel.

Compared with the rose engine in the second round of research, the film’s machine departs from it in three ways. The rosette’s wave grows with the radius, where the rose engine keeps its amplitude at every diameter. The cuts grow by a percentage instead of a constant pitch. The notch turns the whole figure instead of the rosette alone.

The drawing stands up as metal wire and is exported as a 3D file. In version 28, it takes shape on a gold bar, the ingot. The ingot’s face stays flat and imitates its grooves with two images, the slopes and the material, derived from each pixel’s exact distance to the line, computed by an exact distance transform (Figure 12). True carving comes with Blender. The machine is tested headless, in a Chrome instance using software rendering, driven in real time.

The oldest image of the machine: a seven-lobed rose pattern, green on cream
Figure 10 The machine’s first image: a seven-lobed rose pattern, twenty-one cuts. Drawn by the page, set up by the director
A drawing by the machine: nested petals in blue ink
A drawing by the machine: a crown of fine petals on a cream ground
Figure 11 Two drawings by the machine. Drawn by the page, set up by the director
The whole machine: its settings on the left, its buttons at the top, and at the centre a guilloché gold ingot turning
Figure 12 The machine in its twenty-eighth version, and its ingot, replayed with the original key. Computed by the page, set up by the director
The banknote under the loupe: lines that fade, merge and stop dead against the trim line
A rose pattern by the machine under the loupe: continuous lines of even width
Figure 13 Under the loupe: on the left the generated banknote, whose lines fade, merge and stop dead against the trim line; on the right a rose pattern by the machine, whose line keeps its width from end to end, by construction. The comparison is made by eye, at different magnifications. Left, guessed; right, computed
BoxThe machine’s model

For the 3D engineer, and for anyone writing a drawing tool.

  • The pen point: z(t) = Σ a_k e^(i(n_k t + φ_k)), up to five stages; n_k an integer from −36 to 36, a_k from 0 to 100, φ_k from 0 to 359°.
  • The period is 2π / gcd(n_k, lobes); the symmetry, which the page calls tonalité (tonality), is gcd(n_k − n_0, lobes).
  • The chucks: the eccentric is a fixed arm (n = 0), which offsets the curve; the oval, two arms of speeds 1 and −1; the geometric, the full integer sum. The 1967 Spirograph set: two stages, of frequencies r/g and −(R − r)/g, with arms R − r and d.
  • The rosette: the curve multiplied by 1 + p cos(b t), from 2 to 60 lobes, p from 0 to 0.4.
  • The cuts: up to 90; cut k scaled by (1 + s/100)^k, s from −4 to +4%, and turned by k notches, with a notch of −45° to +45°.
  • The key: “TG1-” followed by the full drawing, its settings in JSON, encoded in URL-safe base64.
  • The ingot: the depth is (w − δ) × tan 35° × (0.45 + 0.55 × opacity), where δ is the exact distance to the line (exact distance transform, Felzenszwalb and Huttenlocher) and w is the groove’s half-width, 0.8 × the line weight and at least 1.6 pixels; the deepest layer wins; 4096 pixels square at most.
  • The test: headless Chrome, in software rendering (SwiftShader), driven through the Chrome DevTools Protocol from Node.js, the end condition tested every second.
  • “Graver ma phrase”: the page sends a sentence to Claude, through the platform where it is published, with an instruction that carries the machine’s equation, the rules that give rise to points and loops, and the format of a key. The page bounds the reply (eight layers, five stages, sixty cuts) before engraving. The instruction carries one rule: imitate no real banknote of any existing country. The code does not say which model replies, and the output cannot be reproduced.

Step IV

Turning the trace into a relief the renderer can read

The heightmap, the medal, the metal

The idea
make the drawing shine; the ingot imitates a reflection, a metal is rendered.
The request
two medals, in real metal; reconstructed, as no file keeps it.
The exchanges
the first day of Blender, before the transcripts; the following morning, 6 messages from the director, 33 from the agent, 122 tool calls, 1.7 working hours.
Time lost
before the transcripts, a first medal 3 mm thick, which read as a coin, made thinner; five crowns of pattern, too busy, reduced to a single rose pattern; blue anodised titanium, set aside as a CG-looking material.
Expected outcome
a 16-bit heightmap per face, and a metal whose drawing lights up bright on a dark field as the medal turns; it is checked by measuring the groove, then on the rendered frame, in motion.

The machine hands over only its key. A Python program replays the page itself, in a copy opened by headless Chrome, and has it compute the depth of each pixel: the heightmap, in 16 bits. None of the page’s computation is reimplemented outside the page. If the tool can no longer open the page at the same places in its code, it stops instead of guessing.

The film’s two medals form the pair: the day medal, in gold, and the night medal, in silver, 40 mm each, the drawing running up to the bevel. Four keys make their four faces. The sunflower shows the method. Each floret sits at n × 137.5° and at a radius c√n (Vogel, 1979), and nobody draws the spirals that appear in it. The planetary dial traces Venus and Mars with two chuck stages each, based on their motion as seen from Earth, reduced to circles, with no source for their radii and ratios.

The fineness of the drawing is set by the image. On the whole medal in HD, a pixel covers about 45 µm, and a pitch of about 0.2 mm is legible. Each test is measured before it is shown. The director judges the material on the metal, the rendered frame (Figure 14); motion, later, will be judged as a line test.

Blender receives the heightmap in a scene written entirely in Python, which can be rebuilt identically. The metal is a two-colour conductor, with a Base Color and an Edge Tint; the Base Colors of the gold and the silver are rendering reference values. The field is satin, near-mirror; the groove walls are polished, like the trim lines, the fine solid lines of the drawing. In close shots, Blender truly carves the metal, depth and slope together; without this carving, it produces moiré.

A metal is a tinted mirror: it mostly shows what surrounds it. The field reflects a band of directions that depends on the camera angle. That band is left unlit, so the field stays dark. Raking light strips are placed elsewhere, and only the groove walls reflect them: a flank of slope α reflects light arriving from 2α. The drawing lights up bright on a dark field. The sparkle needs motion: thousands of flanks light up and go dark together as the medal turns. The Khronos PBR Neutral view transform keeps the gold golden, where AgX desaturates and browns vivid colours. Figures 15 and 16 offer the pair to turn, rendered live by the reader’s screen (Appendix B).

Figure 14 The same sunflower, as a line in the machine, as metal in Blender; drag the slider. Drawn by the page, then rendered in Blender
Figure 15a Day, a 40-millimetre gold medal, rendered live by your screen with the film’s profile, metals and light: pick it up, turn it (Appendix B). Obverse, the sunflower, a hundred and forty-four florets at the golden angle; reverse, the sunrise, the rays and the sea. Rendered live by your screen
Close-up of the sunflower: the gold florets and their nested circles
Close-up of the sunrise: the gold rays above the guilloché sea
Figure 15b The sunflower and the sunrise, close up. Rendered in Blender
Figure 16a Night, a 40-millimetre silver medal, rendered live by your screen (Appendix B). Reverse, the banknote rose pattern, a four-stage lacework; obverse, the planetary dial, Venus and Mars. Rendered live by your screen
Close-up of the silver banknote rose pattern
Close-up of the Venus subdial on the planetary dial
Figure 16b The banknote rose pattern and the Venus subdial, one of the subdials of the planetary dial, close up. Rendered in Blender
BoxThe heightmap and the metal

For the 3D engineer.

  • In a copy of the page, leaving the file itself untouched, the tool opens three internal settings: the number of points, the heightmap’s side length, and access to the depth array. It thus lifts the 4096-pixel ceiling the page sets itself. The depth comes back in 16 bits, stored in the red and green channels of a lossless image.
  • It writes the depths (16-bit PNG: the value divided by 65,535 and multiplied by the maximum), the normals (16 bits, in Blender’s convention, through OpenCV), a polish map (8 bits), which sets the Roughness, and a JSON file: the size, the scale, the maximum, the drawing.
  • 2048 pixels square for a whole medal, 4096 or 8192 for the close-ups, that is 9.4 and 4.7 µm per pixel on the 38.4 mm field (1,000 units). A fine heightmap takes up nearly a gigabyte of memory.
  • The groove: a vee cut 1.6 line weights wide, with walls of 31 to 34° depending on opacity, 35° at most. On the pair, from 80 µm wide by 24 deep to 184 by 56 (the sunflower, 160 by 48). Its 110° opening falls within the range of cutter angles given by Revolution (90 to 120°). It is steeper than the profiles recorded on real dials, about 12° from the work surface (Pledge & Aldworth) or a 160° opening (Cox and Lindow).
  • The medal: 40 mm, 2.4 mm thick, a 0.3 mm recess, a polished bevel at 45°, a 0.8 mm rim.
  • The metal: Blender’s Metallic BSDF node, Fresnel Type: F82 Tint, two colours. The gold’s Base Color is (1.000, 0.766, 0.336), its Edge Tint (0.995, 0.985, 0.94); the silver’s Base Color (0.972, 0.960, 0.915), its Edge Tint (0.99, 0.99, 0.985). The Base Colors are those the glTF specification gives, according to the machine’s code: rendering reference values, capped at 1 in the red for gold. The measured optical constants of gold give reflectances of 0.41 at 451 nm, 0.93 at 617 nm and 0.96 at 659 nm; integrated like the film’s colours, they give back (1.055, 0.779, 0.335). The Edge Tints have no source. Roughness, read from the polish map: 0.08 on the field, 0.03 on the walls.
  • The carving: Adaptive Subdivision and displacement. The subdivision is fixed once per shot, at an Edge Length of 9.4 µm, the heightmap’s pitch, from a still camera (Dicing Camera). Recomputed at every frame, it made the grooves crawl (crawling artefacts). Blender subdivides everything in front of the camera, even when hidden: a whole medal needed more than 27 GB, and the director’s computer has 16. With the hidden face set aside, it needs 8 to 9, hence one face carved at a time.
  • The light of the presentation case: seven low light strips of 30 × 2.5 cm at 18°, a raking back light at 8°, one near the zenith, at 80°.
  • The close-ups: the camera 68° above the face, at 5 cm, at f/22.

Step V

Building a set that serves the piece

The presentation case, the beach, the sky

The idea
from the agent, a presentation case for the pair, which the director approves and has tailored to its function; from the director, a very spare exterior, a blurred beach, and the Moon in a winter sky still lit.
The request
a presentation case tailored to its function (Appendix A).
The exchanges
27 messages from the director, 57 from the agent, 254 tool calls, 2.7 working hours.
Time lost
1.2 working hours, the presentation case (dead end No. 1).
Expected outcome
a set that the metal reflects and that leaves the medal centre stage; it is checked in the medals’ reflections, and the sky against an ephemeris.

The presentation case follows from its contents: two recesses and their margins give its width, the logo and its clear space its depth. Its wood, sapele mahogany, the wood of coin cabinets, comes from a freely usable photograph of veneer, its grain continuous from base to lid, under a varnish. A tool removes the photograph’s defects, hairs caught in the veneer, keeping what follows the grain and filling what crosses it. The lid carries marquetry drawn by the machine: a braid between two lines of stringing of about 0.15 mm (Figure 17).

The beach is built in Blender: a physical sky (Sky Texture), wet sand under a film of water, the edge of the sea raised by the Ocean Modifier. Two ready-made HDRIs are rejected, one because of its sand and its background scenery, the other because of its sky, which upstaged the medals. At sand level, a flat sea disappears, hence the built shore.

The sky is that of a real morning. An astronomy program, based on Paul Schlyter’s method, sweeps the winter mornings every five minutes. It looks for the Sun between 6 and 20° of altitude and the Moon between 3 and 8°, at least three-quarters lit. It is checked on known cases: a solstice, a full moon, the eclipse of April 2024. The film settles on 26 December 2026 at 9.25 am, in the Gulf of Porto, Corsica. According to JPL Horizons, the Moon stands 5.07° above the horizon (5.23° with atmospheric refraction), 92.49% lit, and the Sun at 12.25°. The Moon is a sphere lit by the Sky Texture’s sun, so its phase arises by itself (Figure 18).

Planted in the sand, the medal needs ground built around the point of contact. Up close, a grain covers 8 to 24 pixels of the frame, and a hundred thousand grains of twelve kinds are scattered by Geometry Nodes. The silver medal looked glassy: a black flag (negative fill), a dark panel it reflects, follows it. Out of focus, the medals turned olive: a reflector lights only the medals (Figure 19). At the director’s request, the camera circles the medal in one continuous shot.

Figure 17 The first presentation case and the last; drag the slider. Rendered in Blender
The presentation case out of focus on the sand, the sea, and the Moon in the morning sky
Figure 18 The built beach and the Moon of a real winter morning. Rendered in Blender. The Moon: NASA’s Scientific Visualization Studio
The silver medal planted in the sand, its banknote rose pattern in low sunlight
Figure 19 The silver medal planted in the sand. Frame from the film

Step VI

Shooting a first film on a rented GPU

“Le jour, la nuit”

The idea
from the director, a complete 3D animation, shot like a film; filming 3D means rendering what a virtual camera sees.
The request
first research, from sources, the rules of the films of the major luxury houses, then shoot (Appendix A).
The exchanges
95 messages from the director, 220 from the agent, 978 tool calls, 7 subagents, 8.8 working hours, and hours of waiting for renders; the split-screen edit and the music are done outside the transcripts.
Time lost
0.4 working hours, the flicker (troubleshooting No. 1); the shots redone in 4K (troubleshooting No. 2).
Expected outcome
the whole film in HD, judged, then the 4K; it is checked with the flicker counter, then by eye, the video in motion and paused.

Before shooting, subagents examine twenty-four films by major luxury houses on YouTube’s preview thumbnail sheets, one frame per second and without sound. They draw forty-two rules from them. The master rule: what must be seen is the light running over the metal; what must stay unseen is the camera. Only one rule is demonstrated by experiment: slow motion makes the object look more luxurious (Jung and Dubois, 2023, twelve experiments, 27,227 people). Into the tools go one movement per shot, 2.9° per second at most on the 100 mm lens, the shutter open for half a frame, and the world slowed rather than the object. The survey also says to choose the music before the draft; the director chooses the reverse: the music is laid over the film.

The shot list is written in Python: fifteen shots, 3,744 frames rendered at 24 fps, the 100 mm lens throughout except the 300 mm for the pair and the Moon, focus set in dioptres. A first draft of eleven shots, judged a little short and not focused enough on depth, the structure of the two medals, gives way to the fifteen.

The CPU of the director’s computer takes 4 min 23 s for a 1280 × 720 test frame. The agent compares cloud GPU providers. The director sets up access at Scaleway, with the agent watching his screen. The agent creates the server in its own tab, with the director’s approval. A script installs Blender there, verifies it, measures, renders and edits. The frames come back checked one by one, then the server is deleted. The same test frame comes out there in 29 seconds. The first film costs forty-two hours of rental, €34 excluding VAT.

Working from the negative, without re-rendering, the edit gives a dark bronze tone to the silver’s polished trim lines, which reflected the black flag, with no all-or-nothing threshold, so that nothing blinks. Then come the split screens, after Saul Bass (Grand Prix, 1966) and Pablo Ferro (The Thomas Crown Affair, 1968): the frame divided into panels where gold and silver answer each other, mirrored, then doubled (Figure 20). The finished film has 3,904 frames, 2 min 42 s with its fades and title card, set to two Flow Music generations.

Two panels side by side: the gold medal and the silver medal planted in the sand
Figure 20 The first film’s split screens: gold and silver mirrored, then doubled. Frame from the film, rendered in Warsaw
BoxThe render settings

For the 3D engineer.

  • Blender starts with --factory-startup: everything the scenes leave unset takes the factory settings of Blender 5.2.2, on the rented GPU as on the director’s computer.
  • Set by the scenes: Cycles, 128 samples; adaptive sampling, its Noise Threshold left at its factory value, 0.01, in the first film and set to 0.015 for Électrum; denoising; the light a single ray can carry clamped at 10, direct and indirect (Clamping: Direct Light and Indirect Light), as lower values dull the image without benefit; the shutter open for half a frame; the Khronos PBR Neutral view transform; in Électrum, caustics off (Caustics: Reflective and Refractive off), Adaptive Subdivision measured in object space (Adaptive Space: Object) and the scene’s Dicing Rate Render at 0.1.
  • Left at factory settings: Max Bounces 12 in total, with 4 Diffuse, 4 Glossy, 12 Transmission, 0 Volume and 8 Transparent; the OpenImageDenoise denoiser, which also receives the albedo and normal passes; Seed 0, with Use Animated Seed off; the Light Tree; a Pixel Filter Width of 1.5 px; automatic tiling, with a Tile Size of 2048.
  • The device: the script requests OptiX, with CUDA as fallback. The rented GPU’s log shows OptiX for the first film; the film’s notebook shows it for Électrum. Denoising runs on the rented GPU: on the CPU, it took 40 seconds per frame, against 15 of rendering. OptiX needs the graphics part of the NVIDIA driver.
  • The rented GPU’s script: prepare the package, install Blender, verify it on nine draft frames compared with the CPU’s, measure the most expensive frames first, render in HD or in 4K, record the SHA-256 hash of each frame. This is Électrum’s script; the first film’s verified a single frame, measured two 4K frames per kind of shot and rendered shot by shot.
  • Flicker is counted as follows: a pixel jumps if it departs by more than 25 levels out of 255 from the mean of the previous and the next frame, when those two agree to within 8.
  • The negative: one PNG image per file, 8 bits per channel, one folder per shot; 3840 × 2160 in RGBA for the first film. In 4K, a frame takes 12 to 40 seconds on the rented GPU, depending on the shot.
  • The split screens: each panel cropped from the 4K frame at actual size; a rotation that enlarges the image by up to 28%; the Moon boosted by a factor of 1.7; two encoders at once, at most three frames queued per worker.
  • The music of “Le jour, la nuit”: Flow Music, model Lyria 3.5, Composer panel, instrumental; 122 BPM requested, 125 delivered; seed 1207; two generations blended and recut in bars of 1.92 s, normalised to −15.8 LUFS.
  • “Le jour, la nuit”: H.264 High, yuv420p, CRF 16, slow preset, 36.7 Mbit/s; sound in AAC at 48 kHz.

Step VII

Animating with physical laws

“Électrum”

The idea
from the director, a second film, shorter and wilder, a medal that bursts; molten gold and silver give electrum. Along the way, again from him, the freeze, the dance and the drops that redraw the medals; from the agent, Kepler’s laws.
The request
a one-minute film; along the way, impacts that spread like ripples in water (Appendix A).
The exchanges
nineteen sessions, most of them opened by the previous one; 217 messages from the director, 1,020 from the agent, 6,849 tool calls, 4 subagents, 50.2 working hours, including a morning when the agent works alone.
Time lost
3.4 working hours, dead ends Nos. 2 to 4, and the 6 h 26 min of rendering for the first draft; faults Nos. 3 to 5 in Troubleshooting.
Expected outcome
a movement judged as a line test before any metal, then every 4K frame compared with its HD double, none of them black; it is checked frame by frame, and by the frame count of every edit.

The film is first played as a line test, in a Three.js page, without metal or light: motion is judged there as video, and redoing it costs nothing (Figure 21). The line-test page and the Blender scene read the same laws. The return law, for example, is computed once into a JSON file that both read.

The medals break apart along their drawing. Each pixel is assigned to the fragment of the cut that carved it last, and each fragment is a single solid volume: the florets for the sunflower, 82 fragments for the rose pattern. Électrum takes place in the void, a black studio with nothing behind the camera, so that the polished trim lines reflect black and trace the drawing. Each frame is an independent Blender call: everything is computed as a function of time, and seeded randomness replays the same chaos. The film is in scope, 2.39:1, the director choosing the big screen over the phone.

PhaseWhat happensLaw
The arrivala single medal, gold and silver back to back, arrives from the depth of the frame and stops at the centre; the title ēlektron splits in twothe distance as 200 × 30^((1 − u)^1.8) mm, with u going from 0 to 1, that is from 6,000 to 200 mm at the scale of the line-test page, which Blender multiplies by 2.65; the axis, tilted at 23.4°, straightens
The dancethe two halves move apart and together, fast when closest, slow when furthestthe gap between the centres in Kepler half-ellipses, between anchor values fixed at certain instants; the angle by the law of equal areas; from 17° per second at the furthest to 400° at the closest; at the furthest, each face opens by 55°
The three impactsat each closest approach: a wave and a crack; fragments torn away; a ball, a disc, then a planet and its ring (Figure 22)a wave of 22 mm/s in rings of 7 mm, reflected inverted by the rim; about 55% of the fragments torn away as the crest passes; the ball from 3 to 14 mm in 0.45 s, the disc in 0.9 s
The freezeeverything freezes for five seconds; only the camera orbits the scenematter at 2% of its speed; the camera’s clock at half speed, its radius multiplied by 1.45
The meltthe planet spins faster and faster; the silver melts in 4 s, then the gold in 3 s (Figure 23)a rotation from 35 to 540° per second, the equator faster than the poles; the relief multiplied by (1 − f), f being the molten fraction, from 0 to 1; the roughness tending towards 0.02
The explosioneach drop is born from a line: 3,933 drops of gold and 8,053 of silverabout one cut segment in fourteen; a law written by hand, without a physics engine
The returneach drop flies back to its line, in the order of the engraving; the faces rebuild, absorbing the shocks; twenty fragments make a third piece, in silver, with its gold monogram inlaid (Figure 24)a flight of 1.5 s; damped springs restarted at each shock; the face reappears through a time map
The breathingthe three pieces breathethe gold by 15°, the silver by 14°, the piece by 8°, every six seconds
The departurethey move off into the depth; a flash at the point of light where the film began (Figure 25)the same form of law as the arrival, with exponent 1.7; two light veils, 1,000 and 7,000 mm wide

The glow that coloured the molten metal, a display colour ramp with no blackbody calculation, is removed after three versions: the molten metal stays a mirror, as a matter of taste.

A frame exposed for an object in sunlight keeps no stars, behind it or in its reflections, says the source research, and the test confirms it. At its true brightness, the sky changes nothing; boosted a millionfold, it washes out the trim lines. The Milky Way is set for the camera only: a pictorial choice.

The colour of electrum is computed from the alloy’s optical constants. They come from the model of Rioux et al. (2014), cross-checked against the measurements of Roberts and Clarke (1979), with a ΔE of 1.8. The result is a pale gold barely leaning towards green, in place of the washed-out champagne that mixing the colours gave. It is used for the three-dimensional title.

On the rented GPU, a single frame kept the GPU busy only 15% of the time, as the scene was built on the CPU. Four renders at once divide the time by 2.6 in HD; in 4K, three at once, and a single one for the frames of the gold’s melt. Électrum costs about €13 excluding VAT.

Figure 21 The same instant, in the line test, then in metal. Written by the agent, rendered in Blender
The fragments of the medal in orbit in the void, gold and silver, around two circles
Figure 22 The impact, face on, in the void. Frame from the film, rendered in Warsaw. The Milky Way: ESO/S. Brunier, CC BY 4.0, modified
The molten planet in three versions, from orange red to metal without a glow
Figure 23 The molten planet: on the left the glow, on the right what replaced it, the metal alone. Rendered in Blender
The electrum piece: the gold monogram inlaid in the silver, and its twenty fragments
Figure 24 The inlaid piece and its twenty fragments: the eight gold traces and the twelve silver cells, the cells of equal area. Rendered in Blender
Gold, electrum and silver in the void, the film in scope format
Figure 25 The gold, the inlaid piece and the silver in the void, in scope. Frame from the film, rendered in Warsaw
BoxÉlectrum, its laws and settings

For the 3D engineer.

  • The dance: the eccentricity is (r_a − r_p)/(r_a + r_p), r_a and r_p being the gap at the furthest and at the closest; the angle follows the law of equal areas, as 1/(r² + r_c²), integrated with a step of 1/240 s, r_c being a softening length of 26 mm at the start.
  • The camera: Kepler orbits, the equation solved by Newton’s method (eight iterations), the true anomaly, the roll of the image; the glides by monotone cubic Hermite interpolation (Fritsch and Butland) on the azimuth, the elevation and the logarithm of the distance.
  • The randomness: h(n) = frac(sin(12.9898 n + 78.233) × 43758.5453).
  • The impacts: the wave attenuated as 1/√(1 + r/3), reflected, inverted, by the rim with a factor of 0.45.
  • The drops: a radial speed of 160 to 440 mm/s, braking as e^(−t/0.55 s), a radius of 0.4 + 1.2u³, u drawn at random, the metal’s volume conserved; their velocity carried for motion blur, and a light sphere linked to them alone (Light Linking).
  • The return: an attraction as u³, u this time going from 0 to 1 over the flight; six damped springs per medal, integrated with a step of 1/480 s, from 0.9 to 2.2 Hz. The time map, 2048 pixels square in 16 bits, gives each pixel the instant it is re-engraved: there, the void gives way to metal, with a cutter light that fades as e^(−Δt/0.22 s).
  • The breathing: the gold and the silver in opposite directions, offset by a quarter period, and a tilt of 4° over 8.22 s.
  • The sky: two renders in 32-bit EXR, the scene and the sky, composited in linear light, the scene plus (1 − α) times the sky, α being the scene’s opacity; the Milky Way at strength 0.07, for camera rays only (Ray Visibility: Camera only).
  • The colour of electrum: the Fresnel equations for a conductor, averaged over polarisations, from 380 to 780 nm, integrated under the D65 illuminant (CIE 1931 standard observer); at equal volumes, 64.8% gold by mass; Base Color (0.930, 0.898, 0.623).
  • The format: 3840 × 1608 in 4K, 1920 × 804 in HD; the sensor keeps a width of 36 mm, and it is the frame height that narrows.
  • The negative: PNG at 3840 × 1608, 8 bits per channel, in RGB. The encode: libx265 -preset medium -crf 12 -pix_fmt yuv420p10le -tag:v hvc1 -x265-params aq-mode=3.

Step VIII

Composing sound from measurements

The sound of Électrum, then that of the beach

The idea
from the director, something muffled, cosmic, very deep, sounds that unsettle; for the beach, real music made from real sounds, and a musical adversarial reviewer to check it. From the agent, the central idea for the beach.
The request
a muffled, cosmic, very deep sound, based on cosmic sounds (Appendix A).
The exchanges
76 messages from the director, 235 from the agent, 1,537 tool calls, 10 subagents, 13.6 working hours.
Time lost
4.7 working hours, dead ends Nos. 5 to 7; a singing bowl, set aside from the outset.
Expected outcome
a 24-bit track at 48 kHz, sample-accurate to the picture; it is checked by measurement (the spectrum, the levels, the roughness), then by ear, on headphones and on a television.

The agent measures; the director judges by ear. The sources are public domain, CC0, CC BY credited and marked as modified, or free to use with attribution, like the Big Bang simulation. Each is entered in a register on arrival. Everything is processed in Python, at 48 kHz, that is 2,000 samples per frame. The table gives each layer, its source, its processing and its placement (Figure 26).

LayerSourceProcessingPlacement
The low voiceJohn G. Cramer’s Sound of the Big Bang simulation, derived from the spectrum measured by Planckthe fundamental, which descends, is tracked, and the sound replayed at the speed that gives the desired notethe notes of Électrum, except the two sine waves of unease; the bass of the beach, on D
The hearta pulse every 0.42 s, heard by the director in this voice; the agent did not make it, and its origin is not establishedextracted below 90 Hzfrom 31.5 s to the explosion, over the frozen background during the freeze, with no silence before the explosion
The impactsthe Big Bang voice; a fireworks detonation; the rumble of a meteoroid impact on Mars, recorded by the seismometer of the InSight lander and sonifiedthe voice at notes from 24.5 to 14.6 Hz, each one falling; the detonation slowed 1.2 to 2 times; causal filters, without which the attack spread up to 17 ms ahead of the frameon each impact, the onset of the detonation placed on the frame
The freezethe background, at the instant everything freezesa phase vocoder freezes the sound without changing its pitch; the background drops to −12 dBthe five seconds of the freeze
The explosionthe Big Bang voice; four detonations together; the Martian rumblethe voice starting on an A, falling by a fifth; the detonations slowed 2 to 3.5 times, the rumble 3 times; the burst, the high end of the explosion sound itself, saturatedon the frame, 5 dB above the third impact
The uneasetwo sine waves at 27.5 and 28.5 Hz, after the low note Thomas Bangalter sets under Irréversiblethey undulate once per second, and grow louder before the explosionunder the explosion; from the opening, but below the threshold of hearing
Daythe Sun’s natural vibrations, measured for forty days by SOHO and sped up 42,000 times by A. Kosovicheva note near 142 Hz, replayed 3.3% faster to hold the Dthe beach
Nightthe ground of the Moon under the impact of the Apollo 12 Lunar Module ascent stage, recorded on 20 November 1969sped up 150 times, the B flatthe beach
The coinstwo real coins, in gold and in silvertuned to the D chordthe night’s layers: lights (metal glints), grain and bass
The beatthe heartbeats of Électrum, taken one by onerealigned to the beach’s grid, 120 BPM, 125 at the peak, where the shots are shorterthe beach
The melodythe impact in Électrum that seals the inlaid piece, in place of coins being struckin unison with the bass or on an odd multiplethe beach
The engravertwo old lathes, a jeweller’s saw, a tuned engraver’s burr, for lack of a freely usable recording of a rose enginecombined into a single soundthe beach

A separate research session, on 278 sources, establishes that no frequency has a demonstrated effect of its own; 432 Hz, 528 Hz and the “sacred solfeggio” are legends. What acts is the level, the build-up and the silence that follows. A phone reproduces almost nothing below 150 Hz, where the film puts 70% of its energy: listen on headphones.

For the beach, once the films are joined, the Flow Music track no longer holds up beside the real sounds, and three attempts fail (dead ends Nos. 5 to 7). The agent’s idea holds: day and night through the real voices of the Sun and the Moon, on the grid of the electronic track, kept as a way of organising (dead end No. 7).

At the director’s request, a musical adversarial reviewer checks the track before the director listens to it (its brief is in the box “The components of the method”). It finds gong strokes where no coin strikes on screen, hits that grate at a quarter tone, and a level that is too flat; the director’s ear decides. The master track, 24-bit at 48 kHz, is sample-accurate to the picture.

The sound of Électrum shown as a spectrum and as intensity, with the impacts, the freeze and the explosion
Figure 26 The sound of Électrum, seen: the spectrum and the intensity, the impacts, the freeze, the explosion. Measured by the agent
BoxThe sound chain

For anyone redoing the sound.

  • Python (numpy, scipy), FFmpeg; 48 kHz, 24 fps; A at 440 Hz.
  • The voice: a high-pass filter at 20 Hz; the fundamental tracked by a comb filter on the odd harmonics 3 to 25; the source upsampled by a factor of eight and replayed at the speed the note requires.
  • The heart: below 90 Hz, the ratio of the fast envelope to the slow envelope, raised to a power that rises from 0.6 to 1.5.
  • The freeze: the phase vocoder keeps its phases locked to the spectral peaks.
  • The burst of the explosion: high-pass filter at 300 Hz, tanh saturation, low-pass filter at 6 kHz, lowered by a quarter of a semitone.
  • The beach: a bar of 48 frames over the shot circling the gold medal, 46 at the peak; each hit deliberately offset by ±3 ms; the melody kept off the octave, which would make the odd harmonics grate.
  • The levels: Électrum limited to −1.0 dBTP; the beach normalised section by section to −20 LUFS, plus each section’s build-up, and limited to −2.0 dBTP; pumping under each beat.
  • The adversarial reviewer’s ears: the spectral peaks, the share outside the chord, Sethares roughness after Plomp and Levelt, the K-weighted loudness, the share of energy between 2 and 5 kHz, the clicks, the dip before each arrival.
  • The sound figure: a spectrogram of 8192 points, on a logarithmic scale from 20 Hz to 16 kHz, and the envelope over 20 ms.

Step IX

Joining two films, signing them, publishing them

“Elektron”

The idea
from the director, sign each finished film, to put its date on record, then join the two, with Électrum as the opening.
The request
join the two films into one, with Électrum as the opening (Appendix A).
The exchanges
128 messages from the director, 291 from the agent, 938 tool calls, 4 subagents, 8.4 working hours.
Time lost
0.7 working hours, the YouTube incident (troubleshooting No. 6).
Expected outcome
a signed film whose hash is timestamped, and a published video free of defects, watched on the platform; it is checked by the per-stream hash before and after signing, and by watching the published video before sharing its link.

The edit is done in Python, from the two negatives, without re-rendering anything. Électrum, in its scope frame set in the middle of the 16:9 image, runs for 1,796 frames. Twelve frames of light grow from the place of its flash and cover the black bars. Three frames of warm white follow. A fade opens on the dive into the sunflower. “Le jour, la nuit” follows, without the shot of the presentation case opening. A first attempt at the light, a disc with a softened edge, looked like a sticker on the image. The film has 5,235 frames. Of the Flow Music track, only its bar length remains: 46 frames (1.92 s), to which passages of the film had been edited.

The master file: HEVC Main 10, 3840 × 2160, 24 fps, 51.5 Mbit/s, sound in AAC at 48 kHz, 3 min 38.13 s.

Signing here means a copyright notice written into the metadata of each file. It is applied by streamcopy, without re-encoding, and the per-stream hash is checked before and after. A signed film stays as it is: the joined film is a new file, signed in turn. A hash list gives the size and the SHA-256 hash of each film. Only the salted hash of this list goes to three OpenTimestamps calendar servers, which write their commitments into the Bitcoin blockchain; for Elektron, in blocks 972643, 972646 and 972682. No one there sees or validates the films: the proof shows they existed at that moment.

The video published on YouTube is the one from troubleshooting No. 6 (Figure 27).

The pair of medals planted in the sand facing the sea, soft in the morning light
Figure 27 The pair facing the sea: a frame of the film as played on YouTube. Frame from the film, rendered in Warsaw

Troubleshooting

The faults a reader retracing the path will meet. The costs come from the transcripts; “not isolated” means that no passage of the transcript concerns this fault alone.

No.StepSymptomCauseFixCost
1VIPixels jump from one frame to the next (fireflies), nearly fifteen thousand on the three-second test.The metal’s blurred glints, which randomly drawn rays fill differently from one frame to the next.Clamp the light a single ray can carry to 10; count the jumping pixels. The measurement alerts, the eye judges: a false alarm, grooves sweeping past fast, once stopped the render, and the remaining “shimmer”, present even on the still frame, is the effect of guilloché on the eye.0.4 working hours, 1.0 h elapsed
2VIShots redone in 4K: motion blur forgotten, dives lengthened from 10 to 12 s, a focus adjustment, a shadow on the logo.Judging in 4K what should be judged in HD.The whole film in HD on the rented GPU, judged, before the 4K, for about €4.not isolated
3VIIA 4K frame comes out black, with no message.Not established.Every 4K frame compared with its HD double.not isolated
4VIIThe edit of a draft loses 180 frames, silently.Frames in mixed formats, RGB and RGBA: FFmpeg restarts its filters when the format changes, and the timestamp reset (setpts) loses the following frames.All frames now come out in RGB, and each edit is checked frame by frame against the negative.not isolated
5VIIDark backgrounds show banding.8-bit compression breaks dark, low-contrast backgrounds into hard-edged bands, whatever the setting; the rendered frames are clean.Nothing is re-rendered: the film moves to 10-bit HEVC, and the gap to the rendered frame, measured on the frame read in 16 bits, falls to a third.not isolated
6IXOn YouTube, the opening plays again between 0:10 and 0:19, at every quality, while the file itself is sound.Not established.An H.264 re-encoded from the signed film, with closed GOPs and its copyright notice kept; watch the video on the platform before sharing its link.0.7 working hours, 1.0 h elapsed

Dead ends

The attempts specific to this film that were abandoned, and what replaces them.

No.StepAttemptWhy it failedReplaced byCost
1VAn ivory leather presentation case, 130 × 76 × 34 mm, already sized to its two recesses.Still too thick, it looks like a box; its ivory, taken from the brand guidelines, looks like a consulting firm’s document; plain leather lacks realism beside the cut metal.A thinner presentation case, in mahogany, the wood of coin cabinets. A black lacquer and an engine-turned plate of 240 rays are set aside along the way.1.2 working hours, 1.2 h elapsed
2VIIAn arrival in which the medals overflow the screen.Too violent for the frame and for the object.A single medal: gold and silver back to back.0.5 working hours, 0.5 h elapsed
3VIIThe first draft of the whole film, judged frame by frame: everything must be rebuilt.Mechanical motion: the camera in circles, at constant speed, and medals set facing it, a shop window rather than a relationship.The scenario rebuilt as a line test and in scope, around the Kepler dance.1.1 working hours, 1.9 h elapsed, after 6 h 26 min of rendering on the director’s computer
4VIIA soft reflection, proposed for medals facing the camera and motionless, which read as a printed drawing.Refused before being made: motion is what makes the metal.The breathing, and the departure of the three pieces in place of the close-up.1.8 working hours, 2.6 h elapsed
5VIIIFor the beach, ambiences and a framework of chimes and time-stretched sea.The ambiences sound like sound effects; the framework sounds like two separate tracks, and wears thin.Nothing; their tools are reused.0.9 working hours, 2.1 h elapsed
6VIIITchaikovsky’s “Dance of the Sugar Plum Fairy”, read note by note by the agent, written as text and played by a program with bells and drops.To the director’s ear, a bell sound that irritates and rising chromatic runs outside the theme; for the agent, a tune everyone knows, which the ear notices before the film itself.Nothing in the film.3.2 working hours, 9.1 h elapsed
7VIIIAn electronic track with an eighties drum machine sound: too much treble, neither gravity nor complexity.The sound; the rhythm holds.The rhythm kept as a grid, the sound brought back towards Électrum.0.6 working hours, 0.7 h elapsed

Limitations

  • A single case, a single director, who also signs this report.
  • A commercial model, bound to be retired; a tool that went through four versions during the work. The agent’s trajectory cannot be replayed: its transcripts are the audit trail.
  • Outside the transcripts: Steps I to III, the first day of Step IV, and a gap of nearly thirty hours between Steps VI and VII, which covers the split-screen edit, the music of “Le jour, la nuit” and the decision to make Électrum.
  • The numbers come from the transcripts, by a written method; time lost is a judgement made after the fact.
  • What was not measured: a comparison of the medals with a real engraved piece; the profile of a groove under a real cutter; the final loudness of Elektron; the origin of the heart’s 0.42 s; the cause of the black frame and that of the YouTube incident.

Results and lessons learned

The film’s 26 sessions count 557 messages from the director, 1,878 from the agent, 10,774 tool calls and 30 subagents. Steps IV to IX account for most of them, including 25 subagents. A session on moving the project accounts for the rest, including 5 subagents. The research session on frequencies, outside these 26, spawns 14 more. The agent wrote 50 Python programs, 13,713 lines. Nearly 10,000 frames were rendered in Warsaw, kept or redone, for about €47 of rented GPU time, excluding VAT; these amounts exclude the agent’s subscription.

The sessions worked some 86 hours, Électrum more than half of them. The lost passages span some twenty hours of elapsed time, leaving aside the rendering of Électrum’s first draft, for about ten working hours, a third of them on the Sugar Plum Fairy. Outside these hours, the time is waiting: the renders in Warsaw, the nights, and the agent’s usage limit, reached once and nearly reached another time.

The rules that held: research from sources before making; look at a result before describing it; judge the material on the metal, and motion as a line test, before any metal; the measurement alerts, the eye judges; HD before 4K; compare every final frame with its double; seeded randomness, everything computed as a function of time; an adversarial reviewer that cannot hear receives measurements; a signed file stays as it is.

What this case teaches one to do from the start: encode dark backgrounds in 10 bits from the first encode; render several frames at once on the rented GPU; keep a well-known tune away from a film about an object.

What is provided, and what is not

  • Provided: the decisive settings, in the boxes; the software versions; the numbers and their method; the requests that steered each step, in the appendix; the live figures on this page (the spirograph, the rosette, the medals), which run in the reader’s browser, their code readable in the page.
  • Not provided: the code of the machine and of the tools, the Blender scenes, the negatives and the session transcripts, all archived and unpublished. Access details, payment details and addresses are removed.
  • To go further: each mechanism can be rebuilt with one’s own tools from its box; the machine from its model, the heightmap from its definition, the sound from its table and its chain.
  • Three frames from the film, free to use for discussing it, with the credit © 2026 Jérôme Coustillas, GENIX STUDIO. In 4K on request: info@genixconseil.com.
The gold medal planted in the sand The silver medal planted in the sand The medals in the void

Appendix A: The requests

Translated from the French. The director dictates his requests by voice. These come from the transcripts, extracted by a program; only the punctuation and the dictation errors are corrected, and omitted passages are marked [...]. Sentences written by the agent that he merely approved with a click are excluded. Before the transcripts, only the files speak.

  • I. The banknote. The structure prompt, written by Google’s AI Mode, was not kept. The bust, as a prompt by the agent, the version retained: “Photograph of a sculpture, 16:9 frame. Subject: an antique white marble bust of the god Janus: two faces of a mature man, of the same age, back to back on a single head, one turned to the left, the other to the right, both seen in profile. Calm, grave faces, short beards, curly hair. The bust is in the centre, whole, head and shoulders, with space around it. Background: a plain mid grey, with no setting. Light: a single soft side source, from the upper left, that models the relief; crisp, soft shadows. Style: museum photography, realistic and restrained, both profiles sharp, a frank contrast between light and shadow. Avoid: any text, any inscription on the plinth, any other object, any colour, a gradient background, background blur.”
  • II. The source research. The notebook sets out the request at its head: the first move, before any line of code, is to understand the object exactly, physically and mathematically, in order to build a web application that simulates it faithfully.
  • III and IV. Before the transcripts, no file keeps the request.
  • V. The presentation case. “[...] So the box [...] holds two medals, right? We correlate its size [...] with its function.”
  • VI. The film. “[...] Shouldn’t we research from sources, for our time, for our product, the basic rules of high-quality visual advertising production? That is: are there rules to follow? Because if we’re making the film, we may as well go all the way. [...] From the camera point of view, the timing point of view, the product point of view, product placement, I think we need to learn that part too, to perhaps draw on it to build the final scenario.”
  • VII. Électrum. “[...] The inside of our medallion [...] has to move like a wave, a wave when you throw a pebble into water. [...] Like ripples in water, really.”
  • VIII. The sound. “[...] Frankly, it sounds like a bell, that’s not at all how I see it. [...] It needs something muffled, cosmic, Big Bang, very, very deep. [...] Can we base it on cosmic sounds?”
  • IX. The joining. “[...] Nothing stops us from editing the two films into a single one, does it? I mean Électrum as the intro, and then we do a transition and we find ourselves on the beach.”

Appendix B: The medal on this page

For the 3D engineer working in the browser.

  • WebGL 2, with no library, on the profile of the film’s medal.
  • A normal map per face, 1,680 pixels square, derived from the film’s heightmap by a Sobel operator.
  • The metal: Schlick’s approximation between the Base Color and the Edge Tint; in the vee of the groove, the light bounces twice, and the colour deepens there.
  • The light: five fixed studio lamps, which the metal sweeps as it turns, and a very soft ring of light around the field’s mirror direction, which the groove walls catch and the field misses.
  • The same Khronos PBR Neutral view transform, then sRGB, and dithering of half a level against colour banding.
  • Each screen pixel is computed over 3 × 3 texels of the metal, against moiré; if the reader’s device struggles, over 2 × 2, then over one.
  • The medal breathes, about 10° over six seconds; the motion stops if the system asks for reduced motion.

Credits by role and sources

The roles. The ideas, except those the step cards credit to the agent, and the direction and judgement of every image and every sound: the director. Source research, code, measurement and verification: the agent, its subagents and its adversarial reviewer. Rendering of the images: Blender, on the director’s computer and on the rented GPU. The prompt, the image and the music generated upstream: Google’s AI Mode, Flow and Flow Music. The writing of this report: the agent, under the direction of the director, who is accountable for it.

The sounds. The Big Bang: a sound simulation derived from the spectrum measured by Planck, (c) John G. Cramer - 2013, after Planck (ESA). The Sun: SOHO (ESA and NASA), sped up by A. Kosovichev, Stanford Experimental Physics Lab. The Moon: the Apollo 12 Passive Seismic Experiment Package, NASA Planetary Data System (Nunn et al., 2022). Mars: NASA/JPL-Caltech/CNES/Imperial College London. The gold and the silver: Walking.With.Microphones, Freesound, CC BY 4.0, modified. The engraver: Torsten Nilsson, Sounds of Changes, CC BY 4.0, modified; Leena Ahonen, Werstas, Sounds of Changes, CC BY 4.0, modified; rocdonald and dethrok, Freesound (CC0). The detonations: DylanTheFish, Freesound (CC0).

The images. The Milky Way: ESO/S. Brunier, CC BY 4.0, modified. The Moon: NASA’s Scientific Visualization Studio. The textures: Poly Haven, CC0.

References. Brittany Nicole Cox and David Lindow, “Looking at guilloché in conservation”, 2016; Pledge & Aldworth, glossary and dial notes; Battersby, the G-code program, 2011; Garrett, the LinuxCNC machine; patent US10649406B2; Science Museum Group, Desvignes’s spirograph; Revolution, 2024; Vacheron Constantin, “The Master guillocheur, artisan of depth”; H. Vogel, 1979; Jung and Dubois, 2023; Rioux et al., 2014; Roberts and Clarke, 1979; John G. Cramer, the Sound of the Big Bang, 2013; NASA, “Sounds of the Sun”; Nunn et al., 2022; JPL Horizons; J. Tang, interview with Gaspar Noé, Salon, 12 March 2003; the Blender manual, “Light Paths” and “GPU Rendering”; NVIDIA, the L4 datasheet; and the project’s frequency file, 278 sources.

Spirograph is a trademark of Hasbro. The houses, museums, institutions and people cited here took no part in this work.