- 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.
3.5 KiB
3.5 KiB
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.