Fix mislabeled design system: the 4 screens use Modern Professional Dark, not the neon HUD one
list_design_systems reveals 3 distinct design systems in this Stitch project. The one requested (asset e73325c5365a4a56b93823236777e95a, screen ID asset-stub-assets_e73325c5365a4a56b93823236777e95a) is 'Modern Professional Dark' -- charcoal/navy, Professional Blue primary, Inter throughout, 8px rounding, tonal-layer depth with glow accents. The earlier commit incorrectly saved get_project's top-level designTheme (the neon-green 'Rippr' HUD system) as design-system.md and called the export summary's description of a blue theme 'stale.' It wasn't -- confirmed by hex-matching every color in the downloaded screen HTML against the two candidate systems: all match Modern Professional Dark (#0a0a0c, #131313, #16161a, #4090fe...) exactly, none match the neon system. Renamed the neon file to design-system-rippr-neon.md (kept for reference, flagged as unused by these screens) and added the correct file.
This commit is contained in:
171
docs/design/stitch-export/design-system-rippr-neon.md
Normal file
171
docs/design/stitch-export/design-system-rippr-neon.md
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
name: Rippr
|
||||
colors:
|
||||
surface: '#131314'
|
||||
surface-dim: '#131314'
|
||||
surface-bright: '#3a393a'
|
||||
surface-container-lowest: '#0e0e0f'
|
||||
surface-container-low: '#1c1b1c'
|
||||
surface-container: '#201f20'
|
||||
surface-container-high: '#2a2a2b'
|
||||
surface-container-highest: '#353436'
|
||||
on-surface: '#e5e2e3'
|
||||
on-surface-variant: '#b9ccb2'
|
||||
inverse-surface: '#e5e2e3'
|
||||
inverse-on-surface: '#313031'
|
||||
outline: '#84967e'
|
||||
outline-variant: '#3b4b37'
|
||||
surface-tint: '#00e639'
|
||||
primary: '#ebffe2'
|
||||
on-primary: '#003907'
|
||||
primary-container: '#00ff41'
|
||||
on-primary-container: '#007117'
|
||||
inverse-primary: '#006e16'
|
||||
secondary: '#b9f1ff'
|
||||
on-secondary: '#00363f'
|
||||
secondary-container: '#00e0ff'
|
||||
on-secondary-container: '#005f6d'
|
||||
tertiary: '#fff8f4'
|
||||
on-tertiary: '#442b10'
|
||||
tertiary-container: '#ffd5ae'
|
||||
on-tertiary-container: '#7a5b3c'
|
||||
error: '#ffb4ab'
|
||||
on-error: '#690005'
|
||||
error-container: '#93000a'
|
||||
on-error-container: '#ffdad6'
|
||||
primary-fixed: '#72ff70'
|
||||
primary-fixed-dim: '#00e639'
|
||||
on-primary-fixed: '#002203'
|
||||
on-primary-fixed-variant: '#00530e'
|
||||
secondary-fixed: '#a5eeff'
|
||||
secondary-fixed-dim: '#00daf8'
|
||||
on-secondary-fixed: '#001f25'
|
||||
on-secondary-fixed-variant: '#004e5a'
|
||||
tertiary-fixed: '#ffdcbd'
|
||||
tertiary-fixed-dim: '#e7bf99'
|
||||
on-tertiary-fixed: '#2c1701'
|
||||
on-tertiary-fixed-variant: '#5d4124'
|
||||
background: '#131314'
|
||||
on-background: '#e5e2e3'
|
||||
surface-variant: '#353436'
|
||||
typography:
|
||||
display-telemetry:
|
||||
fontFamily: JetBrains Mono
|
||||
fontSize: 64px
|
||||
fontWeight: '700'
|
||||
lineHeight: 64px
|
||||
letterSpacing: -0.04em
|
||||
headline-lg:
|
||||
fontFamily: Sora
|
||||
fontSize: 32px
|
||||
fontWeight: '600'
|
||||
lineHeight: 40px
|
||||
headline-md:
|
||||
fontFamily: Sora
|
||||
fontSize: 24px
|
||||
fontWeight: '600'
|
||||
lineHeight: 32px
|
||||
body-lg:
|
||||
fontFamily: Inter
|
||||
fontSize: 18px
|
||||
fontWeight: '400'
|
||||
lineHeight: 28px
|
||||
body-md:
|
||||
fontFamily: Inter
|
||||
fontSize: 16px
|
||||
fontWeight: '400'
|
||||
lineHeight: 24px
|
||||
label-caps:
|
||||
fontFamily: JetBrains Mono
|
||||
fontSize: 12px
|
||||
fontWeight: '500'
|
||||
lineHeight: 16px
|
||||
letterSpacing: 0.1em
|
||||
display-telemetry-mobile:
|
||||
fontFamily: JetBrains Mono
|
||||
fontSize: 48px
|
||||
fontWeight: '700'
|
||||
lineHeight: 48px
|
||||
rounded:
|
||||
sm: 0.125rem
|
||||
DEFAULT: 0.25rem
|
||||
md: 0.375rem
|
||||
lg: 0.5rem
|
||||
xl: 0.75rem
|
||||
full: 9999px
|
||||
spacing:
|
||||
unit: 4px
|
||||
container-margin: 20px
|
||||
gutter: 12px
|
||||
stack-sm: 8px
|
||||
stack-md: 24px
|
||||
stack-lg: 48px
|
||||
---
|
||||
|
||||
## Brand & Style
|
||||
The design system centers on a high-performance, dark-mode aesthetic tailored for real-time activity tracking. The brand personality is kinetic, precise, and undistracted. It utilizes a **Minimalist-Technical** style, stripping away non-essential chrome to focus entirely on telemetry and movement.
|
||||
|
||||
The visual narrative is driven by a "HUD" (Heads-Up Display) concept: information is layered over the user's environment or activity maps using subtle glassmorphism and high-contrast data points. The emotional response should be one of focus and momentum, making the user feel like a precision instrument.
|
||||
|
||||
## Colors
|
||||
The palette is dominated by **Pitch Black (#0A0A0B)** to preserve OLED battery life and minimize ocular strain during night activities.
|
||||
|
||||
- **Primary (Electric Neon):** Used exclusively for active states, completion goals, and primary "Go" actions.
|
||||
- **Secondary (Cyan Telemetry):** Reserved for secondary data streams, such as cadence or heart rate, to provide visual separation from primary distance/time metrics.
|
||||
- **Surface Strategy:** Backgrounds use deep charcoal. Overlays use a semi-transparent version of the surface color with a 20px background blur to create the HUD effect.
|
||||
|
||||
## Typography
|
||||
The typography system uses a functional split: **Sora** for UI headers and brand moments, **Inter** for standard interface text, and **JetBrains Mono** for all numerical data and telemetry.
|
||||
|
||||
- **Data Legibility:** All numeric values must use the monospaced font to prevent "jumping" layouts during real-time updates.
|
||||
- **Visual Hierarchy:** Use `label-caps` for units (e.g., KM/H, BPM) placed immediately adjacent to large telemetry displays.
|
||||
- **Scale:** On mobile devices, telemetry data should prioritize width; if values exceed 5 digits, scale the font size down dynamically to fit the viewport width minus margins.
|
||||
|
||||
## Layout & Spacing
|
||||
This design system employs a **Fluid HUD Grid**. Elements are anchored to the corners of the screen to keep the center clear for maps or camera feeds.
|
||||
|
||||
- **Grid Model:** A 6-column grid for mobile, 12-column for desktop.
|
||||
- **Padding:** Use a generous 20px "Safe Zone" margin on all edges of the screen to ensure interactive elements are reachable and not clipped by hardware notches or rounded device corners.
|
||||
- **Density:** High density for data readouts (8px spacing between related metrics) and low density for navigation/settings (24px+ spacing) to prevent accidental taps during motion.
|
||||
|
||||
## Elevation & Depth
|
||||
Depth is expressed through **translucency** rather than shadows.
|
||||
|
||||
1. **Level 0 (Base):** Pure black (#0A0A0B).
|
||||
2. **Level 1 (Substrate):** Dark charcoal (#161618) with 0% transparency.
|
||||
3. **Level 2 (HUD Panels):** Surface color at 60% opacity with a `backdrop-filter: blur(20px)`.
|
||||
4. **Level 3 (Modals):** Surface color at 80% opacity with a subtle 1px inner border in a low-opacity white (10%) to define the edge against dark backgrounds.
|
||||
|
||||
Shadows should be avoided entirely to maintain the "lightweight" digital feel.
|
||||
|
||||
## Shapes
|
||||
The shape language is **Technical-Precision**.
|
||||
|
||||
- **Corners:** Use 0.25rem (4px) as the base radius for all containers to maintain a sharp, engineered appearance.
|
||||
- **Interactive Elements:** Buttons and inputs follow the same 4px rule.
|
||||
- **Progress Indicators:** Use sharp, non-rounded ends for progress bars to emphasize a "segmental" or "digital" look.
|
||||
- **Iconography:** Use 2px stroke weights with squared-off ends to match the monospaced typographic theme.
|
||||
|
||||
## Components
|
||||
|
||||
### Buttons
|
||||
- **Primary:** Solid Electric Neon background with Black text. No rounding beyond the base 4px.
|
||||
- **Ghost:** 1px Neon border with transparent background. Text matches border color.
|
||||
- **Telemetry Toggle:** Small, square buttons using monospaced labels.
|
||||
|
||||
### Cards & HUD Panels
|
||||
- All cards use the Level 2 Elevation (Glassmorphism).
|
||||
- Remove all drop shadows. Use a 1px stroke of #FFFFFF at 10% opacity for definition.
|
||||
|
||||
### Data Inputs
|
||||
- Underlined style only (no bounding box) for a lighter footprint.
|
||||
- Active state changes the underline to the Primary Neon color.
|
||||
- Use JetBrains Mono for all numeric input fields.
|
||||
|
||||
### Progress & Gauges
|
||||
- **Circular Gauges:** Use thin 4px strokes. The "track" should be 5% opacity white; the "fill" should be the Primary Neon.
|
||||
- **Pulse:** Active heart rate or GPS signals should use a "scanning" animation—a vertical line moving across the element—rather than a standard fade.
|
||||
|
||||
### Navigation
|
||||
- A bottom-anchored, floating "Dock" with a glassmorphic background.
|
||||
- Active icons are highlighted with a single Neon pixel-dot underneath.
|
||||
Reference in New Issue
Block a user