用途:该技能用于创建和编辑遵循 JSON Canvas Spec 1.0 的 .canvas 文件,支持节点、连线、分组和连接关系,适用于可视化画布、思维导图等场景。
文件结构:画布文件包含两个顶层数组,即 nodes 与 edges,二者均为可选。
节点:节点为放置在画布上的对象,数组顺序决定层级,靠前者在下、靠后者在上。通用字段含 id(必填,16 位十六进制唯一标识)、type(必填,text、file、link 或 group)、x、y、width、height(均必填,像素整数),以及可选 color(预设 “1”-“6” 或十六进制)。文本节点必填 text,支持 Markdown,换行需用 \n;文件节点必填 file,可选 subpath;链接节点必填 url;分组节点可选 label、background、backgroundStyle。
连线:边通过 fromNode 与 toNode 连接节点,必填 id、fromNode、toNode;可选 fromSide、toSide(top、right、bottom、left),fromEnd、toEnd(none 或 arrow),color 与 label。
颜色:canvasColor 接受十六进制字符串或预设编号 “1” 到 “6”,对应红、橙、黄、绿、青、紫,具体色值由应用自定义。
ID 生成:使用 16 位小写十六进制随机字符串,需保证全局唯一。
布局建议:坐标可为负值,画布无限延伸;x 向右、y 向下,位置为左上角;节点间距 50-100px,组内留白 20-50px;建议对齐到 10 或 20 的倍数网格。
校验清单:所有 id 在节点与边中唯一;fromNode 与 toNode 均引用已存在的节点;各节点类型必填字段齐全;type 取值合法;fromSide/toSide 取值合法;fromEnd/toEnd 取值合法;颜色预设或十六进制有效;JSON 可解析。校验失败时排查重复 ID、悬空引用或字符串格式错误(尤其是未转义的换行)。
其他:完整示例见 references/EXAMPLES.md;参考资料为 JSON Canvas Spec 1.0 与 JSON Canvas GitHub。