Let the agent copy nodes, also into another graph (#434)
The agent built every part again that already stood in a graph, node by node, while the editor has Ctrl+C and Ctrl+V for it. The new command `copy_nodes` in the area graphs copies nodes into the same graph or another one, in one undo step with the rest of the call. - The links between the copied nodes come along, and so do groups and comments that are only about copied nodes. A node belongs to a group by its middle, as when it is dragged. `boxesAbout` in annotationFollow.ts decides this. - `made` names each copy by the id of its original, so later steps link to it with `$copy.<id>`. `$copy` alone is the first one. - Without x and y the copies are arranged at the end of the call like new nodes. With them they keep their layout, top left corner there. - Nodes the target graph does not take are refused by name, not left out as Ctrl+V does. The rule is the graph tab's: `fitsGraph` and `fittingPart` moved from clipboard.ts to paletteEntries.ts. - A copied Variables node takes the variables of its behavior along into the target behavior (`CarryVariablesCommand`), with default, value, Keep and Private. A variable of that name of another kind there is refused. - The relay's instructions name `copy_nodes`. Found on the way: - Groups made by the agent can take in a node of another group once the nodes are arranged. lint_graph does not count that. - Undo after a paste leaves an empty `groups: []`, as AddAnnotationCommand does. It is the same as no list. Tests: - agent-copy (new, 3 tests) with the agent, relay, clipboard and palette tests: 118/118. - Counter-probes: 6 bendings, all compile, all red. - e2e 71 (atx): ALL PASSED, 26 checks. - Gate (atx): CHECK EXIT 0, 327 files, 5024 tests. - Live in the MCP Test Project: 5 nodes of Arrow keys walk into a new behavior, 6 links, group, comment and speed (300) along, lint_graph 0 everywhere, taken back with undo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e4b0419a53
commit
fb981b5b0f
7 files changed
+386
-45
No files matched your search
+5
-3
@@ -45,9 +45,11 @@ const INSTRUCTIONS = [
|
||||
'over a long link. Check with lint_graph, the crossings too: when there are more than the links',
|
||||
'need, arrange_graph orders the whole graph for the fewest. Put nodes that belong together into a',
|
||||
'group with add_group, and say what they do with add_comment; a comment a node lies on',
|
||||
'(coveredNotes) goes back above its nodes with fit_group. Music plays nothing without an',
|
||||
'instrument, and an instrument sounds only the notes its Notes nodes take in, C4 to B4 in a new',
|
||||
'one: get_asset lists under silent what of a pattern, song or composition is not heard.',
|
||||
'(coveredNotes) goes back above its nodes with fit_group. A part already built elsewhere is',
|
||||
'copied with copy_nodes, into the same graph or another, rather than built again. Music plays',
|
||||
'nothing without an instrument, and an instrument sounds only the notes its Notes nodes take',
|
||||
'in, C4 to B4 in a new one: get_asset lists under silent what of a pattern, song or composition',
|
||||
'is not heard.',
|
||||
'apply_preset gives an instrument that sounds every note in one step. Pictures, fonts, sounds',
|
||||
'and videos are files: list_files lists those the server holds, add_file_asset makes an asset',
|
||||
'of one. Before deleting or reworking an asset, get_asset says under usedBy what names it.',
|
||||
|
||||
Reference in new issue
Block a user