Files
vyndr/specs/design-reference/HANDOFF.md
T
builtbykev 63511485ed Design train: unpack the complete authoritative package into design-reference
Supersedes the prior partial import. From claude.ai/design project 370ba6df:
- HANDOFF.md (the entry point — exact tokens, glyph library, liftable
  behaviors, laws)
- vyndr-mobile.html (19 mobile screens — closes all 10 previously-uncovered
  surfaces: landing/pricing/streaks/ledger×2/empty/scan/player/team/explore +
  combat/pitcher/archetypes/correlation), vyndr-system.html (desktop terminal),
  support.js
- assets/glyphs/ — all 74 archetype marks as real SVGs + MANIFEST, GENERATED
  from the authoritative glyphDefs() in the desktop file (currentColor, 24-grid,
  duotone) rather than 74 fetches. These replace the generic star/plus
  placeholders (the archetype family was never rendering as a distinct 74-mark
  system).
- removed my interim MOBILE-SPEC.md distillation (the real 19-screen file +
  HANDOFF supersede it).

Landing (desktop marketing) captured in-context — it's M2/M3-desktop scope;
raw file stays in the design project until that wave.

RECONCILE + build (token alignment, glyph lift, M1b surfaces, M3) follow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 15:52:29 -04:00

3.9 KiB
Raw Blame History

VYNDR VISUAL SYSTEM — CODE HANDOFF

Two design components, both open directly in a browser. All styling is inline (no stylesheets to port); every value below is already in the markup.

Files

  • Vyndr Landing.dc.html — desktop marketing landing: hero + live board proof, TIER RECORD calibration band, feature triptych, FREE / THE DESK pricing (no trial), wire footer.
  • assets/glyphs/ — all 74 archetype marks as individual SVGs (currentColor, 24-grid) + MANIFEST.md (name → hex → file). Generated from glyphDefs(); wire these into archetypes.js.
  • exports/ — rasterized share cards: settle-1080x1350.png (exact) and grade-reveal-og.png (1080×566, same 1.9:1 ratio as 1200×630 OG).
  • image-slot.js + .image-slots.state.json — drag-and-drop real-asset targets (player headshot, streaks rows, combat fighters) layered over monogram fallbacks; empty chrome hidden via image-slot::part(empty){opacity:0}. Design-time tooling, not product code.
  • Vyndr System.dc.html — desktop terminal: components, 74 glyphs, edge board, /u profile, share cards, streaks, combat, pitcher, correlation builder, pricing, empty state, ⌘K, THE WIRE.
  • Vyndr Mobile.dc.html — 19 mobile screens in iOS frames (shell + BOARD, GRADE REVEAL, BUILD, LOCK SCREEN/LIVE ACTIVITY, /u, LANDING, PRICING, STREAKS, LEDGER×2 + TIER RECORD, EMPTY, SCAN, PLAYER, TEAM HUB, EXPLORE, COMBAT, PITCHER, ARCHETYPES, CORRELATION DETAIL).
  • ios-frame.jsx — device frame only; not product code.

Desktop /u profile also carries the TIER RECORD calibration strip (matches mobile screen 10 and the landing band).

Tokens (exact)

  • Surfaces: #06060B void · #0E0E14 card · #14141E elevated · row hairline #101018 · deep panel #0A0A10
  • Signal green #00D4A0 — ONE meaning: edge / active / A-tier / primary CTA. Never decorative.
  • Amber #FFB347 caution/correlation only · Red #FF4757 miss/negative only. Edge/CLV colored by sign.
  • Text: #F0F0F0 / #B8BCC8 / #707080 (+ #4a4a58 micro-labels). Borders #1E1E2A / #2A2A38.
  • Fonts: Inter (UI) · JetBrains Mono (ALL data, tabular-nums).
  • Grades: A-tier green + glow (text-shadow: 0 0 Npx rgba(0,212,160,.4-.5)) — glow A-tier ONLY. B #F0F0F0, C #B8BCC8, D/F #FF4757.

Brand

  • Wordmark: VYND + green R, JetBrains Mono 800, tracking .26.32em, glitch keyframes vy-glitch (clip-path slices + red/green text-shadow split), blinking cursor block.
  • Logo mark: 32-grid rounded tile, "signal V" — left stroke white, right stroke #00D4A0 with dot terminal at (24,9). SVG inline in both files.

Glyph library

glyphDefs() in the desktop file's logic class: 74 marks keyed by archetype name — {c: hex, g: svg-inner-html}, 24-grid, duotone (fill-opacity .16.2 base + 22.6 stroke). Colors deduped off signal-green/amber/red. Lift directly into archetypes.js. Blend display: primary chip full color + supporting chip muted (opacity .7.85).

Behavior (all implemented in logic classes)

  • Reaction primitive: nudge(cell, up) — value updates, rx-up/rx-down background flash (.75s ease-out), edge recolors by sign. Fire on data events only, never idle loops.
  • Boot: rows stagger in (vy-rowin, 60ms steps), hero arrives last (vy-arrive), reactions gated ~1.5s.
  • THE WIRE: one timestamped entry, holds ~6s (vy-wirein), tag colored by meaning.
  • Parlay math: decimal product → American; same-game detection → amber warn, grade 1 tier, stake 1.0u/0.75u/0.4u.
  • ⌘K palette, row-hover rationale, IntersectionObserver reveal + rail highlight — all in Vyndr System.dc.html.

Laws

Alive = punctuated stillness (react to truth, then rest). Dense but RANKED — one bold mono hero figure among muted context; dim ranks progressively (1 / .86 / .64 / .48). One animated hero per zone. Real entities always (team-colored monograms until licensed assets drop in — headshot slots marked). No trial: free tier is the trial. Premium is produced, never claimed.