A beat-choreography timeline — map cuts, flashes, and punches to the beat with the agent keeping time.
One folder. Copy it in, hand it to your agent.
apps/beatline ├── README.md ├── app │ └── beatline.html ├── app.json └── assets

Lay your music-video edits on the beat grid: section blocks (build, drop, verse, bridge, climax), a FLASH lane, a PUNCH lane, over the drum-stem waveform. Every gesture is a patch with your provenance; compile and render the cut. The agent keeps the timing honest so your edit lands on the beat, not near it.
One folder — the beatline surface plus the compile/render rig. Point it at your stems and your cut.
The surface loads the beat grid at your tempo over the drum-stem waveform. Click the FLASH lane to toggle a flash on the nearest pulse, click the PUNCH lane to toggle a punch, click the waveform to seek. Every gesture is a rails patch recorded with your provenance; compile and render produce the finished cut.
Compare the canonical installed source at ~/studio/apps/beatline against the box's served surface, and repair (copy the canonical source in) only if the box surface is missing, provably broken, or provably older. If the box surface is newer (forward drift), leave it untouched and report. If age or health is ambiguous, leave it untouched and report to the box lead agent.
/api/beatline — Load the beat grid — sections, FLASH and PUNCH lanes, and the waveform/api/envelope — Read the audition envelope and gesture provenance/api/patch — Apply a gesture (a flash, a punch, a section) as a rails patch with provenance/api/compile — Compile the beat choreography/api/render — Render the cut~/studio/apps/beatlinePaste this into your box's lead agent — it installs the app on your box.
Install request — Beatline
App id: beatline
Registry repo: mvschwarz/rigs-to-apps
Manifest path: apps/beatline/app.json
Please install this mini-app onto my studio box:
1. Retrieve beatline's app.json from the registry repo (mvschwarz/rigs-to-apps) at apps/beatline/app.json,
then resolve and record its current commit SHA for provenance.
2. Apply judgment: check for name and port collisions with what's already
installed, and place it in a sensible sidebar group (category default: create).
3. Install the app directory to ~/studio/apps/beatline.
4. Register its surfaces door: route /beatline.html with the
▬ glyph, grouped under the create default group.
5. No server — this is a pure static surface.
6. Then verify:
- The beatline surface loads the beat grid at your tempo — section blocks (build, drop, verse, bridge, climax, tunnel), a FLASH lane, and a PUNCH lane over the drum-stem waveform — with a live render preview above
- Every gesture (a flash, a punch, a section) is a rails patch recorded with your provenance; compile and render produce the cut — point it at your own stems and edit
- Compare the canonical installed source at ~/studio/apps/beatline against the box's served surface: repair (copy the canonical source in) ONLY if the box surface is missing, provably broken, or provably older; if the box surface is newer (forward drift) leave it untouched and report; if age or health is ambiguous, leave it untouched and report to the box lead agent — take no destructive action
Verbs this app exposes (for reference, method omitted):
/api/beatline — Load the beat grid — sections, FLASH and PUNCH lanes, and the waveform
/api/envelope — Read the audition envelope and gesture provenance
/api/patch — Apply a gesture (a flash, a punch, a section) as a rails patch with provenance
/api/compile — Compile the beat choreography
/api/render — Render the cut
(You are my trusted box lead agent; act inside the box. Nothing here calls out.)