phosphor-zones

Manual zone data model, registry, and ILayoutSource.

The heart of the manual-tiling model. Zone is a UUID-keyed rect with metadata; Layout is a collection of zones plus per-context (screen/desktop/activity) assignment rules. ZoneDetector resolves cursor-to-zone. LayoutRegistry is the concrete catalogue + assignment store implementing both IZoneLayoutRegistry and the ILayoutSourceRegistry provider contract; ZonesLayoutSource publishes manual layouts to the rest of the stack via ILayoutSource. JSON persistence uses normalised 0..1 coordinates so the same layout works on any screen size.

Full API →

Key types

Zone
Rect, UUID id, label, appearance.
Layout
Collection of zones plus app-rule auto-snap mappings.
IZoneDetector / ZoneDetector
Cursor-to-zone resolver with adjacency-graph navigation.
IZoneLayoutRegistry
Catalogue contract: enumerate, mutate, set active layout.
LayoutRegistry
Concrete IZoneLayoutRegistry + per-context assignment store.
ZonesLayoutSource
ILayoutSource adapter for manual layouts.
ZoneHighlighter
Overlay highlight state machine (hover/drag/snap-flash).

Dependencies

See also

References