Files
vyndr/specs/MEDIA-HUB-DESIGN-INVENTORY.md
T
builtbykev 7a318ccce0 Media/hub design inventory: the specs already exist, and so does a gap audit
READ-ONLY. Nothing designed, built or mounted.

THE HEADLINE: this inventory was largely already done. specs/
design-vs-build-gap-audit.md is a 61-item design-vs-build audit from
2026-07-31, every claim grep-verified, with a wave-ordered build plan. The
useful work is reconciling it, not redoing it.

WHAT ALREADY HAS A FULL DESIGN SPEC (and is NOT built):
- Offseason hub -- Vyndr Offseason.dc.html, 119KB: hub home desktop+390, an
  NBA Summer-League variant with an OUTLOOK ONLY / NOT GRADED honesty
  block, season-long board, season-read reveal with WHAT WOULD CHANGE THIS
  READ, news/outlook feed row anatomy, quiet-wire empty state.
- Article media (S3) -- hero template plus four hero graphic archetypes,
  all GENERATED data visuals never stock, inline figures with a one-pull-
  quote max and a caption law that every figure names its data, article
  card, OG 1200x630 with the master already rasterised.
- Movement strip (E1) -- steps not curves, green only when the move favours
  the read, FLAT as hairline. THIS CORRECTS MY 2026-08-07 BOARD, which
  listed it UNKNOWN and possibly satisfied by GradeShift. It is a specified
  primitive that does not exist.

THE WIRE is BUILT (vyndr/Ticker on real ticker exhaust) and is a DIFFERENT
thing from NewsWire.tsx, which is the offseason news/outlook feed.

THE ONE REAL DESIGN GAP: the hub's information architecture across seasons.
The Offseason file specifies an OFFSEASON hub; nothing specifies what that
surface is IN-season, or how content, articles, wire and the live slate
share one navigation. Every component exists on paper; their composition
into a year-round media surface does not.

A FINDING AGAINST MY OWN RECENT WORK: I built a card renderer at 1080x1350
without checking whether a designed card system existed. It does -- five
master sizes with defined layouts and rasterised PNGs in exports/. The
content engine's cards are a parallel invention. Not wrong, but they should
conform to E16/F8 rather than diverge, and that is a design decision.

CORRECTION: the order lists content API, preview page, book-comparison
mount and guard widening as still pending. All four shipped at c575a70,
and book comparison was never unmounted -- my earlier board grepped only
web/src/app and missed component-level mounting.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W1sivYNqY2TS5ftykmHBU9
2026-08-07 19:18:36 -04:00

6.7 KiB
Raw Blame History

What "media hub" already means in VYNDR's design language

Read-only inventory. Nothing designed, built or mounted.

PHASE 0 — the design source of truth exists, and so does a gap audit

artifact what it is
specs/DESIGN-SPEC.md DESIGN SPEC v2 — governing laws, colour contract, entity layer, data-display standard, motion, archetype system, conversion architecture, empty/error system. 84 lines, supersedes v1.
specs/design-reference/ (Jul 22) The design package itself — 7 .dc.html surface files, 83 archetype glyph SVGs + MANIFEST, 7 rasterised share-card PNG masters.
specs/design-reference/HANDOFF.md The code handoff: exact tokens, brand, glyph library, behaviour, laws.
specs/design-vs-build-gap-audit.md A 61-item design-vs-build audit already exists (2026-07-31, audited at bf7c0a3), every claim grep-verified, with a wave-ordered build plan.

The inventory this order asks for was largely already done on 2026-07-31. The useful work is reconciling it, not redoing it.

PHASE 1 — per media surface: spec, and build state

surface design spec? built state evidence
Offseason hub YES — a full surface file NOT-STARTED Vyndr Offseason.dc.html (119KB) defines hub home (NFL desktop + 390), an NBA Summer-League variant with an OUTLOOK ONLY / NOT GRADED honesty block, a season-long board (open→NOW→VYNDR triplet), a season-read reveal with WHAT WOULD CHANGE THIS READ, a news/outlook feed with row anatomy, and a quiet-wire empty state. Gap audit: F9/F10/F11, "design complete, no blocker but big."
Article media YES — surface S3 NOT-STARTED Hero template + 4 hero graphic archetypes (line path / distribution / mark-at-scale / matchup card — all generated data visuals, never stock), inline figures (stat-callout triptych, comparison bars, pull quote — one max), caption law: every figure names its data, article card, OG 1200×630 (master already rasterised in exports/). Gap audit F5. Zero components built.
THE WIRE YES BUILT (E19) Spec'd in Vyndr System.dc.html: timestamped entry, ~6s hold, tag coloured by meaning. Built as vyndr/Ticker on real /api/ticker exhaust. NewsWire.tsx is a different thing — the offseason news/outlook feed, mounted in ExploreHub.
Movement strip YES — E1, a named primitive ABSENT "steps not curves, green only when the move favours the read, FLAT = hairline + FLAT · [N]D", row 86×20 silent / full-width annotated on reveal. This corrects my 2026-08-07 board, which listed it UNKNOWN / possibly-satisfied-by-GradeShift. It is a specified primitive that does not exist.
Share-card masters ×5 YES — E16 ABSENT as product settle 1080×1350, story 1080×1920, square 1080, X 1200×675, record 1080×1350, article OG 1200×630. PNG masters in exports/; ShareCard.tsx has 0 importers. Gap audit blocks it on the resolution tail having no share-card generation step.
Calibration curve YES — E9 ABSENT dots vs dashed perfect line, dot size = sample, buckets under N30 hollow.
The Report email / /report archive YES — E10/E12 PARTIAL / ABSENT newsletterService builds an email; the designed dark-billboard-over-light-paper hybrid is not built. /report redirects to /blog.
ExploreHub NO SPEC BUILT Not a designed surface. It is where NewsWire currently lives — a de-facto host, not the intended hub.

PHASE 2 — what an on-site media hub would consist of

From surfaces already designed (no new design needed):

  1. Offseason hub shell — F9/F10/F11, fully spec'd including its honesty block and quiet-wire empty state.
  2. News/outlook feed — spec'd row anatomy; NewsWire.tsx is a partial implementation of it.
  3. Article media — S3, fully spec'd hero + figure system.
  4. THE WIRE — built, reusable.
  5. Share/OG cards — designed at exact sizes, masters exported.

The gap that needs design work authored

Only one thing is genuinely un-designed: the hub's INFORMATION ARCHITECTURE across seasons. The Offseason file specifies an offseason hub; there is no spec for what the same surface is in-season, or how content, articles, wire and the live slate share one navigation. Every component exists on paper; their composition into a year-round media surface does not.

One finding that touches work I just shipped

I built a card renderer at 1080×1350 without checking whether a designed card system existed. It does — five master sizes with defined layouts, and rasterised PNGs in exports/. The content engine's cards are a parallel invention. They are not wrong, but they should conform to E16/F8 rather than diverge, and that reconciliation is a design decision, not a code one.

PHASE 3 — the map

surface spec? built part of hub? needs design work?
Offseason hub shell core no — build it
News/outlook feed partial core no
Article media (S3) core no — build it
THE WIRE yes no
Movement strip (E1) adjacent no
Share/OG cards (E16) yes reconcile with content-engine cards
Content-engine posts yes yes — no spec exists
ExploreHub host today yes — is it the hub or a placeholder?
Year-round hub IA the spine YES — the real design gap

Coordination with the social-strategy chat

These should be decided there first, then reflected on-site:

  • The content formula/calendar determines what the hub's recurring slots are. Designing slots before the formula exists risks a surface shaped around guesses.
  • Card format reconciliation — off-site posts and on-site share cards should be one system. E16's five masters vs the content engine's renderer is the same decision on both sides.
  • Voice: specs/VOICE.md governs; the content engine templates encode a sharper register. Whether the hub speaks in that register is a brand call.

Correction to the still-buildable list

The order lists content API, preview page, book-comparison mount and guard widening as pending. All four shipped at c575a70. Book comparison was never unmounted — my earlier board grepped only web/src/app and missed component-level mounting.

Genuinely buildable now, design-complete, no clock impact: Offseason hub (F9F11), article media (F5), movement strip (E1), calibration curve (E9), the Report email + archive (E10/E12). The gap audit's own wave ordering already sequences these.