diff --git a/docs/ZoneEntityVisualization.md b/docs/ZoneEntityVisualization.md index 66f055d..446c3f7 100644 --- a/docs/ZoneEntityVisualization.md +++ b/docs/ZoneEntityVisualization.md @@ -219,6 +219,11 @@ Container state belongs in saved or copied graph view state, not in the Fabric payload. It is an operator workspace preference, similar to manual visibility overrides. +Zone-local layout is also view state. The first selectable algorithms are a +compact grid and a circle layout. Switching between them should rearrange the +assigned nodes inside each stable container without moving the container itself +or changing the underlying Fabric relationships. + ### Context Edges Display-only context edges are not zone connectivity. Repository `declares` diff --git a/docs/graph-explorer-contract.md b/docs/graph-explorer-contract.md index 1e45d54..5af6dc7 100644 --- a/docs/graph-explorer-contract.md +++ b/docs/graph-explorer-contract.md @@ -210,9 +210,10 @@ zone surface position and size in graph coordinates. Global graph layout may place unzoned nodes and provide an initial center for new zones, but existing zone containers should keep their operator-chosen positions when the layout algorithm changes. After the global layout pass, each zone may project its -assigned visible nodes into local coordinates inside its container. The first -local layout may be a deterministic compact layout; later engines can replace -that with per-zone Cytoscape or engine-owned algorithms. +assigned visible nodes into local coordinates inside its container. The current +local layout choices are compact grid and circle. The selected zone-local +layout algorithm belongs in the nested `zone.layout.algorithm` view state so it +can be restored by saved or copied views without changing the Fabric payload. Zone collapse is a view-only operation. A collapsed zone should hide its visible member nodes, replace them with a synthetic zone node, and draw synthetic diff --git a/railiance_fabric/graph_explorer_ui.py b/railiance_fabric/graph_explorer_ui.py index 7a8d623..193257c 100644 --- a/railiance_fabric/graph_explorer_ui.py +++ b/railiance_fabric/graph_explorer_ui.py @@ -455,6 +455,12 @@ def graph_explorer_page() -> str: +