motion-studio

From the git history

How the studio got built.

15 pull requests over 4 days. Each one is a milestone, with its date, its commits and what it touched. This page is generated from git log by the site’s sync script. Pull requests that only merged main back into a branch, and changed nothing on main, are left out.

  1. Monday, 5 October 2026

    1. First commit22:40

      Initial commit

    2. PR #122:432 files · +29 −0

      Add palette extractor and deny reading .env files

      .claude/settings.jsonpalette.py
      • Add palette extractor and deny reading .env files
    3. PR #223:2110 files · +1,581 −0

      Add 15 s showreel film with renderer, synthesized score and checks

      films/reeltools.gitignorelibrender.mjs
      • Add 15 s showreel film, frame-accurate renderer and check tools
  2. Wednesday, 7 October 2026

    1. PR #320:3527 files · +2,384 −87

      Add SafariOS product film; switch reel to Inter; per-element cue sync check

      assetsfilms/safariosrefsfilms/reel.gitignore+10 more
      • Add SafariOS film; switch reel to Inter; per-element sync check
  3. Thursday, 8 October 2026

    1. PR #403:2510 files · +894 −0

      Add florios-morph film with per-state geometry, text-visibility and loop checks

      films/florios-morphassetslibrender.mjstools
      • Add florios-morph film; text-mask and per-state geometry checks
    2. PR #503:485 files · +126 −15

      Harden renderer: real file paths, root containment, bt709 tagging, fail fast on page errors

      .github.gitignorerender.mjsrequirements.txttools
      4 commits
      • Harden renderer: real file paths, strict root containment, explicit bt709, fail fast on page errors
      • Ignore every reference video in refs/, not just launch.mp4
      • Add CI: lint + render-and-check every film on Linux
      • Fix CI workflow YAML: quote a step name containing ': '
    3. PR #604:043 files · +130 −6

      Springs: exact responses for every damping ratio, presets, and ODE tests

      .githublibtools
      • Springs: exact responses for every damping ratio, presets, and ODE tests
    4. PR #904:072 files · +60 −18

      Reel: every cue lands within a frame of its sound; make its CI job blocking

      .githubfilms/reel
      • Reel: every cue lands within a frame of its sound; make its CI job blocking
    5. PR #1004:384 files · +98 −42

      Audio: strict mastering, per-sound seeds, audio health checks, phone-friendly low end

      films/florios-morphlibtools
      • Audio: strict mastering, per-sound noise seeds, and audio health checks
      • florios-morph: low end that survives phone speakers (small-speaker drop 2.9 -> 1.7 LU)
    6. PR #1104:594 files · +44 −1

      Prepare repo for public release

      LICENSENOTICE.mddocs/shotlist.mdrefs
      • Prepare repo for public release
    7. PR #1305:031 files · +1 −1

      safarios: fictional tour title on the pipeline board

      films/safarios
      • safarios: fictional tour title on the pipeline board (was a real package name)
    8. PR #1205:084 files · +319 −0

      Add motion-film project skill

      .claude/skills
      • Add motion-film project skill
    9. PR #1405:4718 files · +689 −19

      Reference analysis: four launch films and best-of for Safari OS

      refs.gitignoreNOTICE.mddocs/style_guide.md
      • Reference analysis for launch, launch2, launch3, launch4 and best-of
  4. Friday, 9 October 2026

    1. PR #1505:429 files · +2,187 −46

      safarios-v2: one booking from request to paid, in 16:9, 9:16 and 1:1

      films/safarios-v2docs/safarios-v2render.mjstools
      • safarios-v2: one booking from request to paid, in three formats
    2. PR #1605:429 files · +188 −0

      Course notes: eight lessons on code-rendered motion graphics

      docs/course
      • Course notes: eight lessons on code-rendered motion graphics
    3. PR #1706:089 files · +196 −0

      README for the public repo, films in media/, and a renderer fix found by the quick start

      mediaREADME.mdrender.mjs
      • README for the public repo, and the films' videos in media/
      • render.mjs: create the output folder, and exit cleanly if ffmpeg fails
      • README: say plainly that GitHub's file view downloads mp4s rather than playing them

8,926 lines added across all pull requests, counted with git diff --shortstat per merge.