Files
CCL_Design/_ds/cubecraftlabs-design-system-2b6768ed-3ea8-4585-ac7e-108f768354a6/readme.md
T
2026-08-09 13:19:42 -04:00

192 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CubeCraftLabs Design System
> **Design. Prototype. Ship.**
**CubeCraftLabs** is the maker / R&D branch of [CubeCraft Creations](../). Where Creations is the storefront of finished handmade goods — warm, rounded, blue→purple gradient, Nunito — **Labs is the workshop bench where things get designed and built**: technical, dark, precise. The two brands share exactly two things — the **cube** motif and the **CubeCraft** name. Everything else deliberately diverges so Labs reads as its own identity.
This is a standalone design system so the two brands can evolve independently: edits here never touch Creations, and vice versa.
---
## Sources
- **CubeCraft Creations design system** — the parent brand this diverges from (cube DNA + name only). Its guide describes the warm/gradient storefront identity.
- **CubeCraftLabs logo exploration** — `CubeCraftLabs Logo.dc.html` (working lockups) and `CubeCraftLabs Brand Spec.dc.html` (spec sheet), authored in the originating project.
- **PNG exports** — `assets/logos/CubeCraftLabs_*.png`.
No external codebase or Figma file backs this system yet; it was authored from the logo exploration. If a Labs product codebase appears later, build UI kits from it.
---
## CONTENT FUNDAMENTALS
### Voice & Tone
Labs speaks like an **engineer at the bench** — precise, dry, confident. It's the same maker as Creations, but in "build log" mode rather than "shop" mode.
- **First-person plural ("we")** for the team; **second-person ("you")** for the reader.
- **Sentence case** for prose; **lowercase** for tags/badges; **UPPERCASE** for buttons and eyebrow labels only.
- **Short, declarative sentences.** Command-line cadence. "Printed fresh. Hand-finished. Versioned."
- **Build/maker vocabulary** — build, ship, prototype, iterate, spec, tolerance, revision. Terminal metaphors (`$ make …`, `✓ build complete`) are on-brand for headers and hero moments.
- **Restrained.** Fewer exclamation points than Creations. Precision over enthusiasm.
- **No emoji** in UI. Status is shown with the green/red tokens or a `✓`/`✗` glyph, not emoji.
**Tagline:** *Design. Prototype. Ship.*
### Casing
- Headlines: Sentence case
- Nav items: Title Case
- Buttons: UPPERCASE, 0.08em tracking
- Eyebrows / section labels: UPPERCASE, 0.14em tracking
- Tags/badges: lowercase
- Body: sentence case
---
## VISUAL FOUNDATIONS
### Color
A dark "workshop bench" palette. **Charcoal ground, gold as the single brand accent**, terminal green/red for status. There is no gradient — the Creations blue→purple is explicitly absent.
| Token | Hex | Role |
|---|---|---|
| `--ccl-charcoal` | `#1a1a1a` | Page background |
| `--ccl-charcoal-2` | `#202020` | Raised surface |
| `--ccl-charcoal-3` | `#262626` | Input / code block |
| `--ccl-gold` | `#e5c07b` | Brand accent + logo mark |
| `--ccl-gold-dim` | `#caa869` | Gold hover / pressed |
| `--ccl-text` | `#d4d4d4` | Primary text |
| `--ccl-text-muted` | `#6b6b6b` | Secondary text |
| `--ccl-border` | `#2a2a2a` | Hairline borders |
| `--ccl-border-2` | `#333333` | Stronger border / grid lines |
| `--ccl-green` | `#98c379` | Success |
| `--ccl-red` | `#e06c75` | Error |
Gold is precious — reserve it for the mark, "Labs", links, active states, and the single primary action per view. Never flood a surface with gold; never fill a large area with it.
### Typography
**JetBrains Mono** is the sole typeface (loaded from Google Fonts), at weights 400 / 500 / 700 / 800. The monospace grid is the point — it signals code, precision, and the bench.
- **Display / Wordmark:** 800, mixed case, 0.02em tracking. Wordmark = `CubeCraft` in text color + `Labs` in gold, optional gold cursor block.
- **Headings:** 700
- **Body:** 400, line-height 1.7
- **Buttons:** 700, UPPERCASE, 0.08em
- **Eyebrows:** 700, UPPERCASE, 0.14em
No second family. No serif. Mono does everything.
### Spacing
4px base unit. Generous breathing room around the mark. Section padding 40–64px vertical.
### Corners & Borders
- **Square everywhere — `border-radius: 0`.** This is a hard rule and the sharpest tell against Creations' rounded system.
- Borders do the work shadows would: `1px solid #2a2a2a` hairlines, `#333` for stronger rules and grid lines.
- Accent/outline elements: `1.5px solid #e5c07b`.
### Backgrounds & Surfaces
- **Page:** flat charcoal `#1a1a1a`. No gradients, no photographic hero washes.
- **Surfaces:** raised by a hair (`#202020`) or bounded by a border, not by shadow.
- **Graph-paper grid** (`#333` at ~32px) is a legitimate background texture for badge/blueprint contexts.
- **Terminal window** chrome (dot header + `~/path`) is a recurring motif for headers and hero blocks.
### Shadows
Effectively flat. At most a 1px seam (`--shadow-raised`). No soft drop shadows — they read "consumer app", which is the wrong brand.
### Motion
- Easing `cubic-bezier(0.2, 0, 0, 1)`; 100ms micro, 160ms base.
- Interactions are crisp, not bouncy. Buttons nudge 1px down on press. A blinking cursor block is the one signature animation (use sparingly).
### Hover & Interaction States
- **Primary button:** gold → gold-dim.
- **Secondary/ghost:** faint gold wash / text turns gold.
- **Links:** underline or color to gold; never a gradient.
- **Scrollbar:** 6px slim, thumb `#333` → gold on hover.
---
## ICONOGRAPHY
- **Lucide Icons** (stroke-based, 2px, from CDN `https://unpkg.com/lucide@latest`) — inherited from the Creations toolchain, recolored to `--ccl-text` / `--ccl-gold`. Same clean line style suits the mono aesthetic.
- **Terminal glyphs** — `$`, `✓`, `✗`, `>` — are used as functional icons in headers and status lines.
- **No emoji.** No hand-drawn UI SVGs.
- **The cube mark is not an icon** — it's the logo. Use the `CubeMark` component or the SVGs in `assets/logos/`, never redraw it.
### Logo assets (`assets/logos/`)
- `cube-wireframe.svg` — assembled gold wireframe cube (inline/compact)
- `cube-exploded.svg` — exploded cube, the **primary** mark
- `cube-grid-stamp.svg` — cube on graph paper (badge)
- `cubecraftlabs-lockup.svg` — horizontal cube + wordmark lockup
- `CubeCraftLabs_*.png` — rendered PNG lockups (primary, inline, terminal, grid stamp)
The cube geometry is fixed: viewBox `0 0 200 200`, top vertex `(100,44)`, shoulders `(146,70)`/`(54,70)`, waist `(100,96)`, base `(100,150)`. Never recolor the faces or add faces beyond the three visible.
---
## FILE INDEX
```
/
├── styles.css ← root stylesheet (link this)
├── readme.md ← this file
├── SKILL.md ← Agent Skill definition
│
├── tokens/
│ ├── fonts.css ← JetBrains Mono @import
│ ├── colors.css ← color custom properties
│ ├── typography.css ← type scale + weights + tracking
│ └── spacing.css ← spacing, radius(0), border, motion
│
├── assets/logos/ ← cube SVGs + PNG lockups
│
├── components/
│ ├── core/ Button · Badge · Tag · CubeMark + core.card.html
│ ├── icons/ Icon (lucide + terminal) · IconButton
│ ├── forms/ Input · Textarea · Select · Checkbox · Radio · Switch · Field + forms.card.html
│ └── surfaces/ Card · Terminal + surfaces.card.html
│ (each component: .jsx / .d.ts / .prompt.md)
│
└── guidelines/
├── colors/ accent · neutrals · status
├── typography/ wordmark · scale
├── spacing/ spacing & corners
├── brand/ cube marks · lockup · app-logo
├── workflows/ label-library
└── ui-kits/ build-console
```
### Components
| Component | Group | Description |
|---|---|---|
| `Button` | core | Square, uppercase, mono action — primary / secondary / ghost |
| `Badge` | core | Square outlined lowercase status chip — default / success / error / muted |
| `Tag` | core | Lowercase content tag — optional `#`, removable `×` |
| `CubeMark` | core | The cube logo as inline SVG — wireframe / exploded / grid |
| `Icon` | icons | Two sets in one API: `lucide` (UI chrome) + `terminal` (CLI glyphs, brand-signature) |
| `IconButton` | icons | Square icon-only action, same variants as `Button` |
| `Input` | forms | Square mono text field, gold focus, optional `$` prompt |
| `Textarea` | forms | Multi-line field, same well, vertical resize |
| `Select` | forms | Native select, square well, gold chevron |
| `Checkbox` | forms | Square box, gold check |
| `Radio` | forms | Square with inner gold square (never a circle) |
| `Switch` | forms | Square track + square knob, gold when on |
| `Field` | forms | Label + control + hint/error row wrapper |
| `Card` | surfaces | Flat bordered panel — eyebrow/title/actions/footer, optional gold rail |
| `Terminal` | surfaces | Console / code block — title bar + toned mono lines (brand-signature surface) |
### Intentional additions
No source component library existed — everything was authored from the brand guidelines. `CubeMark` exists because the cube is the core brand asset and needs a first-class API. The `terminal` icon set and the `Terminal` surface encode the build-log / CLI motif that defines Labs. All form controls are deliberately **square** (checkbox, radio, switch) to hold the hard no-radius rule. The **Build Console** UI kit (`guidelines/ui-kits/`) shows the whole system composed into a print-farm dashboard.
---
## Relationship to CubeCraft Creations
| | Creations | Labs |
|---|---|---|
| Purpose | Storefront, finished goods | Workshop, prototyping, R&D |
| Ground | White / lavender-gray | Charcoal `#1a1a1a` |
| Accent | Blue→purple gradient | Gold `#e5c07b` |
| Type | Nunito (rounded) | JetBrains Mono |
| Corners | 8–20px rounded | Square (0) |
| Shared | **Cube motif · "CubeCraft" name** | ← same |
Keep them apart. Do not import Creations gradient/Nunito/rounded tokens into a Labs design, or vice versa.