From 0be1681da29647a2d6a71c4734fb21114e737aba Mon Sep 17 00:00:00 2001 From: Hannibal Smith Date: Mon, 25 May 2026 22:30:19 +0200 Subject: [PATCH] =?UTF-8?q?opencd:=20plan=20framework=20architecture=20?= =?UTF-8?q?=E2=80=94=20DESIGN.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Covers: - File layout and build principles - Module responsibility matrix - Open Props token mapping (CD dimensions + design tokens) - Full component API reference with HTML examples - Layout architecture diagram - Responsive strategy - Recon directions for Face - Implementation sequence --- DESIGN.md | 402 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 402 insertions(+) create mode 100644 DESIGN.md diff --git a/DESIGN.md b/DESIGN.md new file mode 100644 index 0000000..396c26e --- /dev/null +++ b/DESIGN.md @@ -0,0 +1,402 @@ +# OpenCD — Design Brief + +> **Framework Architecture & Component API Specification** +> Author: Hannibal (A-Team command) | Status: Draft | v0.1.0 + +--- + +## 1. Framework Structure + +### File Layout + +``` +opencd/ +├── opencd.css # Main entry point — imports all modules in order +├── opencd.min.css # Production build (CSSO / lightningcss) +│ +├── src/ +│ ├── _reset.css # Minimal normalize + box-sizing +│ ├── _variables.css # CD dimension tokens + Open Props mapping +│ ├── _jewel-case.css # Jewel case container (.cd-jewel-case) +│ ├── _spine.css # CD spine navigation (.cd-spine) +│ ├── _leaflet.css # Leaflet booklet grid (.leaflet-content, .leaflet-page) +│ ├── _back-tray.css # Back tray with tray paper (.back-tray, .tray-credits) +│ ├── _human-advisory.css # Parental-Advisory style badge (.human-advisory) +│ ├── _disc-art.css # CD disc face (.disc-art) +│ └── _utilities.css # .cd-grid overlay, helpers, print styles +│ +├── templates/ +│ ├── jewel-case.html # Front-facing jewel case with disc art +│ ├── leaflet.html # Multi-page booklet with flip navigation +│ └── back-tray.html # Back tray with spines + tracklist +│ +├── DESIGN.md # ← This file — architecture specification +├── RECON.md # Face's research output +├── README.md # Existing — user-facing documentation (keep) +└── package.json # (future — npm publish workflow) +``` + +### Build Principles + +- **No build step required** — `opencd.css` is importable directly from `src/` or via CDN +- **Minified version** produced by lightningcss or CSSO at release time +- **Pure CSS** — no JavaScript dependency. JS (leaflet page-turn) lives in inline `