Panels
Triform's production panels are 800-6000 lines of Rust each. Each card below mounts the REAL panel component over fixture data — the same shipped chrome the workspace renders — as a non-interactive thumbnail. Open any card for the full interactive panel plus its composition spec, driven by the generated manifest in chemistry/generated/panel-showcase/ — the panel-harmonization scoreboard (IMPROVE-276).
7 / 30 truly complete (real + fully adopted) — 0 partially applied, 4 declared-but-unapplied, 0 placeholder
A green badge means real + fully dispatched for every bound element type. An amber badge means a real, shipped panel whose runtime dispatch is still partial or intentionally pending — it is the honest "still to do" signal, not a broken or placeholder panel. Open any card for the specific reason.
Applied 0 / 1 element type(s)
Read-only schema inspector for automation I/O boundaries. When a user clicks a synthesised Input or Output node inside a drilled-in automation, this anchored popover opens next to the click point and shows the boundary's role, a one-line intent blurb, and — when the boundary is wired to an I/O element — the resolved JSON Schema. Dismissed via backdrop click, [×] close, or Escape.
Applied 4 / 4 element type(s)
Kanban-style work surface for board element types. Columns are configurable per board variant (planning lanes, recruitment funnel, sales pipeline stages, generic board). Cards drag between columns; selection opens a centered CardDetail modal.
Applied 1 / 1 element type(s)
Live-streamed remote browser session with multi-tab management and WebRTC / JPEG / DOM transports. Session discovery and creation live in the browser overview; the focused panel uses a single WorkspaceShell surface with a clickable Browser breadcrumb, tabs-first header chrome, and a stable connection/status strip.
Applied 2 / 2 element type(s)
Unified bar — the conversational surface for human + agent interaction. Three states: Collapsed (floating chip with idle / typing indicator), Expanded (drawer with feed + filter + input), Fullscreen (takes over the viewport for long-form review). Lives outside the canvas so every workspace surface can dispatch into it without unmount/remount.
Applied 0 / 4 element type(s)
Unified messaging surface — email (inbox / sent / trash / unread), alerts (triggered / acknowledged / history), voice calls (inbound / outbound / missed), and the people address book. Section IA lives in YAML and renders into COMMUNICATION_SECTIONS via the shell generator.
Applied 4 / 4 element type(s)
Connection status and control surface for io elements. The connector panel reads element health through EntityStore signals and renders a declarative body — connection badge, executor selector, error-recovery CTAs, and element-specific actions — generated per element type from the connector shell descriptor. It is element-agnostic across the io family; every io element with a connector descriptor gets an instance.
Applied 0 / 1 element type(s)
Person card detail surface — the four-zone identity layout (HEADER / DECIDE / DEFINE / CONTEXT) fetched on demand when a row in PeopleListView is clicked. Mutations flow through detail_ops async helpers; every successful op re-fetches and notifies the parent list to refresh.
Applied 0 / 1 element type(s)
Call management and dialing for a circle's phone number. The panel is a two-surface workbench — a Dialer keypad for outbound calls and a Recent calls history — selectable from the rail or by keyboard. A call-state machine drives the body: while a call is live it takes over the whole viewport as an active-call overlay and the rail is suppressed. Before a number is provisioned the panel walks the user through claim / activate.
Applied 1 / 1 element type(s)
Single-step run control for a resolved automation step. When a user clicks a step tile whose reference points at an existing element, this panel surfaces the step's identity, the element it invokes, the parent automation path, and a Run button with an optional JSON input override. The step runs in isolation — edge-hydrated from upstream steps — and the result renders inline as pretty JSON, a failure pill, or a defensive empty state when the step produced no output.
Applied 3 / 3 element type(s)
Element-backed terminal workbench for CLI agent elements. The overview lists Claude Code, Open Code, and Codex agents in the circle; selecting one opens that element's PTY stream with the element id as session_id.
Applied 1 / 1 element type(s)
Recovery surface for an automation step whose reference is broken. When a user clicks a step tile whose `ref` slug matches no existing element, this panel takes the Properties Panel's place and offers two concrete exits: Create the missing element from a type picker, or Remove the dangling step from the automation. It surfaces the unresolved slug, the step's upstream dependencies, and the automation path — a flow-first alternative to a generic "element not found" dead end.