Orbital Graphite Telemetry
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
- 2px
- character
- Hairline graphite dividers with cyan used for active selection rails and amber used only for caution thresholds.
- default width
- 1px
- style
- solid
colors12 items
motion3 items
- duration
- 140ms
- easing
- cubic-bezier(0.2, 0, 0, 1)
- philosophy
- Motion is diagnostic: instant state confirmation, no floaty easing, no decorative orbital animations beyond restrained trace pulses.
radii5 items
- full
- 9999px
- lg
- 4px
- md
- 2px
- none
- 0
- sm
- 0
shadows3 items
- lg
- 0 30px 90px rgba(0, 0, 0, 0.48)
- md
- 0 18px 60px rgba(0, 0, 0, 0.34)
- sm
- 0 0 0 1px rgba(158, 220, 242, 0.10)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- Low-contrast 24px orthogonal grid plus sparse orbital coordinate ticks embedded into the graphite background.
- card style
- Square mission panels with 1px borders, clipped serial headers, cyan selection rails, and compact amber caution stamps.
- treatment
- Matte graphite slabs with no gloss, subtle noise, hard compartment seams, and faint plotted grid overlays.
typography8 items
- base size
- 16px
- body font
- Atkinson Hyperlegible
- google fonts url
- https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=IBM+Plex+Mono:wght@400;500;600&family=Saira+Condensed:wght@500;600;700&display=swap
- heading font
- Saira Condensed
- letter spacing
- 0.01em
- line height
- 1.5
- mono font
- IBM Plex Mono
- scale ratio
- 1.2
rules
Compose screens as mission-console compartments: a narrow command rail, a dominant orbital plot, stacked telemetry tables, and status strips locked to a strict grid.
High-density but readable: compact tables, small serial metadata, and generous internal gutters around the dominant plot prevent dashboard mush.
Hierarchy comes from scale, uppercase condensed labels, border weight, and cyan selection rails; large color fields are avoided so status colors retain meaning.
layout
Mobile 375px single-column stack; tablet 768px two-column plot-plus-telemetry; desktop 1200px+ full mission console with side rail.
Twelve-column desktop grid with 8px base increments, fixed command rail, dominant 7-column plot area, and 3-column telemetry stack.
Whitespace is measured as instrument clearance: tight within tables, 16-24px around panels, and larger margins only around the primary orbital plot.
guidance
- Use graphite, off-white, glacier cyan, and sparse amber in exactly defined semantic roles.
- Make every panel feel like a mission artifact with serial labels, units, coordinates, or verification states.
- Keep corners square or nearly square and rely on borders, grids, and typography for identity.
- Ensure cyan and amber states have non-color cues such as rails, stamps, icons, labels, or patterns.
- Maintain strong contrast for off-white text on graphite and reserve muted gray for metadata only.
- Do not add neon glow, purple cyberpunk gradients, glassmorphism, starfields, or decorative planets.
- Do not use amber for brand decoration; it must mean caution, delay, threshold, or pending status.
- Do not soften the system with large radii, pastel cards, drop-shadow stacks, or generic SaaS dashboards.
- Do not let dense telemetry become illegible; tables need clear alignment, units, and row rhythm.
- Do not introduce extra accent colors beyond required semantic error, success, warning, and info states.
katagami spec
# Orbital Graphite Telemetry ## Philosophy A restrained brutalist orbital interface language for institutional mission tools: matte graphite structure, off-white instrument typography, glacier-blue telemetry, and amber states reserved for genuine caution. ### Values - operational restraint - institutional legibility - orbital systems discipline - semantic color scarcity - matte material honesty ### Anti-Values - neon sci-fi spectacle - decorative gradients - soft SaaS friendliness - ambiguous status color - glassy chrome surfaces ### Visual Character - Use a low-chroma near-black graphite page with slightly lighter matte panels separated by 1px rule lines and inset gridded plotting fields. - Set headings in condensed technical uppercase with wide tracking, while dense readings and identifiers use monospaced off-white instrument text. - Reserve glacier cyan for telemetry traces, selected tabs, active focus rings, and small coordinate marks instead of filling large surfaces. - Apply warm amber only to caution chips, threshold ticks, and one or two status rows so warnings read as operational events. - Build layouts from rectilinear mission-console compartments with square corners, serial labels, hairline dividers, and no decorative softness. ## Tokens ### Borders - **Accent Width**: 2px - **Character**: Hairline graphite dividers with cyan used for active selection rails and amber used only for caution thresholds. - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#D99B43` | | background | `#111416` | | border | `#343B40` | | error | `#D46A5A` | | info | `#7FCBE5` | | muted | `#8B969C` | | primary | `#9EDCF2` | | secondary | `#77838C` | | success | `#8FBF9A` | | surface | `#181D20` | | text | `#E8E4D8` | | warning | `#D99B43` | ### Motion - **Duration**: 140ms - **Easing**: cubic-bezier(0.2, 0, 0, 1) - **Philosophy**: Motion is diagnostic: instant state confirmation, no floaty easing, no decorative orbital animations beyond restrained trace pulses. ### Radii - **Full**: 9999px - **Lg**: 4px - **Md**: 2px - **None**: 0 - **Sm**: 0 ### Shadows - **Lg**: 0 30px 90px rgba(0, 0, 0, 0.48) - **Md**: 0 18px 60px rgba(0, 0, 0, 0.34) - **Sm**: 0 0 0 1px rgba(158, 220, 242, 0.10) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: Low-contrast 24px orthogonal grid plus sparse orbital coordinate ticks embedded into the graphite background. - **Card Style**: Square mission panels with 1px borders, clipped serial headers, cyan selection rails, and compact amber caution stamps. - **Treatment**: Matte graphite slabs with no gloss, subtle noise, hard compartment seams, and faint plotted grid overlays. ### Typography - **Base Size**: 16px - **Body Font**: Atkinson Hyperlegible - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=IBM+Plex+Mono:wght@400;500;600&family=Saira+Condensed:wght@500;600;700&display=swap - **Heading Font**: Saira Condensed - **Letter Spacing**: 0.01em - **Line Height**: 1.5 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.2 ## Rules ### Composition Compose screens as mission-console compartments: a narrow command rail, a dominant orbital plot, stacked telemetry tables, and status strips locked to a strict grid. ### Density High-density but readable: compact tables, small serial metadata, and generous internal gutters around the dominant plot prevent dashboard mush. ### Hierarchy Hierarchy comes from scale, uppercase condensed labels, border weight, and cyan selection rails; large color fields are avoided so status colors retain meaning. ### Signature Patterns - Graphite plotting panels combine a faint square grid, crosshair ticks, cyan trajectory SVG strokes, and small monospaced coordinate callouts. - Active modules show a 2px glacier-blue left rail with bracket-corner marks instead of rounded pills or bright filled buttons. - Caution states appear as amber stamped chips with black inset text, threshold hash marks, and never occupy more than a small row segment. - Section headers use condensed uppercase mission codes, rule-line extensions, and right-aligned serial numbers to create institutional cadence. - Data tables use alternating graphite bands, thin vertical dividers, numeric mono alignment, and color only in semantic status glyphs. ## Layout ### Breakpoints Mobile 375px single-column stack; tablet 768px two-column plot-plus-telemetry; desktop 1200px+ full mission console with side rail. ### Grid Twelve-column desktop grid with 8px base increments, fixed command rail, dominant 7-column plot area, and 3-column telemetry stack. ### Whitespace Whitespace is measured as instrument clearance: tight within tables, 16-24px around panels, and larger margins only around the primary orbital plot. ## Guidance ### Do - Use graphite, off-white, glacier cyan, and sparse amber in exactly defined semantic roles. - Make every panel feel like a mission artifact with serial labels, units, coordinates, or verification states. - Keep corners square or nearly square and rely on borders, grids, and typography for identity. - Ensure cyan and amber states have non-color cues such as rails, stamps, icons, labels, or patterns. - Maintain strong contrast for off-white text on graphite and reserve muted gray for metadata only. ### Don't - Do not add neon glow, purple cyberpunk gradients, glassmorphism, starfields, or decorative planets. - Do not use amber for brand decoration; it must mean caution, delay, threshold, or pending status. - Do not soften the system with large radii, pastel cards, drop-shadow stacks, or generic SaaS dashboards. - Do not let dense telemetry become illegible; tables need clear alignment, units, and row rhythm. - Do not introduce extra accent colors beyond required semantic error, success, warning, and info states. ### Accessibility Core text exceeds WCAG AA contrast on graphite; cyan and amber are paired with rails, labels, icons, and patterns so status never depends on hue alone. ### Usage Context Best for aerospace operations software, satellite fleet monitoring, institutional security telemetry, industrial observability, and restrained sci-fi command systems.
DESIGN.md
---
version: "alpha"
name: "Orbital Graphite Telemetry"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#D99B43"
background: "#111416"
border: "#343B40"
error: "#D46A5A"
info: "#7FCBE5"
muted: "#8B969C"
primary: "#9EDCF2"
secondary: "#77838C"
success: "#8FBF9A"
surface: "#181D20"
text: "#E8E4D8"
warning: "#D99B43"
typography:
headline-lg:
fontFamily: "Saira Condensed"
fontSize: "1.728rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "0.01em"
headline-md:
fontFamily: "Saira Condensed"
fontSize: "1.44rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "0.01em"
body-md:
fontFamily: "Atkinson Hyperlegible"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.5
letterSpacing: "0.01em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "4px"
md: "2px"
none: "0px"
sm: "0px"
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"
---
# Orbital Graphite Telemetry
## Overview
A restrained brutalist orbital interface language for institutional mission tools: matte graphite structure, off-white instrument typography, glacier-blue telemetry, and amber states reserved for genuine caution.
### Values
- operational restraint
- institutional legibility
- orbital systems discipline
- semantic color scarcity
- matte material honesty
### Anti-Values
- neon sci-fi spectacle
- decorative gradients
- soft SaaS friendliness
- ambiguous status color
- glassy chrome surfaces
### Visual Character
- Use a low-chroma near-black graphite page with slightly lighter matte panels separated by 1px rule lines and inset gridded plotting fields.
- Set headings in condensed technical uppercase with wide tracking, while dense readings and identifiers use monospaced off-white instrument text.
- Reserve glacier cyan for telemetry traces, selected tabs, active focus rings, and small coordinate marks instead of filling large surfaces.
- Apply warm amber only to caution chips, threshold ticks, and one or two status rows so warnings read as operational events.
- Build layouts from rectilinear mission-console compartments with square corners, serial labels, hairline dividers, and no decorative softness.
## 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 | `#D99B43` |
| background | `#111416` |
| border | `#343B40` |
| error | `#D46A5A` |
| info | `#7FCBE5` |
| muted | `#8B969C` |
| primary | `#9EDCF2` |
| secondary | `#77838C` |
| success | `#8FBF9A` |
| surface | `#181D20` |
| text | `#E8E4D8` |
| warning | `#D99B43` |
## Typography
- **Headline-Lg**: Saira Condensed, 1.728rem, weight 700, line-height 1.1.
- **Headline-Md**: Saira Condensed, 1.44rem, weight 600, line-height 1.15.
- **Body-Md**: Atkinson Hyperlegible, 16px, weight 400, line-height 1.5.
- **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 single-column stack; tablet 768px two-column plot-plus-telemetry; desktop 1200px+ full mission console with side rail.
### Grid
Twelve-column desktop grid with 8px base increments, fixed command rail, dominant 7-column plot area, and 3-column telemetry stack.
### Whitespace
Whitespace is measured as instrument clearance: tight within tables, 16-24px around panels, and larger margins only around the primary orbital plot.
## Elevation & Depth
### Shadows
- **Lg**: 0 30px 90px rgba(0, 0, 0, 0.48)
- **Md**: 0 18px 60px rgba(0, 0, 0, 0.34)
- **Sm**: 0 0 0 1px rgba(158, 220, 242, 0.10)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `4px`
- **Md**: `2px`
- **None**: `0px`
- **Sm**: `0px`
### Surfaces
- **Bg Pattern**: Low-contrast 24px orthogonal grid plus sparse orbital coordinate ticks embedded into the graphite background.
- **Card Style**: Square mission panels with 1px borders, clipped serial headers, cyan selection rails, and compact amber caution stamps.
- **Treatment**: Matte graphite slabs with no gloss, subtle noise, hard compartment seams, and faint plotted grid overlays.
### Borders
- **Accent Width**: 2px
- **Character**: Hairline graphite dividers with cyan used for active selection rails and amber used only for caution thresholds.
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Compose screens as mission-console compartments: a narrow command rail, a dominant orbital plot, stacked telemetry tables, and status strips locked to a strict grid.
### Density
High-density but readable: compact tables, small serial metadata, and generous internal gutters around the dominant plot prevent dashboard mush.
### Hierarchy
Hierarchy comes from scale, uppercase condensed labels, border weight, and cyan selection rails; large color fields are avoided so status colors retain meaning.
### Signature Patterns
- Graphite plotting panels combine a faint square grid, crosshair ticks, cyan trajectory SVG strokes, and small monospaced coordinate callouts.
- Active modules show a 2px glacier-blue left rail with bracket-corner marks instead of rounded pills or bright filled buttons.
- Caution states appear as amber stamped chips with black inset text, threshold hash marks, and never occupy more than a small row segment.
- Section headers use condensed uppercase mission codes, rule-line extensions, and right-aligned serial numbers to create institutional cadence.
- Data tables use alternating graphite bands, thin vertical dividers, numeric mono alignment, and color only in semantic status glyphs.
## 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-019eaed3-eb97-7972-a8e2-1b00dc1d871e/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 Use graphite, off-white, glacier cyan, and sparse amber in exactly defined semantic roles.
- Do Make every panel feel like a mission artifact with serial labels, units, coordinates, or verification states.
- Do Keep corners square or nearly square and rely on borders, grids, and typography for identity.
- Do Ensure cyan and amber states have non-color cues such as rails, stamps, icons, labels, or patterns.
- Do Maintain strong contrast for off-white text on graphite and reserve muted gray for metadata only.
- Don't Do not add neon glow, purple cyberpunk gradients, glassmorphism, starfields, or decorative planets.
- Don't Do not use amber for brand decoration; it must mean caution, delay, threshold, or pending status.
- Don't Do not soften the system with large radii, pastel cards, drop-shadow stacks, or generic SaaS dashboards.
- Don't Do not let dense telemetry become illegible; tables need clear alignment, units, and row rhythm.
- Don't Do not introduce extra accent colors beyond required semantic error, success, warning, and info states.
### Accessibility
Core text exceeds WCAG AA contrast on graphite; cyan and amber are paired with rails, labels, icons, and patterns so status never depends on hue alone.
### Usage Context
Best for aerospace operations software, satellite fleet monitoring, institutional security telemetry, industrial observability, and restrained sci-fi command systems.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "orbital-graphite-telemetry",
"type": "registry:theme",
"title": "Orbital Graphite Telemetry shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#111416",
"foreground": "#E8E4D8",
"card": "#181D20",
"card-foreground": "#E8E4D8",
"popover": "#181D20",
"popover-foreground": "#E8E4D8",
"primary": "#9EDCF2",
"primary-foreground": "#111111",
"secondary": "#77838C",
"secondary-foreground": "#ffffff",
"muted": "#8B969C",
"muted-foreground": "#E8E4D8",
"accent": "#D99B43",
"accent-foreground": "#ffffff",
"destructive": "#D46A5A",
"border": "#343B40",
"input": "#343B40",
"ring": "#D99B43",
"chart-1": "#9EDCF2",
"chart-2": "#77838C",
"chart-3": "#D99B43",
"chart-4": "#8FBF9A",
"chart-5": "#D99B43",
"sidebar": "#181D20",
"sidebar-foreground": "#E8E4D8",
"sidebar-primary": "#9EDCF2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#7FCBE5",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#343B40",
"sidebar-ring": "#D99B43",
"radius": "2px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#9EDCF2",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#D99B43",
"accent-foreground": "#ffffff",
"destructive": "#D46A5A",
"border": "#303642",
"input": "#303642",
"ring": "#D99B43",
"chart-1": "#9EDCF2",
"chart-2": "#77838C",
"chart-3": "#D99B43",
"chart-4": "#8FBF9A",
"chart-5": "#D99B43",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#9EDCF2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#D99B43",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#D99B43",
"radius": "2px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019eaed3-eb97-7972-a8e2-1b00dc1d871e",
"slug": "orbital-graphite-telemetry",
"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: #111416;
--foreground: #E8E4D8;
--card: #181D20;
--card-foreground: #E8E4D8;
--popover: #181D20;
--popover-foreground: #E8E4D8;
--primary: #9EDCF2;
--primary-foreground: #111111;
--secondary: #77838C;
--secondary-foreground: #ffffff;
--muted: #8B969C;
--muted-foreground: #E8E4D8;
--accent: #D99B43;
--accent-foreground: #ffffff;
--destructive: #D46A5A;
--border: #343B40;
--input: #343B40;
--ring: #D99B43;
--chart-1: #9EDCF2;
--chart-2: #77838C;
--chart-3: #D99B43;
--chart-4: #8FBF9A;
--chart-5: #D99B43;
--sidebar: #181D20;
--sidebar-foreground: #E8E4D8;
--sidebar-primary: #9EDCF2;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #7FCBE5;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #343B40;
--sidebar-ring: #D99B43;
--radius: 2px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #9EDCF2;
--primary-foreground: #111111;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #D99B43;
--accent-foreground: #ffffff;
--destructive: #D46A5A;
--border: #303642;
--input: #303642;
--ring: #D99B43;
--chart-1: #9EDCF2;
--chart-2: #77838C;
--chart-3: #D99B43;
--chart-4: #8FBF9A;
--chart-5: #D99B43;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #9EDCF2;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #D99B43;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #D99B43;
--radius: 2px;
}
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 OrbitalGraphiteTelemetryShadcnKit() {
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">Orbital Graphite Telemetry</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": "orbital-graphite-telemetry",
"type": "registry:theme",
"title": "Orbital Graphite Telemetry shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#111416",
"foreground": "#E8E4D8",
"card": "#181D20",
"card-foreground": "#E8E4D8",
"popover": "#181D20",
"popover-foreground": "#E8E4D8",
"primary": "#9EDCF2",
"primary-foreground": "#111111",
"secondary": "#77838C",
"secondary-foreground": "#ffffff",
"muted": "#8B969C",
"muted-foreground": "#E8E4D8",
"accent": "#D99B43",
"accent-foreground": "#ffffff",
"destructive": "#D46A5A",
"border": "#343B40",
"input": "#343B40",
"ring": "#D99B43",
"chart-1": "#9EDCF2",
"chart-2": "#77838C",
"chart-3": "#D99B43",
"chart-4": "#8FBF9A",
"chart-5": "#D99B43",
"sidebar": "#181D20",
"sidebar-foreground": "#E8E4D8",
"sidebar-primary": "#9EDCF2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#7FCBE5",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#343B40",
"sidebar-ring": "#D99B43",
"radius": "2px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#9EDCF2",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#D99B43",
"accent-foreground": "#ffffff",
"destructive": "#D46A5A",
"border": "#303642",
"input": "#303642",
"ring": "#D99B43",
"chart-1": "#9EDCF2",
"chart-2": "#77838C",
"chart-3": "#D99B43",
"chart-4": "#8FBF9A",
"chart-5": "#D99B43",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#9EDCF2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#D99B43",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#D99B43",
"radius": "2px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019eaed3-eb97-7972-a8e2-1b00dc1d871e",
"slug": "orbital-graphite-telemetry",
"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"
]
}
}
}
# Orbital Graphite Telemetry shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate the mission-console language into local shadcn/ui primitives: matte graphite surfaces, square compartments, off-white typography, glacier-cyan active telemetry, and amber caution only for semantic status.
## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.
## Token cues
Use `{colors.background}` for the application field, `{colors.surface}` for panels, `{colors.text}` for instrument text, `{colors.muted}` for metadata, `{colors.info}` and `{colors.primary}` for selected telemetry, `{colors.warning}` for caution, `{colors.border}` for every seam, `{rounded.none}` or `{rounded.sm}` for most components, and `{spacing.2}`/`{spacing.3}` for dense control rhythm.
## Visual character to preserve
Square graphite cards with 1px seams; condensed uppercase section labels; monospaced numeric readings; cyan rails for selected states; amber stamped badges for caution; gridded underlays inside data-heavy panels.
## ShadSync visual profile
family: orbital-institutional; material: matte-graphite; contour: squared; border: hairline-compartment; underlay: telemetry-grid; grain: subtle; stickerBadges: false; motion: diagnostic-snap; density: high; accents: glacier-cyan and sparse amber.
## Signature component recipes
- button: default is transparent graphite with a hairline border; primary adds a 2px cyan left rail; destructive remains muted red text and never glows; warning uses an amber fill only when the action is truly cautionary.
- card: square panel, 1px border, serial-number header slot, optional grid background for telemetry cards, no large radius or soft shadow.
- input, textarea, select: graphite field, square corners, mono value text, cyan focus ring, uppercase mono labels, clear unit/help text.
- dialog and sheet: mission procedure overlays with hard borders, dark scrim, serial headers, and a cyan rail on the active step.
- tabs: active tab uses a cyan top or left rule, inactive tabs remain muted graphite text with no filled pill treatment.
- badge: status badges are compact mono stamps; amber only for caution, cyan for info/selected, green for nominal, red for error.
- separator: one-pixel graphite rule with optional label notch; never decorative gradients.
- checkbox and switch: rectangular/squared controls; checked state shows cyan rail/check, not a glowing blob.
- slider: thin rail with cyan filled track, amber threshold hash mark, and visible numeric readout.
- tooltip and dropdown-menu: matte graphite, square border, mono metadata, no floating glass effect.
- table: compact mono-aligned numeric cells, alternating graphite bands, semantic dot/glyph plus label for status.
## Preview shots
application-shell shows the fleet operations console; detail-editor shows a maneuver authorization form; data-operations shows a telemetry table with filters, thresholds, dropdown actions, and semantic statuses.
## Implementation contract
Import local primitives from `@/components/ui/*`. Do not invent custom component systems. Preserve square radii, hairline seams, dense spacing, high contrast text, and semantic-only cyan/amber accents.
## 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"
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
export function OrbitalTelemetryCard() {
return (
<Card className="rounded-none border border-border bg-card text-card-foreground shadow-none">
<CardHeader className="border-b border-border px-3 py-2">
<div className="flex items-center justify-between gap-3">
<CardTitle className="font-heading text-lg uppercase tracking-[0.12em]">Conjunction Queue</CardTitle>
<Badge className="rounded-none bg-warning px-2 py-1 font-mono text-xs text-background">CAUTION</Badge>
</div>
</CardHeader>
<CardContent className="space-y-3 p-3">
<Input className="rounded-none border-border bg-background font-mono focus-visible:ring-info" defaultValue="ODAC-17-TRIM-A" />
<Table>
<TableHeader><TableRow><TableHead>Object</TableHead><TableHead>Range</TableHead><TableHead>State</TableHead></TableRow></TableHeader>
<TableBody>
<TableRow><TableCell className="font-mono">COSMOS-1408</TableCell><TableCell className="font-mono">0.84 km</TableCell><TableCell><Badge variant="outline" className="rounded-none border-info text-info">TRACK</Badge></TableCell></TableRow>
</TableBody>
</Table>
<Button className="rounded-none border-l-2 border-l-info bg-secondary font-mono uppercase tracking-wide">Simulate Burn</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "card",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "input",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "textarea",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "select",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "dialog",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "sheet",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "tabs",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "badge",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "separator",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "checkbox",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "switch",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "slider",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "tooltip",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "dropdown-menu",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
},
{
"component": "table",
"recipe": "Use square graphite construction, 1px borders, mono operational labels, cyan active/focus cues, and amber only for warning or pending status."
}
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoid": [
"neon glow",
"rounded pill navigation",
"decorative starfield"
],
"composition": "Mission shell with command rail, active cyan tab, orbital plot card, telemetry table, status badges, and dropdown command menu.",
"id": "application-shell",
"mustShowStates": [
"active cyan selection rail",
"nominal badge",
"amber caution badge",
"hover tooltip on covariance"
],
"primitives": [
"button",
"card",
"tabs",
"badge",
"separator",
"table",
"tooltip",
"dropdown-menu"
],
"scene": {
"actions": [
"Simulate burn",
"Open command menu"
],
"description": "Operators compare conjunction probability, covariance freshness, and burn simulation readiness before the next ground-pass window.",
"eyebrow": "LEO CONSTELLATION / GS-04",
"headline": "Orbital debris avoidance console",
"rows": [
{
"object": "COSMOS-1408",
"range": "0.84 km",
"state": "CAUTION"
},
{
"object": "FLOCK-3P",
"range": "2.18 km",
"state": "TRACK"
},
{
"object": "STARLINK-2219",
"range": "5.60 km",
"state": "NOMINAL"
}
],
"stats": [
{
"label": "Miss distance",
"value": "0.84 km"
},
{
"label": "Delta V",
"value": "0.42 m/s"
},
{
"label": "AOS",
"value": "06:14"
},
{
"label": "Covariance",
"value": "17 min stale"
}
]
}
},
{
"avoid": [
"soft form cards",
"large friendly toggles",
"color without labels"
],
"composition": "Maneuver authorization editor with graphite form fields, cyan focus, amber threshold slider, dual-key confirmation dialog, and compact caution copy.",
"id": "detail-editor",
"mustShowStates": [
"focused input with cyan ring",
"amber threshold hash",
"checked rectangular checkbox",
"open dialog"
],
"primitives": [
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"button",
"dialog",
"badge"
],
"scene": {
"actions": [
"Save draft",
"Request dual key"
],
"description": "A flight dynamics lead prepares a manual-confirm burn package while covariance refresh remains pending.",
"eyebrow": "MANEUVER DRAFT ODAC-17",
"fields": [
{
"label": "Burn identifier",
"value": "ODAC-17-TRIM-A"
},
{
"label": "Execution mode",
"value": "Manual confirm / dual key"
},
{
"label": "Operator note",
"value": "Hold amber until GS-04 covariance packet arrives."
}
],
"headline": "Authorize trim burn procedure",
"stats": [
{
"label": "Throttle",
"value": "42%"
},
{
"label": "Window",
"value": "T-06:14"
},
{
"label": "Risk",
"value": "Amber"
}
]
}
},
{
"avoid": [
"spreadsheet defaults",
"rainbow statuses",
"generic analytics cards"
],
"composition": "Dense telemetry operations table with filters, selected row cyan rail, amber stale data row, sheet detail inspection, and monospaced numeric alignment.",
"id": "data-operations",
"mustShowStates": [
"selected table row",
"warning status with amber chip",
"sheet open on right",
"filter input"
],
"primitives": [
"table",
"badge",
"input",
"select",
"button",
"separator",
"sheet",
"tabs",
"tooltip"
],
"scene": {
"actions": [
"Clear filters",
"Inspect selected"
],
"description": "Subsystem channels are filtered by bus, state, and freshness before operators clear the caution queue.",
"eyebrow": "TELEMETRY OPERATIONS",
"headline": "Channel health and threshold review",
"rows": [
{
"channel": "BUS-A",
"freshness": "00:04",
"state": "NOM",
"value": "27.8 V"
},
{
"channel": "RX TEMP",
"freshness": "00:07",
"state": "LOW",
"value": "-04.2 C"
},
{
"channel": "COVAR",
"freshness": "17:02",
"state": "STALE",
"value": "17 MIN"
},
{
"channel": "S-BAND",
"freshness": "00:02",
"state": "NOM",
"value": "81%"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"glacier-cyan-selection",
"warm-amber-caution-only"
],
"border": "hairline-compartment",
"contour": "squared",
"density": "high",
"family": "orbital-institutional",
"grain": "subtle-noise",
"material": "matte-graphite",
"motion": "diagnostic-snap",
"stickerBadges": false,
"underlay": "telemetry-grid"
}
}