@ryuenn3123/agentic-senior-core 6.16.6 → 6.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/agentic-senior-core/.codex-plugin/plugin.json +1 -1
- package/.agents/plugins/agentic-senior-core/commands/asc-develop.md +1 -1
- package/.agents/plugins/agentic-senior-core/commands/asc-develop.toml +2 -3
- package/.agents/plugins/agentic-senior-core/commands/asc-test.md +1 -2
- package/.agents/plugins/agentic-senior-core/commands/asc-test.toml +2 -3
- package/.agents/plugins/agentic-senior-core/commands/asc-ui.md +1 -1
- package/.agents/plugins/agentic-senior-core/commands/asc-ui.toml +2 -3
- package/.agents/plugins/agentic-senior-core/hooks/lib/known-ui-slop-patterns.json +5 -0
- package/.agents/plugins/agentic-senior-core/hooks/post-edit-enforce.js +70 -9
- package/.agents/plugins/agentic-senior-core/hooks/stop-verify-gate.js +148 -0
- package/.agents/plugins/agentic-senior-core/hooks.json +7 -0
- package/.agents/plugins/agentic-senior-core/plugin.json +1 -1
- package/.agents/plugins/agentic-senior-core/skills/asc/SKILL.md +7 -6
- package/.agents/plugins/agentic-senior-core/skills/asc/references/writing-skills.md +15 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-develop/SKILL.md +43 -58
- package/.agents/plugins/agentic-senior-core/skills/asc-develop/references/execution-plans.md +43 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-develop/references/subagent-orchestration.md +55 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-test/SKILL.md +3 -1
- package/.agents/plugins/agentic-senior-core/skills/asc-test/references/systematic-debugging.md +32 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/SKILL.md +42 -82
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/data-to-structure.md +96 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/responsive-and-copy.md +32 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/states-and-a11y.md +38 -0
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/plugin.yaml +1 -1
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/accessibility.md +0 -102
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/copy-i18n.md +0 -167
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/browser-surfaces.md +0 -69
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/color-surfaces.md +0 -81
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/composition-patterns.md +0 -299
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/motion.md +0 -55
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/themes-catalog.md +0 -199
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/typography.md +0 -54
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/divergence.md +0 -168
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/mobile-responsive.md +0 -115
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/experience.md +0 -31
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/genre-calibration.md +0 -93
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/operate.md +0 -83
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/persuade.md +0 -109
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/read.md +0 -47
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/redesign-audit.md +0 -89
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/reflexes.md +0 -59
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/states-feedback.md +0 -148
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-attio-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-attio.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-cal-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-cal.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-clerk-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-clerk.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-dub-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-dub.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-linear-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-linear.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-marketplace-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-marketplace.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-mintlify-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-mintlify.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-raycast-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-raycast.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-resend-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-resend.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-stripe-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-stripe.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-supabase-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-supabase.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-tldraw-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-tldraw.png +0 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-vercel-dom.json +0 -5
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/visuals/real-vercel.png +0 -0
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Craft: Motion & Micro-Interactions
|
|
2
|
-
|
|
3
|
-
Grounded in: W3C Motion Specifications, Google Material Motion, and Apple HIG Fluid Interfaces.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 1. The Core Motion Philosophy: "One Authored Moment"
|
|
8
|
-
|
|
9
|
-
- **Choreography Over Chaos:**
|
|
10
|
-
- Limit motion to **one authored focal moment** per view (e.g. an interactive slider responding smoothly, or a key metric settling into place).
|
|
11
|
-
- Never scatter uncoordinated entrance animations across every section. Staggered fade-ins on 10 consecutive cards signal generic AI generation and slow down task execution.
|
|
12
|
-
- **Ease-Out from a Visible Default:**
|
|
13
|
-
- Content should be visible and readable by default if scripts or animation fail to execute.
|
|
14
|
-
- Motion must feel natural and physical: fast deceleration / exponential ease-out (`cubic-bezier(0.16, 1, 0.3, 1)`). Avoid linear or cartoonish bouncy transitions.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 2. Technical Performance Floor
|
|
19
|
-
|
|
20
|
-
- **The Absolute Ban on `transition: all`:**
|
|
21
|
-
- Never write `transition: all` or `transition-all` in production CSS/Tailwind.
|
|
22
|
-
- `transition: all` forces the browser engine to recalculate geometry, repaints, and layout costs on every frame whenever any property shifts.
|
|
23
|
-
- **The Law:** Target only specific, GPU-accelerated compositing properties:
|
|
24
|
-
```css
|
|
25
|
-
/* Good */
|
|
26
|
-
transition: transform 150ms cubic-bezier(0.16, 1, 0.3, 1), opacity 150ms ease-out;
|
|
27
|
-
```
|
|
28
|
-
```html
|
|
29
|
-
<!-- Good Tailwind -->
|
|
30
|
-
<button class="transition-colors duration-150 active:scale-[0.98]">
|
|
31
|
-
```
|
|
32
|
-
- **Never Animate Layout Properties:**
|
|
33
|
-
- Never animate `width`, `height`, `top`, `left`, `margin`, or `padding`. Animate `transform: scale()` or `transform: translate3d()` instead.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 3. Accessibility & Reduced Motion
|
|
38
|
-
|
|
39
|
-
- **Mandatory Reduced Motion Fallback:**
|
|
40
|
-
- Every CSS animation and transition must respect the user's operating system preferences:
|
|
41
|
-
```css
|
|
42
|
-
@media (prefers-reduced-motion: reduce) {
|
|
43
|
-
*, ::before, ::after {
|
|
44
|
-
animation-duration: 0.01ms !important;
|
|
45
|
-
animation-iteration-count: 1 !important;
|
|
46
|
-
transition-duration: 0.01ms !important;
|
|
47
|
-
scroll-behavior: auto !important;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
```html
|
|
52
|
-
<!-- Tailwind -->
|
|
53
|
-
<div class="transition-transform duration-200 motion-reduce:transition-none">
|
|
54
|
-
```
|
|
55
|
-
|
package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/themes-catalog.md
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
# Curated Design Themes Catalog (16 Production Material Systems)
|
|
2
|
-
|
|
3
|
-
> **Core Invariant:** Never allow an LLM to invent an ad-hoc color palette or arbitrary font pairing from scratch on new greenfield projects. Unconstrained models converge onto the statistical median: muddy slate-indigo, generic SaaS card soup, or gimmick cosplay. On **Greenfield (new from scratch)** builds, lock visual styling to one of **16 verified, domain-calibrated material themes** across **8 real-world software domains** (2 contrasting directions per domain). If working in an existing codebase (*Brownfield*) with defined tokens in `app.css` or Tailwind config, **DO NOT override project tokens with this catalog**—respect and calibrate the project's authentic brand palette instead.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 1. Domain Matrix (8 Domains × 2 Contrasting Directions)
|
|
8
|
-
|
|
9
|
-
Select the domain matching the product's real-world purpose, then pick one of its two contrasting material directions so consecutive projects never converge onto a single look:
|
|
10
|
-
|
|
11
|
-
| Domain | Option A (Cool / Crisp / Structural) | Option B (Warm / Tactile / Editorial) |
|
|
12
|
-
|---|---|---|
|
|
13
|
-
| **1. Civic, Academic & Institutional** | `01. Sovereign Slate` | `02. Almanac Index` |
|
|
14
|
-
| **2. Financial, ERP & Operations** | `03. Editorial Ledger` | `04. Warm Stationery` |
|
|
15
|
-
| **3. Healthcare, Clinical & Care** | `05. Pharmacy Calm` | `06. Clinical Precision` |
|
|
16
|
-
| **4. Commercial B2B SaaS & Platforms** | `07. Ink & Signal` | `08. Obsidian Stage` |
|
|
17
|
-
| **5. Developer Tools, Observability & Security** | `09. Graphite Instrument` | `10. Technical Whiteprint` |
|
|
18
|
-
| **6. Commerce, Hospitality, Craft & Hardware** | `11. Atelier Gallery` | `12. Kinetic Grid` |
|
|
19
|
-
| **7. Editorial, Publishing, EdTech & Knowledge** | `13. Studio Proof` | `14. Botanical Field` |
|
|
20
|
-
| **8. Industrial, Logistics, Construction & Geo** | `15. Formwork Concrete` | `16. Meridian Survey` |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 2. Production Constraints & Accessibility Requirements
|
|
25
|
-
|
|
26
|
-
Theme choices must satisfy real-world usability and production budgets. The following patterns are excluded:
|
|
27
|
-
1. **Gimmick Surfaces:** Medieval blackletter parchment, CRT phosphor scanlines, two-drum pink/blue risograph with no black ink, torn-paper edges, and die-cut sticker outlines.
|
|
28
|
-
2. **Runtime Shaders:** Mandatory `<canvas>` or WebGL background noise fields, drifting particle hazes, and SVG `feTurbulence` grain overlays sitting over running body text.
|
|
29
|
-
3. **Broken Font & Asset Dependencies:** Unbundled font packages that fail to load on standard web CDNs, and unbundled local texture URLs (`url("cotton.svg")`). Every font in this catalog is verified on Google Fonts with clean system fallbacks.
|
|
30
|
-
4. **Low-Contrast Mid-Tone Grounds:** Raw `70%` grey or `35%` saturated blue full-app drenches that fail WCAG 2.2 AA `4.5:1` contrast on secondary metadata.
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## 3. Domain 1 — Civic, Academic & Institutional
|
|
35
|
-
|
|
36
|
-
### `01. Sovereign Slate`
|
|
37
|
-
*Best for: Institutional evaluations, accreditation dossiers, compliance portals, municipal registries.*
|
|
38
|
-
- **Surface Tokens:** Canvas `#f8fafc` (`oklch(98.4% 0.003 248)`) · Sheet `#ffffff` · Rail `#f1f5f9` · Rule `1px solid #e2e8f0`
|
|
39
|
-
- **Ink Tokens:** Primary `#0f172a` · Secondary `#334155` · Muted `#64748b`
|
|
40
|
-
- **Accent & Semantic:** Deep Pine `#0f766e` (`oklch(51% 0.096 186)`), Soft `#f0fdfa` · Status: Emerald `#047857`, Amber `#b45309`, Rose `#be123c`
|
|
41
|
-
- **Typography:** Display & UI `Plus Jakarta Sans` (600/700 heads, 400/500 body) · Numeric `JetBrains Mono` (`tabular-nums`)
|
|
42
|
-
- **Geometry & Posture:** Unified Spatial Canvas (`0px` sheet divisions, `6px` control radius). Left verification rail + right primary data table. Zero floating card islands.
|
|
43
|
-
|
|
44
|
-
### `02. Almanac Index`
|
|
45
|
-
*Best for: University catalogs, public archives, policy repositories, judicial & regulatory filings.*
|
|
46
|
-
- **Surface Tokens:** Canvas `#f7f4ed` (`oklch(96.6% 0.012 85)`) · Sheet `#fcfbf8` · Subtle `#efeae0` · Rule `1px solid #ded8cb` (Section head rule: `2px solid #1f1d1a`)
|
|
47
|
-
- **Ink Tokens:** Primary `#1f1d1a` · Secondary `#3d3934` · Muted `#666057`
|
|
48
|
-
- **Accent & Semantic:** Terracotta Seal `#b4532a` (`oklch(53% 0.14 38)`), Soft `#fdf2ed`
|
|
49
|
-
- **Typography:** Display `Newsreader` (500/600, `-0.02em`) · Body & UI `Source Sans 3` (400/600) · Index/Filing IDs `IBM Plex Mono`
|
|
50
|
-
- **Geometry & Posture:** Archival index sheet (`4px` control radius, zero drop shadows at rest). Heavy `2px` ink top-bars anchor tables and statutory sections; hairline rules separate rows.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## 4. Domain 2 — Financial, ERP & Operations
|
|
55
|
-
|
|
56
|
-
### `03. Editorial Ledger`
|
|
57
|
-
*Best for: Accounting systems, treasury consoles, ERP inventory, institutional billing, audit ledgers.*
|
|
58
|
-
- **Surface Tokens:** Canvas `#ffffff` · Sub-surface / Striping `#f9fafb` (`oklch(98.5% 0.002 247)`) · Rule `1px solid #e5e7eb`
|
|
59
|
-
- **Ink Tokens:** Primary `#111827` · Secondary `#374151` · Muted `#6b7280`
|
|
60
|
-
- **Accent & Semantic:** Sovereign Navy `#1e3a8a` (`oklch(38% 0.14 262)`), Soft `#eff6ff` · Variance: Positive `#047857`, Negative `#b91c1c`
|
|
61
|
-
- **Typography:** Display & UI `Inter` (600 heads, 400/500 body) · Figures `IBM Plex Mono` (`tabular-nums`, right-aligned quantitative columns)
|
|
62
|
-
- **Geometry & Posture:** Edge-to-edge sticky-header tables (`10px–12px` vertical cell padding, `6px` control radius) with 65/35 master-detail inspector Drawer/Rail.
|
|
63
|
-
|
|
64
|
-
### `04. Warm Stationery`
|
|
65
|
-
*Best for: Private banking, advisory portfolios, payroll & compensation portals, procurement workflows.*
|
|
66
|
-
- **Surface Tokens:** Canvas `#faf7f2` (`oklch(97.5% 0.009 80)`) · Sheet `#ffffff` · Subtle `#f2ede4` · Rule `1px solid #e4ddd1`
|
|
67
|
-
- **Ink Tokens:** Primary `#231f1c` · Secondary `#443e38` · Muted `#6e655d`
|
|
68
|
-
- **Accent & Semantic:** Deep Forest `#166534` (`oklch(44% 0.11 152)`), Soft `#f0fdf4`
|
|
69
|
-
- **Typography:** Display & Totals `Instrument Serif` (400, `-0.015em`) · UI & Tables `DM Sans` (400/500/600) · Figures `DM Mono` (`tabular-nums`)
|
|
70
|
-
- **Geometry & Posture:** Calm ledger sheet (`8px` radius on inputs/wells, `1px` warm hairline borders, zero shadow on resting panels).
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 5. Domain 3 — Healthcare, Clinical & Care
|
|
75
|
-
|
|
76
|
-
### `05. Pharmacy Calm`
|
|
77
|
-
*Best for: Patient portals, telehealth scheduling, pharmacy fulfillment, mental health & wellness care.*
|
|
78
|
-
- **Surface Tokens:** Canvas `#f6f7f4` (`oklch(97.2% 0.008 135)`) · Sheet `#ffffff` · Subtle `#ebeee7` · Rule `1px solid #dce1d6`
|
|
79
|
-
- **Ink Tokens:** Primary `#18221e` · Secondary `#33423c` · Muted `#596b63`
|
|
80
|
-
- **Accent & Semantic:** Apothecary Eucalyptus `#0d6e5b` (`oklch(48% 0.095 172)`), Soft `#ecfdf5`
|
|
81
|
-
- **Typography:** Display `Outfit` (600, `-0.02em`) · Clinical Body `Public Sans` (400/500, `1.55` line-height) · Dosages & Times `JetBrains Mono`
|
|
82
|
-
- **Geometry & Posture:** Generous breathing room (`10px` control/surface radius, `1px` crisp borders, clear progressive step flows, high-legibility medication and appointment timelines).
|
|
83
|
-
|
|
84
|
-
### `06. Clinical Precision`
|
|
85
|
-
*Best for: Electronic Health Records (EHR), lab diagnostics, radiology worklists, ICU/ward triage.*
|
|
86
|
-
- **Surface Tokens:** Canvas `#f8fafc` · Worklist `#ffffff` · Header/Rail `#f1f5f9` · Rule `1px solid #cbd5e1`
|
|
87
|
-
- **Ink Tokens:** Primary `#0b1324` · Secondary `#283548` · Muted `#526277`
|
|
88
|
-
- **Accent & Semantic:** Diagnostic Cerulean `#0369a1` (`oklch(50% 0.12 238)`), Soft `#f0f9ff` · Out-of-range flag: `#b91c1c` (always paired with explicit `H`/`L` symbol, never color alone)
|
|
89
|
-
- **Typography:** UI `IBM Plex Sans` (400/500/600) · Vitals, Reference Ranges & Timestamps `IBM Plex Mono` (`tabular-nums`)
|
|
90
|
-
- **Geometry & Posture:** High-density patient banner pinned top, `4px` tight radius, zero decorative imagery, instant keyboard/row triage.
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 6. Domain 4 — Commercial B2B SaaS & Platforms
|
|
95
|
-
|
|
96
|
-
### `07. Ink & Signal`
|
|
97
|
-
*Best for: Collaborative workspaces, CRM, project trackers, service desks, multi-tenant B2B apps.*
|
|
98
|
-
- **Surface Tokens:** Canvas `#fcfcfc` (`oklch(99.2% 0.002 100)`) · Well `#f5f5f4` · Subtle `#ebebea` · Rule `1px solid #e4e4e2`
|
|
99
|
-
- **Ink Tokens:** Primary `#171717` (`oklch(16% 0 0)`) · Secondary `#383838` · Muted `#666666`
|
|
100
|
-
- **Accent & Semantic:** Chromatic Teal `#0d7477` (`oklch(50% 0.095 190)`), Soft `#e6f6f6`
|
|
101
|
-
- **Typography:** Display `Epilogue` (700, `-0.035em`) · Body & Controls `Inter` (400/500/600) · IDs & Counts `IBM Plex Mono`
|
|
102
|
-
- **Geometry & Posture:** Hueless carbon ink on clean paper; teal marks only active/open state and primary CTA (`8px` control radius, `12px` wells, shadow reserved strictly for floating popovers/dialogs).
|
|
103
|
-
|
|
104
|
-
### `08. Obsidian Stage`
|
|
105
|
-
*Best for: Media production suites, AI creative workflows, high-contrast SaaS launches, real-time analytics.*
|
|
106
|
-
- **Surface Tokens:** Canvas `#09090b` (`oklch(14% 0.005 270)`) · Elevated `#121216` · Subtle `#1c1c22` · Rule `1px solid #27272a`
|
|
107
|
-
- **Ink Tokens:** Primary `#fafafa` · Secondary `#d4d4d8` · Muted `#a1a1aa`
|
|
108
|
-
- **Accent & Semantic:** Cobalt Signal `#3b82f6` (`oklch(62% 0.19 258)`), Soft `rgba(59, 130, 246, 0.14)`
|
|
109
|
-
- **Typography:** Display `Space Grotesk` (600/700, `-0.03em`) · Body `Plus Jakarta Sans` (400/500) · Telemetry `JetBrains Mono`
|
|
110
|
-
- **Geometry & Posture:** Precision dark surface separated strictly by `1px solid #27272a` keylines and luminance steps (`8px` radius). Zero purple/indigo neon blooms or glowing card borders.
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## 7. Domain 5 — Developer Tools, Observability & Security
|
|
115
|
-
|
|
116
|
-
### `09. Graphite Instrument`
|
|
117
|
-
*Best for: Log explorers, APM tracing, DAST/pentest consoles, database studios, CI/CD pipelines.*
|
|
118
|
-
- **Surface Tokens:** Canvas `#0d1117` (`oklch(17.5% 0.012 255)`) · Pane `#161b22` · Subtle `#21262d` · Rule `1px solid #30363d`
|
|
119
|
-
- **Ink Tokens:** Primary `#e6edf3` · Secondary `#b1bac4` · Muted `#8b949e`
|
|
120
|
-
- **Accent & Semantic:** Amber Telemetry `#f59e0b` (`oklch(75% 0.16 75)` — dark ink `#0d1117` on filled buttons), Soft `rgba(245, 158, 11, 0.14)` · Severity: Critical `#f85149`, High `#db6d28`, Low `#3fb950`
|
|
121
|
-
- **Typography:** UI `IBM Plex Sans` (400/500/600) · Logs, Payloads, Traces & Queries `JetBrains Mono` (`tabular-nums`)
|
|
122
|
-
- **Geometry & Posture:** Keyboard-first multi-pane workbench (`4px` radius, `Cmd+K` bar, split log/trace inspector, zero marketing ornament).
|
|
123
|
-
|
|
124
|
-
### `10. Technical Whiteprint`
|
|
125
|
-
*Best for: API documentation, architecture registries, CAD/spec viewers, schema & hardware documentation.*
|
|
126
|
-
- **Surface Tokens:** Canvas `#f4f7fb` (`oklch(97.2% 0.008 245)`) · Sheet `#ffffff` · Subtle `#e8eef6` · Rule `1px solid #cbd5e1` (Major register rule: `2px solid #13294b`)
|
|
127
|
-
- **Ink Tokens:** Primary `#13294b` (Prussian Ink) · Secondary `#2c4469` · Muted `#566d8e`
|
|
128
|
-
- **Accent & Semantic:** Drafting Cobalt `#1d4ed8` (`oklch(49% 0.19 260)`), Soft `#dbeafe`
|
|
129
|
-
- **Typography:** Display `Chakra Petch` (600, `-0.015em`) · Prose & UI `IBM Plex Sans` (400/500) · Specs, Endpoints & Units `IBM Plex Mono`
|
|
130
|
-
- **Geometry & Posture:** Square `0px` drafted keylines, specification register tables, dual-rail documentation layout with crisp code/parameter blocks.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## 8. Domain 6 — Commerce, Hospitality, Craft & Hardware
|
|
135
|
-
|
|
136
|
-
### `11. Atelier Gallery`
|
|
137
|
-
*Best for: Architecture studios, boutique hospitality, furniture/ceramics commerce, specialty roasters, galleries.*
|
|
138
|
-
- **Surface Tokens:** Canvas `#f4f0e8` (`oklch(95.5% 0.012 78)`) · Card Stock `#faf8f4` · Subtle `#eae4d8` · Rule `1px solid #dcd4c5`
|
|
139
|
-
- **Ink Tokens:** Primary `#241d18` (Deep Umber) · Secondary `#463b33` · Muted `#6e6055`
|
|
140
|
-
- **Accent & Semantic:** Slate Ultramarine `#334e68` (`oklch(41% 0.075 248)`), Soft `#eaeff5`
|
|
141
|
-
- **Typography:** Display `Cormorant Garamond` (500/600, `-0.018em`, line-height `1.06`) · Body, Wall Labels & Checkout `Hanken Grotesk` (400/500/600) · Prices/Editions `Hanken Grotesk` (`tabular-nums`)
|
|
142
|
-
- **Geometry & Posture:** Crisp `2px` gallery corners, generous daylight imagery with captions placed cleanly beneath (never overlaid on cluttered gradients), quiet ruled specification tables.
|
|
143
|
-
|
|
144
|
-
### `12. Kinetic Grid`
|
|
145
|
-
*Best for: Athletic gear, consumer electronics, ticketing & live events, fitness/training platforms, automotive.*
|
|
146
|
-
- **Surface Tokens:** Canvas `#f7f7f5` · Plate `#ffffff` · Subtle `#ededeb` · Rule `1px solid #d6d6d2` (Section header bar: `2px solid #111111`)
|
|
147
|
-
- **Ink Tokens:** Primary `#111111` · Secondary `#333333` · Muted `#636360`
|
|
148
|
-
- **Accent & Semantic:** Vermilion Signal `#dc2626` (`oklch(56% 0.21 27)`), Soft `#fef2f2`
|
|
149
|
-
- **Typography:** Display & Scoreboards `Barlow Condensed` (700 uppercase, `-0.01em`) · Body & Controls `Archivo` (400/500/600) · Splits, SKUs & Specs `JetBrains Mono`
|
|
150
|
-
- **Geometry & Posture:** High-contrast Swiss structural grid (`4px` radius), bold typographic hierarchy, crisp inventory/size matrices, zero soft pastel washes.
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## 9. Domain 7 — Editorial, Publishing, EdTech & Knowledge
|
|
155
|
-
|
|
156
|
-
### `13. Studio Proof`
|
|
157
|
-
*Best for: Digital publications, research journals, documentation hubs, writing studios, legal analysis.*
|
|
158
|
-
- **Surface Tokens:** Canvas `#f9f7f1` (`oklch(97.5% 0.010 90)`) · Reading Sheet `#ffffff` · Subtle `#f0ece1` · Rule `1px solid #e0dacb`
|
|
159
|
-
- **Ink Tokens:** Primary `#1c1917` · Secondary `#3f3a36` · Muted `#6b635b`
|
|
160
|
-
- **Accent & Semantic:** Editorial Crimson `#9f1239` (`oklch(45% 0.17 15)`), Soft `#fff1f2`
|
|
161
|
-
- **Typography:** Display `Fraunces` (600, `-0.02em`) · Long-form Prose `Source Serif 4` (`65ch–72ch` measure, `1.65` line-height) · UI Chrome & TOC `Work Sans` (400/500/600)
|
|
162
|
-
- **Geometry & Posture:** Distraction-free reading column flanked by receding table-of-contents and citation/footnote margin rails (`4px` radius).
|
|
163
|
-
|
|
164
|
-
### `14. Botanical Field`
|
|
165
|
-
*Best for: EdTech courses, language & science learning, sustainability/climate platforms, community libraries.*
|
|
166
|
-
- **Surface Tokens:** Canvas `#f4f6f0` (`oklch(96.6% 0.012 125)`) · Sheet `#ffffff` · Subtle `#e7ece0` · Rule `1px solid #d5ddd0`
|
|
167
|
-
- **Ink Tokens:** Primary `#1c241b` · Secondary `#374436` · Muted `#5c6b5a`
|
|
168
|
-
- **Accent & Semantic:** Warm Ochre `#b45309` (`oklch(53% 0.14 55)`), Soft `#fef3c7` · Completion: Forest `#15803d`
|
|
169
|
-
- **Typography:** Display `Libre Baskerville` (400/700) · Learning UI & Exercises `Figtree` (400/500/600) · Curriculum Codes & Progress `IBM Plex Mono`
|
|
170
|
-
- **Geometry & Posture:** Structured syllabus rail + focused lesson canvas (`10px` radius, clear progress milestones, tactile quietness without childish gamification).
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
## 10. Domain 8 — Industrial, Logistics, Construction & Geospatial
|
|
175
|
-
|
|
176
|
-
### `15. Formwork Concrete`
|
|
177
|
-
*Best for: Construction management, field engineering, manufacturing MES, warehouse WMS, heavy equipment.*
|
|
178
|
-
- **Surface Tokens:** Canvas `#eeece6` (`oklch(94.2% 0.008 82)`) · Work Plate `#f9f8f5` · Subtle `#e2dfd7` · Rule `1px solid #cbc7bc` (Plate top-bar: `3px solid #18181b`)
|
|
179
|
-
- **Ink Tokens:** Primary `#18181b` · Secondary `#36363a` · Muted `#575652`
|
|
180
|
-
- **Accent & Semantic:** Safety Orange `#c2410c` (`oklch(52% 0.18 38)` — passes WCAG AA `4.5:1` with `#ffffff` button ink), Soft `#ffedd5`
|
|
181
|
-
- **Typography:** Display `Oswald` (600/700, `-0.005em`) · UI & Field Forms `Archivo` (400/500/600) · Tolerances, Tonnage & Lot IDs `IBM Plex Mono` (`tabular-nums`)
|
|
182
|
-
- **Geometry & Posture:** Square `0px` board-cast edges, high-target field controls (`>= 44px`), unambiguous work-order status plates.
|
|
183
|
-
|
|
184
|
-
### `16. Meridian Survey`
|
|
185
|
-
*Best for: Fleet dispatch, supply chain & freight tracking, GIS/geospatial consoles, energy & utility grids.*
|
|
186
|
-
- **Surface Tokens:** Canvas `#f3f5f7` (`oklch(96.5% 0.005 235)`) · Map/Data Overlay `#ffffff` · Subtle `#e5e9ef` · Rule `1px solid #cfd6e0`
|
|
187
|
-
- **Ink Tokens:** Primary `#0f172a` · Secondary `#2d3a4f` · Muted `#58677e`
|
|
188
|
-
- **Accent & Semantic:** Survey Teal `#0f766e` (`oklch(51% 0.096 186)`), Waypoint Alert `#b45309`, Soft `#f0fdfa`
|
|
189
|
-
- **Typography:** Display `Sora` (600, `-0.02em`) · Dispatch UI `Public Sans` (400/500/600) · Coordinates, ETAs & Manifests `JetBrains Mono` (`tabular-nums`)
|
|
190
|
-
- **Geometry & Posture:** Split canvas (geospatial/timeline viewport + docked high-density manifest drawer, `6px` radius, crisp `1px` keylines).
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## 11. Selection & Lock Protocol (Greenfield Only)
|
|
195
|
-
|
|
196
|
-
1. **Match Domain First:** Map the user's product to one of the 8 domains in Section 1. Never cross-contaminate genres (e.g., never apply `09. Graphite Instrument` dark terminal aesthetics to `01. Sovereign Slate` civic portals).
|
|
197
|
-
2. **Alternate Within Domain:** Choose between Option A (cool/structural) and Option B (warm/editorial) based on brand tone or to diverge from recent builds.
|
|
198
|
-
3. **Brownfield Preemption:** If the repository already defines brand tokens (e.g., Tailwind colors, CSS variables in `globals.css` or `app.css`), skip this catalog completely. Do not override established project palettes.
|
|
199
|
-
4. **Silent Internal Token Application:** Translate selected tokens directly into CSS custom properties (`--bg-canvas`, `--bg-surface`, `--text-ink`, `--border-rule`, `--accent-primary`) in code. Never output promotional or meta-jargon phrases to the user.
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Craft: Typography & Typesetting
|
|
2
|
-
|
|
3
|
-
Grounded in: Refactoring UI, Bringhurst's The Elements of Typographic Style, and W3C Type Best Practices.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 1. Font Roles & Typographic Contrast
|
|
8
|
-
|
|
9
|
-
- **Strict Dual-Role System:**
|
|
10
|
-
- *Display Role:* Conveys brand character and emotional tone (used for H1, hero headlines, large section markers).
|
|
11
|
-
- *Body/Functional Role:* Maximizes optical legibility at scale (used for paragraphs, tables, form inputs, button labels, navigation).
|
|
12
|
-
- Never mix more than two font families on a single screen unless one is a dedicated monospace face for literal code.
|
|
13
|
-
- **Weight Contrast Before Size Inflation:**
|
|
14
|
-
- Build strong typographic hierarchy by varying font weights (`font-bold` vs `font-normal`) and contrast tokens (`text-foreground` vs `text-muted-foreground`) before jumping to oversized font sizes.
|
|
15
|
-
- A clean 24px `font-bold` title paired with a 14px `text-muted-foreground` subtitle establishes clearer hierarchy than inflating the title to 48px with identical gray values.
|
|
16
|
-
- **The Generative Scale Contrast Floor ($Display \ge 3.5\times Body$):**
|
|
17
|
-
- On landing, marketing, and hero surfaces (`Persuade`), the primary headline must establish an optical scale step over body text:
|
|
18
|
-
- Target: $Display \ge 3.5\times Body$ (e.g. `text-5xl` to `text-7xl` [48px–72px] display vs `text-base` [16px] or `text-sm` [14px] body).
|
|
19
|
-
- Heading leading must be tight: `leading-[1.05]` to `leading-tight`.
|
|
20
|
-
- An under-scaled heading ($< 2.5\times$ body, such as 24px H1) collapses optical gravity and makes marketing pages look like internal memo forms.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 2. Tracking, Leading & Measure
|
|
25
|
-
|
|
26
|
-
- **Tracking (Letter-Spacing) Floor:**
|
|
27
|
-
- Large display headings (> 32px): Tighten tracking slightly (`tracking-tight` / `-0.02em` to `-0.03em`).
|
|
28
|
-
- **The -0.04em Floor:** Never track tighter than `-0.04em`. Extreme negative tracking collides letterforms and destroys legibility.
|
|
29
|
-
- Body text (14px–18px): Standard tracking (`tracking-normal` / `0em`). Never tighten body prose.
|
|
30
|
-
- Uppercase tags/codes: Subtle positive tracking (`tracking-wider` / `+0.05em`).
|
|
31
|
-
- **Leading (Line-Height) Matching:**
|
|
32
|
-
- Large headings: `leading-tight` (1.1 to 1.25). Loose leading on large display text creates disjointed lines.
|
|
33
|
-
- Body prose: `leading-relaxed` (1.6 to 1.75). Tight leading on body text causes reading fatigue.
|
|
34
|
-
- **Line Measure Floor:**
|
|
35
|
-
- Cap continuous reading prose at **65–75 characters per line** (`max-w-prose` / ~680px).
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## 3. Tabular Numbers & Numeric Craft
|
|
40
|
-
|
|
41
|
-
- **Tabular Numerals (`tabular-nums`):**
|
|
42
|
-
- All numbers that change, compare, or align in columns **MUST** carry `tabular-nums` (via CSS `font-variant-numeric: tabular-nums` or Tailwind class `tabular-nums`).
|
|
43
|
-
- Applies to: prices, balances, data table columns, timers, percentages, and metrics.
|
|
44
|
-
- *Distinction from font-mono:* Use `tabular-nums` with the standard sans-serif face. Do not force `font-mono` on numbers unless the numbers represent technical addresses, hashes, or code tokens.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## 4. The Absolute Ban on Eyebrows & Tracked Heading Kickers
|
|
49
|
-
|
|
50
|
-
- **Zero Eyebrow Labels:**
|
|
51
|
-
- Never place a small, uppercase, tracked kicker label above a heading (e.g. `FEATURES`, `WHAT WE DO`, `WHY CHOOSE US`).
|
|
52
|
-
- An eyebrow is the defining hallmark of generic AI template generation. It adds zero informational value and insults the reader's intelligence.
|
|
53
|
-
- Let the heading carry its own weight. Delete the kicker entirely.
|
|
54
|
-
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
# Anti-Convergence & Visual Divergence
|
|
2
|
-
|
|
3
|
-
Second-order AI design slop occurs when models converge on the same "safe" contemporary aesthetic: dark mode by default, 3 identical rounded cards, purple/indigo gradients, floating pill badges, and generic hero text.
|
|
4
|
-
|
|
5
|
-
Distinct engineering craft rejects pre-baked template habits in favor of material-derived identity.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. The Mirror Test
|
|
10
|
-
|
|
11
|
-
Before rendering a visual layout, apply the Mirror Test:
|
|
12
|
-
|
|
13
|
-
> *"Would an adjacent, generic prompt from another user receive this exact combination of layout, typography, and card containers?"*
|
|
14
|
-
|
|
15
|
-
If the answer is yes:
|
|
16
|
-
1. Break one fundamental structural assumption (e.g., if you naturally reached for a 3-card grid, replace it with a dense comparison table or an asymmetric 70/30 narrative layout).
|
|
17
|
-
2. Shift the focal anchor from generic text to the project's concrete material (a live code terminal, real data payload, interactive simulator, or high-fidelity architecture diagram).
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## 2. Material-First Architecture
|
|
22
|
-
|
|
23
|
-
Template-first design forces real content into arbitrary boxes. Material-first design derives the container from the inventory of existing data.
|
|
24
|
-
|
|
25
|
-
### 2.1 The Material Inventory Protocol
|
|
26
|
-
Inspect what real assets and content actually exist before writing markup:
|
|
27
|
-
- **Available Material:**
|
|
28
|
-
- Are there real numbers and metrics? $\to$ Display an authentic data table with sorting/filtering.
|
|
29
|
-
- Is there actual CLI or API interaction? $\to$ Lead with a live syntax-highlighted code block or terminal view.
|
|
30
|
-
- Are there real product screenshots? $\to$ Full-bleed product stage with zoom/interactive callouts.
|
|
31
|
-
- **Absent Material:**
|
|
32
|
-
- No customer quotes? $\to$ Zero fake testimonial sliders or generic placeholder personas.
|
|
33
|
-
- No partner companies? $\to$ Zero generic "Trusted by 10,000+ teams" logo walls.
|
|
34
|
-
- No enterprise compliance certifications? $\to$ Zero unverified security badges.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## 3. Divergence Axes: How to Build Character
|
|
39
|
-
|
|
40
|
-
When establishing the visual language for a new product, vary decisions along four distinct axes:
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
Axis 1: Layout Posture
|
|
44
|
-
(Symmetric Grid ◄──────► Asymmetric Split / Rail)
|
|
45
|
-
│
|
|
46
|
-
Axis 2: Typographic Voice │ Axis 3: Surface Tone
|
|
47
|
-
(Technical Monospace / Geometric ◄┼► Editorial Serif / Humanist)
|
|
48
|
-
│
|
|
49
|
-
Axis 4: Density Scale
|
|
50
|
-
(Spacious & Airy ◄──────► Terminal-Dense Compact)
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### 3.1 Layout Posture
|
|
54
|
-
- **Asymmetric Split:** 65% primary visual canvas or working editor, 35% contextual rail or inspector.
|
|
55
|
-
- **Single-Column Narrative:** Focused long-form reading measure with side-margin notes (Tufte style).
|
|
56
|
-
- **Dense Data Stream:** Compact horizontal list rows separated by hairline borders rather than boxed cards.
|
|
57
|
-
|
|
58
|
-
### 3.2 Typographic Character
|
|
59
|
-
Diverge from the generic "Inter on everything" default by matching font pairing to the product domain:
|
|
60
|
-
- **Developer / Systems Engineering:** Modern neo-grotesque heading + technical monospace code/metrics.
|
|
61
|
-
- **Analytical / Financial / Publishing:** Editorial serif heading (`Newsreader`, `Fraunces`, `Instrument Serif`) paired with crisp sans-serif body (`Geist Sans`, `Plus Jakarta Sans`).
|
|
62
|
-
- **High-Velocity Productivity Tool:** Compact sans-serif with tight tracking and high x-height (`DM Sans`, `General Sans`).
|
|
63
|
-
|
|
64
|
-
### 3.3 Surface Tone
|
|
65
|
-
- **Warm Editorial:** Cream or paper-tinted backgrounds (`#faf9f6`), deep ink text (`#1c1917`), subtle warm borders.
|
|
66
|
-
- **Technical Monolith:** Deep slate or obsidian canvas (`#090a0f`), cool steel borders (`#1e2230`), crisp laser accents.
|
|
67
|
-
- **High-Key Precision (Clean Light):** Stark white canvas (`#ffffff`), zinc-900 typography, zero shadow elevation (pure 1px border geometry).
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## 4. Single Signature Element
|
|
72
|
-
|
|
73
|
-
A memorable, production-grade interface requires exactly **one** standout signature interaction or visual focal point. Attempting to make every button and card special produces visual noise.
|
|
74
|
-
|
|
75
|
-
Examples of strong signature elements:
|
|
76
|
-
1. **Interactive calculation slider:** Allows prospective users to adjust sliders and immediately see concrete pricing or ROI recalculations.
|
|
77
|
-
2. **Live terminal sandbox:** Interactive terminal tab allowing command execution or simulated payload inspection.
|
|
78
|
-
3. **Master status indicator:** Distinct physical-style LED or pulsing node visualizing live system cluster health.
|
|
79
|
-
4. **Architectural node diagram:** Interactive SVG graph mapping dependencies or data flows.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## 5. Common Layout & Aesthetic Pitfalls
|
|
84
|
-
|
|
85
|
-
Generic generative output typically falls into predictable styling clusters:
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
┌────────────────────────────────────────────────────────┐
|
|
89
|
-
│ GENERIC LAYOUT CLUSTERS & HABITS │
|
|
90
|
-
├────────────────────────────────────────────────────────┤
|
|
91
|
-
│ 1. The Gradient & Glow Default │
|
|
92
|
-
│ Violet/cyan linear gradients, diffuse neon halos, │
|
|
93
|
-
│ identical 3-card rows with generic icon boxes. │
|
|
94
|
-
├────────────────────────────────────────────────────────┤
|
|
95
|
-
│ 2. The Pseudo-Technical Bento │
|
|
96
|
-
│ Uppercase tracked-out labels, pill badges, and dark │
|
|
97
|
-
│ bento grids applied indiscriminately to all products. │
|
|
98
|
-
├────────────────────────────────────────────────────────┤
|
|
99
|
-
│ 3. The Unprompted Editorial Default │
|
|
100
|
-
│ Yellow-cream backgrounds (#FDFBF7), oversized italic │
|
|
101
|
-
│ serifs, and artificial statutory broadsheet dividers. │
|
|
102
|
-
├────────────────────────────────────────────────────────┤
|
|
103
|
-
│ 4. Misplaced Monospace & Terminal Containers │
|
|
104
|
-
│ Terminal window frames, prompt symbols ($), and ASCII │
|
|
105
|
-
│ charts injected into ordinary non-developer workflows. │
|
|
106
|
-
├────────────────────────────────────────────────────────┤
|
|
107
|
-
│ 5. The Over-Constrained Wireframe │
|
|
108
|
-
│ Rigid 1px hairline grids and dense tables forced onto │
|
|
109
|
-
│ public homepages, stripping all visual pacing. │
|
|
110
|
-
└────────────────────────────────────────────────────────┘
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### 5.1 Excessive Serif & Parchment Surfaces
|
|
114
|
-
Editorial typography must serve products with genuine long-form prose or literary context:
|
|
115
|
-
- **Terracotta & Cream Monoculture:** Warmth must come from low-chroma neutral tones, authentic imagery, or deep ink—not default yellow-cream backgrounds paired with rust orange.
|
|
116
|
-
- **Oversized Italic Serif Display:** Do not use italic serif display as a superficial shortcut to "luxury" or "premium" unless the client's actual brand specifically requires it.
|
|
117
|
-
- **Artificial Broadsheet Grids:** Dense hairline rules dividing zero-radius columns to mimic an archival newspaper is an artificial costume. Structure must emerge from spatial scale and tonal contrast.
|
|
118
|
-
- **Performative Metadata:** Omit decorative index numbering (`01`, `02`, `(001)`), fake coordinates (`37.77° N`), and version stamps (`©2026 — Scroll`) that convey zero operational data.
|
|
119
|
-
|
|
120
|
-
### 5.2 Misplaced Monospace & Terminal Containers
|
|
121
|
-
When models attempt to convey technical competence, they frequently force developer aesthetics onto general software:
|
|
122
|
-
- **No Non-Developer Terminals:** Never enclose ordinary educational, institutional, or business data inside a fake terminal window with prompt symbols (`$`, `>`).
|
|
123
|
-
- **No ASCII Charts or Brackets:** Never generate ASCII art radar charts (`/\`, `[■■■□□]`), pseudo-status brackets (`[STATUS: 112]`), or terminal line-drawings. Use semantic HTML5 `<progress>` elements, styled SVG bars, and clean tabular typography.
|
|
124
|
-
- **Plain Technical Vocabulary:** Never label normal administrative or assessment features with exaggerated jargon ("telemetry console", "neural assessment engine"). Use the genuine domain terms established in the codebase.
|
|
125
|
-
|
|
126
|
-
### 5.3 Over-Constrained Border Dividers
|
|
127
|
-
When avoiding card grids, models often collapse into the opposite extreme: wrapping every entity and summary item in continuous `border divide-y` matrices:
|
|
128
|
-
- **Selective Borders:** Restrict dense table borders to genuine tabular datasets. Never force committee bios, team rosters, or public feature overviews into spreadsheet cell grids (`border-t border-l border-r border-b`).
|
|
129
|
-
- **Surface Contrast Rhythm:** Separate public sections with generous vertical space (`py-16 lg:py-24`) and full-bleed background shifts (e.g., transition from deep brand grounding to crisp light paper), not continuous wireframe border lines.
|
|
130
|
-
- **Direct Technical Prose:** Deliver clean, production-ready design decisions directly without citing internal rule names or theoretical frameworks.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## 6. Substance Over Restraint (Avoiding Sterile Layouts)
|
|
135
|
-
|
|
136
|
-
Stripping away decorative clutter is only the first half of design engineering.
|
|
137
|
-
|
|
138
|
-
> **THE SUBSTANCE INVARIANT:**
|
|
139
|
-
> A page that loses its decorative clutter without gaining substantive weight becomes an uninspired, sterile wireframe. Users and reviewers rightly prefer a rich interface over an empty void.
|
|
140
|
-
|
|
141
|
-
### How to Build Substance Without Clutter
|
|
142
|
-
1. **Bold Typographic Scale Disparity:** Set primary headlines with dramatic scale confidence (e.g. `text-5xl` or `text-6xl` bold display paired with tight `leading-[1.1]`, balanced against crisp `text-sm` body).
|
|
143
|
-
2. **Full-Field Color Anchors:** Instead of scattering small floating boxes, ground layouts with full-bleed background tone shifts (e.g., transitioning from a clean light canvas into a deep, tinted section floor).
|
|
144
|
-
3. **Authentic Interface Fragments:** For software products, construct working, interactive HTML/CSS UI components (a data table with real rows, an interactive calculation filter, or live code tabs) rather than empty illustrations or placeholder diagrams.
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## 7. Layout Containers vs. Discrete Cards
|
|
149
|
-
|
|
150
|
-
A common flaw in generated layouts is wrapping every page section in floating rounded card boxes.
|
|
151
|
-
|
|
152
|
-
### 7.1 Container Roles
|
|
153
|
-
Because generative models encounter millions of component snippets, they frequently wrap top-level sections inside:
|
|
154
|
-
`<div class="bg-white rounded-xl border border-slate-200 p-6 shadow-sm">`
|
|
155
|
-
|
|
156
|
-
When applied across a full screen, the layout collapses into disconnected white boxes floating on a grayish background.
|
|
157
|
-
|
|
158
|
-
### 7.2 Structural Rules: Sections vs. Discrete Items
|
|
159
|
-
- **Cards are strictly for discrete, interchangeable, dynamic items:** Product catalog grids, kanban task cards, or gallery thumbnails.
|
|
160
|
-
- **Forbidden for Structural Wrappers:** Never wrap an application header, tab bar, left workflow rail, or primary data table in separate, floating rounded boxes.
|
|
161
|
-
|
|
162
|
-
### 7.3 Unified Surface Discipline
|
|
163
|
-
In professional software:
|
|
164
|
-
1. **Single Cohesive Plane:** The application is housed in a unified spatial sheet or integrated rails, not an archipelago of floating islands.
|
|
165
|
-
2. **Hairline Boundaries:** Spatial separation is established through clean dividers (`border-r border-border`, `divide-y divide-border`) and subtle background tonal shifts (`bg-background` $\to$ `bg-card` $\to$ `bg-muted`).
|
|
166
|
-
3. **High Data-to-Padding Ratio:** Tables must not be padded with bloated empty space. Use compact, scannable cell heights ($10\text{px}–14\text{px}$ vertical padding) with tabular monospace figures (`font-mono tabular-nums`).
|
|
167
|
-
|
|
168
|
-
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Mobile Ergonomics & Responsive Reflow
|
|
2
|
-
|
|
3
|
-
Mobile interfaces are governed by physical human constraints: thumb reach, screen boundaries, variable virtual keyboards, and shifting viewport chrome.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 1. Viewport Units: The Dynamic Viewport Rule
|
|
8
|
-
|
|
9
|
-
Mobile browsers dynamically hide and reveal top address bars and bottom navigation chrome during scrolling.
|
|
10
|
-
|
|
11
|
-
- **Banned:** `height: 100vh` or `h-screen`. Causes bottom controls to hide under the browser navigation bar on iOS Safari and Android Chrome.
|
|
12
|
-
- **Enforced:** `min-height: 100dvh` (dynamic viewport height) or modern fallback cascade:
|
|
13
|
-
|
|
14
|
-
```css
|
|
15
|
-
.full-screen-container {
|
|
16
|
-
min-height: 100vh; /* Fallback for legacy webviews */
|
|
17
|
-
min-height: 100dvh; /* Dynamic viewport for modern browsers */
|
|
18
|
-
}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
In Tailwind CSS: `min-h-dvh` or `h-dvh`.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 2. Touch Target Geometry: 44px Floor & 8px Clearance
|
|
26
|
-
|
|
27
|
-
Every interactive element on a touchscreen must provide a physical target large enough for human fingertip variance without accidental trigger of adjacent controls (WCAG 2.5.5 / 2.5.8).
|
|
28
|
-
|
|
29
|
-
- **Minimum bounding box:** 44 × 44 physical pixels (or CSS pixels at standard DPI).
|
|
30
|
-
- **Minimum clearance:** $\ge 8\text{px}$ between adjacent interactive tap targets.
|
|
31
|
-
|
|
32
|
-
### Visual Size vs. Hit Target
|
|
33
|
-
If an icon or button must visually appear smaller than 44px (e.g. a 20px close `×` button), expand the tap target via pseudo-elements or padding:
|
|
34
|
-
|
|
35
|
-
```html
|
|
36
|
-
<!-- Visual size 20px, hit target 44px -->
|
|
37
|
-
<button
|
|
38
|
-
type="button"
|
|
39
|
-
class="relative p-3 -m-3 inline-flex items-center justify-center text-muted-foreground hover:text-foreground"
|
|
40
|
-
aria-label="Close dialog"
|
|
41
|
-
>
|
|
42
|
-
<svg class="w-5 h-5" aria-hidden="true">...</svg>
|
|
43
|
-
</button>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## 3. Zero Horizontal Scroll Leaks
|
|
49
|
-
|
|
50
|
-
Unintended horizontal scrolling destroys mobile ergonomics.
|
|
51
|
-
|
|
52
|
-
1. **Root Containment:**
|
|
53
|
-
Set `overflow-x: clip` on the outermost app shell or `body`. Prefer `clip` over `hidden` because `clip` prevents horizontal spill without breaking `position: sticky`.
|
|
54
|
-
|
|
55
|
-
2. **Contain Preformatted and Table Content:**
|
|
56
|
-
Never let wide tables or code blocks stretch the page width:
|
|
57
|
-
```html
|
|
58
|
-
<!-- Code block isolation -->
|
|
59
|
-
<div class="w-full max-w-full overflow-x-auto rounded-md border border-border">
|
|
60
|
-
<pre class="p-4 text-xs"><code>...</code></pre>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<!-- Table container isolation -->
|
|
64
|
-
<div class="w-full max-w-full overflow-x-auto">
|
|
65
|
-
<table class="w-full min-w-[600px] text-left">...</table>
|
|
66
|
-
</div>
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
3. **Break Long Strings:**
|
|
70
|
-
Apply `break-words` or `overflow-wrap: anywhere` on user-generated content, URLs, commit hashes, and file paths.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 4. Mobile Reflow Strategies
|
|
75
|
-
|
|
76
|
-
Desktop density cannot be shrunk linearly to fit mobile screens; it must be refactored into mobile-native structures.
|
|
77
|
-
|
|
78
|
-
### 4.1 Dense Table to Stacked Card Reflow
|
|
79
|
-
On screens `< 640px` (`sm:` breakpoint), convert dense multi-column tabular rows into stacked card summaries:
|
|
80
|
-
|
|
81
|
-
```html
|
|
82
|
-
<!-- Responsive Table Reflow -->
|
|
83
|
-
<div class="block sm:hidden space-y-3">
|
|
84
|
-
<!-- Mobile Card Representation -->
|
|
85
|
-
<div class="p-4 rounded-lg border border-border bg-card">
|
|
86
|
-
<div class="flex items-center justify-between font-medium">
|
|
87
|
-
<span>INV-2048</span>
|
|
88
|
-
<span class="text-xs px-2 py-0.5 rounded bg-emerald-500/10 text-emerald-500">Paid</span>
|
|
89
|
-
</div>
|
|
90
|
-
<div class="mt-2 text-sm text-muted-foreground flex justify-between">
|
|
91
|
-
<span>Acme Corp</span>
|
|
92
|
-
<span class="font-mono tabular-nums text-foreground">$1,200.00</span>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
|
|
97
|
-
<div class="hidden sm:block overflow-x-auto">
|
|
98
|
-
<table class="w-full">
|
|
99
|
-
<!-- Desktop Table Representation -->
|
|
100
|
-
</table>
|
|
101
|
-
</div>
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### 4.2 The Thumb Zone & Sticky Action Bars
|
|
105
|
-
Position high-frequency primary actions within natural one-handed thumb sweep:
|
|
106
|
-
- Place primary conversion buttons or form submission bars at the bottom of the viewport on mobile:
|
|
107
|
-
```html
|
|
108
|
-
<div class="sm:static fixed bottom-0 inset-x-0 p-4 bg-background/80 backdrop-blur-md border-t border-border z-20">
|
|
109
|
-
<button class="w-full py-3 bg-primary text-primary-foreground font-medium rounded-lg">
|
|
110
|
-
Confirm order ($48.00)
|
|
111
|
-
</button>
|
|
112
|
-
</div>
|
|
113
|
-
```
|
|
114
|
-
- Account for iOS bottom home indicator safe area using `pb-[env(safe-area-inset-bottom,1rem)]`.
|
|
115
|
-
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Surface Mode: Experience (Showcase, Media & Portfolios)
|
|
2
|
-
|
|
3
|
-
Use for: Creative portfolios, design galleries, interactive product demos, and media showcases.
|
|
4
|
-
|
|
5
|
-
> **Core Principle:** The visitor is inside the work itself. Interface chrome recedes entirely so the visual artifact, artwork, or interaction leads from the first viewport. The UI serves as a quiet frame for the subject.
|
|
6
|
-
|
|
7
|
-
> **Visual Reference Benchmarks:**
|
|
8
|
-
> - Collaborative Infinite Canvas & Studio: `references/visuals/real-tldraw.png` (`real-tldraw-dom.json`)
|
|
9
|
-
> - Command Center & Launcher Canvas: `references/visuals/real-raycast.png` (`real-raycast-dom.json`)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 1. Canvas Treatment & Spatial Composition
|
|
14
|
-
|
|
15
|
-
- **Receding Interface Chrome:**
|
|
16
|
-
- Navigation headers, footers, and control sidebars should be lightweight, semi-transparent or edge-aligned, maximizing the uninhibited canvas area.
|
|
17
|
-
- Background surface: Neutral darkroom or gallery tint (`bg-neutral-950` or warm museum white `bg-stone-50`) chosen specifically to elevate the subject's colors without competition.
|
|
18
|
-
- **Full-Bleed Media Presentation:**
|
|
19
|
-
- Let high-resolution media fill containers naturally with `object-cover` or `object-contain`.
|
|
20
|
-
- Provide full-screen zoom or modal lightbox views for high-resolution visual inspection.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 2. Interaction & Micro-Choreography
|
|
25
|
-
|
|
26
|
-
- **Tactile Exploration:**
|
|
27
|
-
- Interactive previews, drag-to-compare sliders, or spatial hover panning.
|
|
28
|
-
- Smooth, seamless transitions between overview grid cards and full-fidelity artifact inspection.
|
|
29
|
-
- **Restraint Over Distraction:**
|
|
30
|
-
- Never add cartoonish particle effects, cursor trails, or autoplaying audio. The craftsmanship of the showcased work is the emotional center.
|
|
31
|
-
|