Create a WM service. If strategy is omitted, a no-op identity strategy
is used (returns windows unchanged) — consumers can ship a working shell
before implementing a concrete layout.
The strategy is closure-scoped. Consumers invoke
strategy.arrange(windows, containerRect) from their own event handlers
using state snapshots. This factory does NOT call arrange() internally;
only consumers know when a re-layout is appropriate.
Create a WM service. If
strategyis omitted, a no-op identity strategy is used (returns windows unchanged) — consumers can ship a working shell before implementing a concrete layout.The strategy is closure-scoped. Consumers invoke
strategy.arrange(windows, containerRect)from their own event handlers using state snapshots. This factory does NOT call arrange() internally; only consumers know when a re-layout is appropriate.