- Set up project structure and Source of Truth (GEMINI.md). - Implement DNA source files (src/*.yaml) with semantic color definitions. - Build clinical light (Aeon) and high-contrast dark (Neon) specifications. - Create Jinja2-based build system (build.py) using uv for reproducibility. - Implement Neovim theme template mirroring the philosophy.
99 lines
3.5 KiB
Markdown
99 lines
3.5 KiB
Markdown
# Apex Aeon — Light Theme Specification
|
||
|
||
Apex Aeon is the daylight translation of Apex Neon: the same semantic discipline, but on a bright canvas. Color still signals **state**, not decoration. The theme is clinical, high-clarity, and intentionally restrained.
|
||
|
||
---
|
||
|
||
## 1. Core Colors (DNA)
|
||
|
||
| Hex | Name | Role |
|
||
|---|---|---|
|
||
| `#f5f5f5` | Void White | Primary background. The canvas. |
|
||
| `#0a0a0a` | Near Black | Primary readable text. Default signal. |
|
||
| `#ff0044` | Razor Red | Primary aggressor. Errors, focus, cursor, active borders. |
|
||
| `#007a88` | Deep Cyan | Technical accent. Info, links, highlights. |
|
||
|
||
**Rule:** if an element is not important, it does not glow.
|
||
|
||
---
|
||
|
||
## 2. UI Surfaces & Depth
|
||
|
||
| Hex | Name | Usage |
|
||
|---|---|---|
|
||
| `#f5f5f5` | Void White | Main window backgrounds. |
|
||
| `#ffffff` | High Surface | Cards/inputs where needed (use sparingly). |
|
||
| `#e8e8e8` | Soft Surface | Sub-panels, inactive tabs, grouped regions. |
|
||
| `#737373` | Border / Muted | Borders, dividers, secondary labels. |
|
||
|
||
**Rule:** depth comes from subtle surface stepping, not shadows everywhere.
|
||
|
||
---
|
||
|
||
## 3. Interaction States
|
||
|
||
| Hex | Role | Notes |
|
||
|---|---|---|
|
||
| `#ff0044` | Cursor | Caret in terminals and inputs. |
|
||
| `#ff0044` | Selection BG | “Target locked” selection state. |
|
||
| `#0a0a0a` | Selection FG | **Hard rule:** text turns Near Black on red. |
|
||
| `#ff0044` | Active Border | Focused window/element edge. |
|
||
|
||
---
|
||
|
||
## 4. Functional Semantics
|
||
|
||
| Meaning | Hex |
|
||
|---|---|
|
||
| Success / OK | `#00b377` |
|
||
| Warning / Load | `#d18f00` |
|
||
| Error / Critical | `#ff0044` |
|
||
| Special / Root | `#7a3cff` |
|
||
| Info / Link | `#007a88` |
|
||
|
||
---
|
||
|
||
## 5. Terminal ANSI Table (16-Color Engine)
|
||
|
||
Bright colors represent **escalation**, not decoration, even on a light background.
|
||
|
||
### Normal Bank (0–7)
|
||
|
||
| Slot | Name | Hex | Meaning |
|
||
|---|---|---|---|
|
||
| color0 | Black | `#0a0a0a` | Primary text |
|
||
| color1 | Red | `#ff0044` | **The Predator** (Cursor/Path) |
|
||
| color2 | Green | `#00b377` | Success |
|
||
| color3 | Yellow | `#d18f00` | Warning |
|
||
| color4 | Blue | `#007a88` | Info / links |
|
||
| color5 | Magenta | `#7a3cff` | Special / root |
|
||
| color6 | Cyan | `#007a88` | Info (mapped) |
|
||
| color7 | White | `#f5f5f5` | Background |
|
||
|
||
### Bright Bank (8–15)
|
||
|
||
| Slot | Name | Hex | Meaning |
|
||
|---|---|---|---|
|
||
| color8 | BrBlack | `#737373` | Borders / separators / muted |
|
||
| color9 | BrRed | `#ff4d6d` | **Alerts** (Distinguishable from Cursor) |
|
||
| color10 | BrGreen | `#33d6a6` | Active success / completion |
|
||
| color11 | BrYellow | `#ffbf40` | Urgent warning |
|
||
| color12 | BrBlue | `#33bccc` | Active info / focus highlight |
|
||
| color13 | BrMagenta | `#a680ff` | Elevated special state |
|
||
| color14 | BrCyan | `#33bccc` | Active tech signal |
|
||
| color15 | BrWhite | `#ffffff` | Maximum highlight (rare) |
|
||
|
||
---
|
||
|
||
## 6. Usage Guidelines
|
||
|
||
- **Red is the Agent**. It marks where the user *is* (Prompt/Path) and what the user *controls* (Cursor/Selection).
|
||
- **Distinguish the Thread.** Since the Prompt is now Red, actual Errors must use **Bright Red** (`#ff4d6d`) or explicit symbols.
|
||
- **Deep Cyan is informational.** Never use it for errors or destructive actions.
|
||
- **Purple is sacred.** Only for special modes, root, or exceptional states.
|
||
- **Bright = escalation.** If nothing changed, don’t use a bright variant.
|
||
- **Surfaces stay simple.** Let state and typography carry hierarchy.
|
||
- **No random accents.** If a color has no semantic reason, it’s wrong.
|
||
|
||
Apex Aeon is not “light mode.” It’s the same system under harsher lighting.
|