| Age | Commit message (Collapse) | Author | Files | Lines |
|
On screen the spiral alone read as loose: separation keeps the spiral's
gaps, and the previews filled 24 to 30% of the screen. Thirty rounds now
pull every window 15% closer to the centre and push them apart again,
which fills 35 to 55% and makes each preview up to 1.5x larger. Twenty
windows lay out in about 4ms.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
layout() seeds windows on a golden-angle spiral, most recent at the centre,
pushes overlapping pairs apart along the axis that costs less screen, and
fits the result with one scale so sizes stay relative. The spec's first
seed, the windows' real positions, was prototyped and dropped: every window
on this desk fills its monitor, so they started in one pile, and pushing a
pile apart made a line that still overlapped after 300 passes and filled
8 to 15% of the screen. The spiral converged in 1 to 55 passes. Comparing
overlaps in raw pixels stacked wide windows into a column, which is why the
axis choice divides by the screen's width and height.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The window-switcher grid becomes a Mission Control scatter: previews keep
their real shape and relative size, seeded from their real positions and
pushed apart, then fitted with one scale. A top-right hot corner on DP-1
opens it after a 250ms glow that warns before it fires, and stays inert
while gaming. shared/Status.qml is not linked into window-switcher because
a second instance would run its own game poll and react to presentation
twice; the corner reads status.gaming directly.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|