Hold the panel open through a planning call and type the plan in as it changes

Merged
CH
20d ago
+750-32

First of four stacked PRs for a live notetaker in planning calls.

While a planning call is running, moving the pointer off the notch panel no longer collapses it. When the call ends, the panel closes on its normal delay. The open plan's document now types each change in with a caret:

  • The plan is split into its template units at the ##/### headings.
  • Each unit's visible text chases the newest document at a steady 12 characters a second, about a fast typist.
  • Units type in document order behind one caret, and the field being written gets a small "writing" dot.
  • Each unit gets a fading tint as it settles.
  • While the plan's call is in progress, the caret waits at the end of the last thing written and blinks like an editor's idle cursor. It holds solid while typing, and no caret shows once the call ends.

Partial Markdown is cut on the rendered tree, not the source, so half-typed emphasis and lists never flicker. Reduced motion shows each change at once.

With this PR alone, saves still arrive on the 3 s poll and type in. PR 3 feeds live drafts into the same chase.

Testing

  • ./scripts/check.sh passes on Linux.
  • New tests: plan-reveal.test.ts (unit split, typing pace, rewrites, caret order, the resting caret), markdown-message.test.ts (partial reveal), planning-model.test.ts (the panel hold).
  • CI could not verify this. It is a Mac UI change, and no ./scripts/verify.sh run or visual evidence was taken, because this was built in a Linux sandbox. The panel hold and the typing were tried by hand in real planning calls on a Mac against the stack's preview; the resting caret was added after that and has not been seen on a Mac.

šŸ¤– Generated with Claude Code