Files
pig/docs/learn-films/motion-the-repeatable-motion.json
karti 8a6601dfce
CI / verify (push) Successful in 7m14s
CI / publish (push) Has been skipped
Re-cut the Motion films in landscape, and hold the camera still
THE FORMAT. The first pair were vertical. That was wrong for this product: PIG
is a desktop application, and reframing it 9:16 either shrinks it past reading
or crops away the sidebar and half the table. These are 1920x1080, like the five
already on the page, and the app is filmed at a real 1920 desktop viewport —
the previous renderer set the viewport to 960 and captured at 2x, which produced
a 1920px image of the COLLAPSED layout, because the viewport is what the product
responds to and the scale factor is only how much detail there is to zoom into.

THE CAMERA. It now holds still, and eases in on the thing the narration is
naming, holds, and eases back out — the way Cap zooms toward a click. The first
cut drifted a slow zoom across every shot, which reads as restless rather than
as emphasis and is the thing people mean when they call a screen recording
annoying. Six of fourteen shots move in the customer film; the rest are locked
off. The curve is a smoothstep either side of a hold, written as a function of
the frame number rather than accumulated through zoompan's own `zoom` variable,
which refers to the previous frame and drifts off its endpoints.

Zoom targets are chosen as the SMALLEST element already in frame, not the last
match in document order. That was wrong in a way only a long page shows: the
Halcyon engagement prints the same phrases twice — once in the score note and
again inside the artefact bodies below — so "kappa 0.54" resolved to a paragraph
two and a half thousand pixels below the fold that no amount of scrolling would
reveal, because an ancestor clips it. Preferring what is on screen keeps the
zoom inside the frame the shot chose; preferring the smallest match makes naming
a figure land on the figure rather than on the card around it.

THE SCRIPTS were rewritten from nothing through a judge panel — three
independent angles each, scored on hook, concreteness, ear, tension and ending,
then synthesised and adversarially checked against the running product.

The second film is the one that was asked for: one customer, end to end. Halcyon
Research, scored 52.8 and scope down on the day of first discovery because
nothing had been measured, through legal and scoping and a budget path, to 82.8
and build once the verifier, the baseline and the environment landed — and the
two dimensions that fell inside that same twenty-five point rise. It closes on
the week-two dev split reading under its trajectory, because the honest thing
about that record is that the gate might not be met and it says so before anyone
asks. It runs 68 seconds; a feature tour is 30 and a story is not.
2026-08-19 02:59:29 -07:00

80 lines
2.7 KiB
JSON

{
"slug": "motion-the-repeatable-motion",
"title": "Motion: the part of a deal PIG never knew",
"summary": "PIG tracked the money on every deal and none of the practice — Motion is the library of what we know how to do, and it gets a version better every time a deal closes.",
"shots": [
{
"route": "/motion",
"scrollTo": null,
"theme": "dark",
"line": "Hey team, check out the motion feature on our platform, because the ledger was never the hard part.",
"caption": "The hard part",
"zoom": null
},
{
"route": "/motion",
"scrollTo": null,
"theme": "dark",
"line": "PIG knew every deal we closed. It never knew how we closed it.",
"caption": "Numbers, not practice",
"zoom": { "on": "Promotions", "scale": 1.5 }
},
{
"route": "/motion",
"scrollTo": "The motion, stage by stage",
"theme": "dark",
"line": "Eight stages, seven live engagements, thirteen templates waiting. Legal sits second, because paperwork gates the work.",
"caption": "Eight stages, legal second",
"zoom": null
},
{
"route": "/motion",
"scrollTo": "Library cover, by kind",
"theme": "dark",
"line": "Nine kinds of conversation, not one of them empty. Nobody improvises this on a call.",
"caption": "Nine kinds, none empty",
"zoom": null
},
{
"route": "/motion/library",
"scrollTo": null,
"theme": "light",
"line": "Filter by kind, stage or visibility. Thirteen shared, nothing stranded in a private draft.",
"caption": "The library",
"zoom": null
},
{
"route": "/motion/library/PLAYBOOK",
"scrollTo": "The stages",
"theme": "light",
"line": "This one is the spine. Every stage names its artefact, its exit test, its failure mode.",
"caption": "The spine",
"zoom": null
},
{
"route": "/motion/library/PLAYBOOK",
"scrollTo": null,
"theme": "light",
"line": "Used once, so PIG closes it to edits. You cut version two instead.",
"caption": "Closed to edits",
"zoom": { "on": "closed to edits", "scale": 1.6 }
},
{
"route": "/motion",
"scrollTo": "What got easier",
"theme": "light",
"line": "Northwind's fleet expansion closed. Its case study came back as version two, carrying the numbers.",
"caption": "Promoted back",
"zoom": { "on": "recovery-action policy", "scale": 1.5 }
},
{
"route": "/motion",
"scrollTo": null,
"theme": "light",
"line": "The library is not what we wrote. It is what we have done. Thanks for watching!",
"caption": "What we have done",
"zoom": null
}
]
}