mirror of
https://github.com/hansjone/netx.git
synced 2026-10-19 18:20:48 +08:00
Converge netx-topology MCP to dual-unit drain + orbit/polish mainline.
Trim public tools to 14, expose only kept layout actions/recipes, merge Fabric queries, drop createTopologyView/listTopologyViews, and align skill/docs with the live catalog. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
9bcb8ee0e3
commit
79f929de0c
86 changed files with 31578 additions and 240 deletions
|
|
@ -0,0 +1,35 @@
|
|||
"""Ring/chain layout entry: dual-hub min-rings first, else UME petals.
|
||||
|
||||
- ``min_rings``: two agg hubs + ≥2 parallel corridors → nested ellipse bands
|
||||
(A1-ULU / PLAU↔ATP style). Prefer when structure says ``agg_bar``.
|
||||
- ``ume_petals``: rect-perimeter petals around AN anchors (legacy Sugiyama path).
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from netx_topology_mcp.layout_ops.min_rings import build_min_ring_skeleton
|
||||
from netx_topology_mcp.layout_ops.state import LayoutParams, LayoutState, OpResult
|
||||
from netx_topology_mcp.layout_ops.sugiyama import build_sugiyama_layout
|
||||
|
||||
|
||||
def build_ring_skeleton(state: LayoutState, params: LayoutParams | None = None) -> OpResult:
|
||||
params = params or LayoutParams()
|
||||
dual = build_min_ring_skeleton(state, params)
|
||||
if dual is not None:
|
||||
return OpResult(
|
||||
state=dual.state,
|
||||
moved=dual.moved,
|
||||
op="build_ring_skeleton",
|
||||
params={**(dual.params or {}), "mode": "min_rings"},
|
||||
note=dual.note,
|
||||
)
|
||||
out = build_sugiyama_layout(state, params)
|
||||
st = out.state
|
||||
st.meta["rings_mode"] = st.meta.get("rings_mode") or "ume_petals"
|
||||
return OpResult(
|
||||
state=st,
|
||||
moved=out.moved,
|
||||
op="build_ring_skeleton",
|
||||
params={**(out.params or {}), "mode": st.meta.get("rings_mode", "ume_petals")},
|
||||
note=out.note or "UME petal rect-perimeter skeleton",
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue