Pimp My IDE / garage dispatch
Back to garage
October 1, 2026 | interface craft / control panels

Stop drawing dashboards. Build modules.

Old industrial panels make every control earn its square of metal. IDEs need the same discipline as agent sessions add worktrees, hosts, models, and remote jobs.

One module gets one job. Its label names the object. Its state is readable without color. Its action returns a result.

The old panels have strict grammar.

Marcin Wichary photographed modular control panels in German and Polish museums. The panels vary in age and purpose, but the useful pattern is consistent. Lamps, counters, switches, labels, and guards occupy fixed modules. A damaged or removed module leaves an obvious hole. Status is attached to a place, not floated over a picture.[1]

This is more than a retro look. A fixed module forces the designer to answer basic questions. What does this control operate? What state can it show? What happens after someone touches it? A generic icon rail can avoid those answers.

A cockpit becomes legible when each square has one contract.

Modern agent tools are adding more objects.

Visual Studio Code 1.140 adds experimental multi-folder sessions and remote delegation. One agent session may now contain chats tied to different folders or worktrees. Connected hosts may run delegated work elsewhere. The release notes also say the dedicated agent-host process can support the same session across several editor windows.[2]

Zed 1.22 adds per-spawn model selection for subagents and shows the active model in the subagent card. The same release removes Stop controls from terminals owned by an external agent. That change matters because the display was not the process owner.[3]

These products need more interface, but not more anonymous chrome. Folder, worktree, host, model, owner, and completion state should live on named modules. If a control cannot reach the object, it should not look like an actuator for that object.

A tiny target is still a bad switch.

WCAG 2.2 sets a 24 by 24 CSS pixel minimum target size at Level AA, with defined exceptions for spacing, equivalent controls, inline targets, browser-owned controls, and essential presentations. The guidance also says larger targets help many people and points important controls toward the stricter target-size criterion.[4]

A physical panel makes control size part of the design. Software often treats it as spare space. Give frequent and risky actions a real module. Keep their labels visible. Do not make a user steer between six twelve-pixel glyphs to find the one that can delete, stop, merge, or delegate.

Use three module classes.

An observe module reports state and does not pretend to command anything. A command module names the object and the owner that receives the action. A receipt module keeps the response, exit state, revision, or other proof. Products can combine the three in one card, but the labels should keep the roles separate.

Start with the object, not the visual treatment. Write the label. Name the state. Name the action. Decide what response stays visible. Only then choose the lamp, switch, counter, or guard.

Interactive makeover / panel discipline bench

Turn an icon into a control contract

Traditional purpose replaced: a dense strip of unlabeled icons. Better version: choose the module job, select the contract fields, inspect the connected backplane, and copy a review sheet.

Choose the module job

This teaching demo drafts a module review. It does not inspect a live IDE or prove that a control works.

Module class
Ordered contract fields

Selected fields change the review sheet. They do not mean that a production control passed.

Modular backplane / review route

Control module

Observe / 1 field

Three review fields are open.

Define the state before you add an action.

Four bays / one contract

Design the meaning before the metal.

01 / OBJECT

Name the thing

Use a session, folder, worktree, host, model, process, artifact, or review. Do not label it "item."

02 / STATE

Make it readable

Pair color with a word, number, position, or shape. Keep the current state next to its object.

03 / OWNER

Match authority

Show an action only where the interface can reach the process or person that owns the work.

04 / RESULT

Keep the response

Retain the exit state, acknowledgment, revision, or proof link after the animation ends.

Sources read

Source log and evidence boundary
  1. Marcin Wichary, "Before pixels: Modular industrial dashboards", published September 30, 2026 and read October 1, 2026. The photo essay documents modular control panels in transport, communications, and power museums. The author labels uncertain identifications as uncertain.
  2. Visual Studio Code 1.140 release notes, released September 30, 2026 and read October 1, 2026. The notes describe experimental multi-folder sessions, remote delegation, and a dedicated agent-host process.
  3. Zed 1.22.0 release notes, published September 30, 2026 and read October 1, 2026. The release adds per-spawn model selection and removes Stop controls from externally managed terminals because the external agent controls them.
  4. W3C WAI, "Understanding SC 2.5.8: Target Size (Minimum)", read October 1, 2026. It explains the 24 by 24 CSS pixel Level AA minimum and its exceptions.
  5. Hacker News item 49912792, fetched from the Hacker News API and opened October 1, 2026. It pointed to Wichary's essay. It is a discovery route, not evidence for the product or accessibility claims.

Evidence boundary: The museum photographs document physical panel designs. Microsoft and Zed document their own releases. W3C documents the accessibility criterion. The three module classes and four-field review are Pimp My IDE editorial guidance. We did not run VS Code 1.140 or Zed 1.22 in this pass.