Files
orca/src
Jinwoo Hong 738e0e034b refactor(layout): add the per-view store, pane status and runtime leaf-record projection (unused) (#27535)
* refactor(layout): add the per-view store, pane status and runtime leaf-record projection (unused)

Pure pieces the layout holder will use, with no caller yet:
- per-view records keyed by view id (desktop, device:<id>), read-time
  fallback for removed tabs and panes, save-time prune and workspace removal;
- pane status derived from the start token, last outcome, sleeping record,
  PTY registry and host reachability;
- the runtime's tab and leaf records projected from the layout model and the
  PTY registry in the graph mirror's shape, checked against records captured
  from today's mirror.

* fix(layout): follow today's close selection, title resets and lost-host status in P6

- A close moves each view's shown tab when applied, with the pre-close
  order: most recent remaining, else the closed tab's neighbour, through
  the headless close's pickNextActiveTabAfterClose (now exported).
- The projection's pane title is the newer of the PTY's OSC title and the
  neutral reset the window applies after an agent exits or is interrupted;
  those reset rules move to shared/terminal-pane-title-reset.ts and the
  renderer uses them unchanged.
- A leaf is connected, as in the mirror, unless the host proved an exit,
  but only when the PTY registry holds the terminal.
- An unbound pane on a lost host is waiting_for_host.
- The mirror capture covers a title reset, a lost host and an unregistered
  PTY, and names each difference from the mirror.

* fix(layout): an emptied group hands a view's active group to its split sibling, as collapseGroupLayout does
2026-10-11 15:35:25 -04:00
..