← ClaudeAtlas

canvas-tomllisted

Format reference for `canvas.toml` files that define a Fused canvas (nodes, edges, viewport) plus the surrounding folder layout (`{udfName}.py`, `.json`, `.md`, `.html`, `_shared.fused`). Use when creating, editing, or validating any `canvas.toml`, adding/removing UDF nodes, wiring edges, defining folder groupings, or scaffolding a new canvas folder.
fusedio/skills · ★ 4 · Data & Documents · score 65
Install: claude install-skill fusedio/skills
# Fused canvas folder + `canvas.toml` A Fused canvas stored in git is a folder containing one `canvas.toml` plus per-UDF source files. Push to the connected repo and Fused picks up the changes automatically. ## Folder layout ``` my_canvas/ canvas.toml # required: layout and node metadata udf_0.py # Python UDF source udf_1.py widget.json # optional: json_ui widget (stem = udfName) textbox.md # optional: textbox/markdown widget (stem = udfName) page.html # optional: html_template widget (stem = udfName) _shared.fused # optional: access control ``` - `<name>.py` / `.json` / `.md` / `.html` — source for a UDF; the **stem must match a node's `udfName`**. -- File name stems must be unique in a canvas. The following is OK: `abc.json`, `def.py`. The following will NOT work: `abc.json`, `abc.py`. **The server error for this is misleading** — it says "A UDF with one of those slugs already exists in this collection", which sounds like a cross-canvas naming collision. It's actually caused by the same-stem conflict in your local folder. Fix: delete one of the conflicting files and push again. -- JSON-UI files you should consult the `json-ui-schemas` skill for how to write, validate, and debug them. They contain JSON5. - `_shared.fused` — omit ⇒ private (author only). Empty file ⇒ team. Set `access_scope = "public"` for public. Set `token = "<value>"` to control the URL slug. Do **not** mix `canvas.toml` wit