You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 49023c0
Browse filesBrowse the repository at this point in the historyBrowse files
feat(ai): let the agent see and place audio tracks
This branch landed timeline audio with no agent surface: imported audio was
absent from `documentSnapshotForModel` and from the tool roster, so the model
could neither name it nor touch it. An editor whose LLM cannot see half its
timeline is two products.
The snapshot now carries `audioTracks` — collapsed with `collapseTracksToPills`,
because a track ventilated across a clip boundary is several fragments the user
sees as one thing, and the model has to name what the user sees — plus
`assets[].kind`, without which an audio asset is something the model tries to
place as footage.
- `addAudio` lays an ALREADY-IMPORTED `kind: "audio"` asset over a span, on either
lane. It refuses an unknown or video id, and the refusal lists the audio the
project actually has: importing or recording is the editor's job, and a guessed
id is the failure mode worth spending a sentence on. It also refuses an offset
at or past the end of a known file, which would otherwise mint a 0.1s track that
plays silence and gets reported as placed audio.
- `setAudio` moves, resizes, re-levels, re-lanes, mutes, loops or re-points a
track. Payload edits go through `patchAudioTrack` so every fragment of the group
agrees; a span or lane change re-anchors through `anchorAudioTrackFragments`
rather than patching fragments cut against the old span.
- `removeModifier` resolves an audio track, so deleting one is the same
first-class action it is for every other kind.
Built on this branch's own helpers rather than a second set: `trackGroupId`,
`collapseTracksToPills`, `patchAudioTrack` and `anchorAudioTrackFragments` already
express exactly what these tools need.
Refs #350, #560.
0 commit comments