2026-05-25 03:17:23 +02:00
---
2026-08-28 00:34:03 +02:00
id: RAIL-FAB-WP-ADHOC-2026-05-25
2026-05-25 03:17:23 +02:00
type: workplan
title: "Ad Hoc Fixes 2026-05-25"
domain: railiance
repo: railiance-fabric
status: finished
owner: codex
topic_slug: railiance
created: "2026-05-25"
updated: "2026-05-25"
2026-08-31 23:17:51 +02:00
state_hub_workstream_id: "a18367e0-313b-5049-882e-c87f6d38a931"
2026-05-25 03:17:23 +02:00
---
2026-07-08 20:26:24 +02:00
> **Terminology note:** Historical text in this archived workplan may use the legacy term "workstream". The fleet term is **workplan** (`canon/standards/workplan-terminology-fleet_v0.1.md`).
2026-08-28 00:34:03 +02:00
# RAIL-FAB-WP-ADHOC-2026-05-25 - Ad Hoc Fixes
2026-05-25 03:17:23 +02:00
## Add Zone Layout Algorithm Control
```task
2026-08-28 00:34:03 +02:00
id: RAIL-FAB-WP-ADHOC-2026-05-25-T01
2026-05-25 03:17:23 +02:00
status: done
priority: medium
2026-08-31 23:17:51 +02:00
state_hub_task_id: "15d1dbb0-9327-5692-ae3b-9e2ee37aae8a"
2026-05-25 03:17:23 +02:00
```
The graph explorer now lays zone subgraphs out as a grid inside each zone
container. Add an operator-facing control that can switch the zone-local layout
algorithm while keeping stable zone containers intact.
Expected result: the map controls expose a zone layout selector, the selected
algorithm applies to each zone subgraph, and the setting persists in saved or
copied view state.
Result: Added a `Zone Layout` selector with Grid and Circle algorithms. The
selected algorithm is stored in nested zone view state, reflected by the
`zoneLayout` URL alias for non-default layout, and reapplies zone-local node
placement without moving stable zone containers.
Verification:
- `python3 -m pytest tests/test_graph_explorer.py tests/test_zone_view.py -q`
passed.
- Generated graph explorer JavaScript passed `node --check` .
- `python3 -m railiance_fabric.cli validate .` passed.
- `python3 -m pytest -q` passed with 72 tests.
- Headless Edge screenshots confirmed Grid and Circle zone layouts render.