OpenCD — Lightweight HTML/CSS framework built on Open Props. Physical CD jewel case dimensions, leaflet-style navigation, visible grid aesthetic.
Find a file
2026-05-25 23:40:43 +02:00
templates production: opencd.css hardened — zero magic numbers, all --cd-* vars, ASW semantic, Nous auth copied 2026-05-25 22:59:12 +02:00
.env.example production: opencd.css hardened — zero magic numbers, all --cd-* vars, ASW semantic, Nous auth copied 2026-05-25 22:59:12 +02:00
.gitignore production: opencd.css hardened — zero magic numbers, all --cd-* vars, ASW semantic, Nous auth copied 2026-05-25 22:59:12 +02:00
DESIGN.md opencd: plan framework architecture — DESIGN.md 2026-05-25 22:30:19 +02:00
MISSION_BRIEF.md opencd: amy gate review — MISSION_BRIEF.md with quality criteria, 4 findings, and CONCERNS verdict 2026-05-25 22:39:34 +02:00
opencd.css synthesis: hannibal final deliverable — RELEASE_NOTES.md, zero-magic-numbers fix, signed release 2026-05-25 23:40:43 +02:00
README.md opencd: initial framework seed — README with CD specs, design system, semantic HTML patterns, and A-Team call to arms 2026-05-25 22:13:31 +02:00
RECON.md opencd: face recon — RECON.md with Open Props audit, CD specs, ASW/trentuna study, and cross-reference corrections 2026-05-25 22:36:30 +02:00
RELEASE_NOTES.md synthesis: hannibal final deliverable — RELEASE_NOTES.md, zero-magic-numbers fix, signed release 2026-05-25 23:40:43 +02:00
VALIDATION.md validation: amy deliverable review — VALIDATION.md with CONCERNS verdict (3 magic numbers) 2026-05-25 23:38:54 +02:00

OpenCD

A lightweight HTML/CSS framework built on Open Props
Physical CD jewel case dimensions · Leaflet-style page navigation · Visible grid aesthetic · Trentuna-inspired design

OpenCD turns your website into a digital CD jewel case and booklet. Every dimension is derived from physical CD packaging — the disc diameter, jewel case footprint, leaflet square. Built for catalogs, artist projects, zines, indie digital releases, and anyone who misses tangible-feeling web experiences.

┌─────────────────────────────┐
│        ╔═════════════╗      │
│        ║   ○ OpenCD  ║      │
│        ║   ────────  ║      │
│        ║   ◉ ◉ ◉ ◉  ║      │
│        ╚═════════════╝      │
│  ─── TRACKLIST ───────────  │
│  01. jewel-case.html        │
│  02. back-tray.html         │
│  03. leaflet-booklet.html   │
└─────────────────────────────┘

Philosophy

OpenCD respects physical media constraints in the digital world. Every dimension, ratio, and detail is intentional:

  • CD jewel case as document wrapper (real ratio: 142×125 mm → scaled 280×245 px)
  • Leaflet booklet as page content (real: 120×120 mm240 px)
  • Visible grid like CD tray paper — the structure is the decoration
  • Spine as navigation — top bar that reads like a CD spine label
  • Human Advisory badge — borrowed from Parental Advisory, repurposed for content warnings

Made with love for beautiful, honest, tangible-feel web experiences.
License: MIT
Built with: Open Props v2+


Quick Start

<link rel="stylesheet" href="https://unpkg.com/opencd@latest/opencd.css">
<main class="cd-jewel-case">
  <nav class="cd-spine">
    <span class="spine-label">OPENCD · TRENTUNA RELEASE</span>
    <span class="spine-track">01 · jewel-case</span>
  </nav>

  <section class="leaflet-content">
    <h1>Your Content Here</h1>
    <p>This is the inner booklet area with visible CD tray grid.</p>
  </section>

  <aside class="human-advisory">
    <span class="advisory-label">HUMAN MADE</span>
    <span class="advisory-text">designed with physical care</span>
  </aside>
</main>

Semantic HTML Structure

OpenCD follows the same semantic-HTML approach as the ASW system (~/releases/asw/). The framework is a skin on top of semantic markup — you can wrap any well-structured HTML in OpenCD classes and it becomes a CD jewel case:

<!-- Pure semantic structure -->
<article class="cd-jewel-case">
  <header class="cd-spine" role="navigation">
    <h2 class="spine-label">OPENCD · ALBUM TITLE</h2>
  </header>

  <main class="leaflet-content">
    <article><!-- your content --></article>
  </main>

  <footer class="back-tray">
    <section class="tray-credits">
      <!-- credits / tracklist -->
    </section>
  </footer>
</article>

CD / Jewel Case Specifications

Component Real Size Scaled (2×) Open Props Variable
CD Disc Ø 120 mm 240 px --cd-disc-diameter
Jewel Case (front) 142 × 125 mm 280 × 245 px --cd-jewel-width/height
CD Leaflet / Booklet 120 × 120 mm 240 px --cd-leaflet-size
Jewel Case (open width) 284 × 125 mm 560 × 245 px --cd-jewel-open-width
CD Tray paper ~150 × 118 mm flexible
Spine width ~7 mm 14 px --cd-spine-width

Open Props Variables (add to :root)

:root {
  --cd-jewel-width: 280px;
  --cd-jewel-height: 245px;
  --cd-aspect-jewel: 280 / 245;
  --cd-disc-diameter: 240px;
  --cd-leaflet-size: 240px;
  --cd-spine-width: 14px;
  --cd-tray-width: 260px;
}

Use these tokens anywhere. The framework is pure Open Props variables — no hardcoded magic numbers.


Design System

OpenCD maps Open Props design tokens to CD packaging concepts:

Open Props Token OpenCD Mapping Purpose
--size-fluid-1 through --size-fluid-3 Jewel case padding Responsive breathing room
--font-size-fluid-1 through --font-size-fluid-3 Leaflet typography Title, body, tracklist
--font-sans --cd-font-label Spine labels, metadata
--font-serif --cd-font-body Leaflet body text
--red-6 / --red-7 --cd-advisory-red Human Advisory badge
--surface-1 through --surface-4 CD tray paper shades Layered backgrounds
--shadow-2 / --shadow-3 Jewel case shadow 3D depth on jewel case
--grid-... Leaflet grid lines Visible CD tray grid

Components

Class Description
.cd-jewel-case Main jewel case container
.cd-spine Top navigation bar (CD spine)
.leaflet-content Inner booklet area with visible grid
.leaflet-page Individual leaflet page (flippable)
.back-tray Back card with vertical spines
.tray-credits Credits / tracklist section
.human-advisory Parental Advisory style badge
.disc-art CD disc face area
.cd-grid Visible tray paper grid overlay

Templates

The framework ships with three core HTML page templates:

Template Description
jewel-case.html Front-facing jewel case with disc art
leaflet.html Multi-page booklet (← → nav)
back-tray.html Back tray with spines and tracklist

Each template is a complete, standalone HTML file that demonstrates the component in context.


Browser & Device Support

OpenCD uses CSS custom properties (Open Props) and modern layout (grid, flexbox).

  • Chrome / Edge / Firefox / Safari — latest 2 versions
  • Mobile (iOS Safari, Android Chrome) — fully responsive
  • Print — jewel case aspect ratio preserves physical dimensions
  • IE11 (Open Props requires modern CSS)

Trentuna Catalog

Part of the Trentuna release catalog (~/releases/).
Framework design follows the release aesthetic: visible grid, honest structure, no over-engineered abstraction.


Credits

  • Open Props — design tokens by Adam Argyle
  • ASW — semantic HTML pattern source (~/releases/asw/)
  • Trentuna — imprint & design direction (~/trentuna-hq/)

"If you have a problem, if no one else can help, and if you can find them, maybe you can hire… the A-Team."