mark-driven-groundlisted
Install: claude install-skill JagZ999/explainer-video
# Mark-Driven Ground
Family **B** of the **motion-graphics** super-skill, but a different idea from the rest of it: the
other background moves are *ambient* — they drift whether or not anything else happens. This one is
**coupled to a travelling element**. Everything on the ground is derived from where the mark starts,
where it lands, and when.
The result is that a title card stops being "text on a gradient" and becomes one event: a mark flies
in, the ground draws the route it took, the light follows it, and where it stops the whole frame
takes that section's colour and keeps it until the next mark lifts off.
Drop-in: `assets/ground.js` + `assets/ground.css`. Standalone demo: `assets/demo.html`
(open it directly, `file://` is fine; `?t=2.1`, `?theme=dark`).
```html
<link rel="stylesheet" href="assets/ground.css">
<script src="assets/ground.js"></script>
<script>
GROUND.init({
stage: document.querySelector('#stage'), // the ground is inserted as its first child
w: 2560, h: 1440, // the design space; all coordinates are px in this grid
theme: 'light', // 'light' | 'dark'
track: [[0,'#c4b5fd'],[46,'#a5c8ff'],[75,'#3b7bf0'],[117,'#e06ab8'],[158,'#8c57ff']],
marks: {
one: {S:{x:318,y:274}, LP:{x:557,y:764}, acc:'#3b7bf0', path:'zip', t0:46.2, dur:2.4, end:74.8},
two: {S:{x:318,y:274}, LP:{x:555,y:765}, acc:'#c24fc0', path:'drop', t0:74.8, dur:2.4, end:98.1}
}
});
</script>
```
Then, once per frame, fr