diff --git a/docs/prototype/code-reader/openpencil/entry-style.js b/docs/prototype/code-reader/openpencil/entry-style.js new file mode 100644 index 0000000..e520161 --- /dev/null +++ b/docs/prototype/code-reader/openpencil/entry-style.js @@ -0,0 +1,378 @@ +// 入口文件标记的三种样式,一列一种:代码阅读侧栏、编辑器标签栏、预览里的入口函数卡片。 +// 颜色照 VS Code Dark Modern(extensions/theme-defaults/themes/dark_modern.json),主题没写的取默认深色: +// git 改过 gitDecoration.modifiedResourceForeground #E2C08D、绿色 testing.iconPassed #73C991、 +// 树里搜索命中的高亮 list.highlightForeground #2AAAFF。卡片的画法照 build.js。 +// 侧栏照 VS Code 的树:22px 行高、13px 字、每层缩进 8px、Seti 文件图标(目录没有图标)。 +// 文件装饰(git 的 M、方案 1 的 ▶)照 VS Code 合并规则:同一个文件有几条装饰时,字母用「, 」连起来, +// 名字和字母都用排在最前的那条的颜色;目录里有改过的文件时,目录名跟着变色、行尾一个淡圆点。 + +const C = { + board: "#121212", + editor: "#1f1f1f", + side: "#181818", + border: "#2b2b2b", + fg: "#cccccc", + fgStrong: "#e8e8e8", + white: "#ffffff", + desc: "#9d9d9d", + focus: "#0078d4", + inactiveSelection: "#37373d", + card: "#242424", + comment: "#6a9955", + fn: "#dcdcaa", + type: "#4ec9b0", + modified: "#e2c08d", + passed: "#73c991", + highlight: "#2aaaff", + rust: "#e37933", + pyBlue: "#3d7ab8", + pyYellow: "#f2c94c", +}; + +const SCHEMES = [ + { + key: "badge", + title: "方案 1 · ▶ 小标记", + sentence: "行尾加绿色 ▶,和 git 的 M 同位置;资源管理器、标签页也带。", + }, + { + key: "bold", + title: "方案 2 · 名字整个高亮", + sentence: "文件名用强调色加粗,只在代码阅读侧栏里有,没有额外符号。", + }, + { + key: "icon", + title: "方案 3 · 换成入口图标", + sentence: "文件图标换成绿色播放图标,最醒目,但看不出是哪种语言的文件。", + }, +]; + +const TREE = [ + { kind: "folder", name: "luffy-agent-platform", depth: 0 }, + { kind: "folder", name: "backend-rust", depth: 1 }, + { kind: "folder", name: "src", depth: 2 }, + { kind: "file", name: "lib.rs", lang: "rust", depth: 3 }, + { kind: "file", name: "main.rs", lang: "rust", depth: 3, entry: true, selected: true }, + { kind: "file", name: "routes.rs", lang: "rust", depth: 3, modified: true }, + { kind: "folder", name: "lib", depth: 1 }, + { kind: "folder", name: "agent-cli", depth: 2 }, + { kind: "folder", name: "src", depth: 3 }, + { kind: "folder", name: "agent_cli", depth: 4 }, + { kind: "file", name: "__init__.py", lang: "python", depth: 5 }, + { kind: "file", name: "main.py", lang: "python", depth: 5, entry: true, modified: true }, +]; + +const TABS = [ + { name: "main.rs", lang: "rust", entry: true, active: true }, + { name: "routes.rs", lang: "rust", modified: true }, +]; + +const ENTRY_FN = { name: "main", summary: "启动接口服务", visibility: "本模块", returns: "()" }; + +function solid(color) { + return [{ type: "solid", color }]; +} + +function text(parent, content, o) { + const s = String(content); + const opt = o || {}; + const mono = Boolean(opt.mono) && !/[^\x00-\x7F]/.test(s); + const node = { + type: "text", + name: opt.name || s.slice(0, 32), + content: s, + fontFamily: mono ? "Menlo" : "PingFang SC", + fontSize: opt.size || 13, + fontWeight: opt.weight || 400, + lineHeight: opt.lh || 1.45, + fill: solid(opt.color || C.fg), + height: "fit_content", + }; + if (opt.wrap) { + node.width = opt.width || "fill_container"; + node.textGrowth = "fixed-width"; + } else { + node.width = "fit_content"; + node.textGrowth = "auto"; + } + return I(parent, node); +} + +function icon(parent, name, color, size) { + return I(parent, { + type: "icon_font", + name: name, + iconFontName: name, + width: size, + height: size, + fill: solid(color), + }); +} + +function box(parent, name, width, height, o) { + const opt = o || {}; + return I(parent, { + type: "frame", + name, + layout: opt.layout || "horizontal", + width, + height, + gap: 0, + alignItems: opt.align || "center", + justifyContent: opt.justify || "center", + fill: opt.fill ? solid(opt.fill) : undefined, + }); +} + +function row(parent, name, o) { + const opt = o || {}; + return I(parent, { + type: "frame", + name, + layout: "horizontal", + width: opt.width || "fill_container", + height: opt.height || "fit_content", + gap: opt.gap == null ? 8 : opt.gap, + padding: opt.padding, + alignItems: opt.align || "center", + justifyContent: opt.justify, + fill: opt.fill ? solid(opt.fill) : undefined, + }); +} + +function col(parent, name, o) { + const opt = o || {}; + return I(parent, { + type: "frame", + name, + layout: "vertical", + width: opt.width || "fill_container", + height: "fit_content", + gap: opt.gap == null ? 4 : opt.gap, + padding: opt.padding, + alignItems: opt.align, + fill: opt.fill ? solid(opt.fill) : undefined, + stroke: opt.stroke ? { thickness: 1, fill: solid(opt.stroke) } : undefined, + clipContent: false, + }); +} + +function spacer(parent) { + I(parent, { type: "frame", name: "Spacer", width: "fill_container", height: 4 }); +} + +// Seti 的文件图标:Rust 是橙色 R,Python 是蓝黄两块;方案 3 的入口换成绿色播放图标。 +function fileIcon(parent, lang, entryIcon) { + const slot = box(parent, "Icon", 22, 22, { justify: "start" }); + if (entryIcon) { + icon(slot, "play", C.passed, 16); + return; + } + if (lang === "rust") { + const glyph = box(slot, "Rust", 16, 16); + text(glyph, "R", { size: 12, weight: 700, color: C.rust, mono: true, lh: 1.2 }); + return; + } + const glyph = I(slot, { type: "frame", name: "Python", width: 16, height: 16, layout: "none" }); + I(glyph, { type: "rectangle", name: "Blue", x: 1, y: 1, width: 9, height: 9, cornerRadius: 2.5, fill: solid(C.pyBlue) }); + I(glyph, { type: "rectangle", name: "Yellow", x: 6, y: 6, width: 9, height: 9, cornerRadius: 2.5, fill: solid(C.pyYellow) }); +} + +// 一个文件在这一列里怎么显示:名字的颜色、粗细、行尾字母、图标。 +function fileLook(item, scheme) { + const marks = []; + if (scheme === "badge" && item.entry) marks.push({ letter: "▶", color: C.passed }); + if (item.modified) marks.push({ letter: "M", color: C.modified }); + const look = { + color: marks.length ? marks[0].color : null, + weight: 400, + badge: marks.length ? { text: marks.map((mark) => mark.letter).join(", "), color: marks[0].color } : null, + entryIcon: scheme === "icon" && Boolean(item.entry), + }; + if (scheme === "bold" && item.entry) { + look.color = C.highlight; + look.weight = 700; + } + return look; +} + +function treeRow(list, item, scheme) { + const line = I(list, { + type: "frame", + name: item.name, + layout: "horizontal", + width: "fill_container", + height: 22, + gap: 0, + alignItems: "center", + padding: [0, 12, 0, 8 + item.depth * 8], + fill: item.selected ? solid(C.inactiveSelection) : undefined, + }); + const twisty = box(line, "Twisty", 22, 22, { justify: "start" }); + if (item.kind === "folder") { + icon(twisty, "chevron-down", C.fg, 16); + text(line, item.name, { color: C.modified }); + spacer(line); + const dot = box(line, "Bubble", 16, 16); + I(dot, { type: "ellipse", name: "Dot", width: 7, height: 7, opacity: 0.4, fill: solid(C.modified) }); + return; + } + const look = fileLook(item, scheme); + fileIcon(line, item.lang, look.entryIcon); + text(line, item.name, { color: look.color || C.fg, weight: look.weight }); + spacer(line); + if (look.badge) text(line, look.badge.text, { size: 12, color: look.badge.color }); +} + +function sidebar(parent, scheme) { + const side = col(parent, "Sidebar", { width: 400, gap: 0, fill: C.side, stroke: C.border }); + const header = row(side, "Header", { height: 35, padding: [0, 12, 0, 20], justify: "space_between" }); + text(header, "代码阅读", { size: 11, color: C.fg }); + const actions = row(header, "Actions", { width: "fit_content", gap: 12 }); + for (const name of ["git-pull-request", "refresh-cw", "copy-minus"]) icon(actions, name, C.fg, 15); + const list = col(side, "Tree", { gap: 0, padding: [0, 0, 10, 0] }); + for (const item of TREE) treeRow(list, item, scheme); +} + +// 标签栏只有方案 1 跟着变:那是文件装饰,标签页也会带;另两种只改代码阅读自己的树和预览。 +function tab(bar, item, scheme) { + const look = fileLook(item, scheme === "badge" ? "badge" : "none"); + const node = I(bar, { + type: "frame", + name: "Tab / " + item.name, + layout: "vertical", + width: "fit_content", + height: "fit_content", + gap: 0, + fill: solid(item.active ? C.editor : C.side), + }); + I(node, { type: "rectangle", name: "Top", width: "fill_container", height: 1, fill: solid(item.active ? C.focus : C.side) }); + const label = row(node, "Label", { width: "fit_content", height: 34, padding: [0, 0, 0, 10], gap: 0 }); + fileIcon(label, item.lang, false); + text(label, item.name, { color: look.color || (item.active ? C.white : C.desc) }); + if (look.badge) { + I(label, { type: "frame", name: "Gap", width: 6, height: 4 }); + text(label, look.badge.text, { size: 12, color: look.badge.color }); + } + const close = box(label, "Close", 32, 34); + if (item.active) icon(close, "x", C.fg, 15); + I(node, { type: "rectangle", name: "Bottom", width: "fill_container", height: 1, fill: solid(item.active ? C.editor : C.border) }); + I(bar, { type: "rectangle", name: "Tab border", width: 1, height: 36, fill: solid(C.border) }); +} + +function tabBar(parent, scheme) { + const bar = row(parent, "Tabs", { gap: 0, align: "start", fill: C.side }); + for (const item of TABS) tab(bar, item, scheme); + const rest = I(bar, { + type: "frame", + name: "Rest", + layout: "vertical", + width: "fill_container", + height: 36, + gap: 0, + justifyContent: "end", + }); + I(rest, { type: "rectangle", name: "Bottom", width: "fill_container", height: 1, fill: solid(C.border) }); +} + +function prop(parent, label, value, color, mono) { + const line = row(parent, "Prop / " + label, { gap: 12, align: "start" }); + const key = I(line, { type: "frame", name: "Key", width: 72, height: "fit_content", layout: "vertical" }); + text(key, label, { size: 12, color: C.desc, wrap: true }); + const val = I(line, { type: "frame", name: "Value", width: "fill_container", height: "fit_content", layout: "vertical" }); + text(val, value, { size: 13, color, mono, wrap: true }); +} + +function nameLine(parent, scheme) { + const line = row(parent, "Prop / 名称", { gap: 12 }); + const key = I(line, { type: "frame", name: "Key", width: 72, height: "fit_content" }); + text(key, "名称", { size: 12, color: C.desc }); + const value = row(line, "Value", { width: "fit_content", gap: 6 }); + if (scheme === "bold") { + text(value, ENTRY_FN.name, { color: C.highlight, mono: true, weight: 700 }); + return; + } + text(value, ENTRY_FN.name, { color: C.fn, mono: true, weight: 600 }); + if (scheme === "badge") text(value, "▶", { size: 12, color: C.passed }); +} + +function tools(parent) { + const bar = row(parent, "Tools", { width: "fit_content", gap: 2 }); + for (const name of ["sparkles", "pencil"]) { + const button = box(bar, name, 22, 22); + icon(button, name, C.desc, 14); + } +} + +function fnCard(parent, scheme) { + const node = I(parent, { + type: "frame", + name: "函数", + layout: "horizontal", + width: "fill_container", + height: "fit_content", + gap: 10, + padding: [8, 10, 8, 8], + cornerRadius: 8, + alignItems: "start", + fill: solid(C.card), + stroke: { thickness: 1, fill: solid(C.fn) }, + clipContent: false, + }); + const fold = box(node, "Fold", 14, 20); + icon(fold, "chevron-down", C.desc, 14); + if (scheme === "icon") icon(node, "play", C.passed, 18); + else icon(node, "square-function", C.fn, 18); + const content = col(node, "Content", { gap: 4 }); + nameLine(content, scheme); + prop(content, "说明", ENTRY_FN.summary, C.comment, false); + prop(content, "可见性", ENTRY_FN.visibility, C.desc, false); + prop(content, "返回", ENTRY_FN.returns, C.type, true); + tools(node); +} + +function editor(parent, scheme) { + const pane = col(parent, "Editor", { width: 400, gap: 0, fill: C.editor, stroke: C.border }); + tabBar(pane, scheme); + const preview = col(pane, "Preview", { gap: 0, padding: [14, 16, 18, 16] }); + fnCard(preview, scheme); +} + +function header(parent, scheme) { + const head = col(parent, "Head / " + scheme.title, { width: 400, gap: 6 }); + text(head, scheme.title, { size: 15, weight: 600, color: C.fgStrong }); + text(head, scheme.sentence, { size: 13, color: C.desc, wrap: true }); +} + +function band(parent, name) { + return I(parent, { + type: "frame", + name, + layout: "horizontal", + width: "fit_content", + height: "fit_content", + gap: 40, + alignItems: "start", + clipContent: false, + }); +} + +const board = I(null, { + type: "frame", + name: "Prototype / 入口标记 · 三种样式", + x: 0, + y: 0, + width: "fit_content", + height: "fit_content", + layout: "vertical", + gap: 16, + padding: 40, + fill: solid(C.board), + clipContent: false, +}); +const heads = band(board, "列头"); +for (const scheme of SCHEMES) header(heads, scheme); +const sides = band(board, "侧栏"); +for (const scheme of SCHEMES) sidebar(sides, scheme.key); +const editors = band(board, "编辑器"); +for (const scheme of SCHEMES) editor(editors, scheme.key); diff --git a/docs/prototype/code-reader/openpencil/entry-style.op b/docs/prototype/code-reader/openpencil/entry-style.op new file mode 100644 index 0000000..1b732a0 --- /dev/null +++ b/docs/prototype/code-reader/openpencil/entry-style.op @@ -0,0 +1,7077 @@ +{ + "version": "0.8.4", + "name": "OpenPencil CLI Session", + "children": [ + { + "type": "frame", + "id": "n1", + "name": "Prototype / 入口标记 · 三种样式", + "x": 0.0, + "y": 0.0, + "width": "fit_content", + "height": "fit_content", + "layout": "vertical", + "gap": 16.0, + "padding": 40.0, + "clipContent": false, + "fill": [ + { + "type": "solid", + "color": "#121212" + } + ], + "children": [ + { + "type": "frame", + "id": "n2", + "name": "列头", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 40.0, + "alignItems": "start", + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n3", + "name": "Head / 方案 1 · ▶ 小标记", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 6.0, + "clipContent": false, + "children": [ + { + "type": "text", + "id": "n4", + "name": "方案 1 · ▶ 小标记", + "width": "fit_content", + "height": "fit_content", + "content": "方案 1 · ▶ 小标记", + "fontFamily": "PingFang SC", + "fontSize": 15.0, + "fontWeight": 600, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e8e8e8" + } + ] + }, + { + "type": "text", + "id": "n5", + "name": "行尾加绿色 ▶,和 git 的 M 同位置;资源管理器、标签页也", + "width": "fill_container", + "height": "fit_content", + "content": "行尾加绿色 ▶,和 git 的 M 同位置;资源管理器、标签页也带。", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n6", + "name": "Head / 方案 2 · 名字整个高亮", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 6.0, + "clipContent": false, + "children": [ + { + "type": "text", + "id": "n7", + "name": "方案 2 · 名字整个高亮", + "width": "fit_content", + "height": "fit_content", + "content": "方案 2 · 名字整个高亮", + "fontFamily": "PingFang SC", + "fontSize": 15.0, + "fontWeight": 600, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e8e8e8" + } + ] + }, + { + "type": "text", + "id": "n8", + "name": "文件名用强调色加粗,只在代码阅读侧栏里有,没有额外符号。", + "width": "fill_container", + "height": "fit_content", + "content": "文件名用强调色加粗,只在代码阅读侧栏里有,没有额外符号。", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n9", + "name": "Head / 方案 3 · 换成入口图标", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 6.0, + "clipContent": false, + "children": [ + { + "type": "text", + "id": "n10", + "name": "方案 3 · 换成入口图标", + "width": "fit_content", + "height": "fit_content", + "content": "方案 3 · 换成入口图标", + "fontFamily": "PingFang SC", + "fontSize": 15.0, + "fontWeight": 600, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e8e8e8" + } + ] + }, + { + "type": "text", + "id": "n11", + "name": "文件图标换成绿色播放图标,最醒目,但看不出是哪种语言的文件。", + "width": "fill_container", + "height": "fit_content", + "content": "文件图标换成绿色播放图标,最醒目,但看不出是哪种语言的文件。", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n12", + "name": "侧栏", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 40.0, + "alignItems": "start", + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n13", + "name": "Sidebar", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "clipContent": false, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n14", + "name": "Header", + "width": "fill_container", + "height": 35.0, + "layout": "horizontal", + "gap": 8.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 20.0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n15", + "name": "代码阅读", + "width": "fit_content", + "height": "fit_content", + "content": "代码阅读", + "fontFamily": "PingFang SC", + "fontSize": 11.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n16", + "name": "Actions", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n17", + "name": "git-pull-request", + "iconFontName": "git-pull-request", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "icon_font", + "id": "n18", + "name": "refresh-cw", + "iconFontName": "refresh-cw", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "icon_font", + "id": "n19", + "name": "copy-minus", + "iconFontName": "copy-minus", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n20", + "name": "Tree", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 10.0, + 0.0 + ], + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n21", + "name": "luffy-agent-platform", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 8.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n22", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n23", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n24", + "name": "luffy-agent-platform", + "width": "fit_content", + "height": "fit_content", + "content": "luffy-agent-platform", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n25", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n26", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n27", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n28", + "name": "backend-rust", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 16.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n29", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n30", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n31", + "name": "backend-rust", + "width": "fit_content", + "height": "fit_content", + "content": "backend-rust", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n32", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n33", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n34", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n35", + "name": "src", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 24.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n36", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n37", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n38", + "name": "src", + "width": "fit_content", + "height": "fit_content", + "content": "src", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n39", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n40", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n41", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n42", + "name": "lib.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n43", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n44", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n45", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n46", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n47", + "name": "lib.rs", + "width": "fit_content", + "height": "fit_content", + "content": "lib.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n48", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n49", + "name": "main.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "fill": [ + { + "type": "solid", + "color": "#37373d" + } + ], + "children": [ + { + "type": "frame", + "id": "n50", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n51", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n52", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n53", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n54", + "name": "main.rs", + "width": "fit_content", + "height": "fit_content", + "content": "main.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + }, + { + "type": "frame", + "id": "n55", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n56", + "name": "▶", + "width": "fit_content", + "height": "fit_content", + "content": "▶", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n57", + "name": "routes.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n58", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n59", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n60", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n61", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n62", + "name": "routes.rs", + "width": "fit_content", + "height": "fit_content", + "content": "routes.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n63", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n64", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n65", + "name": "lib", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 16.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n66", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n67", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n68", + "name": "lib", + "width": "fit_content", + "height": "fit_content", + "content": "lib", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n69", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n70", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n71", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n72", + "name": "agent-cli", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 24.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n73", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n74", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n75", + "name": "agent-cli", + "width": "fit_content", + "height": "fit_content", + "content": "agent-cli", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n76", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n77", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n78", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n79", + "name": "src", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n80", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n81", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n82", + "name": "src", + "width": "fit_content", + "height": "fit_content", + "content": "src", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n83", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n84", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n85", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n86", + "name": "agent_cli", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 40.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n87", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n88", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n89", + "name": "agent_cli", + "width": "fit_content", + "height": "fit_content", + "content": "agent_cli", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n90", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n91", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n92", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n93", + "name": "__init__.py", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 48.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n94", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n95", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n96", + "name": "Python", + "width": 16.0, + "height": 16.0, + "layout": "none", + "children": [ + { + "type": "rectangle", + "id": "n97", + "name": "Blue", + "x": 1.0, + "y": 1.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#3d7ab8" + } + ], + "children": [] + }, + { + "type": "rectangle", + "id": "n98", + "name": "Yellow", + "x": 6.0, + "y": 6.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#f2c94c" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "text", + "id": "n99", + "name": "__init__.py", + "width": "fit_content", + "height": "fit_content", + "content": "__init__.py", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n100", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n101", + "name": "main.py", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 48.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n102", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n103", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n104", + "name": "Python", + "width": 16.0, + "height": 16.0, + "layout": "none", + "children": [ + { + "type": "rectangle", + "id": "n105", + "name": "Blue", + "x": 1.0, + "y": 1.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#3d7ab8" + } + ], + "children": [] + }, + { + "type": "rectangle", + "id": "n106", + "name": "Yellow", + "x": 6.0, + "y": 6.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#f2c94c" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "text", + "id": "n107", + "name": "main.py", + "width": "fit_content", + "height": "fit_content", + "content": "main.py", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + }, + { + "type": "frame", + "id": "n108", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n109", + "name": "▶, M", + "width": "fit_content", + "height": "fit_content", + "content": "▶, M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n110", + "name": "Sidebar", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "clipContent": false, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n111", + "name": "Header", + "width": "fill_container", + "height": 35.0, + "layout": "horizontal", + "gap": 8.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 20.0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n112", + "name": "代码阅读", + "width": "fit_content", + "height": "fit_content", + "content": "代码阅读", + "fontFamily": "PingFang SC", + "fontSize": 11.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n113", + "name": "Actions", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n114", + "name": "git-pull-request", + "iconFontName": "git-pull-request", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "icon_font", + "id": "n115", + "name": "refresh-cw", + "iconFontName": "refresh-cw", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "icon_font", + "id": "n116", + "name": "copy-minus", + "iconFontName": "copy-minus", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n117", + "name": "Tree", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 10.0, + 0.0 + ], + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n118", + "name": "luffy-agent-platform", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 8.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n119", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n120", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n121", + "name": "luffy-agent-platform", + "width": "fit_content", + "height": "fit_content", + "content": "luffy-agent-platform", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n122", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n123", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n124", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n125", + "name": "backend-rust", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 16.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n126", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n127", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n128", + "name": "backend-rust", + "width": "fit_content", + "height": "fit_content", + "content": "backend-rust", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n129", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n130", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n131", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n132", + "name": "src", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 24.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n133", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n134", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n135", + "name": "src", + "width": "fit_content", + "height": "fit_content", + "content": "src", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n136", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n137", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n138", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n139", + "name": "lib.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n140", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n141", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n142", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n143", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n144", + "name": "lib.rs", + "width": "fit_content", + "height": "fit_content", + "content": "lib.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n145", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n146", + "name": "main.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "fill": [ + { + "type": "solid", + "color": "#37373d" + } + ], + "children": [ + { + "type": "frame", + "id": "n147", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n148", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n149", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n150", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n151", + "name": "main.rs", + "width": "fit_content", + "height": "fit_content", + "content": "main.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 700, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#2aaaff" + } + ] + }, + { + "type": "frame", + "id": "n152", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n153", + "name": "routes.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n154", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n155", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n156", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n157", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n158", + "name": "routes.rs", + "width": "fit_content", + "height": "fit_content", + "content": "routes.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n159", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n160", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n161", + "name": "lib", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 16.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n162", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n163", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n164", + "name": "lib", + "width": "fit_content", + "height": "fit_content", + "content": "lib", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n165", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n166", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n167", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n168", + "name": "agent-cli", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 24.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n169", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n170", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n171", + "name": "agent-cli", + "width": "fit_content", + "height": "fit_content", + "content": "agent-cli", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n172", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n173", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n174", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n175", + "name": "src", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n176", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n177", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n178", + "name": "src", + "width": "fit_content", + "height": "fit_content", + "content": "src", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n179", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n180", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n181", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n182", + "name": "agent_cli", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 40.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n183", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n184", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n185", + "name": "agent_cli", + "width": "fit_content", + "height": "fit_content", + "content": "agent_cli", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n186", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n187", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n188", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n189", + "name": "__init__.py", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 48.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n190", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n191", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n192", + "name": "Python", + "width": 16.0, + "height": 16.0, + "layout": "none", + "children": [ + { + "type": "rectangle", + "id": "n193", + "name": "Blue", + "x": 1.0, + "y": 1.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#3d7ab8" + } + ], + "children": [] + }, + { + "type": "rectangle", + "id": "n194", + "name": "Yellow", + "x": 6.0, + "y": 6.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#f2c94c" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "text", + "id": "n195", + "name": "__init__.py", + "width": "fit_content", + "height": "fit_content", + "content": "__init__.py", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n196", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n197", + "name": "main.py", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 48.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n198", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n199", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n200", + "name": "Python", + "width": 16.0, + "height": 16.0, + "layout": "none", + "children": [ + { + "type": "rectangle", + "id": "n201", + "name": "Blue", + "x": 1.0, + "y": 1.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#3d7ab8" + } + ], + "children": [] + }, + { + "type": "rectangle", + "id": "n202", + "name": "Yellow", + "x": 6.0, + "y": 6.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#f2c94c" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "text", + "id": "n203", + "name": "main.py", + "width": "fit_content", + "height": "fit_content", + "content": "main.py", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 700, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#2aaaff" + } + ] + }, + { + "type": "frame", + "id": "n204", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n205", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n206", + "name": "Sidebar", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "clipContent": false, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n207", + "name": "Header", + "width": "fill_container", + "height": 35.0, + "layout": "horizontal", + "gap": 8.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 20.0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n208", + "name": "代码阅读", + "width": "fit_content", + "height": "fit_content", + "content": "代码阅读", + "fontFamily": "PingFang SC", + "fontSize": 11.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n209", + "name": "Actions", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n210", + "name": "git-pull-request", + "iconFontName": "git-pull-request", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "icon_font", + "id": "n211", + "name": "refresh-cw", + "iconFontName": "refresh-cw", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "icon_font", + "id": "n212", + "name": "copy-minus", + "iconFontName": "copy-minus", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n213", + "name": "Tree", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 10.0, + 0.0 + ], + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n214", + "name": "luffy-agent-platform", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 8.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n215", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n216", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n217", + "name": "luffy-agent-platform", + "width": "fit_content", + "height": "fit_content", + "content": "luffy-agent-platform", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n218", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n219", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n220", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n221", + "name": "backend-rust", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 16.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n222", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n223", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n224", + "name": "backend-rust", + "width": "fit_content", + "height": "fit_content", + "content": "backend-rust", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n225", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n226", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n227", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n228", + "name": "src", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 24.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n229", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n230", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n231", + "name": "src", + "width": "fit_content", + "height": "fit_content", + "content": "src", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n232", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n233", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n234", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n235", + "name": "lib.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n236", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n237", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n238", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n239", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n240", + "name": "lib.rs", + "width": "fit_content", + "height": "fit_content", + "content": "lib.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n241", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n242", + "name": "main.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "fill": [ + { + "type": "solid", + "color": "#37373d" + } + ], + "children": [ + { + "type": "frame", + "id": "n243", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n244", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n245", + "name": "play", + "iconFontName": "play", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + } + ] + }, + { + "type": "text", + "id": "n246", + "name": "main.rs", + "width": "fit_content", + "height": "fit_content", + "content": "main.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n247", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n248", + "name": "routes.rs", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n249", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n250", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n251", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n252", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n253", + "name": "routes.rs", + "width": "fit_content", + "height": "fit_content", + "content": "routes.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n254", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n255", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n256", + "name": "lib", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 16.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n257", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n258", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n259", + "name": "lib", + "width": "fit_content", + "height": "fit_content", + "content": "lib", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n260", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n261", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n262", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n263", + "name": "agent-cli", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 24.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n264", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n265", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n266", + "name": "agent-cli", + "width": "fit_content", + "height": "fit_content", + "content": "agent-cli", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n267", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n268", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n269", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n270", + "name": "src", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 32.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n271", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n272", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n273", + "name": "src", + "width": "fit_content", + "height": "fit_content", + "content": "src", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n274", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n275", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n276", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n277", + "name": "agent_cli", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 40.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n278", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n279", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + }, + { + "type": "text", + "id": "n280", + "name": "agent_cli", + "width": "fit_content", + "height": "fit_content", + "content": "agent_cli", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n281", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "frame", + "id": "n282", + "name": "Bubble", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "ellipse", + "id": "n283", + "name": "Dot", + "opacity": 0.4, + "width": 7.0, + "height": 7.0, + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n284", + "name": "__init__.py", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 48.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n285", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n286", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n287", + "name": "Python", + "width": 16.0, + "height": 16.0, + "layout": "none", + "children": [ + { + "type": "rectangle", + "id": "n288", + "name": "Blue", + "x": 1.0, + "y": 1.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#3d7ab8" + } + ], + "children": [] + }, + { + "type": "rectangle", + "id": "n289", + "name": "Yellow", + "x": 6.0, + "y": 6.0, + "width": 9.0, + "height": 9.0, + "cornerRadius": 2.5, + "fill": [ + { + "type": "solid", + "color": "#f2c94c" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "text", + "id": "n290", + "name": "__init__.py", + "width": "fit_content", + "height": "fit_content", + "content": "__init__.py", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + }, + { + "type": "frame", + "id": "n291", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + } + ] + }, + { + "type": "frame", + "id": "n292", + "name": "main.py", + "width": "fill_container", + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 12.0, + 0.0, + 48.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n293", + "name": "Twisty", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [] + }, + { + "type": "frame", + "id": "n294", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n295", + "name": "play", + "iconFontName": "play", + "width": 16.0, + "height": 16.0, + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + } + ] + }, + { + "type": "text", + "id": "n296", + "name": "main.py", + "width": "fit_content", + "height": "fit_content", + "content": "main.py", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n297", + "name": "Spacer", + "width": "fill_container", + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n298", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n299", + "name": "编辑器", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 40.0, + "alignItems": "start", + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n300", + "name": "Editor", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "clipContent": false, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n301", + "name": "Tabs", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 0.0, + "alignItems": "start", + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [ + { + "type": "frame", + "id": "n302", + "name": "Tab / main.rs", + "width": "fit_content", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "children": [ + { + "type": "rectangle", + "id": "n303", + "name": "Top", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#0078d4" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n304", + "name": "Label", + "width": "fit_content", + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 0.0, + 10.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n305", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n306", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n307", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n308", + "name": "main.rs", + "width": "fit_content", + "height": "fit_content", + "content": "main.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + }, + { + "type": "frame", + "id": "n309", + "name": "Gap", + "width": 6.0, + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n310", + "name": "▶", + "width": "fit_content", + "height": "fit_content", + "content": "▶", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + }, + { + "type": "frame", + "id": "n311", + "name": "Close", + "width": 32.0, + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n312", + "name": "x", + "iconFontName": "x", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + } + ] + }, + { + "type": "rectangle", + "id": "n313", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n314", + "name": "Tab border", + "width": 1.0, + "height": 36.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n315", + "name": "Tab / routes.rs", + "width": "fit_content", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [ + { + "type": "rectangle", + "id": "n316", + "name": "Top", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n317", + "name": "Label", + "width": "fit_content", + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 0.0, + 10.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n318", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n319", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n320", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n321", + "name": "routes.rs", + "width": "fit_content", + "height": "fit_content", + "content": "routes.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n322", + "name": "Gap", + "width": 6.0, + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n323", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n324", + "name": "Close", + "width": 32.0, + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n325", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n326", + "name": "Tab border", + "width": 1.0, + "height": 36.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n327", + "name": "Rest", + "width": "fill_container", + "height": 36.0, + "layout": "vertical", + "gap": 0.0, + "justifyContent": "end", + "children": [ + { + "type": "rectangle", + "id": "n328", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n329", + "name": "Preview", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "padding": [ + 14.0, + 16.0, + 18.0, + 16.0 + ], + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n330", + "name": "函数", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 10.0, + "padding": [ + 8.0, + 10.0, + 8.0, + 8.0 + ], + "alignItems": "start", + "clipContent": false, + "cornerRadius": 8.0, + "fill": [ + { + "type": "solid", + "color": "#242424" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#dcdcaa" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n331", + "name": "Fold", + "width": 14.0, + "height": 20.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n332", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "icon_font", + "id": "n333", + "name": "square-function", + "iconFontName": "square-function", + "width": 18.0, + "height": 18.0, + "fill": [ + { + "type": "solid", + "color": "#dcdcaa" + } + ] + }, + { + "type": "frame", + "id": "n334", + "name": "Content", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 4.0, + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n335", + "name": "Prop / 名称", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n336", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "children": [ + { + "type": "text", + "id": "n337", + "name": "名称", + "width": "fit_content", + "height": "fit_content", + "content": "名称", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n338", + "name": "Value", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 6.0, + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n339", + "name": "main", + "width": "fit_content", + "height": "fit_content", + "content": "main", + "fontFamily": "Menlo", + "fontSize": 13.0, + "fontWeight": 600, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#dcdcaa" + } + ] + }, + { + "type": "text", + "id": "n340", + "name": "▶", + "width": "fit_content", + "height": "fit_content", + "content": "▶", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n341", + "name": "Prop / 说明", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n342", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n343", + "name": "说明", + "width": "fill_container", + "height": "fit_content", + "content": "说明", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n344", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n345", + "name": "启动接口服务", + "width": "fill_container", + "height": "fit_content", + "content": "启动接口服务", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#6a9955" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n346", + "name": "Prop / 可见性", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n347", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n348", + "name": "可见性", + "width": "fill_container", + "height": "fit_content", + "content": "可见性", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n349", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n350", + "name": "本模块", + "width": "fill_container", + "height": "fit_content", + "content": "本模块", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n351", + "name": "Prop / 返回", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n352", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n353", + "name": "返回", + "width": "fill_container", + "height": "fit_content", + "content": "返回", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n354", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n355", + "name": "()", + "width": "fill_container", + "height": "fit_content", + "content": "()", + "fontFamily": "Menlo", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#4ec9b0" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n356", + "name": "Tools", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 2.0, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n357", + "name": "sparkles", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n358", + "name": "sparkles", + "iconFontName": "sparkles", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n359", + "name": "pencil", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n360", + "name": "pencil", + "iconFontName": "pencil", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n361", + "name": "Editor", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "clipContent": false, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n362", + "name": "Tabs", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 0.0, + "alignItems": "start", + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [ + { + "type": "frame", + "id": "n363", + "name": "Tab / main.rs", + "width": "fit_content", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "children": [ + { + "type": "rectangle", + "id": "n364", + "name": "Top", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#0078d4" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n365", + "name": "Label", + "width": "fit_content", + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 0.0, + 10.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n366", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n367", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n368", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n369", + "name": "main.rs", + "width": "fit_content", + "height": "fit_content", + "content": "main.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#ffffff" + } + ] + }, + { + "type": "frame", + "id": "n370", + "name": "Close", + "width": 32.0, + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n371", + "name": "x", + "iconFontName": "x", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + } + ] + }, + { + "type": "rectangle", + "id": "n372", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n373", + "name": "Tab border", + "width": 1.0, + "height": 36.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n374", + "name": "Tab / routes.rs", + "width": "fit_content", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [ + { + "type": "rectangle", + "id": "n375", + "name": "Top", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n376", + "name": "Label", + "width": "fit_content", + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 0.0, + 10.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n377", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n378", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n379", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n380", + "name": "routes.rs", + "width": "fit_content", + "height": "fit_content", + "content": "routes.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n381", + "name": "Gap", + "width": 6.0, + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n382", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n383", + "name": "Close", + "width": 32.0, + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n384", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n385", + "name": "Tab border", + "width": 1.0, + "height": 36.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n386", + "name": "Rest", + "width": "fill_container", + "height": 36.0, + "layout": "vertical", + "gap": 0.0, + "justifyContent": "end", + "children": [ + { + "type": "rectangle", + "id": "n387", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n388", + "name": "Preview", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "padding": [ + 14.0, + 16.0, + 18.0, + 16.0 + ], + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n389", + "name": "函数", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 10.0, + "padding": [ + 8.0, + 10.0, + 8.0, + 8.0 + ], + "alignItems": "start", + "clipContent": false, + "cornerRadius": 8.0, + "fill": [ + { + "type": "solid", + "color": "#242424" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#dcdcaa" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n390", + "name": "Fold", + "width": 14.0, + "height": 20.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n391", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "icon_font", + "id": "n392", + "name": "square-function", + "iconFontName": "square-function", + "width": 18.0, + "height": 18.0, + "fill": [ + { + "type": "solid", + "color": "#dcdcaa" + } + ] + }, + { + "type": "frame", + "id": "n393", + "name": "Content", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 4.0, + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n394", + "name": "Prop / 名称", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n395", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "children": [ + { + "type": "text", + "id": "n396", + "name": "名称", + "width": "fit_content", + "height": "fit_content", + "content": "名称", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n397", + "name": "Value", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 6.0, + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n398", + "name": "main", + "width": "fit_content", + "height": "fit_content", + "content": "main", + "fontFamily": "Menlo", + "fontSize": 13.0, + "fontWeight": 700, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#2aaaff" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n399", + "name": "Prop / 说明", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n400", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n401", + "name": "说明", + "width": "fill_container", + "height": "fit_content", + "content": "说明", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n402", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n403", + "name": "启动接口服务", + "width": "fill_container", + "height": "fit_content", + "content": "启动接口服务", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#6a9955" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n404", + "name": "Prop / 可见性", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n405", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n406", + "name": "可见性", + "width": "fill_container", + "height": "fit_content", + "content": "可见性", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n407", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n408", + "name": "本模块", + "width": "fill_container", + "height": "fit_content", + "content": "本模块", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n409", + "name": "Prop / 返回", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n410", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n411", + "name": "返回", + "width": "fill_container", + "height": "fit_content", + "content": "返回", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n412", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n413", + "name": "()", + "width": "fill_container", + "height": "fit_content", + "content": "()", + "fontFamily": "Menlo", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#4ec9b0" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n414", + "name": "Tools", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 2.0, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n415", + "name": "sparkles", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n416", + "name": "sparkles", + "iconFontName": "sparkles", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n417", + "name": "pencil", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n418", + "name": "pencil", + "iconFontName": "pencil", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n419", + "name": "Editor", + "width": 400.0, + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "clipContent": false, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n420", + "name": "Tabs", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 0.0, + "alignItems": "start", + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [ + { + "type": "frame", + "id": "n421", + "name": "Tab / main.rs", + "width": "fit_content", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "children": [ + { + "type": "rectangle", + "id": "n422", + "name": "Top", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#0078d4" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n423", + "name": "Label", + "width": "fit_content", + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 0.0, + 10.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n424", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n425", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n426", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n427", + "name": "main.rs", + "width": "fit_content", + "height": "fit_content", + "content": "main.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#ffffff" + } + ] + }, + { + "type": "frame", + "id": "n428", + "name": "Close", + "width": 32.0, + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n429", + "name": "x", + "iconFontName": "x", + "width": 15.0, + "height": 15.0, + "fill": [ + { + "type": "solid", + "color": "#cccccc" + } + ] + } + ] + } + ] + }, + { + "type": "rectangle", + "id": "n430", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#1f1f1f" + } + ], + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n431", + "name": "Tab border", + "width": 1.0, + "height": 36.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n432", + "name": "Tab / routes.rs", + "width": "fit_content", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [ + { + "type": "rectangle", + "id": "n433", + "name": "Top", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#181818" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n434", + "name": "Label", + "width": "fit_content", + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "padding": [ + 0.0, + 0.0, + 0.0, + 10.0 + ], + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n435", + "name": "Icon", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "start", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n436", + "name": "Rust", + "width": 16.0, + "height": 16.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n437", + "name": "R", + "width": "fit_content", + "height": "fit_content", + "content": "R", + "fontFamily": "Menlo", + "fontSize": 12.0, + "fontWeight": 700, + "lineHeight": 1.2, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e37933" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "n438", + "name": "routes.rs", + "width": "fit_content", + "height": "fit_content", + "content": "routes.rs", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n439", + "name": "Gap", + "width": 6.0, + "height": 4.0, + "children": [] + }, + { + "type": "text", + "id": "n440", + "name": "M", + "width": "fit_content", + "height": "fit_content", + "content": "M", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#e2c08d" + } + ] + }, + { + "type": "frame", + "id": "n441", + "name": "Close", + "width": 32.0, + "height": 34.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n442", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + } + ] + }, + { + "type": "rectangle", + "id": "n443", + "name": "Tab border", + "width": 1.0, + "height": 36.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + }, + { + "type": "frame", + "id": "n444", + "name": "Rest", + "width": "fill_container", + "height": 36.0, + "layout": "vertical", + "gap": 0.0, + "justifyContent": "end", + "children": [ + { + "type": "rectangle", + "id": "n445", + "name": "Bottom", + "width": "fill_container", + "height": 1.0, + "fill": [ + { + "type": "solid", + "color": "#2b2b2b" + } + ], + "children": [] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n446", + "name": "Preview", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 0.0, + "padding": [ + 14.0, + 16.0, + 18.0, + 16.0 + ], + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n447", + "name": "函数", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 10.0, + "padding": [ + 8.0, + 10.0, + 8.0, + 8.0 + ], + "alignItems": "start", + "clipContent": false, + "cornerRadius": 8.0, + "fill": [ + { + "type": "solid", + "color": "#242424" + } + ], + "stroke": { + "thickness": 1.0, + "fill": [ + { + "type": "solid", + "color": "#dcdcaa" + } + ] + }, + "children": [ + { + "type": "frame", + "id": "n448", + "name": "Fold", + "width": 14.0, + "height": 20.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n449", + "name": "chevron-down", + "iconFontName": "chevron-down", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "icon_font", + "id": "n450", + "name": "play", + "iconFontName": "play", + "width": 18.0, + "height": 18.0, + "fill": [ + { + "type": "solid", + "color": "#73c991" + } + ] + }, + { + "type": "frame", + "id": "n451", + "name": "Content", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "gap": 4.0, + "clipContent": false, + "children": [ + { + "type": "frame", + "id": "n452", + "name": "Prop / 名称", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n453", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "children": [ + { + "type": "text", + "id": "n454", + "name": "名称", + "width": "fit_content", + "height": "fit_content", + "content": "名称", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n455", + "name": "Value", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 6.0, + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "n456", + "name": "main", + "width": "fit_content", + "height": "fit_content", + "content": "main", + "fontFamily": "Menlo", + "fontSize": 13.0, + "fontWeight": 600, + "lineHeight": 1.45, + "textGrowth": "auto", + "fill": [ + { + "type": "solid", + "color": "#dcdcaa" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n457", + "name": "Prop / 说明", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n458", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n459", + "name": "说明", + "width": "fill_container", + "height": "fit_content", + "content": "说明", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n460", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n461", + "name": "启动接口服务", + "width": "fill_container", + "height": "fit_content", + "content": "启动接口服务", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#6a9955" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n462", + "name": "Prop / 可见性", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n463", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n464", + "name": "可见性", + "width": "fill_container", + "height": "fit_content", + "content": "可见性", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n465", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n466", + "name": "本模块", + "width": "fill_container", + "height": "fit_content", + "content": "本模块", + "fontFamily": "PingFang SC", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n467", + "name": "Prop / 返回", + "width": "fill_container", + "height": "fit_content", + "layout": "horizontal", + "gap": 12.0, + "alignItems": "start", + "children": [ + { + "type": "frame", + "id": "n468", + "name": "Key", + "width": 72.0, + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n469", + "name": "返回", + "width": "fill_container", + "height": "fit_content", + "content": "返回", + "fontFamily": "PingFang SC", + "fontSize": 12.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n470", + "name": "Value", + "width": "fill_container", + "height": "fit_content", + "layout": "vertical", + "children": [ + { + "type": "text", + "id": "n471", + "name": "()", + "width": "fill_container", + "height": "fit_content", + "content": "()", + "fontFamily": "Menlo", + "fontSize": 13.0, + "fontWeight": 400, + "lineHeight": 1.45, + "textGrowth": "fixed-width", + "fill": [ + { + "type": "solid", + "color": "#4ec9b0" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "n472", + "name": "Tools", + "width": "fit_content", + "height": "fit_content", + "layout": "horizontal", + "gap": 2.0, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "n473", + "name": "sparkles", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n474", + "name": "sparkles", + "iconFontName": "sparkles", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + }, + { + "type": "frame", + "id": "n475", + "name": "pencil", + "width": 22.0, + "height": 22.0, + "layout": "horizontal", + "gap": 0.0, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "n476", + "name": "pencil", + "iconFontName": "pencil", + "width": 14.0, + "height": 14.0, + "fill": [ + { + "type": "solid", + "color": "#9d9d9d" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "editorMeta": { + "activePageIndex": 0, + "preserveAuthoredGeometry": false + } +} \ No newline at end of file diff --git a/docs/prototype/code-reader/openpencil/exports/entry-style.png b/docs/prototype/code-reader/openpencil/exports/entry-style.png new file mode 100644 index 0000000..30d3b08 Binary files /dev/null and b/docs/prototype/code-reader/openpencil/exports/entry-style.png differ