Skip to content

README: rebuild cinematic hero (fixed palette encoder) + outlined-type SVG motion system - #11

Merged
YASLOGIST merged 1 commit into
mainfrom
arena/f28c117d-logisdata
Oct 10, 2026
Merged

YASLOGIST merged 1 commit into
mainfrom
arena/f28c117d-logisdata

Conversation

@YASLOGIST

Copy link
Copy Markdown
Owner

Summary

The hero GIF on main is broken. Its global colour table maps the faint light-shaft pixels to saturated cyan (#00FFFF, #6CDBFF, …), so every browser draws large opaque slabs across the artwork. I confirmed this at the byte level in the GIF header, so it isn't a viewer quirk. This PR rebuilds the hero from scratch with a verified encoder and brings the secondary motion system to the same standard.

Only README.md and assets/readme/** are changed. No application code, dependencies, config or CI.

What changed

Hero: assets/readme/yaslogist-hero.gif

  • 1920 × 720, 120 frames × 80 ms = 9.6 s seamless loop, 5.8 MB (was 7.3 MB and broken)
  • Built from the real supply graph in lib/data.ts: 8 nodes, 10 edges, real verified / leak / phantom statuses and the app's own labels (Verified · Leak Risk · Phantom Signal)
  • Floor plan in perspective with a periodic orbital camera. An emerald audit-gate light curtain sweeps it, nodes resolve to their status, the four reconciliations flip to Reconciled, and the read-out counts 8/8 · 4 verified · 4 flagged
  • YASLOGIST appears in the top HUD and as a permanent signature lockup, with a glint in Act IV

Poster: yaslogist-hero.png

  • Full-colour frame at the Act III peak, served through <picture> to visitors with prefers-reduced-motion

SVG motion system

  • kinetic-statement.svg and yaslogist-signature.svg are regenerated with every glyph outlined to a path. GitHub renders README SVGs through <img>, which can't load web fonts, so the previous <text> fell back to system faces.
  • New focus-curve.svg animates the runtime scene-focus curve from the real constants (1.08, 0.56 + 0.44·focus, label hide 0.05), verified against sceneFocus.ts and IndustrialScene.tsx.

Reproducibility: assets/readme/source/

  • Deterministic renderers: Skia via @napi-rs/canvas for the GIF, opentype.js for the SVG outlines. Run npm install && npm run build.

README

  • <picture> hero with the reduced-motion fallback
  • Focus-curve diagram embedded in the Architecture section
  • Section 08 rewritten with measured asset properties
  • Source line count refreshed (7,059 → 7,087)

Verification

  • GIF decodes: 1920×720, 120 frames, 80 ms, loops forever
  • Decoded frames vs. true renders: mean error ≈ 4/765 per pixel, 99th percentile ≤ 15
  • Loop seam: wrap step 0.83, inside the interior step range (mean 0.52, max 1.07)
  • Inspected decoded frames at the beginning, early transition, middle, late transition and loop boundary, plus native-resolution crops
  • All four SVGs are well-formed XML; SMIL states rasterised at several time points for layout checks
  • README rendered through GitHub's Markdown API: <picture> + media source preserved, 10 Mermaid blocks and 10 <details> intact
  • Every relative link and image path in the README resolves
  • Unit suite re-run: 213/213 pass, matching the README's claim

Not verified here

  • I couldn't visually inspect the README on the live github.com page; no browser was available in the sandbox. Please check the rendered page on this PR's branch.
  • The Playwright figure (60 checks) is carried over from CI and wasn't re-run here.

Trade-off

The orbital camera keeps the GIF around 5.8 MB. Removing the camera move or dropping to 10 fps would shrink it, at a cost to depth and fluidity.

…-type SVG motion system

- Replace broken hero GIF (global palette mapped faint light shafts to
  saturated cyan slabs) with a new 1920x720, 120-frame, 9.6 s seamless
  loop built from the real supply graph in lib/data.ts (5.8 MB, was 7.3 MB)
- New full-colour poster, served via <picture> to prefers-reduced-motion
- Regenerate kinetic statement and YASLOGIST signature SVGs with glyphs
  outlined to paths (GitHub <img> SVGs cannot load web fonts)
- Add focus-curve.svg: animated plot of the real sceneFocus constants
- Add deterministic renderers under assets/readme/source/
- README: document the visual system, refresh source line count

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 10, 2026 03:55
@vercel

vercel Bot commented Oct 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
logisdata Error Error Oct 10, 2026 3:55am UTC

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@YASLOGIST
YASLOGIST merged commit 6f6744b into main Oct 10, 2026
7 of 10 checks passed

This branch had an error being deployed

1 failed deployment
Preview — ba26fe5f Deployed Oct 10, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants