Probe Palette Lane Routing
A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.
Download DESIGN.md
Portable DESIGN.md source of truth for most agents and apps.
specification
philosophy
tokens
borders4 items
- accent width
- 4px
- character
- technical route rails, not decorative outlines; color indicates lane ownership or state
- default width
- 1px
- style
- solid with occasional double-rule secondary controls
colors12 items
motion3 items
- duration
- 160ms
- easing
- cubic-bezier(0.2, 0.8, 0.2, 1)
- philosophy
- fast signal acknowledgement: small translate shifts and rail color changes only, never bouncing or ambient animation
radii5 items
- full
- 9999px
- lg
- 10px
- md
- 6px
- none
- 0
- sm
- 3px
shadows3 items
- lg
- 0 30px 80px rgba(0,0,0,0.38)
- md
- 0 18px 40px rgba(0,0,0,0.28)
- sm
- 0 1px 0 rgba(244,241,232,0.08) inset
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- off-black field with faint diagonal calibration stripes and low-contrast grid points
- card style
- square outer frame, 6px inner radius, clipped top-right notch for priority modules, striped underlay only in headers
- treatment
- matte graphite panels with warm ivory typography and functional cyan, amber, violet, and blue lane rails
typography8 items
- base size
- 16px
- body font
- IBM Plex Sans
- google fonts url
- https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap
- heading font
- Space Grotesk
- letter spacing
- -0.015em
- line height
- 1.48
- mono font
- IBM Plex Mono
- scale ratio
- 1.22
rules
Arrange screens as a switchboard: persistent left navigation rail, a dominant routed work surface, and a right column of signal tickets. Avoid equal-card grids by varying span, density, and lane color.
Medium-high density with 8px track alignment, short labels, and compact rows; whitespace appears as functional separation between lanes rather than broad editorial margins.
Headings are compact Space Grotesk labels, operational copy is IBM Plex Sans, and IDs or counts use IBM Plex Mono. Priority is conveyed by rail thickness, notch treatment, and active signal fill.
layout
mobile 375px, tablet 768px, desktop 1200px, wide 1440px
12-column desktop switchboard with 280px navigation, 1fr route map, and 340px signal stack; tablet collapses to two columns; mobile stacks lane sections with rails preserved.
Whitespace is measured in 8px tracks and appears as gutters between route lanes, preserving compact operational scanning.
guidance
- Map every accent color to a lane or state before using it.
- Keep card silhouettes square with only small inner radii and priority notches.
- Use realistic probe, palette, and routing labels that imply a working product.
- Preserve strong contrast on dark surfaces and visible focus outlines.
- Do not use colors as confetti or marketing decoration.
- Do not soften the system with glassmorphism, large shadows, or pill-only SaaS controls.
- Do not create equal three-card rows without a dominant routed surface.
- Do not remove the rails, node dots, and monospace lane IDs that carry the identity.
katagami spec
# Probe Palette Lane Routing ## Philosophy A navigation-heavy palette language for investigative tools where color behaves like routed infrastructure: every hue is a lane, every surface is a switching board, and hierarchy is proven through measured tracks rather than decorative glow. ### Values - chromatic routing as information architecture - dense but legible operational rhythm - visible handoff states between teams and data lanes - restrained industrial tactility ### Anti-Values - generic white SaaS cards with arbitrary accent colors - rainbow decoration that does not map to state or route - soft glass panels and unfocused gradients ### Visual Character - Use left-edge vertical route rails in four token colors with matching tiny node dots and lane labels applied through CSS border-left and pseudo-elements. - Build surfaces as matte graphite panels over a warm off-black field with subtle diagonal calibration stripes made from repeating-linear-gradient backgrounds. - Compose the page on an asymmetric switchboard grid: one wide route map, a narrow signal stack, and compact status tickets snapped to 8px tracks. - Render component boundaries with square-corner outer frames, small 6px inner radii, and clipped top-right notches using polygon clip-path on priority cards. - Treat active actions as filled signal plates with high-contrast text while secondary controls remain outlined with double-rule borders and no drop-shadow gloss. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: technical route rails, not decorative outlines; color indicates lane ownership or state - **Default Width**: 1px - **Style**: solid with occasional double-rule secondary controls ### Colors | Name | Value | |------|-------| | accent | `#C084FC` | | background | `#101316` | | border | `#394149` | | error | `#FF5A5F` | | info | `#58A6FF` | | muted | `#8E9AA3` | | primary | `#5CE1E6` | | secondary | `#FFB000` | | success | `#54D990` | | surface | `#1B2024` | | text | `#F4F1E8` | | warning | `#FFC857` | ### Motion - **Duration**: 160ms - **Easing**: cubic-bezier(0.2, 0.8, 0.2, 1) - **Philosophy**: fast signal acknowledgement: small translate shifts and rail color changes only, never bouncing or ambient animation ### Radii - **Full**: 9999px - **Lg**: 10px - **Md**: 6px - **None**: 0 - **Sm**: 3px ### Shadows - **Lg**: 0 30px 80px rgba(0,0,0,0.38) - **Md**: 0 18px 40px rgba(0,0,0,0.28) - **Sm**: 0 1px 0 rgba(244,241,232,0.08) inset ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: off-black field with faint diagonal calibration stripes and low-contrast grid points - **Card Style**: square outer frame, 6px inner radius, clipped top-right notch for priority modules, striped underlay only in headers - **Treatment**: matte graphite panels with warm ivory typography and functional cyan, amber, violet, and blue lane rails ### Typography - **Base Size**: 16px - **Body Font**: IBM Plex Sans - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap - **Heading Font**: Space Grotesk - **Letter Spacing**: -0.015em - **Line Height**: 1.48 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.22 ## Rules ### Composition Arrange screens as a switchboard: persistent left navigation rail, a dominant routed work surface, and a right column of signal tickets. Avoid equal-card grids by varying span, density, and lane color. ### Density Medium-high density with 8px track alignment, short labels, and compact rows; whitespace appears as functional separation between lanes rather than broad editorial margins. ### Hierarchy Headings are compact Space Grotesk labels, operational copy is IBM Plex Sans, and IDs or counts use IBM Plex Mono. Priority is conveyed by rail thickness, notch treatment, and active signal fill. ### Signature Patterns - Four-color route rail system: cyan for live probes, amber for pending review, violet for palette decisions, and blue for external intelligence. - Clipped top-right priority notch on major panels paired with striped header underlays to make urgent modules identifiable without extra icons. - Monospace lane chips and small node dots align on vertical tracks, making status progress readable as an infrastructure map. - Secondary controls use double-line technical borders while primary actions use flat filled signal plates with square edges and tiny radius. ## Layout ### Breakpoints mobile 375px, tablet 768px, desktop 1200px, wide 1440px ### Grid 12-column desktop switchboard with 280px navigation, 1fr route map, and 340px signal stack; tablet collapses to two columns; mobile stacks lane sections with rails preserved. ### Whitespace Whitespace is measured in 8px tracks and appears as gutters between route lanes, preserving compact operational scanning. ## Guidance ### Do - Map every accent color to a lane or state before using it. - Keep card silhouettes square with only small inner radii and priority notches. - Use realistic probe, palette, and routing labels that imply a working product. - Preserve strong contrast on dark surfaces and visible focus outlines. ### Don't - Do not use colors as confetti or marketing decoration. - Do not soften the system with glassmorphism, large shadows, or pill-only SaaS controls. - Do not create equal three-card rows without a dominant routed surface. - Do not remove the rails, node dots, and monospace lane IDs that carry the identity. ### Usage Context Best for palette governance tools, routing consoles, research triage systems, observability products, and design ops dashboards where state transitions are the product.
DESIGN.md
---
version: "alpha"
name: "Probe Palette Lane Routing"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#C084FC"
background: "#101316"
border: "#394149"
error: "#FF5A5F"
info: "#58A6FF"
muted: "#8E9AA3"
primary: "#5CE1E6"
secondary: "#FFB000"
success: "#54D990"
surface: "#1B2024"
text: "#F4F1E8"
warning: "#FFC857"
typography:
headline-lg:
fontFamily: "Space Grotesk"
fontSize: "1.816rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.015em"
headline-md:
fontFamily: "Space Grotesk"
fontSize: "1.488rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.015em"
body-md:
fontFamily: "IBM Plex Sans"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.48
letterSpacing: "-0.015em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "10px"
md: "6px"
none: "0px"
sm: "3px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
components:
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-info:
backgroundColor: "{colors.info}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-primary:
backgroundColor: "{colors.primary}"
color-reference-secondary:
backgroundColor: "{colors.secondary}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-warning:
backgroundColor: "{colors.warning}"
button-primary:
backgroundColor: "{colors.primary}"
textColor: "#000000"
typography: "{typography.label-md}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
card-surface:
backgroundColor: "{colors.surface}"
textColor: "{colors.text}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
input-default:
backgroundColor: "{colors.surface}"
textColor: "{colors.text}"
rounded: "{rounded.md}"
height: "44px"
---
# Probe Palette Lane Routing
## Overview
A navigation-heavy palette language for investigative tools where color behaves like routed infrastructure: every hue is a lane, every surface is a switching board, and hierarchy is proven through measured tracks rather than decorative glow.
### Values
- chromatic routing as information architecture
- dense but legible operational rhythm
- visible handoff states between teams and data lanes
- restrained industrial tactility
### Anti-Values
- generic white SaaS cards with arbitrary accent colors
- rainbow decoration that does not map to state or route
- soft glass panels and unfocused gradients
### Visual Character
- Use left-edge vertical route rails in four token colors with matching tiny node dots and lane labels applied through CSS border-left and pseudo-elements.
- Build surfaces as matte graphite panels over a warm off-black field with subtle diagonal calibration stripes made from repeating-linear-gradient backgrounds.
- Compose the page on an asymmetric switchboard grid: one wide route map, a narrow signal stack, and compact status tickets snapped to 8px tracks.
- Render component boundaries with square-corner outer frames, small 6px inner radii, and clipped top-right notches using polygon clip-path on priority cards.
- Treat active actions as filled signal plates with high-contrast text while secondary controls remain outlined with double-rule borders and no drop-shadow gloss.
## Colors
Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.
| Token | Value |
|-------|-------|
| accent | `#C084FC` |
| background | `#101316` |
| border | `#394149` |
| error | `#FF5A5F` |
| info | `#58A6FF` |
| muted | `#8E9AA3` |
| primary | `#5CE1E6` |
| secondary | `#FFB000` |
| success | `#54D990` |
| surface | `#1B2024` |
| text | `#F4F1E8` |
| warning | `#FFC857` |
## Typography
- **Headline-Lg**: Space Grotesk, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Space Grotesk, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.48.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
### Breakpoints
mobile 375px, tablet 768px, desktop 1200px, wide 1440px
### Grid
12-column desktop switchboard with 280px navigation, 1fr route map, and 340px signal stack; tablet collapses to two columns; mobile stacks lane sections with rails preserved.
### Whitespace
Whitespace is measured in 8px tracks and appears as gutters between route lanes, preserving compact operational scanning.
## Elevation & Depth
### Shadows
- **Lg**: 0 30px 80px rgba(0,0,0,0.38)
- **Md**: 0 18px 40px rgba(0,0,0,0.28)
- **Sm**: 0 1px 0 rgba(244,241,232,0.08) inset
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `10px`
- **Md**: `6px`
- **None**: `0px`
- **Sm**: `3px`
### Surfaces
- **Bg Pattern**: off-black field with faint diagonal calibration stripes and low-contrast grid points
- **Card Style**: square outer frame, 6px inner radius, clipped top-right notch for priority modules, striped underlay only in headers
- **Treatment**: matte graphite panels with warm ivory typography and functional cyan, amber, violet, and blue lane rails
### Borders
- **Accent Width**: 4px
- **Character**: technical route rails, not decorative outlines; color indicates lane ownership or state
- **Default Width**: 1px
- **Style**: solid with occasional double-rule secondary controls
## Components
### Composition
Arrange screens as a switchboard: persistent left navigation rail, a dominant routed work surface, and a right column of signal tickets. Avoid equal-card grids by varying span, density, and lane color.
### Density
Medium-high density with 8px track alignment, short labels, and compact rows; whitespace appears as functional separation between lanes rather than broad editorial margins.
### Hierarchy
Headings are compact Space Grotesk labels, operational copy is IBM Plex Sans, and IDs or counts use IBM Plex Mono. Priority is conveyed by rail thickness, notch treatment, and active signal fill.
### Signature Patterns
- Four-color route rail system: cyan for live probes, amber for pending review, violet for palette decisions, and blue for external intelligence.
- Clipped top-right priority notch on major panels paired with striped header underlays to make urgent modules identifiable without extra icons.
- Monospace lane chips and small node dots align on vertical tracks, making status progress readable as an infrastructure map.
- Secondary controls use double-line technical borders while primary actions use flat filled signal plates with square edges and tiny radius.
## shadcn/ui Usage
When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.
DESIGN.md with shadcn: `/language/en-019eb32c-6c9d-7262-bd6a-ebdecf884dce/DESIGN.with-shadcn.md`.
The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.
Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.
## Do's and Don'ts
- Do Map every accent color to a lane or state before using it.
- Do Keep card silhouettes square with only small inner radii and priority notches.
- Do Use realistic probe, palette, and routing labels that imply a working product.
- Do Preserve strong contrast on dark surfaces and visible focus outlines.
- Don't Do not use colors as confetti or marketing decoration.
- Don't Do not soften the system with glassmorphism, large shadows, or pill-only SaaS controls.
- Don't Do not create equal three-card rows without a dominant routed surface.
- Don't Do not remove the rails, node dots, and monospace lane IDs that carry the identity.
### Usage Context
Best for palette governance tools, routing consoles, research triage systems, observability products, and design ops dashboards where state transitions are the product.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "probe-palette-lane-routing",
"type": "registry:theme",
"title": "Probe Palette Lane Routing shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#101316",
"foreground": "#F4F1E8",
"card": "#1B2024",
"card-foreground": "#F4F1E8",
"popover": "#1B2024",
"popover-foreground": "#F4F1E8",
"primary": "#5CE1E6",
"primary-foreground": "#111111",
"secondary": "#FFB000",
"secondary-foreground": "#ffffff",
"muted": "#8E9AA3",
"muted-foreground": "#F4F1E8",
"accent": "#C084FC",
"accent-foreground": "#ffffff",
"destructive": "#FF5A5F",
"border": "#394149",
"input": "#394149",
"ring": "#C084FC",
"chart-1": "#5CE1E6",
"chart-2": "#FFB000",
"chart-3": "#C084FC",
"chart-4": "#54D990",
"chart-5": "#FFC857",
"sidebar": "#1B2024",
"sidebar-foreground": "#F4F1E8",
"sidebar-primary": "#5CE1E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#58A6FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#394149",
"sidebar-ring": "#C084FC",
"radius": "6px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#5CE1E6",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#C084FC",
"accent-foreground": "#ffffff",
"destructive": "#FF5A5F",
"border": "#303642",
"input": "#303642",
"ring": "#C084FC",
"chart-1": "#5CE1E6",
"chart-2": "#FFB000",
"chart-3": "#C084FC",
"chart-4": "#54D990",
"chart-5": "#FFC857",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#5CE1E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#C084FC",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#C084FC",
"radius": "6px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019eb32c-6c9d-7262-bd6a-ebdecf884dce",
"slug": "probe-palette-lane-routing",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
Shape
implementation kit
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table:root {
--background: #101316;
--foreground: #F4F1E8;
--card: #1B2024;
--card-foreground: #F4F1E8;
--popover: #1B2024;
--popover-foreground: #F4F1E8;
--primary: #5CE1E6;
--primary-foreground: #111111;
--secondary: #FFB000;
--secondary-foreground: #ffffff;
--muted: #8E9AA3;
--muted-foreground: #F4F1E8;
--accent: #C084FC;
--accent-foreground: #ffffff;
--destructive: #FF5A5F;
--border: #394149;
--input: #394149;
--ring: #C084FC;
--chart-1: #5CE1E6;
--chart-2: #FFB000;
--chart-3: #C084FC;
--chart-4: #54D990;
--chart-5: #FFC857;
--sidebar: #1B2024;
--sidebar-foreground: #F4F1E8;
--sidebar-primary: #5CE1E6;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #58A6FF;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #394149;
--sidebar-ring: #C084FC;
--radius: 6px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #5CE1E6;
--primary-foreground: #111111;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #C084FC;
--accent-foreground: #ffffff;
--destructive: #FF5A5F;
--border: #303642;
--input: #303642;
--ring: #C084FC;
--chart-1: #5CE1E6;
--chart-2: #FFB000;
--chart-3: #C084FC;
--chart-4: #54D990;
--chart-5: #FFC857;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #5CE1E6;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #C084FC;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #C084FC;
--radius: 6px;
}
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
export function ProbePaletteLaneRoutingShadcnKit() {
return (
<section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
<div className="flex items-start justify-between gap-4">
<div>
<Badge variant="outline">shadcn/ui</Badge>
<h2 className="mt-3 text-2xl font-semibold tracking-tight">Probe Palette Lane Routing</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "probe-palette-lane-routing",
"type": "registry:theme",
"title": "Probe Palette Lane Routing shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#101316",
"foreground": "#F4F1E8",
"card": "#1B2024",
"card-foreground": "#F4F1E8",
"popover": "#1B2024",
"popover-foreground": "#F4F1E8",
"primary": "#5CE1E6",
"primary-foreground": "#111111",
"secondary": "#FFB000",
"secondary-foreground": "#ffffff",
"muted": "#8E9AA3",
"muted-foreground": "#F4F1E8",
"accent": "#C084FC",
"accent-foreground": "#ffffff",
"destructive": "#FF5A5F",
"border": "#394149",
"input": "#394149",
"ring": "#C084FC",
"chart-1": "#5CE1E6",
"chart-2": "#FFB000",
"chart-3": "#C084FC",
"chart-4": "#54D990",
"chart-5": "#FFC857",
"sidebar": "#1B2024",
"sidebar-foreground": "#F4F1E8",
"sidebar-primary": "#5CE1E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#58A6FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#394149",
"sidebar-ring": "#C084FC",
"radius": "6px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#5CE1E6",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#C084FC",
"accent-foreground": "#ffffff",
"destructive": "#FF5A5F",
"border": "#303642",
"input": "#303642",
"ring": "#C084FC",
"chart-1": "#5CE1E6",
"chart-2": "#FFB000",
"chart-3": "#C084FC",
"chart-4": "#54D990",
"chart-5": "#FFC857",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#5CE1E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#C084FC",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#C084FC",
"radius": "6px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019eb32c-6c9d-7262-bd6a-ebdecf884dce",
"slug": "probe-palette-lane-routing",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
}
}
}
# Probe Palette Lane Routing shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate the routed palette switchboard into shadcn/ui primitives: dark graphite surfaces, visible colored route rails, clipped priority cards, compact monospace lane IDs, and functional accent colors.
## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.
## Token cues
Use background #101316, card #1B2024, foreground #F4F1E8, muted #8E9AA3, border #394149, primary cyan #5CE1E6, amber #FFB000, violet #C084FC, blue #58A6FF, success #54D990, destructive #FF5A5F. Fonts: Space Grotesk headings, IBM Plex Sans body, IBM Plex Mono codes.
## Visual character to preserve
Colored left route rails, small node dots, diagonal calibration stripes, square frames with 6px inner radius, priority notch via clip-path, double-rule secondary controls, flat signal-plate primary actions.
## ShadSync visual profile
family: routed-switchboard; material: matte-graphite; contour: square-notch; border: rail-and-double-rule; underlay: calibration-stripes; grain: false; stickerBadges: false; motion: signal-acknowledge; density: compact-operational; accents: cyan live, amber review, violet decision, blue external.
## Signature component recipes
- button: primary is filled cyan signal plate with square 3px radius; secondary is transparent with 3px double border; destructive uses red rail plus flat fill.
- card: graphite background, #394149 border, optional 4px colored left rail; priority cards use clipped top-right notch.
- input, textarea, select: graphite inset fields with violet or cyan focus rail, mono helper labels, no browser default glow.
- dialog and sheet: matte panels with striped header underlay, compact title, route rail on the leading edge.
- tabs: lane tabs use colored top or left rails and mono IDs; active state is filled dark panel with accent underline.
- badge: monospace lane chips with 1px currentColor border, tiny radius or full pill only for status IDs.
- separator: 1px #394149 rule with optional small colored node dot at start.
- checkbox and switch: square checkbox with cyan check; switch track is success green or muted graphite with small dark knob.
- slider: thin graphite track, cyan filled range, round node thumb sized 14px.
- tooltip and dropdown-menu: compact graphite popovers with double-rule border and mono shortcut labels.
- table: dense rows, top borders only, first column lane chip, row hover as subtle rail-color wash.
## Preview shots
application-shell shows the full route console; detail-editor shows palette fork editing with form controls; data-operations shows lane table, dropdown, tooltip, switch and slider states.
## Implementation contract
Import local primitives from `@/components/ui/*`. Do not invent another component system. Preserve token names, route rails, priority notches, compact density, visible focus outlines, and realistic palette routing content.
## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Badge } from "@/components/ui/badge"
import { Input } from "@/components/ui/input"
export function ProbeLaneCard() {
return (
<Card className="relative overflow-hidden rounded-[6px] border border-[#394149] bg-[#1B2024] text-[#F4F1E8] [clip-path:polygon(0_0,calc(100%_-_18px)_0,100%_18px,100%_100%,0_100%)] before:absolute before:left-0 before:top-0 before:h-full before:w-1 before:bg-[#C084FC]">
<CardHeader className="bg-[repeating-linear-gradient(90deg,rgba(92,225,230,.16)_0_6px,transparent_6px_14px)] pl-6">
<Badge className="w-fit border-[#C084FC] bg-transparent font-mono text-[#C084FC]">PAL-04</Badge>
<CardTitle className="font-['Space_Grotesk'] tracking-[-0.04em]">Palette fork decision</CardTitle>
</CardHeader>
<CardContent className="space-y-3 pl-6">
<Input className="rounded-[6px] border-[#394149] border-l-[#C084FC] bg-[#101316] text-[#F4F1E8]" defaultValue="violet accent lane" />
<Button className="rounded-[3px] bg-[#5CE1E6] font-bold text-[#101316] hover:bg-[#5CE1E6]/90">Promote lane</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "card",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "input",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "textarea",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "select",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "dialog",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "sheet",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "tabs",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "badge",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "separator",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "checkbox",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "switch",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "slider",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "tooltip",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "dropdown-menu",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
},
{
"component": "table",
"recipe": "Use matte graphite shadcn primitive styling with compact spacing, visible focus ring, and lane rail or mono status treatment when context-bearing."
}
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoid": [
"generic equal cards",
"decorative rainbow accents"
],
"composition": "Three-column route console with left lane navigation, dominant probe map, and signal tickets.",
"id": "application-shell",
"mustShowStates": [
"active cyan route",
"amber pending review",
"violet palette decision",
"priority notch card"
],
"primitives": [
"button",
"card",
"tabs",
"badge",
"separator",
"tooltip",
"dropdown-menu",
"table"
],
"scene": {
"actions": [
"Promote violet lane",
"Inspect route diff"
],
"description": "A palette governance shell for live probes and curator handoffs.",
"eyebrow": "query probe-latest-8c518b",
"headline": "Route every palette choice through visible operational lanes",
"rows": [
{
"id": "CY-18",
"name": "Probe intake",
"state": "live"
},
{
"id": "AM-07",
"name": "Review hold",
"state": "pending"
},
{
"id": "VI-04",
"name": "Palette fork",
"state": "decision"
}
],
"stats": [
{
"label": "contrast pass",
"value": "94%"
},
{
"label": "route conflicts",
"value": "03"
},
{
"label": "lanes synced",
"value": "4/4"
}
]
}
},
{
"avoid": [
"soft glass forms",
"oversized rounded fields"
],
"composition": "Clipped violet editor card beside a sheet of lane metadata and compact controls.",
"id": "detail-editor",
"mustShowStates": [
"focused violet input rail",
"enabled approval switch",
"slider threshold",
"checked contrast box"
],
"primitives": [
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"checkbox",
"switch",
"slider",
"button",
"badge"
],
"scene": {
"actions": [
"Save lane patch",
"Open audit sheet"
],
"description": "Edit semantic roles, contrast thresholds, and routing notes before promotion.",
"eyebrow": "palette fork editor",
"fields": [
{
"label": "Lane name",
"value": "violet accent lane"
},
{
"label": "Contrast threshold",
"value": "AA 4.8"
},
{
"label": "Curator note",
"value": "Keep violet for decisions only"
}
],
"headline": "Tune violet accent lane against graphite surfaces",
"stats": [
{
"label": "approval",
"value": "enabled"
},
{
"label": "threshold",
"value": "72"
}
]
}
},
{
"avoid": [
"inventory wall of components",
"unmapped accent colors"
],
"composition": "Dense operations table with mono lane chips, dropdown actions, and blue external-signal rail.",
"id": "data-operations",
"mustShowStates": [
"hoverable table rows",
"dropdown open affordance",
"tooltip on conflict count",
"blue external rail"
],
"primitives": [
"table",
"dropdown-menu",
"tooltip",
"badge",
"separator",
"button",
"card",
"select",
"switch"
],
"scene": {
"actions": [
"Export route log",
"Resolve conflicts"
],
"description": "Operators inspect which palette signals moved between probe, review, and decision lanes.",
"eyebrow": "data operations",
"headline": "Audit lane transfers and external references",
"rows": [
{
"id": "EXT-21",
"lane": "blue",
"name": "Market reference",
"status": "linked"
},
{
"id": "REV-07",
"lane": "amber",
"name": "Curator hold",
"status": "waiting"
},
{
"id": "PAL-04",
"lane": "violet",
"name": "Accent fork",
"status": "ready"
}
],
"stats": [
{
"label": "external refs",
"value": "32"
},
{
"label": "waiting",
"value": "7"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"cyan live probes",
"amber review holds",
"violet palette decisions",
"blue external signals"
],
"border": "rail-and-double-rule",
"contour": "square-notch",
"density": "compact-operational",
"family": "routed-switchboard",
"grain": false,
"material": "matte-graphite",
"motion": "signal-acknowledge",
"stickerBadges": false,
"underlay": "calibration-stripes"
}
}