feat: add topology view mode with router icons and link-style edges

Canvas-global nodeViewMode (bubble/card/topology) can be set at create or via prefs; topology draws NE routers with straight blue center links and exposes router icon to agents.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-12 22:35:53 +08:00
parent 200c8bd450
commit 74f0d8e78a
15 changed files with 322 additions and 103 deletions

View file

@ -238,14 +238,23 @@ export function App() {
</button>
<button
type="button"
onClick={() =>
void setPrefs({
nodeViewMode:
canvas?.prefs.nodeViewMode !== "bubble" ? "bubble" : "card",
})
}
onClick={() => {
const cur = canvas?.prefs.nodeViewMode ?? "card";
const next =
cur === "bubble"
? "card"
: cur === "card"
? "topology"
: "bubble";
void setPrefs({ nodeViewMode: next });
}}
>
模式: {canvas?.prefs.nodeViewMode !== "bubble" ? "卡片" : "气泡"}
模式:{" "}
{canvas?.prefs.nodeViewMode === "bubble"
? "气泡"
: canvas?.prefs.nodeViewMode === "topology"
? "拓扑"
: "卡片"}
</button>
<button
type="button"