diff --git a/.memory/worklog.json b/.memory/worklog.json
index 9074d6d..e0b63ba 100644
--- a/.memory/worklog.json
+++ b/.memory/worklog.json
@@ -181,6 +181,13 @@
"message": "auto-save 2026-05-12 18:29 (+1, ~1)",
"hash": "aa5ad08",
"files_changed": 2
+ },
+ {
+ "ts": "2026-05-12T18:35:34+08:00",
+ "type": "commit",
+ "message": "auto-save 2026-05-12 18:35 (~3)",
+ "hash": "64db093",
+ "files_changed": 3
}
]
}
diff --git a/web/components/dashboard.tsx b/web/components/dashboard.tsx
index 498488e..7a7a726 100644
--- a/web/components/dashboard.tsx
+++ b/web/components/dashboard.tsx
@@ -102,38 +102,54 @@ export function Dashboard({ data }: Props) {
const toggleTile = (key: string) => setExpanded((prev) => (prev.has(key) ? new Set() : new Set([key])))
const closeTile = (_key: string) => setExpanded(new Set())
+ const Tile = ({ tkey, rowSpan }: { tkey: string; rowSpan?: boolean }) => {
+ const t = TILES.find((x) => x.key === tkey)!
+ const state = colState[t.key]
+ const isOpen = expanded.has(t.key)
+ return (
+
+ )
+ }
+
return (
- {/* Tile Bar — 一直显示 */}
-
- {TILES.map((t) => {
- const state = colState[t.key]
- const isOpen = expanded.has(t.key)
- return (
-
- )
- })}
+ {/* Tile Bar — DAG 拓扑布局:input/download/split → (关键帧路 / 转录路) → compose */}
+
+
+
+
+ {/* 分叉:上下两路 */}
+
+
{/* 展开面板 — 多卡同时展开,按 step 顺序排列 */}
@@ -448,10 +464,7 @@ export function Dashboard({ data }: Props) {
)}
-
-
-
- )}
-
- )
+ >
+ )
+ }
}