tiletopia/src/lib/layout
megaproxy 94bdb884ad Fix resize artifacts: rAF-throttle drag + force xterm repaint
Two related fixes for stale glyphs / visual artifacts while dragging
a gutter:

- Gutter.tsx: pointermove now writes the new ratio into a ref and
  schedules a single requestAnimationFrame flush per frame. Without
  this, setTree fires 60+ times per second during a drag and React
  + ResizeObserver + xterm's DOM renderer get out of sync. The
  pointerup handler flushes any pending ratio so the final position
  always lands.

- XtermPane.tsx: the ResizeObserver callback now also rAF-coalesces
  AND calls term.refresh(0, term.rows - 1) after fit.fit(). xterm's
  DOM renderer doesn't reliably repaint freed-up rows after a
  shrink, so the explicit refresh wipes any stale glyphs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 21:40:16 +01:00
..
Gutter.css Flat-list layout: render leaves as siblings keyed by id 2026-05-22 19:39:58 +01:00
Gutter.tsx Fix resize artifacts: rAF-throttle drag + force xterm repaint 2026-05-22 21:40:16 +01:00
LeafPane.css Replace idle toasts with pane border + titlebar badge 2026-05-22 19:54:20 +01:00
LeafPane.tsx Add keyboard shortcuts (Ctrl+Shift chord style) 2026-05-22 21:32:51 +01:00
orchestration.tsx Replace idle toasts with pane border + titlebar badge 2026-05-22 19:54:20 +01:00
tree.test.ts Add vitest + 43 unit tests for tree.ts 2026-05-22 13:28:02 +01:00
tree.ts Add keyboard shortcuts (Ctrl+Shift chord style) 2026-05-22 21:32:51 +01:00