back to gallerydo avoid
design language·systematic-interface-illustration
Systematic Interface Illustration
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.
the spec
specification
philosophy
summary
A contemporary product-illustration language for design-system interfaces: simplified vector symbols, modular spot scenes, accessible brand palettes, and iconographic consistency tuned for dashboards, onboarding, empty states, release notes, and documentation. It treats illustration as operational interface infrastructure rather than decoration: every drawing is assembled from the same grids, strokes, tiles, labels, and status semantics that the product UI uses. The result is calm, legible, and scalable across enterprise tools without drifting into mascot art, soft SaaS gradients, or generic template ornament.
values
Communicate product concepts quickly through reduced geometric metaphors rather than decorative realism, using simple device frames, data cards, connector lines, and status symbols.Keep every illustration compatible with interface surfaces, responsive cards, and accessible contrast requirements so the art can live inside real product screens.Treat icons, diagrams, and spot illustrations as one system with shared 2px stroke weights, 16px corner radii, grid alignment, and restrained palette roles.Use modular parts so teams can recombine people, devices, data shapes, progress arcs, and workflow nodes without visual drift between product areas.Prioritize labels, metrics, and action hierarchy over decoration; illustration supports the task and never competes with the primary interface content.Encode status redundantly with text, shape, position, and color so the language remains usable for color-blind and low-vision audiences.
anti-values
×Painterly scenes, textured brushwork, soft airbrush gradients, and decorative realism that cannot scale across UI states or responsive cards.×One-off mascot art, trend-driven 3D decoration, or expressive character faces that compete with content hierarchy and age quickly.×Thin low-contrast line art, random stroke weights, and unlabelled color-only semantics that fail in dense product contexts.×Pastel template backgrounds, gradient buttons, and crypto-style glow effects that make the interface feel AI-generated instead of systematic.
tokens
colors12 items
primary
#0F62FE
secondary
#005D5D
accent
#8A3FFC
background
#FFFFFF
surface
#FFFFFF
text
#161616
muted
#525252
border
#DDE3EA
error
#DA1E28
success
#24A148
warning
#B28600
info
#4589FF
typography8 items
- heading font
- IBM Plex Sans
- body font
- IBM Plex Sans
- mono font
- IBM Plex Mono
- base size
- 16px
- scale ratio
- 1.2
- line height
- 1.5
- letter spacing
- -0.02em
- 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&display=swap
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 96
radii5 items
- none
- 0px
- sm
- 16px
- md
- 16px
- lg
- 24px
- full
- 9999px
shadows3 items
- sm
- 0 1px 2px rgba(22,22,22,0.08)
- md
- 0 8px 24px rgba(22,22,22,0.10)
- lg
- 0 20px 60px rgba(22,22,22,0.12)
surfaces3 items
- treatment
- flat white interface surfaces with faint diagram wells
- card style
- White interface cards with hairline borders, clipped pale grid-dot illustration zones, 16px radii, and small color-coded status strips reinforced by text labels.
- bg pattern
- subtle radial dot grid used only inside illustration wells, never as a full-page background
borders4 items
- default width
- 1px
- accent width
- 2px
- style
- solid
- character
- Precise low-contrast interface hairlines with stronger blue focus outlines and consistent 2px illustration strokes.
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(0.2, 0, 0.38, 0.9)
- philosophy
- snappy functional transitions: focus rings, panel lifts, connector highlights, and icon-tile state changes without decorative bouncing
rules
composition
Use scene-first interface layouts where product cards, charts, empty states, review queues, and toolbars contain modular vector illustrations anchored to clear UI tasks. The page should read as a real design-system operations dashboard, not a component inventory. Illustrations sit in bounded wells beside metrics and actions, with every module aligned to the 8px grid.
hierarchy
Information hierarchy starts with concise text, metrics, labels, and primary actions; illustrations support by occupying bounded panels, status tiles, onboarding wells, or documentation previews without overwhelming labels. Icon tiles introduce sections, left-edge strips encode status, and data tables remain quiet and legible.
density
Medium interface density with generous 8px-grid spacing; illustrations are compact enough for cards but have enough whitespace to remain legible at mobile widths. Use 24px card padding, 32px section gaps, and 12-16px internal rows.
signature patterns
Illustration modules use CSS geometric parts with 2px stroke outlines, 16px radii, and flat fills from named brand tokens; no gradients, shadows, or texture inside the drawings.Each major panel includes a 40px icon tile: a 16px rounded square with a single 24px line symbol drawn in the same 2px stroke weight as the spot illustration.Background art zones use repeating radial-gradient dot grids clipped inside 16px rounded rectangles behind foreground vector symbols, with opacity kept subtle and bounded.Status meaning is encoded with left-edge accent strips, tiny pill labels, and readable text so color is reinforced by wording and shape rather than used alone.Interface graphics reuse modular device frames, chart bars, connector lines, orbit circles, and node clusters as the symbolic vocabulary for product concepts.
layout
grid
12-column desktop grid with 24px gutters and a 1200px max content width, collapsing to 6 columns on tablet and a single column on mobile; all illustration modules align to an 8px baseline.
breakpoints
Desktop >= 1200px, compact desktop at <= 1024px, tablet at <= 768px, and mobile at <= 480px with cards stacked, navigation simplified, tables horizontally scrollable, and illustration wells shortened.
whitespace
Whitespace is functional and measured: 24px card padding, 32-48px section gaps, and compact 12-16px gaps inside icon-and-text rows. Empty space protects legibility rather than creating airy lifestyle marketing.
density
Medium density appropriate for design-system administration: enough controls and metrics to feel operational while preserving clear separation between text, charts, forms, and illustration panels.
responsive
At tablet widths the main grid becomes two columns, hero metrics stack below the primary message, and right-side review panels move below. At mobile widths all cards stack, buttons become full width, and dense tables become scroll regions.
guidance
- Draw every icon and illustration from the same 2px stroke width, 16px radius system, and named palette tokens.
- Pair color-coded graphics with text labels, numerals, left-edge strips, or shape differences for accessibility.
- Use simplified product metaphors such as data cards, device frames, connector nodes, chart bars, and progress arcs.
- Keep spot illustrations bounded inside cards or hero panels so they behave like interface components.
- Use pure white page backgrounds with restrained accent color and quiet hairline borders for a professional system feel.
- Apply letter-spacing -0.02em globally and rely on IBM Plex Sans weight/scale changes for hierarchy.
- Do not introduce photorealistic renders, soft airbrush gradients, decorative glow, or detailed character faces.
- Do not use color alone to communicate error, success, warning, information, or progress states.
- Do not mix multiple icon stroke weights or corner radius systems in the same screen.
- Do not let decorative illustrations displace primary actions, labels, product metrics, or table content.
- Do not use pastel full-page backgrounds, gradient buttons, gradient text, or crypto-style color washes.
- Do not organize the embodiment as a component catalog with sections like Controls, Feedback, or Data.
katagami spec
# Systematic Interface Illustration ## Philosophy A contemporary product-illustration language for design-system interfaces: simplified vector symbols, modular spot scenes, accessible brand palettes, and iconographic consistency tuned for dashboards, onboarding, empty states, release notes, and documentation. It treats illustration as operational interface infrastructure rather than decoration: every drawing is assembled from the same grids, strokes, tiles, labels, and status semantics that the product UI uses. The result is calm, legible, and scalable across enterprise tools without drifting into mascot art, soft SaaS gradients, or generic template ornament. ### Values - Communicate product concepts quickly through reduced geometric metaphors rather than decorative realism, using simple device frames, data cards, connector lines, and status symbols. - Keep every illustration compatible with interface surfaces, responsive cards, and accessible contrast requirements so the art can live inside real product screens. - Treat icons, diagrams, and spot illustrations as one system with shared 2px stroke weights, 16px corner radii, grid alignment, and restrained palette roles. - Use modular parts so teams can recombine people, devices, data shapes, progress arcs, and workflow nodes without visual drift between product areas. - Prioritize labels, metrics, and action hierarchy over decoration; illustration supports the task and never competes with the primary interface content. - Encode status redundantly with text, shape, position, and color so the language remains usable for color-blind and low-vision audiences. ### Anti-Values - Painterly scenes, textured brushwork, soft airbrush gradients, and decorative realism that cannot scale across UI states or responsive cards. - One-off mascot art, trend-driven 3D decoration, or expressive character faces that compete with content hierarchy and age quickly. - Thin low-contrast line art, random stroke weights, and unlabelled color-only semantics that fail in dense product contexts. - Pastel template backgrounds, gradient buttons, and crypto-style glow effects that make the interface feel AI-generated instead of systematic. ### Visual Character - Spot illustrations are built from flat SVG-like geometric modules with consistent 2px ink strokes, 16px shared corner radius, and flat fills from named interface tokens. - Every card pairs a simplified symbolic scene with a 40px icon tile containing a single 24px line symbol aligned to an 8px interface grid. - Accessible brand palette uses pure white page backgrounds, black text, restrained blue as the primary accent, and small teal, purple, yellow, red, and green status cues only where labels reinforce meaning. - Illustration backgrounds use faint data-grid dots and modular rounded rectangles clipped inside 16px panels to connect the art directly to dashboards. - Human and object forms are simplified into neutral silhouettes, arcs, circles, connector lines, chart bars, and device panels with no facial detail or photorealistic depth. ## Tokens ### Colors | Name | Value | |------|-------| | primary | `#0F62FE` | | secondary | `#005D5D` | | accent | `#8A3FFC` | | background | `#FFFFFF` | | surface | `#FFFFFF` | | text | `#161616` | | muted | `#525252` | | border | `#DDE3EA` | | error | `#DA1E28` | | success | `#24A148` | | warning | `#B28600` | | info | `#4589FF` | ### Typography - **Heading Font**: IBM Plex Sans - **Body Font**: IBM Plex Sans - **Mono Font**: IBM Plex Mono - **Base Size**: 16px - **Scale Ratio**: 1.2 - **Line Height**: 1.5 - **Letter Spacing**: -0.02em - **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&display=swap ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,96] ### Radii - **None**: 0px - **Sm**: 16px - **Md**: 16px - **Lg**: 24px - **Full**: 9999px ### Shadows - **Sm**: 0 1px 2px rgba(22,22,22,0.08) - **Md**: 0 8px 24px rgba(22,22,22,0.10) - **Lg**: 0 20px 60px rgba(22,22,22,0.12) ### Surfaces - **Treatment**: flat white interface surfaces with faint diagram wells - **Card Style**: White interface cards with hairline borders, clipped pale grid-dot illustration zones, 16px radii, and small color-coded status strips reinforced by text labels. - **Bg Pattern**: subtle radial dot grid used only inside illustration wells, never as a full-page background ### Borders - **Default Width**: 1px - **Accent Width**: 2px - **Style**: solid - **Character**: Precise low-contrast interface hairlines with stronger blue focus outlines and consistent 2px illustration strokes. ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(0.2, 0, 0.38, 0.9) - **Philosophy**: snappy functional transitions: focus rings, panel lifts, connector highlights, and icon-tile state changes without decorative bouncing ## Rules ### Composition Use scene-first interface layouts where product cards, charts, empty states, review queues, and toolbars contain modular vector illustrations anchored to clear UI tasks. The page should read as a real design-system operations dashboard, not a component inventory. Illustrations sit in bounded wells beside metrics and actions, with every module aligned to the 8px grid. ### Hierarchy Information hierarchy starts with concise text, metrics, labels, and primary actions; illustrations support by occupying bounded panels, status tiles, onboarding wells, or documentation previews without overwhelming labels. Icon tiles introduce sections, left-edge strips encode status, and data tables remain quiet and legible. ### Density Medium interface density with generous 8px-grid spacing; illustrations are compact enough for cards but have enough whitespace to remain legible at mobile widths. Use 24px card padding, 32px section gaps, and 12-16px internal rows. ### Signature Patterns - Illustration modules use CSS geometric parts with 2px stroke outlines, 16px radii, and flat fills from named brand tokens; no gradients, shadows, or texture inside the drawings. - Each major panel includes a 40px icon tile: a 16px rounded square with a single 24px line symbol drawn in the same 2px stroke weight as the spot illustration. - Background art zones use repeating radial-gradient dot grids clipped inside 16px rounded rectangles behind foreground vector symbols, with opacity kept subtle and bounded. - Status meaning is encoded with left-edge accent strips, tiny pill labels, and readable text so color is reinforced by wording and shape rather than used alone. - Interface graphics reuse modular device frames, chart bars, connector lines, orbit circles, and node clusters as the symbolic vocabulary for product concepts. ## Layout ### Grid 12-column desktop grid with 24px gutters and a 1200px max content width, collapsing to 6 columns on tablet and a single column on mobile; all illustration modules align to an 8px baseline. ### Breakpoints Desktop >= 1200px, compact desktop at <= 1024px, tablet at <= 768px, and mobile at <= 480px with cards stacked, navigation simplified, tables horizontally scrollable, and illustration wells shortened. ### Whitespace Whitespace is functional and measured: 24px card padding, 32-48px section gaps, and compact 12-16px gaps inside icon-and-text rows. Empty space protects legibility rather than creating airy lifestyle marketing. ### Density Medium density appropriate for design-system administration: enough controls and metrics to feel operational while preserving clear separation between text, charts, forms, and illustration panels. ### Responsive At tablet widths the main grid becomes two columns, hero metrics stack below the primary message, and right-side review panels move below. At mobile widths all cards stack, buttons become full width, and dense tables become scroll regions. ## Guidance ### Do - Draw every icon and illustration from the same 2px stroke width, 16px radius system, and named palette tokens. - Pair color-coded graphics with text labels, numerals, left-edge strips, or shape differences for accessibility. - Use simplified product metaphors such as data cards, device frames, connector nodes, chart bars, and progress arcs. - Keep spot illustrations bounded inside cards or hero panels so they behave like interface components. - Use pure white page backgrounds with restrained accent color and quiet hairline borders for a professional system feel. - Apply letter-spacing -0.02em globally and rely on IBM Plex Sans weight/scale changes for hierarchy. ### Don't - Do not introduce photorealistic renders, soft airbrush gradients, decorative glow, or detailed character faces. - Do not use color alone to communicate error, success, warning, information, or progress states. - Do not mix multiple icon stroke weights or corner radius systems in the same screen. - Do not let decorative illustrations displace primary actions, labels, product metrics, or table content. - Do not use pastel full-page backgrounds, gradient buttons, gradient text, or crypto-style color washes. - Do not organize the embodiment as a component catalog with sections like Controls, Feedback, or Data. ### Usage Context Best for design-system management consoles, product onboarding, empty states, documentation hubs, feature education, release dashboards, and enterprise UI screens that need explanatory illustration without losing operational clarity. ### Accessibility Maintain WCAG-conscious contrast for text and controls, reinforce every status color with labels and structure, preserve visible focus states, keep illustrations nonessential to task completion, and avoid motion that communicates required information.
DESIGN.md
---
version: "alpha"
name: "Systematic Interface Illustration"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
primary: "#0F62FE"
secondary: "#005D5D"
accent: "#8A3FFC"
background: "#FFFFFF"
surface: "#FFFFFF"
text: "#161616"
muted: "#525252"
border: "#DDE3EA"
error: "#DA1E28"
success: "#24A148"
warning: "#B28600"
info: "#4589FF"
typography:
headline-lg:
fontFamily: "IBM Plex Sans"
fontSize: "1.728rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "IBM Plex Sans"
fontSize: "1.44rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "IBM Plex Sans"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.5
letterSpacing: "-0.02em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
none: "0px"
sm: "16px"
md: "16px"
lg: "24px"
full: "9999px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "96px"
components:
color-reference-primary:
backgroundColor: "{colors.primary}"
color-reference-secondary:
backgroundColor: "{colors.secondary}"
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-warning:
backgroundColor: "{colors.warning}"
color-reference-info:
backgroundColor: "{colors.info}"
button-primary:
backgroundColor: "{colors.primary}"
textColor: "#ffffff"
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"
---
# Systematic Interface Illustration
## Overview
A contemporary product-illustration language for design-system interfaces: simplified vector symbols, modular spot scenes, accessible brand palettes, and iconographic consistency tuned for dashboards, onboarding, empty states, release notes, and documentation. It treats illustration as operational interface infrastructure rather than decoration: every drawing is assembled from the same grids, strokes, tiles, labels, and status semantics that the product UI uses. The result is calm, legible, and scalable across enterprise tools without drifting into mascot art, soft SaaS gradients, or generic template ornament.
### Values
- Communicate product concepts quickly through reduced geometric metaphors rather than decorative realism, using simple device frames, data cards, connector lines, and status symbols.
- Keep every illustration compatible with interface surfaces, responsive cards, and accessible contrast requirements so the art can live inside real product screens.
- Treat icons, diagrams, and spot illustrations as one system with shared 2px stroke weights, 16px corner radii, grid alignment, and restrained palette roles.
- Use modular parts so teams can recombine people, devices, data shapes, progress arcs, and workflow nodes without visual drift between product areas.
- Prioritize labels, metrics, and action hierarchy over decoration; illustration supports the task and never competes with the primary interface content.
- Encode status redundantly with text, shape, position, and color so the language remains usable for color-blind and low-vision audiences.
### Anti-Values
- Painterly scenes, textured brushwork, soft airbrush gradients, and decorative realism that cannot scale across UI states or responsive cards.
- One-off mascot art, trend-driven 3D decoration, or expressive character faces that compete with content hierarchy and age quickly.
- Thin low-contrast line art, random stroke weights, and unlabelled color-only semantics that fail in dense product contexts.
- Pastel template backgrounds, gradient buttons, and crypto-style glow effects that make the interface feel AI-generated instead of systematic.
### Visual Character
- Spot illustrations are built from flat SVG-like geometric modules with consistent 2px ink strokes, 16px shared corner radius, and flat fills from named interface tokens.
- Every card pairs a simplified symbolic scene with a 40px icon tile containing a single 24px line symbol aligned to an 8px interface grid.
- Accessible brand palette uses pure white page backgrounds, black text, restrained blue as the primary accent, and small teal, purple, yellow, red, and green status cues only where labels reinforce meaning.
- Illustration backgrounds use faint data-grid dots and modular rounded rectangles clipped inside 16px panels to connect the art directly to dashboards.
- Human and object forms are simplified into neutral silhouettes, arcs, circles, connector lines, chart bars, and device panels with no facial detail or photorealistic depth.
## Colors
Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.
| Token | Value |
|-------|-------|
| primary | `#0F62FE` |
| secondary | `#005D5D` |
| accent | `#8A3FFC` |
| background | `#FFFFFF` |
| surface | `#FFFFFF` |
| text | `#161616` |
| muted | `#525252` |
| border | `#DDE3EA` |
| error | `#DA1E28` |
| success | `#24A148` |
| warning | `#B28600` |
| info | `#4589FF` |
## Typography
- **Headline-Lg**: IBM Plex Sans, 1.728rem, weight 700, line-height 1.1.
- **Headline-Md**: IBM Plex Sans, 1.44rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 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`
- **Step-8**: `96px`
### Grid
12-column desktop grid with 24px gutters and a 1200px max content width, collapsing to 6 columns on tablet and a single column on mobile; all illustration modules align to an 8px baseline.
### Breakpoints
Desktop >= 1200px, compact desktop at <= 1024px, tablet at <= 768px, and mobile at <= 480px with cards stacked, navigation simplified, tables horizontally scrollable, and illustration wells shortened.
### Whitespace
Whitespace is functional and measured: 24px card padding, 32-48px section gaps, and compact 12-16px gaps inside icon-and-text rows. Empty space protects legibility rather than creating airy lifestyle marketing.
### Density
Medium density appropriate for design-system administration: enough controls and metrics to feel operational while preserving clear separation between text, charts, forms, and illustration panels.
### Responsive
At tablet widths the main grid becomes two columns, hero metrics stack below the primary message, and right-side review panels move below. At mobile widths all cards stack, buttons become full width, and dense tables become scroll regions.
## Elevation & Depth
### Shadows
- **Sm**: 0 1px 2px rgba(22,22,22,0.08)
- **Md**: 0 8px 24px rgba(22,22,22,0.10)
- **Lg**: 0 20px 60px rgba(22,22,22,0.12)
## Shapes
### Rounded
- **None**: `0px`
- **Sm**: `16px`
- **Md**: `16px`
- **Lg**: `24px`
- **Full**: `9999px`
### Surfaces
- **Treatment**: flat white interface surfaces with faint diagram wells
- **Card Style**: White interface cards with hairline borders, clipped pale grid-dot illustration zones, 16px radii, and small color-coded status strips reinforced by text labels.
- **Bg Pattern**: subtle radial dot grid used only inside illustration wells, never as a full-page background
### Borders
- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Precise low-contrast interface hairlines with stronger blue focus outlines and consistent 2px illustration strokes.
## Components
### Composition
Use scene-first interface layouts where product cards, charts, empty states, review queues, and toolbars contain modular vector illustrations anchored to clear UI tasks. The page should read as a real design-system operations dashboard, not a component inventory. Illustrations sit in bounded wells beside metrics and actions, with every module aligned to the 8px grid.
### Hierarchy
Information hierarchy starts with concise text, metrics, labels, and primary actions; illustrations support by occupying bounded panels, status tiles, onboarding wells, or documentation previews without overwhelming labels. Icon tiles introduce sections, left-edge strips encode status, and data tables remain quiet and legible.
### Density
Medium interface density with generous 8px-grid spacing; illustrations are compact enough for cards but have enough whitespace to remain legible at mobile widths. Use 24px card padding, 32px section gaps, and 12-16px internal rows.
### Signature Patterns
- Illustration modules use CSS geometric parts with 2px stroke outlines, 16px radii, and flat fills from named brand tokens; no gradients, shadows, or texture inside the drawings.
- Each major panel includes a 40px icon tile: a 16px rounded square with a single 24px line symbol drawn in the same 2px stroke weight as the spot illustration.
- Background art zones use repeating radial-gradient dot grids clipped inside 16px rounded rectangles behind foreground vector symbols, with opacity kept subtle and bounded.
- Status meaning is encoded with left-edge accent strips, tiny pill labels, and readable text so color is reinforced by wording and shape rather than used alone.
- Interface graphics reuse modular device frames, chart bars, connector lines, orbit circles, and node clusters as the symbolic vocabulary for product concepts.
## 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/systematic-interface-illustration/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 Draw every icon and illustration from the same 2px stroke width, 16px radius system, and named palette tokens.
- Do Pair color-coded graphics with text labels, numerals, left-edge strips, or shape differences for accessibility.
- Do Use simplified product metaphors such as data cards, device frames, connector nodes, chart bars, and progress arcs.
- Do Keep spot illustrations bounded inside cards or hero panels so they behave like interface components.
- Do Use pure white page backgrounds with restrained accent color and quiet hairline borders for a professional system feel.
- Do Apply letter-spacing -0.02em globally and rely on IBM Plex Sans weight/scale changes for hierarchy.
- Don't Do not introduce photorealistic renders, soft airbrush gradients, decorative glow, or detailed character faces.
- Don't Do not use color alone to communicate error, success, warning, information, or progress states.
- Don't Do not mix multiple icon stroke weights or corner radius systems in the same screen.
- Don't Do not let decorative illustrations displace primary actions, labels, product metrics, or table content.
- Don't Do not use pastel full-page backgrounds, gradient buttons, gradient text, or crypto-style color washes.
- Don't Do not organize the embodiment as a component catalog with sections like Controls, Feedback, or Data.
### Usage Context
Best for design-system management consoles, product onboarding, empty states, documentation hubs, feature education, release dashboards, and enterprise UI screens that need explanatory illustration without losing operational clarity.
### Accessibility
Maintain WCAG-conscious contrast for text and controls, reinforce every status color with labels and structure, preserve visible focus states, keep illustrations nonessential to task completion, and avoid motion that communicates required information.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "systematic-interface-illustration",
"type": "registry:theme",
"title": "Systematic Interface Illustration shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FFFFFF",
"foreground": "#161616",
"card": "#FFFFFF",
"card-foreground": "#161616",
"popover": "#FFFFFF",
"popover-foreground": "#161616",
"primary": "#0F62FE",
"primary-foreground": "#ffffff",
"secondary": "#005D5D",
"secondary-foreground": "#ffffff",
"muted": "#525252",
"muted-foreground": "#161616",
"accent": "#8A3FFC",
"accent-foreground": "#ffffff",
"destructive": "#DA1E28",
"border": "#DDE3EA",
"input": "#DDE3EA",
"ring": "#8A3FFC",
"chart-1": "#0F62FE",
"chart-2": "#005D5D",
"chart-3": "#8A3FFC",
"chart-4": "#24A148",
"chart-5": "#B28600",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#161616",
"sidebar-primary": "#0F62FE",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#4589FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DDE3EA",
"sidebar-ring": "#8A3FFC",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#0F62FE",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#8A3FFC",
"accent-foreground": "#ffffff",
"destructive": "#DA1E28",
"border": "#303642",
"input": "#303642",
"ring": "#8A3FFC",
"chart-1": "#0F62FE",
"chart-2": "#005D5D",
"chart-3": "#8A3FFC",
"chart-4": "#24A148",
"chart-5": "#B28600",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#0F62FE",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#8A3FFC",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#8A3FFC",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "systematic-interface-illustration",
"slug": "systematic-interface-illustration",
"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": {
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
],
"spacing": [
"base",
"scale"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"motion": [
"duration",
"easing",
"philosophy"
]
}
}
}
```in the wild
embodiments
the full element showcase
embodiment · systematic-interface-illustration
DESIGN.md
at a glance
Typography
headline-lgIBM Plex Sans · 28px · 700
The quick brown fox jumps
headline-mdIBM Plex Sans · 23px · 600
The quick brown fox jumps
body-mdIBM Plex Sans · 16px · 400
The quick brown fox jumps
label-mdIBM Plex Mono · 12px · 600
The quick brown fox jumps
Components
New
Card title
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
- step-896px
Shape
none0px
sm16px
md16px
lg24px
full9999px
shadcn/ui
implementation kit
recommendedcompatibility fallback
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
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu tabletheme css
:root {
--background: #FFFFFF;
--foreground: #161616;
--card: #FFFFFF;
--card-foreground: #161616;
--popover: #FFFFFF;
--popover-foreground: #161616;
--primary: #0F62FE;
--primary-foreground: #ffffff;
--secondary: #005D5D;
--secondary-foreground: #ffffff;
--muted: #525252;
--muted-foreground: #161616;
--accent: #8A3FFC;
--accent-foreground: #ffffff;
--destructive: #DA1E28;
--border: #DDE3EA;
--input: #DDE3EA;
--ring: #8A3FFC;
--chart-1: #0F62FE;
--chart-2: #005D5D;
--chart-3: #8A3FFC;
--chart-4: #24A148;
--chart-5: #B28600;
--sidebar: #FFFFFF;
--sidebar-foreground: #161616;
--sidebar-primary: #0F62FE;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #4589FF;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #DDE3EA;
--sidebar-ring: #8A3FFC;
--radius: 16px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #0F62FE;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #8A3FFC;
--accent-foreground: #ffffff;
--destructive: #DA1E28;
--border: #303642;
--input: #303642;
--ring: #8A3FFC;
--chart-1: #0F62FE;
--chart-2: #005D5D;
--chart-3: #8A3FFC;
--chart-4: #24A148;
--chart-5: #B28600;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #0F62FE;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #8A3FFC;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #8A3FFC;
--radius: 16px;
}
tsx starter
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 SystematicInterfaceIllustrationShadcnKit() {
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">Systematic Interface Illustration</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>
);
}
theme JSONcompatibility fallback
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "systematic-interface-illustration",
"type": "registry:theme",
"title": "Systematic Interface Illustration shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FFFFFF",
"foreground": "#161616",
"card": "#FFFFFF",
"card-foreground": "#161616",
"popover": "#FFFFFF",
"popover-foreground": "#161616",
"primary": "#0F62FE",
"primary-foreground": "#ffffff",
"secondary": "#005D5D",
"secondary-foreground": "#ffffff",
"muted": "#525252",
"muted-foreground": "#161616",
"accent": "#8A3FFC",
"accent-foreground": "#ffffff",
"destructive": "#DA1E28",
"border": "#DDE3EA",
"input": "#DDE3EA",
"ring": "#8A3FFC",
"chart-1": "#0F62FE",
"chart-2": "#005D5D",
"chart-3": "#8A3FFC",
"chart-4": "#24A148",
"chart-5": "#B28600",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#161616",
"sidebar-primary": "#0F62FE",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#4589FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DDE3EA",
"sidebar-ring": "#8A3FFC",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#0F62FE",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#8A3FFC",
"accent-foreground": "#ffffff",
"destructive": "#DA1E28",
"border": "#303642",
"input": "#303642",
"ring": "#8A3FFC",
"chart-1": "#0F62FE",
"chart-2": "#005D5D",
"chart-3": "#8A3FFC",
"chart-4": "#24A148",
"chart-5": "#B28600",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#0F62FE",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#8A3FFC",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#8A3FFC",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "systematic-interface-illustration",
"slug": "systematic-interface-illustration",
"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": {
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
],
"spacing": [
"base",
"scale"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"motion": [
"duration",
"easing",
"philosophy"
]
}
}
}
component recipescompatibility fallback
# Systematic Interface Illustration shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `systematic-interface-illustration`
Slug: `systematic-interface-illustration`
## Intent
A contemporary product-illustration language for design-system interfaces: simplified vector symbols, modular spot scenes, accessible brand palettes, and iconographic consistency tuned for dashboards, onboarding, empty states, release notes, and documentation. It treats illustration as operational interface infrastructure rather than decoration: every drawing is assembled from the same grids, strokes, tiles, labels, and status semantics that the product UI uses. The result is calm, legible, and scalable across enterprise tools without drifting into mascot art, soft SaaS gradients, or generic template ornament.
## Required primitives
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Install with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
## Token cues
Colors:
{
"primary": "#0F62FE",
"secondary": "#005D5D",
"accent": "#8A3FFC",
"background": "#FFFFFF",
"surface": "#FFFFFF",
"text": "#161616",
"muted": "#525252",
"border": "#DDE3EA",
"error": "#DA1E28",
"success": "#24A148",
"warning": "#B28600",
"info": "#4589FF"
}
Typography:
{
"heading_font": "IBM Plex Sans",
"body_font": "IBM Plex Sans",
"mono_font": "IBM Plex Mono",
"base_size": "16px",
"scale_ratio": 1.2,
"line_height": 1.5,
"letter_spacing": "-0.02em",
"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&display=swap"
}
## Visual character to preserve
- Spot illustrations are built from flat SVG-like geometric modules with consistent 2px ink strokes, 16px shared corner radius, and flat fills from named interface tokens.
- Every card pairs a simplified symbolic scene with a 40px icon tile containing a single 24px line symbol aligned to an 8px interface grid.
- Accessible brand palette uses pure white page backgrounds, black text, restrained blue as the primary accent, and small teal, purple, yellow, red, and green status cues only where labels reinforce meaning.
- Illustration backgrounds use faint data-grid dots and modular rounded rectangles clipped inside 16px panels to connect the art directly to dashboards.
- Human and object forms are simplified into neutral silhouettes, arcs, circles, connector lines, chart bars, and device panels with no facial detail or photorealistic depth.
## ShadSync visual profile
{
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": false,
"grain": true,
"stickerBadges": false,
"motion": "lift",
"density": "balanced",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
}
## Signature component recipes
### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.
### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.
### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.
### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.
### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.
## Preview shots
- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.
## Implementation contract
- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/systematic-interface-illustration/registry-theme.json` variables, then use these recipes for composition and state design.
- Preserve Katagami token names as source metadata; shadcn semantic names are only the export surface.
- Do: Draw every icon and illustration from the same 2px stroke width, 16px radius system, and named palette tokens.; Pair color-coded graphics with text labels, numerals, left-edge strips, or shape differences for accessibility.; Use simplified product metaphors such as data cards, device frames, connector nodes, chart bars, and progress arcs.; Keep spot illustrations bounded inside cards or hero panels so they behave like interface components.; Use pure white page backgrounds with restrained accent color and quiet hairline borders for a professional system feel.; Apply letter-spacing -0.02em globally and rely on IBM Plex Sans weight/scale changes for hierarchy.
- Do not: Do not introduce photorealistic renders, soft airbrush gradients, decorative glow, or detailed character faces.; Do not use color alone to communicate error, success, warning, information, or progress states.; Do not mix multiple icon stroke weights or corner radius systems in the same screen.; Do not let decorative illustrations displace primary actions, labels, product metrics, or table content.; Do not use pastel full-page backgrounds, gradient buttons, gradient text, or crypto-style color washes.; Do not organize the embodiment as a component catalog with sections like Controls, Feedback, or Data.
## Copy-paste component example
This generated starter proves the import shape. Production Katagami agents should replace it with a language-specific product composition.
```tsx
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 SystematicInterfaceIllustrationShadcnKit() {
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">Systematic Interface Illustration</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>
);
}
```
## Layout notes
{
"grid": "12-column desktop grid with 24px gutters and a 1200px max content width, collapsing to 6 columns on tablet and a single column on mobile; all illustration modules align to an 8px baseline.",
"breakpoints": "Desktop >= 1200px, compact desktop at <= 1024px, tablet at <= 768px, and mobile at <= 480px with cards stacked, navigation simplified, tables horizontally scrollable, and illustration wells shortened.",
"whitespace": "Whitespace is functional and measured: 24px card padding, 32-48px section gaps, and compact 12-16px gaps inside icon-and-text rows. Empty space protects legibility rather than creating airy lifestyle marketing.",
"density": "Medium density appropriate for design-system administration: enough controls and metrics to feel operational while preserving clear separation between text, charts, forms, and illustration panels.",
"responsive": "At tablet widths the main grid becomes two columns, hero metrics stack below the primary message, and right-side review panels move below. At mobile widths all cards stack, buttons become full width, and dense tables become scroll regions."
}
preview shotscompatibility fallback
{
"artifact": "katagami:shadcn-preview-shots",
"version": "preview-shots-v1",
"generator": "katagami-ui-compatibility-projection",
"generatedBy": "katagami-ui-projection",
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"renderable": true,
"language": {
"id": "systematic-interface-illustration",
"name": "Systematic Interface Illustration",
"slug": "systematic-interface-illustration"
},
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"identityNotes": [
"Spot illustrations are built from flat SVG-like geometric modules with consistent 2px ink strokes, 16px shared corner radius, and flat fills from named interface tokens.",
"Every card pairs a simplified symbolic scene with a 40px icon tile containing a single 24px line symbol aligned to an 8px interface grid.",
"Accessible brand palette uses pure white page backgrounds, black text, restrained blue as the primary accent, and small teal, purple, yellow, red, and green status cues only where labels reinforce meaning.",
"Illustration backgrounds use faint data-grid dots and modular rounded rectangles clipped inside 16px panels to connect the art directly to dashboards.",
"Human and object forms are simplified into neutral silhouettes, arcs, circles, connector lines, chart bars, and device panels with no facial detail or photorealistic depth."
],
"visualProfile": {
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": false,
"grain": true,
"stickerBadges": false,
"motion": "still",
"density": "balanced",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
},
"shots": [
{
"id": "application-shell",
"title": "Application shell",
"viewport": "desktop",
"primitives": [
"button",
"card",
"input",
"select",
"tabs",
"badge",
"separator",
"table"
],
"composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
"mustShow": [
"primary and secondary actions",
"card hierarchy",
"filterable state",
"table or list density"
],
"avoid": [
"component inventory walls",
"placeholder-only content",
"generic rounded SaaS chrome"
],
"scene": {
"eyebrow": "workspace spread",
"headline": "Systematic Interface Illustration launch room",
"description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
"primaryAction": "Apply theme",
"secondaryAction": "Review states",
"stats": [
{
"label": "components",
"value": "16",
"tone": "accent"
},
{
"label": "states",
"value": "ready"
},
{
"label": "density",
"value": "balanced",
"tone": "warning"
}
],
"rows": [
{
"label": "Primary flow",
"value": "mapped",
"status": "active"
},
{
"label": "Token coverage",
"value": "semantic",
"status": "synced"
},
{
"label": "Responsive proof",
"value": "queued",
"status": "review"
}
],
"statuses": [
"Active",
"Synced",
"Draft"
]
}
},
{
"id": "detail-editor",
"title": "Detail editor",
"viewport": "tablet",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"dialog",
"sheet"
],
"composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
"mustShow": [
"focus ring",
"error or destructive state",
"dialog or sheet treatment",
"written guidance content"
],
"avoid": [
"unstyled browser controls",
"floating cards inside cards",
"missing labels"
],
"scene": {
"eyebrow": "editing flow",
"headline": "Language recipe editor",
"description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
"primaryAction": "Save recipe",
"secondaryAction": "Open sheet",
"fields": [
{
"label": "Component family",
"value": "Narrative cards"
},
{
"label": "State treatment",
"value": "Visible focus + validation"
},
{
"label": "Motion",
"value": "Small lift, no opacity-only fade"
}
],
"statuses": [
"Focus",
"Invalid",
"Confirmed"
]
}
},
{
"id": "data-operations",
"title": "Data operations",
"viewport": "mobile",
"primitives": [
"button",
"tabs",
"badge",
"dropdown-menu",
"table",
"tooltip",
"separator"
],
"composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
"mustShow": [
"responsive reflow",
"dense row styling",
"menu affordance",
"status badge system"
],
"avoid": [
"desktop-only tables",
"text overflow",
"default shadcn spacing without Katagami character"
],
"scene": {
"eyebrow": "operations",
"headline": "Compact review queue",
"description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
"primaryAction": "Resolve",
"secondaryAction": "Filter",
"rows": [
{
"label": "Button hierarchy",
"value": "approved",
"status": "ok"
},
{
"label": "Table rhythm",
"value": "needs pass",
"status": "watch"
},
{
"label": "Empty state",
"value": "designed",
"status": "done"
}
],
"statuses": [
"Queued",
"Blocked",
"Done"
]
}
}
],
"componentRecipes": [
{
"primitive": "button",
"intent": "Prove action hierarchy, focus, disabled, and destructive states."
},
{
"primitive": "card",
"intent": "Carry the language surface, border, elevation, and density rules."
},
{
"primitive": "input",
"intent": "Show labels, focus rings, validation, and spacing rhythm."
},
{
"primitive": "textarea",
"intent": "Show longer guidance, validation copy, and writing density."
},
{
"primitive": "select",
"intent": "Show filtering, selection contrast, and menu trigger styling."
},
{
"primitive": "dialog",
"intent": "Show centered decision states and overlay treatment."
},
{
"primitive": "sheet",
"intent": "Show contextual side panels and responsive editing."
},
{
"primitive": "tabs",
"intent": "Show navigational structure and active/inactive contrast."
},
{
"primitive": "badge",
"intent": "Show compact status vocabulary and semantic colors."
},
{
"primitive": "separator",
"intent": "Show section rhythm without generic gray dividers."
},
{
"primitive": "checkbox",
"intent": "Show binary selection with visible focus and checked states."
},
{
"primitive": "switch",
"intent": "Show settings toggles and on/off contrast."
},
{
"primitive": "slider",
"intent": "Show numeric adjustment with track/thumb styling."
},
{
"primitive": "tooltip",
"intent": "Show concise explanation styling above compact controls."
},
{
"primitive": "dropdown-menu",
"intent": "Show action menus, destructive items, and grouped choices."
},
{
"primitive": "table",
"intent": "Show dense operational data, separators, row states, and responsive behavior."
}
],
"qualityRules": {
"do": [
"Draw every icon and illustration from the same 2px stroke width, 16px radius system, and named palette tokens.",
"Pair color-coded graphics with text labels, numerals, left-edge strips, or shape differences for accessibility.",
"Use simplified product metaphors such as data cards, device frames, connector nodes, chart bars, and progress arcs.",
"Keep spot illustrations bounded inside cards or hero panels so they behave like interface components.",
"Use pure white page backgrounds with restrained accent color and quiet hairline borders for a professional system feel.",
"Apply letter-spacing -0.02em globally and rely on IBM Plex Sans weight/scale changes for hierarchy."
],
"dont": [
"Do not introduce photorealistic renders, soft airbrush gradients, decorative glow, or detailed character faces.",
"Do not use color alone to communicate error, success, warning, information, or progress states.",
"Do not mix multiple icon stroke weights or corner radius systems in the same screen.",
"Do not let decorative illustrations displace primary actions, labels, product metrics, or table content.",
"Do not use pastel full-page backgrounds, gradient buttons, gradient text, or crypto-style color washes.",
"Do not organize the embodiment as a component catalog with sections like Controls, Feedback, or Data."
]
}
}