phosphor-snap-engine

Manual zone-based placement engine.

Implements IPlacementEngine for screens running a user-drawn zone layout. Owns auto-snap on window open, directional zone navigation, floating, rotation, and resnap-on-layout-change. Owns SnapState (per-screen IPlacementState for zone assignments + pre-tile geometry) and SnapNavigationTargetResolver (pure compute for keyboard-navigation target geometries). Reads from LayoutRegistry, ZoneDetector, and the shared engine services; reaches into compositor-shadow state through narrow typed interfaces (INavigationStateProvider, IZoneAdjacencyResolver) the daemon's adaptors implement.

Full API →

Key types

SnapEngine
Concrete IPlacementEngine for manual zone layouts.
SnapState
Per-screen IPlacementState: zone assignments, pre-tile geometry.
ISnapSettings
Settings contract (declared in PhosphorEngine).
INavigationStateProvider
Narrow read-only state contract the daemon implements.
IZoneAdjacencyResolver
Directional zone lookup contract the daemon implements.
SnapNavigationTargetResolver
Pure compute for move/focus/swap/cycle/restore target geometries.

Dependencies

See also

References