63511485ed
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>
40 lines
3.9 KiB
Markdown
40 lines
3.9 KiB
Markdown
# 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 + 2–2.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.
|