Sibling preview to visual-spec-preview.html. The flat tokens are still there underneath — this is what happens when every surface, accent and transition is reauthored to express the agent-materialization thesis.
The thesis. Apple has never shipped "colors and shadows" — they ship a named material per generation
(Aqua, Frosted Glass, Spatial Glass, Liquid Glass). Each is physical, named, and everything else flows
from it. The current Omadia spec (v0.1) inherits tokens from the Linear/Notion lineage — correct in spirit,
but materially flat. Lume is a proposed Omadia material. Light is the structural element; the agent's
attention is visible as accent-tinted illumination; UI condenses out of light instead of being printed onto paper.
Refraction and glassmorphism are explicitly out (Linear's "ProKit" lesson for productivity-grade UIs).
§1 — Flat (v0.1) vs Lume — same primitives
the headline comparison
Identical primitives, identical accent, identical spacing. Left side is the v0.1 preview's material
(flat fills, hard borders, single-pixel focus rings). Right side is Lume. Watch the button glow, the
selected-row halo, the focused input's light bloom, the surface having an actual top-edge.
Flat — visual-spec v0.1
Anna Schmidt
Bernd Lutz — selected
Cara König
Lume — proposed material
Anna Schmidt
Bernd Lutz — selected
Cara König
What changed concretely: button gets a top-to-bottom gradient + inner highlight + ambient
accent shadow (suggests a lit surface, not a paint chip). Selected row gets a feathered halo
(radial accent glow under the fill — the "Agent is here" signal). Input focus is no longer just a
2px ring — it's a 4px ring plus an outer 4px accent-tinted glow. None of it shouts; all of
it adds up to this surface has light on it.
§2 — Material anatomy
the three forces
Three building blocks. Everything else in Lume is a composition of these.
Force 1
Surface luminosity
Every surface is a 180° linear-gradient from a slightly lit top to a slightly settled bottom (~1–2% L difference). Imperceptible in isolation; cumulative effect: surfaces feel illuminated.
linear-gradient(180°, top, btm)
Force 2
Accent as illumination
The single accent token splits into two visual modes: accent (fill, for buttons and indicators), accent-glow (soft, for halos and ambient shadow). Same hue, two forms.
Force 3
Directional borders
Borders use a lighter top-color and a slightly stronger bottom-color, so an edge reads as catching light from above. With a 1px inner highlight on raised surfaces, this gives every container a perceived thickness.
1px border, top-lit
Why this and not Liquid Glass: productivity surfaces are data-dominant; refraction, real-time
blur, specular highlights on every chrome element would compete with the data. Lume keeps the
Apple lineage (light shapes hierarchy) but throttles to what Linear's ProKit team found readable —
no refraction, no flat translucency-everywhere. Just enough light for the surface to feel materialized.
Force 4 — formal language
Soft corners, with one hard exception
Light has no edges. If the material is condensed luminosity, its corners must soften.
Lume shifts the v0.1 radius scale up by one stop. The exception is the editor boundary:
canvas-region stays sharp-cornered (radius 0) because
that's where the agent's material ends and the user's raw work begins. Apple's
"concentric corners" rule applies — outermost containers match the macOS window radius (12px).
Editor surfaces
0 px
Buttons, inputs, rows
6 px
Containers, cards
8 px
Modals, panes, outer windows
12 px
Pills, switches
999 px
12 px outer window
8 px container
6 px button / row
0 px editor surface
§3 — Patch condensation
the signature motion
The flat spec uses a fade-in + accent-subtle wash that fades out over 800ms. Lume re-tells the
same story as condensation: a brief accent-tinted bloom collapses inward and the value
settles. The motion is "this just materialized" rather than "this just appeared". Click
Replay to retrigger.
Flat (v0.1) — fade-in + highlight wash
Open tickets
127
Budget left
342 h
Overdue
3
Lume — condensation
Open tickets
127
Budget left
342 h
Overdue
3
Story: when the agent emits a new value, light briefly converges on the cell, the value
sharpens out of a faint blur, the bloom collapses inward and disappears. Total duration matches
the flat spec (800ms) so we don't slow the system down. The motion is what changes, not the speed.
§4 — Selection & focus halos
where the agent is
In the flat spec, selection is a tinted row + 2px accent left bar. In Lume, the same affordance
is wrapped in a soft accent-tinted halo. The user's eye finds "where the agent is working"
without reading the whole table. The halo is a perception, not a UI element — it does not add
space, doesn't shift layout.
List with selection
Search the canvas
Add a new pane
Switch to Norton Commander layout
Open keyboard shortcuts
Toggle inspector
Input focus & primary button
§5 — Three palette proposals
pick one
Three palettes, each from a different hue family, each with its own Lume story. All three are
separated from semantic states (error 25°, warning 80°, success 150°) by enough hue distance to
avoid colour-blindness merge. All three are not the colour every other productivity app
uses (no Vercel #0070F3, no Linear purple, no Notion neutral). Switch the Palette control above
and watch §6 (Spotlight) and §7 (Editor) repaint in each.
1 · Petrol
#0F7AB8 · OKLCH 0.55 0.16 235
Selected row
Computational ambient
Cool steel-blue. The Lume story: steady daylight, the agent as quiet ambient presence. Halo recedes, doesn't shout.
For: data-aggregation work, long reading sessions, "professional tool" reading. Risk: closest to the 2026-trend-against "Startup Blue" — survives only because desaturation + Lume material pull it away from the cliché. Hue separation: 210° from error · 155° from warning · 85° from success.
2 · Atelier
#B36B2E · OKLCH 0.57 0.13 50
Selected row
Studio warmth
Warm burnt-amber. The Lume story: studio lamp, the agent as craftsman lighting the work. Strongest narrative fit with "Agent materialises UI" — workshop metaphor.
For: creative work surfaces (proposals, drafts, image edits), warmth as differentiation. Risk: Anthropic-adjacent (their terracotta). Atelier at 50° is meaningfully bolder + further from red than Anthropic's; needs guard against drifting back toward terracotta during implementation. Hue separation: 25° from error · 30° from warning · 100° from success. Tightest separations of the three — but L+C differ enough that no daltonism collision.
3 · Lagoon REFINED
#1F8FA3 · OKLCH 0.58 0.12 200
Selected row
Lit water · bioluminescence
Refined from earlier Botanical: hue 195°→200° (cyan-shifted from deep pool to lit surface), light-mode L 0.54→0.58, chroma 0.10→0.12. The Lume story is now lit water — light passing through a shallow lagoon — strongest light-metaphor coherence of the three.
The twist:accent-glow-core is bright cyan-white (#B4EEF8), not accent-tinted. The selection halo and focus rings now read as emitted light in light mode, not as accent-tinted shadow. Closes the previous light/dark imbalance. For: the strongest Lume-narrative fit. Differentiates maximally from reference apps. Risk: the brighter, more saturated take edges closer to tropical/consumer territory; restraint in glow alphas is what keeps it professional. Hue separation: 175° from error · 120° from warning · 50° from success · 35° from Petrol.
Research grounding. Pantone's 2026 Color of the Year is "Cloud Dancer" — a white — signalling
industry-wide retreat from chroma toward atmosphere; Lume itself is the answer to that, the palette
then plays a supporting role. The 2026 SaaS-trend literature explicitly calls out movement away from
Startup Blue (Vercel/Linear territory) and toward elevated-warm-neutral palettes (Atelier territory)
and eco-inspired ocean/moss accents (Botanical territory). All three proposals are positioned in
hue-space where no first-tier productivity tool currently lives.
How to decide. Switch the global Palette above; watch §6 Spotlight, §7 Editor, §8 Dashboard,
§9 Modal repaint. The right answer is the one that still feels coherent in all idioms — not
just where it's most flattering.
§6 — Spotlight idiom
⌘K · the showcase moment
The Spotlight idiom is where Lume earns its keep visually. The whole stage has a radial accent
glow centered on the input; the input itself is the brightest point on screen; results inherit
the halo treatment from §4. The user's focus is unambiguous because the canvas itself directs
light to it.
Files
visual-spec.mddocs/
visual-spec-preview.htmldocs/
visual-spec-preview-lume.htmldocs/
CONCEPT.md/
Commands
Run: omadia start⏎
Set appearance to dark⌘D
§7 — Editor boundary
where Lume stops
The Photoshop-workspace idiom is the critical test. Around the canvas-region everything is Lume
material: lit toolbar, accent-glowing active tool, illuminated inspector sliders, halo'd layer
selection. Inside the canvas-region itself: dark, sharp-cornered, opaque — explicitly
not Lume. The materialization stops at the canvas edge. This is the part of the screen
the agent doesn't touch — the user's raw bitmap, untreated.
⬛
⊙
✎
⤬
✂
■
⤡
⤢
CANVAS-REGION — Lume stops here
opaque · sharp-cornered · agent-untreated work surface
32%
Inspector — Brush
Size
18
Hardness
60%
Opacity
85%
Colouraccent
Flow
24%
Layers
👁▾Adjustments
👁Curves
👁Levels
👁▸Background
Semantic claim: Lume material is the chrome the agent authors. The canvas-region is the
content the user owns. The visual contrast (lit surfaces around an opaque work area) doubles as
a Tier-1 boundary marker — exactly where Class A direct gestures take over from Tier 2.
§8 — Dashboard idiom
data first, light second
The most-trafficked idiom in walkthrough 1. Lume here is restrained: surfaces have luminosity,
KPI deltas inherit a soft accent text-shadow when positive, the trend bars get a faint
accent-glow underneath. None of it reduces data readability.
Open tickets
127
▲ 12 vs Mar
Budget left
342 h
▼ 8% vs Mar
Weekly trend
§9 — Confirmation modal
accent-tinted scrim
The scrim behind a modal is no longer neutral black-with-alpha. It's minimally accent-tinted —
as if the modal itself is the lit object, the rest of the canvas falls into its shadow. The
modal pane carries an outer accent glow, so the eye reads this surface is the active one.
Confirm send
Send proposal PDF to contact@acmeinsure.com?
This email cannot be unsent.
§10 — Decision points
if Lume goes forward
Lume is a hypothesis. If you want to pursue it, here are the questions it now opens — different
from the v0.1 question list because the material decision precedes them.
A
Do we adopt Lume as the Omadia material identity?
Three options: (a) Yes — rewrite v0.1 to v0.2-Lume, ship as the Omadia look. (b) Partial — keep Lume motion + selection halos, drop surface luminosity (less risk, less differentiation). (c) No — stay with the flat spec, revisit when a brand-design pass happens later.
B
Glow intensity
Current alphas: 0.18 / 0.30 (light), 0.24 / 0.40 (dark). These are tuned to be subtle. Reviewer call: too quiet to register, or just right? Bigger numbers = "magical" + risk of dated; smaller = "did I imagine that".
C
Surface luminosity range
Current top→bottom gradient is ~1.5% L. Wider (3–4%) reads as "deliberately lit" and pushes harder on the metaphor. Narrower (0.5%) gets you the cumulative-perception benefit without anyone noticing per-card.
D
Patch-condensation duration
800ms matches v0.1 fade. With the bloom and blur, this might feel longer than it is. Shorter (500ms) keeps the workflow snappy; full 800ms gives the agent's contribution more visual weight.
E
Performance budget
Lume uses gradients, multi-layer box-shadows, no blur (intentionally). On a busy canvas (50 rows + 8 panes + active patch animation), this should stay 60fps in Electron + Skia. Worth a spike measurement before locking in.
F
Palette: Petrol · Atelier · Botanical
Three real proposals in §5, each with its own Lume story, each from a different hue family, each defensible under the 2026 trend research. Pick one — the decision sets the light-source colour for the entire app and is expensive to revisit after implementation.
G
Reduced-motion fallback
The condensation animation has blur + scale + opacity. Reduced-motion fallback: skip blur and scale, keep opacity-fade. The bloom collapse just becomes an instant glow that fades out. Acceptable degradation, or should we strip even more?
H
Name
"Lume" is my pick — short, light-evocative, Apple-tradition (substantive material name) without Apple-mimetic. Alternatives: Atelier, Vellum, Glaze, Phosphor. Material-naming is a one-shot decision; rename later is expensive.