M26: the swarm view #40

Open
opened 2026-10-02 04:07:04 +00:00 by jhgaylor · 0 comments
Owner

Depends on: #37, #38, #39 (with one host, it needs only M23 and M24)

Swarm track. The view itself: every pane at once, clustered, with what needs you lifted out to a rail.


There's a prototype with fake data, built from the "hundreds of panes, self-clustering" idea.

  • Where it lives: a Swarm view (/#swarm) beside the tabs, and in the host menu. It works with one daemon too.
  • The field:
    • every pane is a tile colored by kind, with brightness from activity;
    • tiles are pulled toward their cluster's center in proportion to how busy they are, so busy panes sit in the middle and idle ones drift outward;
    • Canvas 2D or WebGL, per S16.
  • Cluster by:
    • project, machine, kind, session or pulse (pouring, ticking, idle, asleep);
    • switching animates the panes to their new clusters;
    • the choice is remembered per device.
  • Zoom (semantic):
    • far out, a pane is a tile;
    • closer, the tile shows stubs of its last lines;
    • closer still, it shows live preview text (M23's on-demand previews);
    • clicking a pane opens it in its tab, connected for real;
    • hover peeks at its last lines, and clicking a cluster's name zooms to it.
  • The "needs you" rail:
    • a pane with an M24 reason flares in place, then flies to a card on the rail, with a thread back to its cluster;
    • cards bundle by the reason's bundle key ("11 failed on build-03", "3 agents ask in illogical"), with bundle actions ("Rerun all 11");
    • acting sends the panes back to the swarm;
    • when the rail is full, the rest pulse in place and the rail says how many are waiting;
    • done cards clear themselves after a while.
  • Correlation: when several panes fail together and share a machine or project you aren't grouped by, offer to cluster by it ("11 panes on build-03 failed within a few seconds").
  • Keyboard: j/k through the rail, a allow, d deny, r rerun, x dismiss, Enter open, f fit.
  • Phone: the rail becomes a strip of cards along the bottom, pinch to zoom, tap to open. Push notifications deep-link to the card.
  • A fake fleet for tests and screenshots: a daemon flag or test harness that runs a few hundred scripted panes (builds, tests, agents, servers, prompts), plus a "make trouble" switch that fails one machine at once. It serves the Playwright tests and just screenshots.
  • Done when:
    • geek's and jake-mini's real panes drive the view;
    • 500 panes draw at 60 fps on the laptop and 30 fps on the phone;
    • a real Claude Code question can be allowed from the rail and the agent continues;
    • a failed cargo test reruns from its card;
    • Playwright covers clustering, bundling and each action against the fake fleet.
**Depends on:** #37, #38, #39 (with one host, it needs only M23 and M24) *Swarm track. The view itself: every pane at once, clustered, with what needs you lifted out to a rail.* -------- There's a prototype with fake data, built from the "hundreds of panes, self-clustering" idea. - **Where it lives:** a Swarm view (`/#swarm`) beside the tabs, and in the host menu. It works with one daemon too. - **The field:** - every pane is a tile colored by kind, with brightness from activity; - tiles are pulled toward their cluster's center in proportion to how busy they are, so busy panes sit in the middle and idle ones drift outward; - Canvas 2D or WebGL, per S16. - **Cluster by:** - project, machine, kind, session or pulse (pouring, ticking, idle, asleep); - switching animates the panes to their new clusters; - the choice is remembered per device. - **Zoom (semantic):** - far out, a pane is a tile; - closer, the tile shows stubs of its last lines; - closer still, it shows live preview text (M23's on-demand previews); - clicking a pane opens it in its tab, connected for real; - hover peeks at its last lines, and clicking a cluster's name zooms to it. - **The "needs you" rail:** - a pane with an M24 reason flares in place, then flies to a card on the rail, with a thread back to its cluster; - cards bundle by the reason's bundle key ("11 failed on build-03", "3 agents ask in illogical"), with bundle actions ("Rerun all 11"); - acting sends the panes back to the swarm; - when the rail is full, the rest pulse in place and the rail says how many are waiting; - `done` cards clear themselves after a while. - **Correlation:** when several panes fail together and share a machine or project you aren't grouped by, offer to cluster by it ("11 panes on build-03 failed within a few seconds"). - **Keyboard:** `j`/`k` through the rail, `a` allow, `d` deny, `r` rerun, `x` dismiss, `Enter` open, `f` fit. - **Phone:** the rail becomes a strip of cards along the bottom, pinch to zoom, tap to open. Push notifications deep-link to the card. - **A fake fleet for tests and screenshots:** a daemon flag or test harness that runs a few hundred scripted panes (builds, tests, agents, servers, prompts), plus a "make trouble" switch that fails one machine at once. It serves the Playwright tests and `just screenshots`. - **Done when:** - geek's and jake-mini's real panes drive the view; - 500 panes draw at 60 fps on the laptop and 30 fps on the phone; - a real Claude Code question can be allowed from the rail and the agent continues; - a failed `cargo test` reruns from its card; - Playwright covers clustering, bundling and each action against the fake fleet.
Sign in to join this conversation.
No description provided.