Skip to content

marketing: wire real app links + footer destinations, drop placeholders - #235

Closed
arach wants to merge 4 commits into
mainfrom
devin/1789774661-site-refinement
Closed

arach wants to merge 4 commits into
mainfrom
devin/1789774661-site-refinement

Conversation

@arach

@arach arach commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The landing site shipped with placeholder content and dead controls: three app cards had literal TODO bodies, every card showed non-clickable view source / ▸ open labels, and nearly all end-sheet footer links pointed at #. This wires them to real destinations, adds real app icons, opens up the spacing, and fixes a hydration error.

  • AppCardData gains optional icon, source, href; the link row renders only when one is present, so Linea (no public repo) cleanly shows none while Talkie gets both view source and ▸ open.
  • Sheet05Apps — real blurbs for Scout/Linea/Lattices and real marks: Talkie, Scout, and Lattices render their actual icons (public/marketing/apps/); Linea keeps the monogram fallback.
  • Sheet07Quickstart — FOOTER_COLS is now { h, links: { label, href }[] }. Project → GitHub/releases/issues/app.hudsonkit.com; Docs → real in-app routes (/docs/quickstart, /docs/building-apps, /docs/voice, /docs/api); Apps → Talkie site + scout/lattices/vox repos; Legal → /license, CONTRIBUTING.md, GitHub security tab. Discord and Code of Conduct dropped — no real destination exists for either. External links get target="_blank" + noopener noreferrer.
  • site.css — .footer-link:hover accent + underline; wider sheet gutters (64→96px), sheet bottom pad (72→120px), body top offset (56→84px), inter-sheet gap (60→96px), section margins (56→72 / 64→80). Mobile breakpoints unchanged.
  • plotter-font.ts — Math.hypot → Math.sqrt(dx*dx + dy*dy): hypot isn't correctly rounded across engines, so bun SSR (JavaScriptCore) and Chrome (V8) emitted ULP-different strokeDasharray/strokeDashoffset values → hydration mismatch on /landing. sqrt is correctly rounded per IEEE-754, identical everywhere.

Verified: tsc --noEmit, eslint, /landing rendered at desktop + ~500px, hydration warning gone, footer links + copy-to-clipboard + card links exercised.

- Apps gallery: replace TODO placeholder blurbs for Scout, Linea, and
  Lattices with real copy; 'view source' / 'open' rows are now actual
  links (Talkie -> usetalkie.com + repo, Scout -> repo, Lattices ->
  repo; Linea has no public repo so its row is omitted)
- End-sheet footer: every column's links point somewhere real —
  GitHub/releases/issues/workspace, in-app /docs routes (quickstart,
  building-apps, voice, api), app repos for Talkie/Scout/Lattices/Vox,
  /license + CONTRIBUTING.md + GitHub security tab for Legal. Drops
  Discord/Code-of-Conduct entries that have no destination. External
  links open in a new tab; added a subtle hover state

Co-Authored-By: Arach Tchoupani <arach@tchoupani.com>
…, not guides/

Co-Authored-By: Arach Tchoupani <arach@tchoupani.com>
- widen sheet gutters (64→96px), sheet bottom pad (72→120px), body top (56→84px)
- inter-sheet gap 60→96px; section-level margins 56→72, 64→80
- AppCard accepts an icon; talkie/scout/lattices render their real marks

Co-Authored-By: Arach Tchoupani <arach@tchoupani.com>
Math.hypot is not correctly rounded across JS engines, so stroke lengths
computed under bun SSR (JavaScriptCore) differed from Chrome (V8) in the
last ULP, producing hydration diffs on strokeDasharray/strokeDashoffset.
Math.sqrt(dx*dx+dy*dy) is correctly rounded per IEEE-754 and identical
in every engine.

Co-Authored-By: Arach Tchoupani <arach@tchoupani.com>
@devin-ai-integration
devin-ai-integration Bot force-pushed the devin/1789774661-site-refinement branch from 09d0a97 to 38377f0 Compare September 19, 2026 00:33
@devin-ai-integration
devin-ai-integration Bot deleted the devin/1789774661-site-refinement branch September 19, 2026 15:22
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.

1 participant