The agent could already draw, animate and wire graphs, but songs,
patterns, sound clips and compositions were out of its reach. This
last step of #429 adds the two missing catalog areas, so the agent
can now use 168 of the editor's commands.
- Area music (15 commands): notes, pattern and song loops, song
tracks and items, sends, and clips of sounds and videos.
- Area composition (9 commands): tracks, items for objects, images
and audio, changes with fades, volume and bus, removal, and
animation clips.
- A pitch is a MIDI number or a name like C4 or F#3. A note past the
end of its pattern is refused.
- Song and master routing stay graphs. The agent links them with
connect, and set_send sets level and tap. get_graph now shows the
send of every link.
- Lengths follow the same rules as dragging in the tab. A sound has
a length only after the editor loaded it. get_asset reports it as
seconds, and without it the agent has to give a length.
- Moving a composition item takes its clips along, as dragging does.
A clip that would then overlap another one is refused. Fades are
only allowed on items with sound.
- get_asset reads notes back with their names and gives the length
of a pattern in ticks.
Found while testing live: two song tracks in the same column made
lint_graph report a backwards link. arrange_graph cleared it, as the
agent instructions ask.
Tests:
- agent-music (new, 9 tests) and the other agent and relay tests:
109/109.
- 9 mutations of the new code, each one red in its own test.
- e2e 71 on melektaus-atx: 25/25. New check: notes are read back by
name, and a composition with a pattern and a sprite opens in its
tab.
- Gate on melektaus-atx: CHECK EXIT 0, 323 files, 4987 tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>