Theme

v10 · Specimen 2026 · apparat · the mechanism set expanded

Each mechanism, its own logic.

v10 keeps everything v9 got right — the rolling-ball toggle, hairline linework, light physicality, enamel palette — and corrects the small details that didn't: knob tickmarks now sit cleanly in the ring outside the cap, the rocker indicator floats free of the pill's top edge. The pips are now pucks-in-cuts (rocker grammar, small scale). The toggle's off-state shows three hairline detent dots inside the empty slot. And the mechanism vocabulary grows: a step counter, a pivoting lever, a number tumbler, a segmented gauge, a press-and-hold confirmation pad. Each does one thing, in its own mechanical way.

Lockable
Neg. press.
Revit sync
In-Hospital Care setting
Phase
Severity 3 / 6
Room area
168 NSF
01Kugel · ball in cut slot
02Knob · puck with marker
03Rocker · extruded cell
04Pips · domino quantity
00

Operating Map

new checkpoint · workflow before mockup

This pass changes the purpose of v10: the page is no longer only a mechanism catalog. It now has to prove how Arrange's real work threads intersect without losing any existing UI exploration.

Room object · active threads
Program Criteria Equipment Templates MEP Revit Workbench MOVE Tasks / Notes Reports
01

Grammar Foundations

the language before the sentences

v10 is built from a tiny grammar. The system has three peer primitives, four reductions, and one light source. Everything else — toggles, dials, sliders, hold-pads — is a sentence assembled from this vocabulary. The point is restraint: a designer should be able to compose any new control without inventing a new primitive.

1A · the three peers

Cut · Puck · Zone

Three peer-level primitives sit at the same hierarchy. Each does one thing the others can't, and each composes with the others. Every visible element in v10 belongs to one of these three roles.

CUT

A depression in the surface. The cut's interior is the SAME color as the field — depth comes only from inset shadows. Cuts can hold pucks, text, dots, or fill with enamel to express state.

PUCK

A raised operable element — a button, knob, wheel, or dial. Pucks for actions live in cuts (the cut is the puck's address). Pucks for persistent state (Type-B) sit on the surface with a state ring.

ZONE

A same-level region on the surface, tonally distinct from the surrounding field. The zone says "operable elements live inside this area" without changing depth — pucks and cuts compose within it.

1B · the field-color rule

A cut is the same color as the field

The interior of an empty cut is paper-white in paper mode, dark-field in ink mode — identical to the surrounding surface. Depth comes only from inset shadows. A cut is not a black hole punched in the paper; it's the paper, recessed. State — checked, held, filled — is what brings color in.

empty cut = field
filled cut = enamel

The cut never goes "dark to indicate emptiness." Emptiness is the field at rest. Color is reserved for state.

1C · cut sub-layer hierarchy

Text layer near the surface · color layer deep

A cut can reveal two distinct sub-layers at different effective depths. The TEXT LAYER sits just under the surface and stays legible (readable numerals, labels, status dots). The COLOR LAYER sits deep, mostly in shadow until state activates and pulls the enamel up into the cut. Use the text layer for readable content; the color layer for state-as-color.

text layer
color layer (accent)

Same dial, two layers. Default reveals the readable text; .dial-cut--accent brings the deeper color layer up.

1D · the single light source

Light comes from above-front. Always.

Every shadow in the system is cast by one fixed light source: above and slightly in front. The top of a puck catches a hairline highlight; the bottom drops a 1px shadow. The top interior of a cut is in shadow; the bottom rim catches a sliver of light. This consistency is what lets the eye trust the surface as a coherent physical object — never a collage of effects.

puck in cut
puck on surface

The puck-on-surface drops a shadow downward (light from above); the puck-in-cut shows a dark crescent below it (puck blocks light reaching the cut floor). Same rule, different geometry.

1E · containment grammar

Five depth levels, each with its own mark

When information is nested more than one level deep, switch to a different visual mechanic at each level. The eye categorizes by kind of mark, not by depth of shadow. Stacking shadows of increasing intensity produces visual noise; switching mechanics produces legible hierarchy.

Level Mechanic Contains
1 · cut shadow + border panels, modals, cards
2 · stratum tonal shift sections within a panel
3 · crest corner L-mark sub-regions within a section
4 · margin-rule left hairline tight item groups
5 · eyebrow uppercase tracked caps atomic labels above values

Rule: no mechanic adjacent to itself. A cut may not directly contain another cut — it must contain a stratum first.

1F · the enamel palette

Six pigments. State only. Never decorative.

Color is reserved for state. The palette is desaturated by design — real oxide pigment, not RGB-primary. A colored mark on a paper field reads as vermilion, cobalt, jade, ochre, plum, sienna — restraint at the chromatic level.

vermilion
cobalt
emerald
gold
amethyst
burnt

No purples, no teals, no per-component palettes. If a component needs a color it doesn't have, the system is wrong.

1G · the ten principles

Apply in order. Hold every element against them.

From DESIGN.md. Before adding a screen, control, or feature, hold it against the ten principles. If it fails one, it does not ship until that failure is named and accepted in writing.

  1. Useful before clever. Every element earns its presence by doing work.
  2. Reduce until it breaks, then add back one. Subtraction is the default.
  3. The room is the unit. The whole product is organized around it.
  4. The plan generates the rest. Information architecture comes first.
  5. Honesty in materials. A button looks like a button. State changes look like state changes.
  6. Restraint as ornament. Whitespace, alignment, and typography do the decorative work.
  7. One voice. Spacing, type, color, motion, copy, iconography follow one system.
  8. Calm at rest. The interface does not move unless something has actually changed.
  9. Preserve judgment. The tool documents decisions; it does not flatten them.
  10. Finish the detail. Door handles and hover states decide whether the tool is felt as cared for.

"Imagine Rams reviewing the screen, then imagine an architect in the middle of programming a 400-room VA hospital using it on a Tuesday afternoon. The screen should satisfy both at once." — DESIGN.md

02

Mechanisms

the verbs · cuts · pucks · knobs · dials · toggles · sliders · press · status

Every working mechanism is built from the three foundational primitives. The patterns below are arranged from simplest (a single dot indicating state) to most compound (a window-dial that combines a puck, a cut, a substrate, and an animated paint trail). Same grammar throughout — only the composition changes.

2A · indicator dots

Surface dots · the most reduced state mark

A dot embedded in the field surface. Off = bare rule ring; on = filled with one of the six enamel pigments. No label, no border, no chrome — the dot's color carries the state, its position carries the meaning. Used for status indicators, "live" lamps, group counts.

click to toggle
2B · cuts that fill

Checkbox cut · the simplest grammar element

A cut that fills with enamel when checked. No puck, no border, no label on the surface — the entire mechanism is "cut" plus "color in cut." This is the foundational state-as-color pattern that every other compound mechanism extends.

Show drift items
Sync MEP nightly
Pull from Revit
size variants
color carries role
2C · pucks in voids

The punch · Type-A button in its address cut

A button puck always has a corresponding void cut into the surface — the void is the puck's address. At rest the puck covers the void with just a hairline halo of black; on press, the puck depresses into the cut. No hover state, no color change — only the press is the action.

12
2D · Type-B pucks · perimeter rings

Pucks that don't press — state via routed rings

When a puck represents persistent state rather than a press, it has no void address. Instead, state is carried by an enamel arc routed around the puck's perimeter — continuous (CSS conic-gradient) or discrete (SVG tick marks). The puck stays still; the ring loads.

72%
continuous
33%
third filled
complete
warning
2E · knobs · positional and stepping

Rotational pucks · two modes

A puck in a circular cut that rotates between positions. Positional knobs land at one of N fixed angles — marker stays at the chosen position, IS the value. Step knobs ratchet one notch per click and snap back to neutral — the marker is momentary feedback, the ring around the knob records the count, the transient label carries the value.

positional · marker stays where set
Low Pressure
Standard Mode
Mid Level
stepping · marker snaps back · ring ratchets · label transient
650 NSF
Area
Med
Priority
15 ACH
Air changes
2F · dial-cut · window dial

A puck with a window — values walk around the dial

The dial is a puck with two sub-layers: a face on top carrying a pill-shaped cut, and the text layer underneath carrying values. Each click rotates the face one slot so the cut walks around the dial. Numeric (infinite or bounded), enum/words — same mechanism. The last example uses .dial-cut--accent to bring the deep color layer up to the substrate.

2G · toggles · kugel and kugel-well

Ball in slot · enamel follows

A ball rolls in a slot; the trail behind it fills with enamel. The standard kugel is a hairline-outlined channel; the well variant is a deep cylindrical recess with the ball trapped in a cavity behind a slot opening that's slightly narrower than the ball. During the roll, the paint line travels horizontally across the ball — at the midpoint you see the crisp half-and-half.

standard kugel · hairline channel
well variant · deep recess · ball-bigger-than-slot
2H · sliders · three variants

Discrete value selectors

N discrete positions, current value carried by the position of the marker. Kugel-style uses the rolling-ball mechanism with detent dots along the slot. Surface-slot cuts only a razor line and detents into the field, with no surrounding chassis. Well-style is the deeper mechanical variant.

kugel-style
surface-slot · bare incision in the field · no outer cut
well-style · stem + zone of wells + field indicator
2I · press · momentary and hold-to-confirm

The punch · plus two ways to confirm

The punch is the base — a puck in a cut that depresses on press, fires on release. For destructive actions, add a hold-to-confirm layer: hold-ring fills an enamel arc around the puck, hold-fill washes the cut interior with enamel from the bottom up, hold-cut is a standalone cut (not a button) you press into directly. Same intent, three recording mechanisms.

punch · momentary action
hold-ring · arc fills around the punch
hold-cut · standalone cut you press into · cut washes with enamel
2J · zones · grouping regions

Tonally distinct surface regions

A zone says "operable elements live here" by tonal shift alone — no depth change. Slider tracks, control plates, and grouping containers all use the zone primitive. Indicator dots can sit inside a zone (zone-scoped state) or outside on the bare field (field-scoped state).

2K · gauge-strip · "N of M"

Filled wells inside a strip cut

Read-only "N of M" visual: one outer cut (the chassis) holds N small filled-cut wells. Empty wells share the strip's field-colored interior; lit wells fill with enamel — same fill grammar as .check.is-checked, at gauge-segment size.

2L · the rest · lever · twist-lock · surface labels

Specialized mechanisms

Less common but well-defined. Each carries its own physical metaphor: levers pivot around a center, twist-locks rotate the indicator (not the cap), surface labels appear transiently next to a control when it changes.

Lever · up
Lever · center
Twist-lock
Low
Surface label
2M · step counter · numeric ± input

A number in a cut, two pucks on either side

The number sits in a recessed mono cell. The two puck buttons are raised at rest, depress when held. Disabled at the limits.

12
168
0
2N · segmented + slot · pick-one selectors

One choice at a time

Segmented is a row of mutually-exclusive options, the selected one raised as a puck above the rest. Slot is a pill toggle — off is the bare cut, on is the cut with an enamel dot above it. Use segmented for ≤4 closely related options, slot for stand-alone toggles.

segmented
slot
2O · fader · continuous slider

A puck riding a track, value mark above

For continuous ranges where the discrete slider's positions are too coarse. The puck rides a recessed track; the enamel trail behind it grows with the value. A small value pill appears above the puck on hover or focus.

42%
78%
15%
2P · tumbler · slide-confirm

Number wheel · drag-to-commit

Tumbler: a vertical number wheel showing previous, current, next values. Scroll-wheel + keyboard arrows. Used for time pickers, version numbers, anything where adjacent values matter. Slide-confirm: drag the handle from left to right to confirm; release early and it snaps back — friction of intent.

tumbler · vertical wheel
11 12 13
167 168 169
slide-confirm · drag to commit
Slide to delete
Slide to publish
2Q · specialized · lamp · plunger · iris · dropzone · holdpad

Less common but well-defined

The mechanisms below have specialized roles. Lamp is a status indicator. Plunger is a push-handle for "fire this off" actions. Iris contracts/expands radially (scope-of-view). Dropzone is a drag-drop target. Holdpad is the legacy hold-to-confirm primitive (Hold-cut and Hold-ring from §2I are its successors).

lamp · status indicator
plunger · push handle
iris · radial aperture
dropzone · drag-drop target
Drop equipment list here
CSV, TSV, or Revit RFA
holdpad · legacy hold-to-confirm
03

Composition

primitives assembled · the bridge to the application

A single primitive answers one question. Compositions answer the questions a designer asks while working — what is this room, what changed, what's next, what needs attention. Below: the canonical composition patterns and the containment rule that holds them legible at any density.

3A · instrument cluster

A row of live state at a glance

The instrument cluster reads like the panel above a steering wheel: each cell holds one named value with a tiny mono label. Cells share a hairline rule, the values are mono and tabular-numbered. This is the most recurring composition pattern in v10 — it appears on every working surface.

Area 650 NSF
Equipment 18 items
Template 3 drift
MEP 1 unmet
Review
4/6
Revit Pending
3B · control composition

A working row of decisions

Operable elements grouped by intent. A zone defines the active region; dials, sliders, and buttons live inside. An indicator dot outside the zone shows field-scoped state. This is what a "settings panel" looks like in v10 — bounded, legible, no chrome.

Room · CATH-201 · tuning
NSF
Priority · Med
Active
Commit
Hold to confirm
3C · containment in action

Five depth levels · no mechanic repeats

The rule from §1E shipped: when nesting more than one level deep, switch the visual mechanic at each level. Cut → stratum → crest → margin-rule → eyebrow. The example below shows a panel (cut) containing a strata-sectioned interior with a crest sub-region holding a margin-ruled list of eyebrow-labeled values.

CRITERIA
650 NSF · Cath Procedure Room · Cardiology
1 cut2 stratum3 crest4 margin-rule5 eyebrow · each level uses a different mark, so no stacked shadows fight for attention.
3D · the composition rules

What goes where

  • Buttons get voids. Any puck that responds to press sits in a cut. The void is the puck's address; it is not optional.
  • Indicators get rings or dots. Persistent state pucks (Type-B) carry their state with a perimeter ring; smaller status uses a surface dot.
  • Groups get zones. Two or more related operable elements live inside a zone. The zone is tonal only — no extra depth, no border.
  • Text near the surface. Labels, values, and dots live in the text layer (near-surface, readable). Enamel fills live in the color layer (deep, state-only).
  • No mechanic adjacent to itself. A cut never directly contains another cut. A puck never directly sits on another puck. Switch mechanics at each level of nesting.
  • Color is state. Color appears only when something has changed, is active, or needs attention. Decorative color is a bug.
3E · text → primitive

Replace boring text with physical instruments

Most "boring" interface text — status badges, counters, percentages, on/off labels, priority words, sync indicators — has a physical primitive that says the same thing more directly. This is the canonical translation table. Use the primitive when the value is operable or meaningful; keep text only when the value is purely informational and can't be glanced.

Boring text Physical primitive
"4 of 6 reviewed"

progress counter

4/6
"Active" / "Inactive"

binary state

"Pending" / "OK" / "Error"

status badge

"650 NSF" (editable)

numeric value the user can change

NSF
"Low / Med / High / Critical"

ordered enum

"Include in report ✓"

checkbox

Include in report
"1 unmet"

severity / "out of"

1 of 4
"72% complete"

continuous progress

72
% complete
"Delete room" (button)

destructive action

The rule: when the value is actionable (editable, toggleable, settable), use the primitive. When it's purely informational and reads in passing, leave it as text. Never use a primitive that's bigger than the cell it lives in.

3F · composite instruments

Primitives stacked to say more than either could alone

The grammar gets interesting when primitives compose into instruments that show two or three dimensions of state at once — current value AND headroom, current AND target, value AND trend. These compositions aren't new primitives; they're new sentences made from existing words. Each is built from pieces shown elsewhere in this document; they're shown together here because the composition is the contribution.

value + headroom · dial-cut wrapped in a perim-ring
NSF · 72% of max
ACH · 95% · near limit

The dial shows the precise current value (operable). The ring around it shows what fraction of the allowable maximum that value occupies. One glance reads both. As the ring approaches 1.0, the user sees they're nearing the limit even if the number alone wouldn't tell them.

drift-bar · current vs target with a center mark
NSF · target 650 · current +30
ACH · target 15 · current −4
Load · target met · 0 drift

A cut with a center target mark, where the enamel fill grows LEFT for negative drift or RIGHT for positive. The eye reads direction AND magnitude in one mark. When on target (0 drift), the center mark glows emerald — no fill needed. Use for any value with a target: NSF vs program area, ACH vs MEP requirement, schedule vs plan.

comparison brackets · current above target · alignment marks
current4/6
target6/6

Two gauge-strips stacked: current above (cobalt), target below (emerald), aligned cell-for-cell. The eye instantly sees both how far you've come and how far you have left — without doing arithmetic. The same shared cell width is the alignment grammar.

activity tape · last N events as enamel marks
CATH-201 · last 8 edits

A row of thin enamel marks in a cut, each one an event color-coded by kind. Reads like a heartbeat. Hover for the event narrative. Use as a "what's been happening" indicator in a room's title or a department row.

decision triangle · three pucks balancing a trade-off
priority: budget

Three pucks at the vertices of a triangle representing a three-way trade-off (here: program vs schedule vs budget). The active vertex has its cut filled in enamel — you pick one to prioritize. Hairlines connect the three to read as a system, not a row.

None of the above introduces a new primitive. Each is a composition: pieces from §02 stacked, aligned, or wrapped to communicate more than any one alone. When the right pattern doesn't exist, build it from what does — the test of the grammar is whether the language extends without adding vocabulary.

04

Room Workflow · The Desk

one room · several applets · paper as ground

Arrange is a project surface, not a configurator. A room is not edited in one big form — it lives across several applets that the planner has open at once. This section drops the chrome and shows the real grammar: paper, then a few applet-cuts on it, then pucks and inner cuts inside each one. No tabs, no lenses. Just a desk with the right tools laid out.

4A · the recursion

Paper → applet-cut → inner-cut → puck

Information density without overwhelm. Each level of nesting is calmer than the level above, not more elaborate. A puck is a puck whether it sits on paper, in an applet, or three cuts deep. Depth tells the eye what is grouped; tone tells the eye what is categorical.

L1 · paper
field

Raw paper. Edge to edge. No chrome.

L2 · applet-cut
DTDetail

A cut into paper. The applet window. Always labeled.

L3 · inner-cut
Program

A cut inside the applet. Optional enamel wash for category.

L4 · puck / element

Terminal. The actual data. Stops the recursion.

4B · the desk

CATH-201 in progress

The same room you've seen before, now laid out the way it really lives: Detail open in the middle, Lookup and Coordination plates to the right, Tasks below, Workbench preview tucked in the corner. The qty buttons in Detail still cascade live into MEP — that part is real, not a mockup.

DT Detail · CATH-201
VA PG-18-9 Ch. 205 · Cath Procedure Room
Program 3 of 3 confirmed
Code CATH-201
NSF 650
72% of 900
Occupancy B· 4 staff
Equipment 18 items · 18 total
Defibrillator
DEFIB-01 · emerg pwr unassigned
1
Fluoroscopy Unit
FLUORO-01 · 208V
1
Procedure Table
TABLE-01 · 208V
1
Patient Monitor
MON-01 · UPS
2
Infusion Pump
PUMP-01 · med gas
3
Scrub Sink
SINK-01 · plumbing
1
Attributes 6 set
Pressure Positive
ACH 15min⁻¹
Finish · floor Sheet vinyl, welded
Lighting Surgical pendant pending
LK Lookup · reference + JSN
3 of 5 aligned
Source alignment PG-18-9 v current
Namematches VARF
NSF650 = ref
Equipment ref3 added by project
JSN equipment 18 mapped
DEFIB-01 FLUORO-01 TABLE-01 MON-01 PUMP-01 SINK-01 +12
CO Coordination · MEP + Revit
1 unmet · sync pending
MEP · unresolved 1 of 5 systems
Emerg. pwrDEFIB-01 unassigned · qty 1
MEP · met 3 systems
Med gasO₂ · vac · WAGD
Data/LV4 drops · UPS set
Cooling22 kBTU · +4
Revit sync last: 4d ago
Area Δ+2 SF
Pushpending
NT Tasks + Notes
3 open · 1 today
Assign emerg. circuit · DEFIB-01today
Confirm Revit area mismatch3d
Note: HEPA TBD · defer Mech set1w
WB Workbench · placed
650 SF · plan
26′-0″ 25′-0″

Try the qty buttons in Detail · Equipment — the Coordination plate's MEP unmet count cascades.

05

Application

the grammar at production scale

The Desk in §4 proves the recursion works for one room. Application proves it scales: the same paper-then-applet-then-cut-then-puck grammar carries the project shell, the detail stack, scope changes, peer papers, and full-screen modes. Every specimen below sits on raw paper — no chrome around the showcase, because there's no chrome around the real surfaces either.

5A · the project shell

The frame · tree, detail, header · no menubar, no taskbar

The real Arrange shell is three regions: a slim header strip for scope and live status, a tree rail for the project plan, and a detail field for the active node. There is no menubar, no taskbar, no floating windows. Every region is a working surface in v10's grammar — applets, inner-cuts, pucks — not OS chrome layered on top.

Rooms 186
NSF · vs target 118.4k
Review 148/186
Drift 3/5
CATH-201

Cath Procedure

VA PG-18-9 Ch. 205 · Cardiac Catheterization
NSF 650
Equip 18
MEP 1
DT Detail · Program + Attributes
3 of 3 confirmed
EQ Equipment · 18 items
DEFIB-01 unassigned
MP MEP · 1 unmet · 3 met
last calc 14:32
RV Revit · matched to Space 247
delta: 0

Each row is a labeled cut into the detail field. Scrolling through them is the room's full editing surface — full content of the stack lives in 5B.

undo · 4
What's not here · and why
  • No menubar. Project · Lookup · Coordinate · Workbench · Output aren't menus — they're tree nodes, scope-switches (5C), or full-screen modes (5E). Reached by the navigator, not by a top bar.
  • No taskbar. Arrange doesn't manage windows. Each surface is either inline in the detail stack (5B), a scope switch (5C), or a full-screen mode (5E). Nothing minimizes.
  • No floating applets with chrome. An applet is a labeled cut into paper, not a window with minimize / close controls. The chrome is the label and the inner-cuts; nothing else.
  • Compare mode adds a third paper (see 5D); multi-project mode opens a second project as a peer rail beside this one, not as a window stacked over it.
5B · detail stack

The room opens as one scrollable paper

The detail field is not a modal and not a form wizard. It is a vertical stack of applet-cuts inside the selected room: program, attributes, equipment, MEP, Revit, tasks, and outputs. Each cut can be scanned closed, opened inline, or promoted to a full-screen mode in 5E.

PGProgram
650 NSF · procedure
Room typeVA
NameCath Procedure
Target areamet
NSF650 / 650
Inheritance1 drift
TemplateCardiology · CATH
EQEquipment
18 items · selected DEFIB-01
Item · codeUtility cutsLoad · driftQty
Defibrillator
DEFIB-01 · Emergency power · 20A branch
PWRDATA
unmet
1
Fluoroscopy Unit
FLUORO-01 · Med gas · 208V
PWRGAS
load
1
MPMEP consequences
1 unmet · 3 met
DEFIB-01 · Emergency power — circuit unassigned. Requires dedicated 20A branch on emergency panel.
Cooling load — 22 kBTU/hr. Fluoroscopy and monitors drive the load. ACH target: 15 min-1.
Medical gas — O₂, vac, WAGD assigned. Two outlets confirmed.
5C · scope switching

Move between project, department, room, and source

Scope changes are not windows. The active paper changes level: project overview, department slice, room detail, reference source, or output package. The chain at the top says where the user is; the scope plate below shows what can be jumped to without inventing menu chrome.

Department surface42
Rooms42
Review32/42
Room surfaceactive
MEP1 unmet
Undo4 changes
Source surfaceVA
SpecPG-18-9
JSN18 hits

The scope plate changes the content of the paper, not the chrome around it. The tree rail in 5A and the chain above stay coherent no matter how deep the user moves.

5D · compare and multi-project

Peer papers instead of overlapping windows

Compare mode adds a peer paper for the reference or the other project, then a narrow delta rail between them. Nothing floats. Nothing hides the active room. The user reads left-to-right: baseline, change, current.

RFReference
VA baseline
Room nameCath Procedure
NSF target650
Defib powerEmerg · 20A
ACH15
delta rail
PJProject
VA Tampa
Room nameCath Procedure
NSF actual650
Defib powerunassigned
ACH15 · HEPA TBD
Same2
Name + area matchlocked
Conflict1
Emergency powertask open
Hold1
HEPA filterreview
5E · full-screen modes

Promote a cut when the work needs room

MOVE, MEP coordination, Revit matching, and output packaging can take over the paper. Promotion is a mode change, not a floating app. The scope chain remains, the undo puck remains, and the mode returns to the same room stack when dismissed.

MPMEP mode · CATH-201
last calc 14:32
ACH15
Power1
Med gas3
HVAChold
REPDEFGASsingle-line diagram · room-scoped
5F · workbench surface

The room canvas as a paper

Workbench is a 5E mode, but it's the load-bearing one — a 3D layout canvas where rooms are placed, scaled, and walked through. In the new grammar the paper is the canvas: a recessed cut at the center, an instrument strip above for live state, a thin tool rail at left, and a panel dock at right. No floating windows. The 3D viewport, the toolbox, and the dock are all cuts in the same paper.

Floor 1 ground
Scale 1.0x
Table · W × D 16 × 10
Placed 28/42
CATH-201 650 NSF
ECHO-101 320 NSF
RECOV-04 180 NSF
CATH-202 650 NSF
MRI-201 540 NSF
floor 1 · ground · block view
Selected ECHO-101 drag · ⌫ remove
Actions
undo · 7
How today's workbench chrome maps to the grammar
3D canvas → a single recessed cut in the paper. The viewport's chrome (frame, shadows) is the cut itself, not added trim.
Reset · Update · Drawing · Revit Plan · Clear → a row of holdcuts (§2I) in the bottom action strip. Press-and-hold for destructive ones, tap for safe ones.
Walk · Plan · Ergo → sub-modes inside the workbench mode. Holdcuts in the dock; promotion takes over the canvas the way 5E modes take over the room.
Block · Blob · Graph → a segmented pill at the top strip, not three separate toolbar buttons. Same primitive as §2N.
Floor selector → step-counter (§2M) inside the instrument cluster. Mono numeral with chevron pucks, label trails it.
Scale · Table W × D → faders (§2O) — the cobalt one is live; the W × D readout is mono. No separate slider chrome.
Room toolbox → a slim applet at left with a filter row and a status-puck list. Drag from the list onto the canvas; placed rooms get an "is placed" puck.
Panel dock (Rooms · Sim · Legend · Drawing) → an applet at right with status-puck toggles, not floating dock buttons. The active panel pulses cobalt.
5G · application contract

The rules section 5 proves

The rebuild keeps the application legible by making every large move a change of scope, stack, peer paper, or mode. That is the production contract: preserve the user's place, never invent extra chrome, and let downstream consequences stay visible.

Scope5C
Change levelsame paper
Stack5B
Expose detailinline cut
Peer5D
Comparebeside
Mode5E
Deep workpromote

From DESIGN.md: the work sits in the line of Rams, Ive, Jobs, and the Bauhaus. The Bauhaus claim — that form, function, and craft are a single problem, not three — is the operating principle. Rams gives the restraint. Ive and Jobs give the insistence on a point of view carried end to end. Le Corbusier gives the conviction that the plan generates everything. Zumthor reminds us that the building (or the app) is felt before it is understood.

Clarity with soul. Clarity without soul is cold. Soul without clarity is noise.

06

Before · After

v9 → v10 · the same control, refined
Current

Gradient, emoji, soft radius, hover-lift. Decorative.

Proposed

A hairline-outlined cut filled with cobalt enamel. Press deepens the cut briefly. No theatrics.

Current · room info panel

📋 Room Information

Code: CATH-201
NSF: 650 ✅
Occupancy: B · 4 staff ✅
Equipment: 18 items
MEP: ⚠ 1 unmet (emerg pwr)
Revit: 🔄 sync pending (+2 SF drift)

Boxed panel, emoji, bold labels, gradient button. The data is a text list; status is decorative.

Proposed · paper → applet → inner-cut → puck
DT Detail · CATH-201
PG-18-9 · Cath
Program 3 of 3
CodeCATH-201
NSF650
MEP · unresolved 1
Emerg. pwrDEFIB-01 unassigned

No decoration. Status is the puck, not an emoji. Color groups by category, not by ornament. Depth carries grouping.

07

Implementation Contract

prove the workflow first · no more 90% mockups

The next v10 UI should not be another composed screenshot. It should be a constrained vertical slice of the real app: one room, one user goal, one source of truth, one completed loop. The surface is only successful if every current capability in the loop still has a home — and every surface in the slice obeys the recursion: paper, applet, inner-cut, puck. No exceptions.

Vertical slice CATH-201
01 Open project room and lock scope chain. Navigator
02 Reveal source, VARF name, template link, and room override. Memo strip
03 Change equipment quantity without losing room context. Slide-panel
04 Show electrical, plumbing, gas, and report consequences. Cluster
05 Compare project room against reference/template/Revit. Split-rule
06 Mark review state and sync or flag model drift. Channel
Proof requirements function before form
State named 6 source, override, template, MEP, review, Revit
Threads touched 8 program, criteria, equipment, template, MEP, Revit, tasks, report
Hidden modals 0 modeless panels only after behavior parity
Design test

A user changes one equipment quantity and immediately understands what changed, which standard it came from, whether the room drifted from template/reference, what MEP utilities moved, whether reports are still ready, and what Revit needs next.

Slice tape no step without a visible state