Create a component
scaffold_componentWrite a compiling TypeScript skeleton and return the Asset ID. Pass name and kind (node|circle|rect|shader|counter|video|gradient). Do not pass source. Use kind=gradient for a scrim with typed colors and local coordinates; read guide/gradients-overlays. Use kind=shader for an SkSL adjustment layer. Read builtin-shaders before a shader. Required: read builtin-vidova-basics first unless that body is already in this conversation. Read builtin-fonts before setting fontFamily. After it succeeds, edit with replace_component or place with patch_film using the Asset ID. Read builtin-film-custom-components before that placement. branchId null (or left out) means the current version; a version id from list_branches writes that version without switching the editor to it. Not for a published library element; that is import_element. Not for film XML tags.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"kind": "<kind>",
"name": "<name>",
"branchId": "<branchId>",
"projectId": "<projectId>"
},
"name": "scaffold_component"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| name | Yes | Component class name, a JavaScript identifier, or shared/<name> for a shared module that components import as ./shared/<name>. | |
| branchId | Yes | Version id from list_branches to write to, without switching the editor to it. null, or leaving it out, means the current version. | |
| projectId | Yes | The project this call runs on without changing the open project. null (or leaving it out) uses the open project. wait_for_jobs takes the projectId of the calls that started the jobs. |