Skip to content

cinewright v2.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 14:33
· 3 commits to main since this release

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 motion template (lib/mg.js): the whole film is a JSON spec in video.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, and MG.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 ready simple set; 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.ps1 keeps 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.json by tools/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 with measure.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), unless brief.md declares Restraint: <why>; craft warns 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 lit Scene3D mesh 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 craft recognises 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-d sheet 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.