| Date | Message | Author |
| 2026-09-20 | focus: pick directional targets by window footprint, not center | Lucas Galante |
| 2026-09-19 | test: fail when CLAUDE.md's test-count claims drift from the source | Lucas Galante |
| 2026-09-19 | docs: backtick the remaining two bracketed intervals | Lucas Galante |
| 2026-09-19 | docs(ramp): backtick the [0,1] interval so rustdoc stops reading it as a link | Lucas Galante |
| 2026-09-19 | docs(camera): visible_fraction no longer feeds focus-follow | Lucas Galante |
| 2026-09-19 | docs: test count, test-module exceptions, and the focus-follow rule | Lucas Galante |
| 2026-09-19 | docs: committing is not publishing — origin is a pushable bare repo | Lucas Galante |
| 2026-09-18 | snap: resize_axis_tiled — hard whole-cell snap for resizing a Tiled window | Lucas Galante |
| 2026-09-16 | arrange: order the bar's combined stats segment between tray and clock | Lucas Galante |
| 2026-09-15 | feat(bindings): parse touchpad gesture chords (swipe3_left, pinch_out) | Lucas Galante |
| 2026-09-14 | feat(camera): a floating window beside the tiled desk is not recalled | Lucas Galante |
| 2026-09-14 | fix(ramp): mirror cce-ui's monotone-cubic smooth ramp | Lucas Galante |
| 2026-09-12 | feat(camera): focus pans only as far as it must, never to centre | Lucas Galante |
| 2026-09-11 | feat(overview): displacement never crosses the floating/tiled planes | Lucas Galante |
| 2026-09-09 | feat(camera): recall a remembered floating window into view when it is off it | Lucas Galante |
| 2026-09-08 | feat(actions): the move_window_* steps move a floating window too | Lucas Galante |
| 2026-09-06 | fix(snap): pull edges in continuously instead of jumping onto the target | Lucas Galante |
| 2026-09-06 | Rename the internal backplate vocabulary to root plate (cce-ui RFC 7a-4) | Lucas Galante |
| 2026-09-06 | fix(fullscreen): the toggle's exit restores the mode and lock it replaced | Lucas Galante |
| 2026-09-04 | fix(arrange): round virtual-to-screen placement instead of truncating | Lucas Galante |
| 2026-09-03 | fix(arrange): stop dimming unfocused windows — it read as a blur change | Lucas Galante |
| 2026-08-30 | feat(state): record the grid the saved geometries were measured under | Lucas Galante |
| 2026-08-28 | feat: step a tiled window across the grid, swapping with its neighbour | Lucas Galante |
| 2026-08-28 | docs: the arrange pass's notes name things that were renamed under them | Lucas Galante |
| 2026-08-28 | feat: the keyed overview exit lands on the focused window | Lucas Galante |
| 2026-08-27 | feat: overview_enter / overview_exit — one key per direction | Lucas Galante |
| 2026-08-27 | docs: document cells, spawn, ramp and query | Lucas Galante |
| 2026-08-27 | feat: spawn::nearest_free — step a block off what already occupies it | Lucas Galante |
| 2026-08-27 | feat: spawn::place_at_cell — open a window where you asked for it | Lucas Galante |
| 2026-08-21 | feat(camera): centered_window_origin — place a window at the viewport center | Lucas Galante |
| 2026-08-21 | feat: cells::remap_block — re-tile a block across a grid-geometry change | Lucas Galante |
| 2026-08-21 | feat: independent desktop cell width and height | Lucas Galante |
| 2026-08-21 | fix: hard-snap displaced tiled windows — the magnetic snap had a dead band | Lucas Galante |
| 2026-08-20 | camera: add pinch_zoom for continuous touchpad pinch | Lucas Galante |
| 2026-08-18 | fix: plan the grid's you-choose size only before the first patch | Lucas Galante |
| 2026-08-17 | feat: WindowRole::Grid — world-anchored grid-client placement | Lucas Galante |
| 2026-08-16 | feat: TilingMode::Utility — the client owns the size, always | Lucas Galante |
| 2026-08-16 | fix: finish the cce-mail rename in the query test's own queries | Lucas Galante |
| 2026-08-15 | rename: refer to cce-mail, not cce-email | Lucas Galante |
| 2026-08-14 | chore: refresh Cargo.lock against the current dependency graph | Lucas Galante |
| 2026-08-13 | feat: name the world square each drawn grid cell is | Lucas Galante |
| 2026-08-13 | feat: chess-style grid-square coordinates + hard snap for Tiled windows | Lucas Galante |
| 2026-08-13 | perf: gate status-bar arrange tracing behind CCE_ARRANGE_DEBUG | Lucas Galante |
| 2026-08-12 | feat: Tiled/Floating window modes, overview displacement, expose→overview | Lucas Galante |
| 2026-08-11 | docs: replace codeberg remote reference with the gitsite/git.lucas.co model | Lucas Galante |
| 2026-08-11 | arrange: let fresh floating windows choose their own size | Lucas Galante |
| 2026-08-10 | feat: anchored_interp — anchor-stable zoom-pan interpolation | Lucas Galante |
| 2026-08-10 | refactor: remove the viewport tag actions | Lucas Galante |
| 2026-08-09 | feat: ship zoom chords unbound — they live in input.kdl now | Lucas Galante |
| 2026-08-06 | feat: light_source segment travels the screen perimeter with the time of day | Lucas Galante |
| 2026-08-05 | feat: expanded status segments — in-surface menus keep their slot | Lucas Galante |
| 2026-08-05 | feat: configurable status segment spacing (ArrangeParams::status_module_spacing) | Lucas Galante |
| 2026-08-04 | feat: nudge_into_view — minimal pan for clipped focused windows | Lucas Galante |
| 2026-08-04 | feat: SpeedRamp — ramp-spec speed profiles for camera transitions | Lucas Galante |
| 2026-08-04 | feat: animate flag on SetCamera — eased overview enter/exit | Lucas Galante |
| 2026-07-28 | feat: volume/brightness media keys as first-class actions | Lucas Galante |
| 2026-07-28 | feat: snap threshold is screen-space constant under zoom | Lucas Galante |
| 2026-07-28 | feat: Screenshot action, bound to Print by default | Lucas Galante |
| 2026-07-28 | fix: grid placement is world-true at fractional zooms | Lucas Galante |
| 2026-07-28 | feat: overlay-side command + next-visible-focus rule | Lucas Galante |
| 2026-07-28 | docs: CLAUDE.md — background module | Lucas Galante |
| 2026-07-28 | feat: background module — desktop grid drawing plan; real GridSpec | Lucas Galante |
| 2026-07-28 | feat: query module — window-query matching rules | Lucas Galante |
| 2026-07-28 | feat: Toggle joins DefaultPolicy — match-existing-vs-spawn decision | Lucas Galante |
| 2026-07-28 | feat: window-management actions join DefaultPolicy | Lucas Galante |
| 2026-07-28 | docs: CLAUDE.md — trait boundary is live, snapshot-style | Lucas Galante |
| 2026-07-28 | feat: snapshot-style Policy/Compositor traits, driven by DefaultPolicy | Lucas Galante |
| 2026-07-28 | feat: camera module — viewport pan/zoom policy math | Lucas Galante |
| 2026-07-28 | feat: pan module — cell-aligned viewport pan stepping | Lucas Galante |
| 2026-07-20 | feat: WindowSwitcherPrev action with super+shift+tab default binding | Lucas Galante |
| 2026-07-18 | feat: snap window content to grid cells instead of border outer edges | Lucas Galante |
| 2026-07-16 | feat: directional focus — FocusUp/Down/Left/Right actions and selection | Lucas Galante |
| 2026-07-16 | feat: bindings module — keybinding vocabulary for the wm domain | Lucas Galante |
| 2026-07-15 | feat: snap::resize_axis — single source for interactive resize sizing | Lucas Galante |
| 2026-07-15 | feat: Maximized windows snap to visible cell edges | Lucas Galante |
| 2026-07-15 | fix(snap): target visible cell edges, not grid lines | Lucas Galante |
| 2026-07-15 | feat: magnetic grid-snap math for interactive move/resize | Lucas Galante |
| 2026-07-15 | Initial commit: window-management policy layer extracted from cce | Lucas Galante |