summaryrefslogtreecommitdiffhomepage
path: root/src/features/layout
AgeCommit message (Collapse)Author
4 daysfeat(layout): GSAP height animation when sidebar views are added, closed or ↵Adam Malczewski
changed
5 daysfix(review-3.6): invalidate history caches by epoch and coalesce syncsAdam Malczewski
11 daysfix(ui): lint-clean dvh fallback (@supports); left padding for the overlay ↵Adam Malczewski
(mobile) sidebar
11 daysfeat(ui): raised '+ Add view' sidebar button (mirror of the view wells) with ↵Adam Malczewski
gap-matched bottom spacing; dvh app-shell height for iOS toolbars
11 daysfeat(ui): Artix-style inset wells (chat thinking/tool blocks + sidebar ↵Adam Malczewski
views) and darkstrap navbar header in theme colours
12 daysfeat(account-usage): sidebar Usage view with Claude/Codex quota bars + ↵Adam Malczewski
on-track pace markers Consumes GET /usage (transport-contract 0.25.0). DaisyUI progress bars per quota window with a dot at the elapsed fraction of the window (the 'on track' level), ahead/under-pace labels, reset countdowns, stale/unavailable/not-configured states.
2026-09-06fix(layout): draw diagnostic tile markers inset + frame the sidebar ↵Adam Malczewski
viewport, not its scrolled content Two renderer bugs made the diagnostic layout plugin's borders useless: 1. Borders went past the panels and were invisible at screen edges: CSS outlines draw OUTSIDE the border box by default, and tiles span their containers edge-to-edge, so the 4px ring overflowed the visible area and was clipped. The outline is now inset (outline-offset: -4px) so it draws inside the tile's box. 2. The green side border scrolled with the sidebar: the marker was drawn on the TilePanels root, which is the SCROLLED CONTENT of the split's collapsible child. The marker now lives on the split's scroll-viewport div — the sidebar's fixed, opaquely-painted frame: its box never moves (only its contents scroll), and its own outline is never clipped by its overflow. (The aside behind it can't carry the marker — the scroll viewport's bg-base-100 paints over an outline drawn on the aside.) markerStyle() centralizes the full declaration (outline + inset offset) and returns undefined for unmarked/unknown markers, so unmarked trees still render with zero outline CSS (pinned by the existing tests). Paint layering verified with a headless-Chromium screenshot of a probe page reproducing the exact DOM + computed styles.
2026-09-06feat(layout): re-probe the layout when the workspace's plugin states changeAdam Malczewski
The backend now activates layout providers PER WORKSPACE (the workspace's per-workspace enablement state picks the ONE active layout plugin), so toggling a layout plugin in the workspace plugins modal changes which tree serves the workspace. The modal's toggle now refreshes the layout so the newly-enabled provider's tree (or the no-provider degrade) lands without a reload: - WorkspaceLayoutPort gains refresh(workspaceId) — the modal calls it after every state write (an attempted write re-probes either way: the probe is the idempotent catch-up; a refused write changed nothing, so it re-syncs the same tree). - App.svelte wires the port to the layout store's new onWorkspacePluginsChanged(workspaceId) — a guarded re-probe that only fires for the ACTIVE workspace (another workspace's toggle is picked up by its own probe on switch, exactly like the other §2.6 triggers). The per-workspace tree resolution itself is backend-side; the marker renderer, the probe triggers, and the WS push filtering are unchanged. Verification: typecheck (svelte-check 0 errors) / test (1528) / check / build all green.
2026-09-05feat(layout): renderer renders tile border markers (main red / side green)Adam Malczewski
2026-09-05fix(layout): keep chat transcript region full-height when empty (composer ↵Adam Malczewski
pinned to bottom)
2026-09-05feat(layout): plan 04 — ABI layout.applyOps + reset affordanceAdam Malczewski
2026-09-05feat(layout): plan 03 — frontend plugin ABI + handshake + load lifecycleAdam Malczewski
2026-09-05style(layout): biome format plan-02 layout testsAdam Malczewski
2026-09-05feat(layout): plan 02 — provider consumption + layout WS + localStorage ↵Adam Malczewski
migration
2026-09-05feat(layout): plan 01 — tile engine + view registryAdam Malczewski