Blueprint 蓝图 / 工程制图
Patent Pending: The Cloud Catcher·47s·Lemo-Opuscarby Lemomo
Engineering drawings that come alive on a sheet of cyanotype paper: white technical line work on Prussian blue, drawn in drafting order, with annotations that move.
The demo: An inventor's blueprint draws, explodes and assembles a cloud-catching machine, and its revision cloud starts to rain.
Engineering drawings that come alive on a sheet of cyanotype paper: white technical line work on Prussian blue, drawn in drafting order, with annotations that move. References (grammar only, never copy): the moving technical drawings in Prologue Films' Iron Man (2008) end credits, Leonardo's Codex Atlanticus pages, 19th-century US patent drawings (Fig. 1 / Fig. 2, part balloons, fine-line shading), the automaton drawings in Hugo (2011). No Marvel elements, no real patents, no real inventor's machine or signature.
Suits films of 30–60 s.
1. Essence, and what it is not
- The whole film happens on one sheet of blueprint paper lying on a dark drafting table. The camera moves over it like an eye reading a drawing.
- White line work on uneven Prussian blue: centre lines, outlines, hatching, dimension lines, leader lines with numbered balloons, a title block, a notes column.
- A 2D line-drawing language: orthographic and oblique/isometric projection are allowed, 3D rendering never.
- Rigorous convention carries the tone: the drawing is dry and exact; the notes can carry wit, warmth or gravity.
- The designed thing is the character. A machine, object, building or plan acts through its parts; people appear only as a hand shadow with a pen, or a signature.
Not Hologram HUD (no glowing wireframe, no 3D orbit), not Whiteboard (no marker on white), not Copperplate Engraving (no burin tonal hatching as the whole look).
2. Materials & rendering
- Sheet: procedural cyanotype in a shader in sheet coordinates, crisp at any zoom: fbm between two Prussian blues, coating streaks, fibres, fold creases (bright edge, dark edge, whitening), bleached edges, specks. Around it: dark drafting cloth with a drop shadow.
- Lines: pale blue-white, slightly soft (mipmap bleed), a faint ink breakup driven by paper grain. Four weights (outline, detail, thin, hair; e.g. 3.2 / 2.0 / 1.25 / 0.9 sheet units). Screen width = sheet width × zoom^0.65, so close-ups don't turn into sausages and wides don't vanish.
- Dash conventions: centre line (long-short), hidden (short dashes), phantom / cutting plane (long-short-short), scaled with zoom so the pattern stays on the paper.
- Occlusion by painter's order: every solid is filled with "paper" before its outline is stroked. Oblique extrusion: stroke the outline at N depth steps at 2× width, then fill the same steps with paper; a clean silhouette survives.
- Composite in buffers: ink (white = exposed line); fx (shadow, wetness, stamp ink as channels); a subtitle overlay last. Shadows darken lines too: that is how a lifted object proves it has left the paper.
- Hatching (fine-line shading) for sections, soil, weights, at 45°, spacing 8–14 units.
- Cyanotype and water: a drop blooms deeper blue with a pale tide line; white lines inside the stain go soft; ink signatures bleed.
- The one real thing (optional, at most once): a drawing symbol that leaves the drawing language gets soft volume, one gradient across its whole shape, glow, and a shadow falling across the lines. It leaves a pale unexposed imprint where it was drawn.
3. Colour logic
- Blue and white only. The blue varies in value (coating, stains, folds); the white varies in weight and softness, never in hue.
- One non-blue colour, used exactly once: a rubber-stamp ink (red is classic; a green APPROVED or black VOID work too). It carries the verdict.
- The "real" object at the climax may carry light (white glow, soft value), not a new hue.
- Example blues:
#18336B→#2A58A6with lines#E7F0F9and table#0D1116; a faded sun-bleached sheet#3A6DA8→#5B8CC4; a deep over-exposed sheet#0F2350→#1D3F80.
4. Type & subtitles
- Hand lettering for header, labels, notes and subtitles (e.g. Architects Daughter); a technical sans for title-block fields (e.g. B612); a script only for the signature (e.g. Allura). All OFL.
- Text is written on left to right with a glowing nib, like everything else.
- Subtitles are drawing notes: a light translucent box with double white rules, a "NOTE / n" cell, the text lettered on in ~0.35 s, a small leader tick. Placed per shot in empty sky, never fixed to the bottom (the bottom of a drawing is ground line, base and title block). Wrap at ~880 px. Hold ≥ max(1.8 s, speech + 0.6 s).
- Every subtitle is also lettered into the sheet's GENERAL NOTES column, so the final wide shows the whole voiceover as drawing notes.
- The title is the sheet header; the title block holds status and verdict fields.
5. Motion quality
- Camera and draw-on on ones (24 fps). Continuous moves within a section, hard cuts on downbeats between sections; tiny camera bumps only for physical impacts (paper slap, stamp).
- Draw-on truncated by arc length with a glowing nib at the head; items staggered within a layer; each layer starts on a beat.
- Drafting order: centre lines → outlines → detail → hatching → dimensions → balloons → labels.
- Exploded views: parts leave in sequence on subdivisions of the beat, eased, and return one per beat-group with a click.
- Mechanisms step on the grid like an escapement: a gear advances one tooth per subdivision with a short ease-out; meshing phases computed so teeth really interlock; chains move with their sprockets.
- Machine acting: angles, droops, volumes and gauge needles are the face. Failure = slowing, sagging, winding down over ~1.5 s; joy = snapping upright, a needle overshooting (back-ease).
6. Camera grammar
A vocabulary, not a route. Opening and ending come from the topic.
| Move | What it expresses | Can serve |
|---|---|---|
| Whole sheet on the table | scale, the document as an object | establishing; a verdict; a series of sheets |
| Medium on a figure, subject ~80 % of height, sky on one side | the design being drawn | drafting; explaining a part |
| Track along a path of force (chain, pipe, wire, beam) | cause and effect | how it works; a sequence of operations |
| 2× close-up cut on a downbeat | the mechanism's heart | gears meshing; a valve; a joint |
| Locked-off, hold a beat | deliberation | a hand revising; a decision |
| Oblique depth factor 0 → 0.5 | the flat drawing "turns" and gains thickness | from plan to object; a reveal of depth |
| Section line sweeping across | inside vs outside | a cutaway; hidden structure |
| Lateral pan across Fig. 1 → Fig. 2 → Fig. 3 | versions, steps, time | revisions; stages of construction |
| Slow push-in, no voice | wonder | the one real thing |
Keep storytelling shots close; full-sheet wides are rare. Keep the main figure at least 960/zoom from any sheet edge you will frame. Transitions: cuts on downbeats, or fig-number rewrites on the sheet; no dissolves.
7. Sound palette
- Contrapuntal, mechanical music: harpsichord, bassoon, strings spiccato, harp, celesta, music box, clavichord, a small wind ensemble. Imitative lines (an invention, a canon, a fugato) feel like interlocking parts; a short repeated motive can be the "gear".
- Foley follows materials. Paper: roll crackle and slap, T-square wood slide, technical pen scratch (2–6 kHz grain, length = stroke length), lettering bursts, compass squeak, hatching strokes, eraser rub, tracing-paper rustle. Brass and wood: part clicks (resonances ~3–5 kHz), escapement ticks, chain rattle, spring twang, wind-down ticks that slow geometrically. Water: soft damped pats per drop, a light rain bed. Rubber stamp thump, pen cap click.
- Options for the arc (in any order, use what the story needs): instruments dropping out with a written-out ritardando into true silence; a single questioning figure alone; a suspended chord held without resolution under the magic; a full cadence on the stamp; the theme in augmentation for a close; adding a section per mechanism that joins.
- Silence may contain paper sounds only.
- Voice: dry, understated, reading design notes, a few short lines. Leave the most emotional moment voiceless.
- Mix: music ducks well under voice (~0.36 ×), foley by half; whooshes low-passed so they don't mask consonants. −14 LUFS. Little added grain (the paper already has it).
8. Native moves
A menu: use the ones your story needs.
- Drafting order. The object draws itself as an engineer would, a layer per beat. Fits content like: a bridge; a violin; a kitchen renovation.
- Live annotations. Dimensions measure moving parts and the numbers change; balloons fly with parts; a section line reveals the inside. Fits content like: a heart valve; a folding bicycle; a rocket stage separating.
- Fig. numbers as transitions. "FIG. 1" struck through and rewritten "FIG. 2 · EXPLODED VIEW". Fits content like: versions of a product; phases of a construction; a recipe's stages.
- Projection as camera. The oblique factor animates; exploded parts fly along the depth axis. Fits content like: a floor plan becoming a building; a circuit board; flat-pack furniture.
- A symbol made real (once, if at all). A convention leaves the drawing language: a dimension arrow flies, a hatch becomes rain, a centre line becomes a road, a weld symbol sparks. Fits content like: an invention finally working; a city plan becoming a street; a dream becoming a plan.
- Cyanotype and water. Drops bloom and soften lines. Fits content like: a flood-defence design; grief; a harbour wall.
- The title block as story. Status field = the verdict; revision rows = history. Fits content like: a rejected permit; REV. 1–5 of a city; an approval after years.
9. Pitfalls of the medium
- Main figure near the sheet edge → wides show the desk. Keep margins or enlarge the sheet.
- Upward explosions hit the header → explode sideways and flatten long parts during the explode.
- Subtitles on the ink buffer vanish off-sheet and can't occlude lines → separate overlay, premultiplied alpha.
- An object darkened by its own shadow → zero the shadow channel only in its area.
- Per-lobe shading on a blobby shape reads as grapes → one gradient across the union; crescents from a union-minus-shifted mask; fill unions as one path (
nonzero) or overlapping fills make bubbles. - A small payoff undersells the return → the payoff object ~⅓ of frame height, centred, drawn stroke by stroke, subtitles off it.
- Line weights not scaled with zoom → sausages in close-ups, vanishing wides.
10. Engine
demo/paper.js (WebGL2 compositor: procedural cyanotype, ink bleed, wet stains, shadows, stamp, roll), demo/draw.js (drafting engine: camera, oblique projection, draw-on polylines, solids with paper fill, hatching, dimensions, balloons, text), demo/sheet.js (border, header, title block, parts list, notes, revision cloud, rain, hand shadow, stamp), demo/film.js (timeline on a beat grid: cameras, acting, subtitles, sound events). A new machine goes in its own module like demo/machine.js. File map and build: DEMO.md.
11. Variation space
You decide what is designed, its figures, the flaw or turn (if any), the voice, the one real thing (or none), the camera path, the opening, the ending and the length.
All far from our demo:
- Structures: a city through revisions (one site plan, REV. 1 to REV. 6, each revision a decade, the title block filling with dates); two sheets, one table (two designs drawn in parallel that turn out to fit together); a teardown in reverse (the sheet starts full and parts are erased one by one until only the centre line of the idea remains).
- Openings: a single centre line crossing an empty sheet on the first beat; the stamp first (REJECTED lands, then we see what was rejected); tracing paper lifted off a finished drawing to reveal a blank sheet underneath.
- Endings: the sheet folds up along its creases into a pocket-sized square; a coffee ring lands on the title block and the tide line becomes the last circle of the design; the lights go off and the white lines glow faintly on the dark sheet.
How our demo was made (story, shots, score, end card, build): DEMO.md. Read it after your treatment exists.
Director's notes for the demo film
One example among many. Don't reuse its story, arc, shots, props or timings.
Demo: Patent Pending: The Cloud Catcher (46.7 s) · blueprint.mp4 · source in demo/
Story & structure
An inventor's patent drawing of a cloud-catching machine: it is drawn, exploded, runs perfectly, but there are no clouds; the hand revises the drawing, the revision cloud becomes a real rain cloud, it rains on the drawn garden and a flower grows. The original notes on the style's story powers, as written for this demo:
The whole film happens on one sheet of blueprint paper lying on a dark drafting table. Everything is white line work on uneven Prussian blue: centre lines, outlines, hatching, dimension lines, leader lines with numbered balloons, a title block and a notes column. The camera moves over the sheet like an eye reading a drawing. It is a 2D line-drawing language. You may use orthographic and oblique/isometric projection, but never 3D rendering.
The charm is the tension between rigorous engineering convention and whimsy. The drawing is dry and exact. The notes carry the jokes ("10 · COUNTERWEIGHT (GRANDMOTHER'S IRON)"). And once per film, a drawing symbol breaks the rules and becomes real.
Learn grammar from, but never copy: the moving technical drawings in Prologue Films' Iron Man (2008) end credits, Leonardo's Codex Atlanticus pages, 19th-century US patent drawings (Fig. 1 / Fig. 2, part balloons, fine-line shading) and the automaton drawings in Hugo (2011). No Marvel elements, no real patents, no real inventor's machine or signature.
The machine (or object, or plan) is the character. Parts act: a boom lifts hopefully or droops, a weather vane perks up or sags, bellows breathe, a gauge needle twitches at zero. The inventor appears only as a hand shadow with a pen tip, or as a signature.
| Native power | How the demo used it |
|---|---|
| Drafting order | The object draws itself the way an engineer would: centre lines → outlines → gears/detail → hatching → dimensions → balloons → label. Each layer lands on a beat. |
| Live annotations | Dimension lines measure moving parts and the numbers change. Leader lines and balloons fly with exploded parts. A section line A–A sweeps across a housing and reveals the inside. |
| Fig. numbers as transitions | "FIG. 1" gets struck through and rewritten "FIG. 2 · EXPLODED VIEW", then "FIG. 3 · IN OPERATION". |
| Projection is a camera | Animate the oblique depth factor from 0 (flat elevation) to 0.5. The line drawing "turns" and gains thickness, with no 3D renderer. Exploded parts fly along the depth axis. |
| Drawing symbols made real (put this at the emotional peak) | A revision cloud becomes a real rain cloud. Other candidates: a dimension arrow becomes a real arrow, a hatch pattern becomes rain, a centre line becomes a road, a weld symbol sparks. Rule: this one symbol is the only thing in the film that leaves the drawing language. It gets soft volume, gradient, glow, and a shadow that falls across the drawing's lines. |
| Cyanotype and water | Rain on the sheet: each drop blooms deeper blue with a pale tide line, and white lines inside the stain go soft. A drop on the signature makes it bleed. |
| The title block | Title card = sheet header. Status field = the story's verdict (a red rubber stamp is the film's only non-blue colour). End card = the title block's last row being lettered in (STYLE / DRAWN BY). |
How we adapted the topic (and the same recipe for others): turn the topic into something designed and let the drawing find a flaw that only the drawing can fix. A product launch becomes Fig. 1, exploded view, operation, then a revision that adds the missing feature. A love story: two machines on one sheet, and a revision cloud draws the bridge. A history lesson: a city plan revised again and again (REV. 1, 2, 3).
Demo emotional arc (46.7 s): curiosity (blank sheet, the object is drawn) → pride (exploded view) → excitement (it runs, on the beat) → the flaw (it works perfectly but the world lacks something; music stops) → the hand revises the drawing → the symbol becomes real (suspended chord, no voice) → payoff → echo (stamp, signature, title block).
Shots
| Beat | Camera |
|---|---|
| Opening | Whole sheet on the dark table. The roll snaps open, then the T-square. Establishing shot only. |
| Title | Push to the header lettering. |
| Drawing | Medium on Fig. 1, machine ~80% of frame height, empty sky on the right (subtitles live there). |
| Exploded view | Pull back so the machine is centre-left and the parts list peeks in on the right. |
| Operation (the memorable shot) | Cut to a 2× close-up of crank and gears, then track along the drive chain up the mast to the boom and follow the net's arc. The camera follows the path of force. |
| The flaw | Medium-wide with lots of empty sky. The emptiness is the joke. |
| Revision | Locked-off while the hand shadow draws. Hold one beat on the finished symbol. |
| Symbol comes alive | Slow push-in, no voice. |
| Payoff | Follow the object down to the target, push in on the result (the flower). |
| Ending | Pull back to the whole sheet (scale reveal). The stamp lands in the wide. Push to the title block for the end card. |
Keep storytelling shots close. Only the opening and closing establishing shots are full-sheet.
Demo motion numbers: exploded parts leave one every ~0.055 of the progress on eighth notes and come back one eighth note per group with a brass click; gears advance 7.5° (one tooth) per eighth note with a 0.35-beat ease-out; bellows breathe per beat; failure over ~1.5 s (gears slow, bellows deflate, boom sags, vane droops); joy = vane snaps upright, needle overshoots to 1. The original motion section:
- Line draw-on is truncated by arc length, with a small glowing nib at the head. Stagger items within a layer. Each layer starts on a beat.
- Exploded view: parts leave in sequence, one every ~0.055 of the progress, on eighth notes, with eased motion. The camera pulls back to make room. Parts come back one eighth note per group with a brass click.
- Mechanisms step on the grid: gears advance one tooth (7.5°) per eighth note with a 0.35-beat ease-out, like an escapement. Meshing phase is computed so teeth really interlock. Chain links move with the pinion. Bellows breathe per beat.
- Machine acting: boom angle, vane droop, bellows volume and gauge needle are the face. Failure means the gears slow, the bellows deflate, the boom sags and the vane droops over ~1.5 s. Joy means the vane snaps upright and the needle overshoots (back-ease) to 1.
- Camera moves on ones (24 fps), continuous within a section, with hard cuts on downbeats between sections. Two tiny camera bumps: the paper slap and the stamp.
Score structure
- Music: two-part baroque invention at 108 BPM in G major. Harpsichord theme (a one-bar sixteenth-note "gear" motive), bassoon staccato imitating two octaves below.
- Operation adds violins and cellos spiccato eighths ("gears biting").
- The flaw: instruments drop out with a written-out ritardando, then true digital silence.
- The revision is silent except for a three-note questioning figure.
- The miracle holds a Dsus4 string chord with two breathing swells, unresolved.
- The catch resolves to G on the downbeat.
- Rain uses harp and harpsichord arpeggios.
- A short full cadence lands on the stamp, and the theme returns in augmentation for the end card.
- Rendered with
core/audio/sampler.py: VCSL harpsichord and harp, VSCO 2 CE bassoon, strings and spiccato.
- Foley follows materials:
- Paper: roll unroll crackle and slap, T-square wood slide, technical pen scratch (2–6 kHz grain, length = stroke length), lettering (bursts of short strokes), compass squeak, hatching (13 strokes/s).
- Brass and wood: part clicks (3.1 / 5.2 kHz resonances), escapement ticks, chain rattle, bellows breath, wind-down ticks that slow by ×1.35.
- The magic moment: soft paper "puffs" on the two breaths, a noise swell, nothing else.
- Water: soft damped pats per drop plus a light rain bed.
- Rubber stamp thump, pen cap click at the very end.
- Voice: dry-humoured British engineer reading his own design notes, Kokoro
bm_daniel,lang en-gb, speed 0.9. Five or six short lines. Keep the climax voiceless. - Mix: music ducks to ~0.36 under voice and foley ducks by half. Whooshes low-passed at 2.5 kHz (they masked "bellows" in whisper). −14 LUFS.
mux.shgrain 4 (the paper grain is in the image already).
Palette & props
- Sheet: 3200 × 2200 units, folded in quarters. The blue is procedural in a WebGL fragment shader in sheet coordinates, so it stays crisp at any zoom. Low-frequency fbm between
#18336Band#2A58A6, horizontal coating streaks, a slight left-to-right fade, fibre noise, sparse fibres, fold creases (bright edge, dark edge, worn whitening along the fold), irregular bleached edges and corners, small specks. Outside the sheet: dark drafting cloth#0D1116with a drop shadow. - Lines: pale blue-white
#E7F0F9, slightly soft (mipmap bleed), with a faint ink breakup driven by paper grain.- Weights in sheet units: outline 3.2, detail 2.0, thin 1.25, hair 0.9.
- Screen width = sheet width × zoom^0.65. Close-ups do not turn into sausages and wides do not vanish.
- Dashes: centre line
[34,7,6,7], hidden[11,7], phantom (cutting plane)[30,6,5,6,5,6], all scaled with zoom so the pattern stays on the paper.
- Occlusion: every solid is filled with "paper" (black in the ink buffer) before its outline is stroked, painter's order. Extrusion in oblique uses a sweep: stroke the outline at N depth steps at 2× width, then fill the same N steps with paper. What survives is a clean silhouette of half width. Front face and visible vertex connectors are drawn on top.
- Composite: the ink canvas is greyscale (white = exposed line). The fx canvas has R = shadow darkening, G = wetness, B = stamp ink, and is added with
lighter. The overlay canvas holds subtitles. Shadows darken lines too, which is how a lifted object proves it has left the paper. To keep an object from being darkened by its own shadow, multiply its area byrgb(0,255,255)on the fx canvas. - Hatching (fine-line shading) for sections, soil and the counterweight, at 45°, spacing 8–14 units.
- The magic object (climax only): union of circles (15 scallops plus 4 inner lobes).
- Flat state: an outward-scalloped revision cloud.
- Puffed state: one radial gradient across the whole union (top-left light) plus small highlights on the top lobes, a blurred white glow, engraved crescent shading on the lower right (mask = union minus the union shifted up-left), and a thicker outline on the shadow side.
- It leaves a pale "unexposed imprint" where it was drawn. Its shadow offset grows with lift (up to ~240 units down).
- Palette discipline: blue and white only. One stamp red
#C23B2E, used exactly once. - Typography (all OFL):
- Architects Daughter for hand lettering (header, labels, notes, subtitles).
- B612 / B612 Bold for title-block fields and "PATENT PENDING".
- Allura for the signature.
- Text is written on left to right with a glowing nib.
Titles & subtitles
- Subtitles are drawing notes: a light box (rgba(12,28,62,.58), 1.2 px outer and 0.8 px inner white rule, ~110–150 px tall), a "NOTE / n" cell in B612 Bold, the text in Architects Daughter 38 px written on in 0.35 s, and a small leader tick at the lower-left corner.
- Position per shot, in empty sky, never fixed to the bottom. The bottom of the frame is where the ground line, base and title block live.
- Wrap at ~880 px.
- Every subtitle is also lettered into the sheet's GENERAL NOTES column (under the fixed notes "ALL DIMENSIONS IN MILLIMETRES." and "DO NOT SCALE DRAWING."), so the final wide shows the whole voiceover as drawing notes.
- Title: the sheet header (Architects Daughter 132 units, letter-spaced, double underline), with PATENT PENDING and a subtitle line in B612.
End card
End card: the title block. The last row is lettered in: STYLE: BLUEPRINT / DRAWN BY: LemoLab × Claude Opus 5.5. The "LemoLab × Claude Opus 5.5" sign-off belongs to this library's demo only; a user's film carries no LemoLab credit and no copy of this card.
Build notes
styles/blueprint/demo/
paper.js WebGL2 compositor: procedural cyanotype sheet, ink bleed, wet stains, shadows, stamp, roll
draw.js drafting engine: camera, oblique projection, draw-on polylines, solids, hatching, dims, balloons, text
machine.js the Cloud Catcher: parts, gear meshing, explode offsets and paths, garden and flower
sheet.js border, header, title block, parts list, notes, revision cloud ↔ cloud, rain, hand shadow, stamp
film.js the whole timeline (108 BPM grid): cameras, acting, subtitles, sound events
main.js page entry (?frame=1|2|3 gate frames, ?nosub, ?poster)
mix.py foley + voice + music ducking music/score.py original score (sampler)
tools/ subs.mjs (SUBS → subs.json), check_mix.py (whisper on the final mix)
node core/render/still.mjs styles/blueprint/demo --range 0:46:1.5thensheet.pyto review. Iterate per section..venv/bin/python core/tts/tts.py lines.json voices, thenasr_check.py(6/6 OK).node core/render/events.mjs, thenmusic/score.py, thenmix.py, thentools/check_mix.py.node core/render/video.mjs styles/blueprint/demo --fps 24 --workers 3(1120 frames, Canvas2D + WebGL, ~30 s).sh core/render/mux.sh out/video24.mp4 mix.wav blueprint.mp4 24 4. Or run everything withsh styles/blueprint/demo/build.sh.
Pitfalls we hit
- The machine near the sheet edge: wide shots showed the desk. Put the main figure at least
960/zoomfrom any sheet edge you will frame in a wide, or make the sheet bigger (we went 3200×2000 → 3200×2200 and moved the machine right). - Explosions that go up hit the header. Explode mostly upward and sideways, and flatten the boom during the explode so the net extends sideways.
- Subtitles on the ink canvas vanish off-sheet and cannot occlude lines. Use a separate overlay texture composited last (premultiplied alpha).
- The magic object darkened by its own shadow. Multiply its area on the fx canvas with
rgb(0,255,255)to zero the shadow channel only. - Per-lobe shading makes "grapes" or bubble wrap. Use one gradient across the union, crescents from a union-minus-shifted-union mask, and arcs only on the upper inner lobes.
- Overlapping additive circle fills make bubbles. Fill a union as one path with
fill('nonzero'). - Scallop arcs drawn the wrong way round look like a starburst. Choose the arc direction that contains the lobe's outward angle.
- The half-puffed cloud looked like a donut. Grow the inner lobes early (
r × min(1, pf × 2.2)). - The payoff must be big. The first cut had the flower as a small clump in the lower third, which undersold the emotional return. Give the payoff object ~1/3 of frame height, centred, drawn stroke by stroke (stem → leaves → one petal per beat), with visible stains around it. Keep subtitles off it.
- A caught object shows through the net. Don't paint the net over it wholesale: fill the bag below the front rim with the object's body, then draw mesh and front rim on top, and skip the back rim.
sfx.thump()is 0.35 s long: pad before adding to longer buffers.- Whisper reads "Figure one" as "Figure 1": use an
asrfield inlines.json. - A stray file at the repo root: always write with absolute paths inside your style dir.




