Skip to main content

Visual Protocol

Pad-Lattice Visual Protocol 1 defines how agent identity, state, selection, action availability, and capacity appear on any conforming surface.

A protocol, not decoration

Position, hue, shape, brightness, and motion carry defined information. The virtual surface and device profiles translate these semantics into pixels or hardware lights; they do not invent new meanings for them.

Reference Surface

The reference topology is the common Launchpad arrangement: an 8x8 matrix, eight top controls, and eight right-side controls. The browser uses the same geometry, so knowledge transfers directly between virtual and physical pads:

  • the top rail carries actions and system state;
  • the right rail contains eight Agent Scenes;
  • the rightmost matrix column reports the eight visible agents;
  • the remaining 7x8 matrix renders the selected agent.
Show temporarily changes the rails

During Show, the top and right buttons cannot issue actions. They become read-only stage lights in an authored 80-light frame. This does not change their operational Visual Protocol meanings, which return as soon as Show ends or a real agent needs attention. See Outer Rails During Show for the choreography used by each story phase.

The Launchpad Pro Mk1 has additional left and bottom rails. They are optional hardware and remain reserved by this protocol. The virtual surface does not add actions to those reserved positions.

Read each right-hand pair as WHAT / WHO

The square status pad answers what is this agent doing? The round Agent Scene button directly beside it answers who is this, and who will I select? Read the square; press the round button.

ACTIONtop rail: selected-agent commands and system state
approve
CC91
reject
CC92
CC93CC94more
CC95
CC96retry
CC97
stop
CC98
STATE7x8 selected-agent glyph, status column, and Agent Scene strip
S1
88
S2
78
S3
68
S4
58
S5
48
S6
38
S7
28
S8
18
A1
CC89
A2
CC79
A3
CC69
A4
CC59
A5
CC49
A6
CC39
A7
CC29
A8
CC19

Agent Scene 1 is selected and waiting for approval. Its Scene button remains cyan because cyan identifies agent 1. The adjacent S1 pad and the center exclamation mark are amber because amber means approval is needed.

ZoneReference mappingMeaning
Top action/system railCC 91-98Approve, reject, overflow, retry, and stop; unassigned positions remain dark.
State canvasmatrix columns 1-77x8 glyph for the selected agent.
Status columnnotes 88, 78, ..., 18WHAT: dim semantic state for each visible agent.
Right Agent Scene stripCC 89, 79, ..., 19WHO: stable identity; brighter means selected.

The CC values apply to the common Launchpad device profiles. Browser controls occupy the corresponding visual positions without pretending to emit MIDI. Printed musical labels are repurposed while Pad-Lattice owns hardware in Programmer mode.

Ableton Influence

Pad-Lattice borrows the Launchpad interaction language without pretending that an agent is an audio clip:

  • the right-side Scene strip provides eight direct context choices;
  • selection is distinct from the state being controlled;
  • a fixed eight-Scene window represents part of a larger session;
  • unavailable controls are dark and selected controls are brighter.

In Ableton Session View, Scene buttons launch horizontal rows and tracks occupy columns. The Launchpad Pro Sends page also uses the right strip as an eight-choice contextual selector. Pad-Lattice adapts that behavior: an Agent Scene changes the focused agent rather than launching audio.

See the official Launchpad Pro Mk1 user guide and Ableton Session View manual.

Identity Accents

An accent belongs to (backend, session_id), not to a slot. Pad-Lattice stores only a hash of that identity with its preferred accent, so returning sessions remain recognizable without writing raw session IDs to disk.

Agent SceneReference colorLaunchpad palette pair
Cyan🩵37 selected / 39 unselected
Magenta🟪53 / 55
Lime🟢17 / 19
Orange🟠9 / 11
Violet🟣49 / 51
Teal🔷29 / 31
Rose🩷57 / 59
Sky🔵41 / 43

State Glyphs

The selected-agent canvas is 7x8. Shape and color are both normative.

Waiting for reply (?)

Waiting for approval (!)

Success :-)

StateShape and color
runningBlue three-dot ellipsis
waiting_for_replyWhite question mark
user_typingCyan chevron
waiting_for_approvalRestrained amber exclamation mark
successGreen happy face
errorRed X
cancelledGray hollow square
No selectionDim three-pad dash

Rapid flashing and pulsing are not used. Optional running motion is disabled unless the daemon starts with --activity-motion.

Action Semantics

Top controlActionEnabled state
CC 91approveSelected session is waiting for approval and advertises Approve.
CC 92rejectSelected session is waiting for approval and advertises Reject.
CC 97retrySelected session is failed or cancelled and advertises Retry.
CC 98stopSelected session is running and advertises Stop.

An enabled action is bright; a mapped but unavailable action is completely dark. Color is therefore a strict promise that pressing the control will do something now. Presses are debounced and routed only to one pending request for the selected identity. They are never broadcast. CC 93, 94, and 96 remain unassigned. CC 95 is a steady amber overflow indicator.

Capacity and Device Independence

The reference surface shows eight Agent Scenes. When a ninth session arrives, the daemon may move the least recently active unselected, non-approval session to overflow. Selected and approval-waiting sessions are protected. Ending the selected session clears selection and shows the idle dash; another agent is never silently targeted.

The common Launchpad mapping is a reference topology, not a requirement that every implementation look like a Launchpad. Another browser presentation or MIDI device may relocate these roles, but it must preserve separate identity and state, selected-agent feedback, capability-gated targeted actions, visible overflow, and distinguishable shapes and colors without rapid flashing.

Conformance

LevelRequirement
core-stateRender every protocol state with distinguishable shape and semantic hue.
multi-agentPreserve selected identity, per-session status, distinct accents, and overflow.
actionsExpose capability-gated, selected-session action controls.

The bundled Launchpad profiles declare all three levels.