--- name: orbites-json-canvas description: Create JSON Canvas files (.canvas) — visual mind maps, flowcharts, and boards for Obsidian. Use when working with .canvas files in OrbitOS. --- # OrbitOS: JSON Canvas Reference JSON Canvas is an open format for infinite canvas data (`.canvas` files). [Spec 1.0](https://jsoncanvas.org/spec/1.0/) ## Structure ```json { "nodes": [], "edges": [] } ``` ## Node Types ### Text ```json { "id": "unique-id", "type": "text", "x": 0, "y": 0, "width": 400, "height": 200, "text": "## Title\nMarkdown content" } ``` ### File ```json { "id": "unique-id", "type": "file", "x": 500, "y": 0, "width": 400, "height": 300, "file": "Notes/Note.md", "subpath": "#Heading" } ``` ### Link ```json { "id": "unique-id", "type": "link", "x": 1000, "y": 0, "width": 400, "height": 200, "url": "https://example.com" } ``` ### Group ```json { "id": "unique-id", "type": "group", "x": -50, "y": -50, "width": 1000, "height": 600, "label": "Section", "color": "4" } ``` ## Edges ```json { "id": "edge-id", "fromNode": "node1-id", "fromSide": "right", "toNode": "node2-id", "toSide": "left", "toEnd": "arrow", "color": "1", "label": "leads to" } ``` - Sides: `top`, `right`, `bottom`, `left` - Ends: `none`, `arrow` - Colors: `"1"`=Red, `"2"`=Orange, `"3"`=Yellow, `"4"`=Green, `"5"`=Cyan, `"6"`=Purple - Also supports hex colors: `"#FF0000"` ## Z-Index First node = bottom layer, last node = top layer.