Add ui scene
add_ui_scenePROJECT-SCOPED: this call acts only on the explicit project_id and returns the project identity with its result. WRITE: an explainer told through interface. scenes=[{at (s into the item) or word, layout stack|grid|focus|thread|row, focus?, objects:[{id, kind card|pill|comment|metric|bars|window|media|text, ...}]}]. The SAME id in consecutive scenes is one object that morphs; from= opens a new object as an iris from it. pill state idle|live|done lights its words as they are said; a metric counts to its value landing on the spoken number. Numbers come only from data (CSV or {name: number}; bind) or the words — never invented. media={slot: {asset_key|src_t, offset_s}} plays real recordings in media slots. backdrop solid|dim|none.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| end | No | ||
| data | No | CSV text, rows or {name: number} | |
| media | No | ||
| start | No | ||
| theme | No | ||
| accent | No | ||
| scenes | Yes | [{at|word, layout, focus?, objects: [{id, kind, title|body|text|label|name|value|delta|state|from|bind|rows|rows_from|lines|aspect}]}] | |
| backdrop | No | ||
| project_id | Yes | Required immutable scope for this call. Copy the id from list_projects/open_project/project_state; the active-project pointer is never used to guess. |