Repository navigation
cinewright v2.2.0
The "show, don't tell" release: the proof is now films you can watch with sound, each agent compared with itself — and the skill learns the thing people ask for most, simple, good-looking motion graphics (a person intro, a channel intro, a promo, an infographic).
Added
- Motion graphics from a spec. A new
motiontemplate (lib/mg.js): the whole film is a JSON spec invideo.html— a theme, scenes of ten types (title,chips,stats,quote,list,fact,chart,logo,cta,words), a wipe into each scene — and the soundtrack (audio.mjs) is scored from the same spec, so retiming a scene moves its whoosh, pops, counter ticks and chimes with it. Seven themes (including a flat-colour poster style), 50 line icons that draw themselves on, counters, sliding masks, wipes, a light sweep over cards, beat-synced camera pulses, andMG.scenes.mine = …for anything the kit does not have. Five presets:scaffold.mjs my-film --template motion --preset person-intro | channel-intro | social-promo | infographic | event-promo. Every preset passes the skill's own pacing and frame-fill gates as shipped (ambient motion everywhere: a light sweep, beat pulses, orbiting glints). Right-to-left films work out of the box:--lang fa(or"lang": "fa"/"dir": "rtl"in the spec) mirrors the whole layout and writes Persian digits. Guide:references/motion-graphics.md. - 11 new
mg-*atlas entries (251 entries in 17 families). benchmark/suite/simple.json— five everyday prompts (person intro, YouTube channel intro, vertical café promo, animated infographic, event promo) with a readysimpleset; the report puts them first. First results (Codex gpt-6-astra, xhigh, one run per cell): frame fill 14 → 50 % (person intro), 36 → 37 % (vertical promo — a draw on design), 9 → 31 % (channel intro), 12 → 26 % (infographic); near-static time 57 → 0, 41 → 0, 57 → 14 and 73 → 8 %; the skill costs 2.8–5.1× the tokens, and the channel-intro sting lost on loudness range (7 → 0.7 LU).benchmark/run-detached.ps1keeps a long Windows run alive when the agent app closes and stops the PC from idle-sleeping meanwhile. The runner has a stall watchdog (--stall-min, default 25): an agent that prints nothing for that long — a dropped proxy leaves a stream hanging silently — is stopped and retried in a fresh folder like any other transport failure.- More films made with the skill, with their sources in
examples/: Pocketwise (a 20-second app explainer), Frame Summit 2026 (a 15-second event promo built with the new kit) and a Persian person intro (the preset with translated copy). - A video-first website. A new ident film in the hero, a proof section with real with/without players — one tab per prompt, Codex at xhigh reasoning (on the showreel also a second model, and Claude Code) — with synced A/B sound, technique reels rendered by the atlas itself, and a gallery of films with the prompt that made each one. Everything is built from
docs/assets/data/media.plan.jsonbytools/make-assets.mjs(MP4 + poster + README WebP); no clip appears twice. - Benchmark, rebuilt around self-comparison:
run.mjs --models a,b --effort xhigh(a model × condition matrix), automatic retries of dropped connections,--suite-file, a new art-directed showcase suite (benchmark/suite/showcase.json), and a report that puts each agent next to itself plus a development log (including the first run, where the skill lost). Claude Code results are measured from interactive sessions withmeasure.mjs. examples/— the complete source (brief, code, three written review rounds) of the Claude showreel and of the Cinewright ident, so the films can be re-rendered.UI.button({ ink })(a readable label on light accent colours);atlas.mjs clip --quality.- Hard gates in
qc.mjs. A median frame fill under 15 % or more than half the film near-static is now a FAIL (a fill under 25 % warns), unlessbrief.mddeclaresRestraint: <why>;craftwarns when a film uses nothing but 2D canvas. Found by the second benchmark pass: a launch film for a titanium ring was drawn as a thin glowing 2D circle (fill 13 %, 64 % static) and shipped despite its own warnings, while the agent without the skill built a lit 3D ring. - New atlas recipe
product-ring-macro— a hero object (a ring) as a litScene3Dmesh with a coloured environment, floor reflection, macro dolly and an exploded view (it brought the atlas to 240 entries). SKILL.md and the protocol say that a hero object is a 3D mesh, never an outline. - Protocol: a time-box rule (ship a first deliverable right after the skeleton, overwrite it as polish rounds land) — after a skill run timed out with a film that was still being polished.
Changed
- The proof section has tabs per prompt: everyday motion-graphics prompts first, then the résumé showreel; every agent is compared with itself. The heavy 3D / cinematic prompts stay in the benchmark report with their numbers (including the ones the skill lost).
qc.mjs craftrecognises the motion kit as a complete engine (flat 2D by design) instead of warning about "2D canvas only".- The English README and site no longer centre on Persian: Persian examples live in the Persian view (
README.fa.md, the فارسی switch). Persian/RTL support is unchanged, and the motion kit now mirrors its layout for right-to-left languages. - The product examples from the skill's origin were removed from the atlas recipes, the gallery sheets (regenerated — the
three-dsheet had shown the wrong recipes), the case study and the site template; the examples are now generic. - The low-quality animated WebPs on the site were replaced by MP4 at 720p/1080p with posters.