Repository navigation
Added
-
motion-site(wrapper). Builds the motion-heavy web genreimpeccabledoesn't reach — WebGL hero, particle fields that morph, scroll-driven 3D, GLSL shader backgrounds, liquid glass — as running code, not a prompt. Two tiers chosen per effect (webgl: Three.js / R3F + GSAP ScrollTrigger + Lenis + GLSL;light: CSS / SVG / Framer Motion), two scopes (section,page), two targets (htmlself-contained via CDN import maps,react/ R3F component files). Every build ships theprefers-reduced-motionand mobile fallbacks in the first pass.motion-site audit <path>is a read-only craft-floor check (fps, DPR, teardown, reduced-motion, a11y). No paid API. Composes withimpeccable(which owns layout / typography / copy); distinct fromreel-builder(video files, not interactive web). -
reel-builder short films from one picture. The SHORT prompt in
drama-system-prompt.mdwrites a whole animated short to its end from an outline, in the trailer's plan shape, with story rules (the protagonist's own thread, a clock, plants and payoffs, couples' arcs, a continuity list, group blocking) and a dense sound design.- The bible's
masterpicture is the source of every portrait, plate and group frame. A location'srefsphotos put the film in a real place. - Images through OpenAI
gpt-image-2.5-sunburstwith reference edits, withfallback_providerfor frames a vendor's moderation refuses. - Seedance 2.5 on Atlas Cloud (
atlas-seedance-2-5). References go inline, and portraits are registered as assets so the privacy filter passes the cast. A pinned first and last frame goes to image-to-video: generated transitions between shots (bridge, also from or to a still).extendcontinues a rendered shot.extra_refs,no_keyframe,no_location_refandno_previsare per-shot answers to the vendor's copyright and video-edit filters. - Ensemble previs: every person in frame is a troll-proportioned figure with height, colour, hair and poses. Props move on
animkeys. Rendered in Workbench with shadows, cavity and outlines. - The cut:
- the clip's own voice is removed by contour with Mel-Band RoFormer (
audio-separator), not ducked in time; - parts are whole frames of the film clock, so the picture never drifts from the sound;
dipandiristransitions, a per-shotinto, a card's owninto, and the film'sending;- the
candygrade; reel_upscale(Real-ESRGAN animevideov3, local) and"hd"cuts at 1080p;- a film that ends on its picture keeps its sound to the last card;
--audio-onlylays a rebuilt sound on the picture already cut, refused (naming the shots) when the plan no longer makes it; parts are encoded once intoparts/and joined by stream copy;- nothing kept is bought, priced or redone: the score survives a retime (keyed without section lengths, each section stretched in the mix), the confirmation prices only exchanges, vocals and sources not on disk, line takes are keyed by language too, split lines, shot sound and lengths are cached, the separator's model is in its file name, and the dialogue is mixed once per run even when the lines tighten the cut.
- the clip's own voice is removed by contour with Mel-Band RoFormer (
_trailer_retime.insert/shiftput a shot into a cut and move the clock, the cards, the sound and the storyboard indices with it.
- The bible's
-
reel-builder: what the first short film taught, built in.
- Every paid render is a labelled take.
takes.jsongains time, length, prompt, size, camera move, status (in cut, alternate, rejected) with a reason, usable windows and a line on what the take shows. A new take demotes the previous one to an alternate.reel_takesfills in old ledgers, prints the takes by shot, draws strips of the unused ones and prints thereel_insertentry that brings an alternate back. reel_insert --from inserts.jsonputs shots into a cut, before, after or in place of another, including hand-cut pieces of a take. Frames, previs, vocals and continuity come along, the plan is validated, and the next commands are printed.- Before every paid confirmation,
reel,reel_boardandreel_castlist what they will buy and why: asked, missing, changed, failed last time.--redowarns when it would also render missing shots.reel_board --mark-currentre-stamps drawn frames, and a frame's cache key is only what it looks like. - The previs checks its own framing: a cast head off the frame, cut by the edge in a close shot, or too small for the shot size is flagged in
previs/framing.json, and--auto-skiplets the storyboard frame lead those shots. drama.preflightturns off generated audio where a child speaks or someone sings, before Seedance's copyright filter refuses it.- The story check (
story-check-prompt.md,drama.screenplay_text): a reader sees only the screenplay and names every object, rule or plan the story turns on without a setup, before anything is drawn. SHORT story rule 13, andcoveragefor an exchange shot as a wide plus close-ups. reel_listentranscribes every line in the finished cut with a local Whisper and flags the ones that cannot be made out.- With
"hd",reelupscales each clip as it lands. - A cast member's
"voice_pitch"(semitones) lifts their lines and vocals in the mix: a library child voice that comes out adult in a dialogue take sounds its age without a new voice slot. "voice_formant"moves a voice's throat apart from its pitch, with a child EQ: an adult library "kid" voice becomes a child's timbre, not a higher-pitched adult (the first short's toddlers went from a hoarse man to 440-610 Hz children).- A line never leaves its shot: it starts on the mouth, and a take too long to end with its shot starts earlier rather than run onto the next face. The voice-performance prompt counts non-verbal reactions as seconds. In the first short 34 of 38 lines sit within 0.25 s of the mouth.
reel_animatic --audio-onlyremixes the sound onto the existing picture, and the picture is cut from cached parts: a change of one shot re-encodes that shot. The score is no longer bought again when a retime moves its sections, and only cache misses are priced.reel_insertmoves a shot's own sounds with it, drops them with a removed shot, and lays a new shot'ssounds(with newsources) on the clock.- Every stage keeps its intermediate state: previs clips, board jpgs, bridge frames, upscaled copies, transcripts, vocals (keyed by voice and model) and refused vocals.
- Coverage: the first short came back as one long run of close-ups under slow push-ins (10 wides in 94 shots). The SHORT and film prompts now require a wide or a moving reveal to open every scene, no three close-ups or static shots in a row, a real move (crane, dolly, track, orbit, FPV, drone) in a third of the shots, a flying shot for each big moment, and
open_on_framefor a move whose framing must land.shot_coverage.coverage_problemsreads every shot phrase back andreel_boardprints its warnings before it draws; on the Tanya plan, after 9 coverage shots were added, it still finds 6 scenes with no wide, 2 runs of three close-ups, 13 static runs (up to 9 shots long) and real moves in 26 of 103 shots.
- Every paid render is a labelled take.
-
writer linter reads Spanish and Portuguese. 76 patterns in the existing categories, so the verdict and the per-category advice read the same as for English and Russian:
- paragraph-initial bridges (Además, / Além disso,);
- fillers (es importante destacar, vale ressaltar);
- stock metaphors (sumergirse en, mergulhar fundo em, desbloquear el potencial);
- no solo… sino también / não apenas… mas também;
- era-digital openers, vague experts, hype, empty CTAs.
Probabilistic only, like the English set: no hard bans of their own. Four fixtures lock it: a full-slop and a clean text per language, the clean ones at zero hits. The browser checker at mikefluff.com/es and /pt had been telling its Spanish and Portuguese visitors that it only reads English and Russian.
-
reel-builder drama mode. Episodes of 8-12 minutes built from 15-second Seedance 2.5 scenes, in which several characters speak the series' language and Seedance voices them.
- A series is planned by three prompts in
common/video-prompt-library/drama-system-prompt.md. The first writes the bible: cast, places per weather and time, episode outlines. The second writes a director whose rules extenddirectors/base.md, 24 rules for long narrative film. The third writes each episode. reel_castrenders each face and place once per series and judges it. It gives every scene its references and writes the line saying which image is whom.reel_checktranscribes each rendered scene in the series' language and compares it with the script letter by letter, so it works for scripts without spaces. It checks faces against the portraits and prints the--redoline for the scenes that failed.- Every speaking character gets a voice designed by ElevenLabs from its description, 7 s long. Each scene the character speaks in carries it as a voice reference, so the voice does not change from scene to scene. The dialogue follows the 2.5 syntax (
Dialogue language: …,Name says: {…}). What is published about Seedance's languages, word accuracy and voice matching is collected inreferences/drama-mode.md, with sources. - Trailers: a TRAILER prompt (three-act structure, a drop, title cards, lines only from the screenplay) and a voice-performance prompt that writes Eleven v4 audio tags into every line, words untouched.
reel_animatic: the cut as storyboard stills that move the way each shot's camera moves, animated title cards, the score and the dialogue in the cast's voices. Exchanges are read as one Text to Dialogue take on Eleven v4, with each scene's room acoustics and a phone filter for recorded voices.--fit-linesmakes every speaking shot as long as its line, rounded to the beat, and moves the rest of the cut and its sound with it.title_cards: title cards in the film's identity. Words slam in on the beat, a face-detection bracket and scan lock on the key word, and the title letters merge into one detection box.cctv_overlayandscreen_replace: footage shown through a device (a camera's OSD with tracked detection boxes) and played on a screen inside a generated shot, keyed so people stay in front.- Cast voices come from the Voice Library (recorded actors, with an accent tag) when the bible names one; designed voices are the fallback.
reel_cast --biblerenders faces and places before any plan exists, and--voices-onlytouches no image. reel_boardandreel_castdraw one take per frame by default, judged by eye;--judgeturns the critic and its re-rolls back on. Board frames can name cast and location ids and look-alike characters. Images default to 2K, and the board can choose the model and reasoning depth.- Scenes keep their own dialogue at the stitch (
"audio": "native"), with any music ducked under it.
- A series is planned by three prompts in
Fixed
- The batch manifest resumes by label, not by index. A shot inserted into a film no longer hands every later shot its neighbour's clip.