Skip to content

site: direct per-platform downloads, and bring the copy up to date - #32

Merged
OrellBuehler merged 1 commit into
mainfrom
site/direct-downloads
Aug 22, 2026
Merged

site: direct per-platform downloads, and bring the copy up to date#32
OrellBuehler merged 1 commit into
mainfrom
site/direct-downloads

Conversation

@OrellBuehler

Copy link
Copy Markdown
Owner

Direct downloads

Release assets carry their version in the file name (Kerf_0.19.1_x64-setup.exe), so
GitHub's stable releases/latest/download/<name> URL cannot address them — which is why
the site only ever linked to the releases page, where a visitor who does not use GitHub
has to work out which of eleven files is theirs.

site/assets/js/download.js resolves the real asset URLs from the API instead:

  • The hero gets a split button retargeted at the visitor's platform
    (Download for Linux · v0.19.1 · AppImage · 82.8 MB), with a menu holding every
    published file grouped by OS, each with its real size.
  • Get it gets three platform cards — macOS (Apple silicon / Intel), Windows
    (.exe / .msi), Linux (AppImage / .deb / .rpm) — each with the requirements
    that actually apply to it. The detected one is badged.
  • Mac architecture comes from the GPU: Safari exposes no architecture hint and every
    Mac still reports MacIntel, so the WebGL renderer string decides. Unknown keeps
    Apple silicon, with Intel one click away.
  • It picks the newest release carrying all three platforms rather than
    /releases/latest: while a release builds, its slowest bundle has not been uploaded
    yet, and offering that release would strand whoever is on the missing platform. This
    was verified live against v0.19.1 — the Windows rows hid themselves while that job was
    still running, then filled in.
  • Progressive enhancement throughout: every link ships pointing at the releases page
    and is rewritten in place, so a blocked script or a rate-limited API is no worse than
    what the site did before.

Copy brought level with what shipped

Tool count 59 → 78. New feature cards for delivery frames + safe areas,
cut-to-the-beat, edit-by-transcript and GPU-accelerated export; rewrote playback
(streamed composited video, not a slideshow), analysis (transcription in every build),
effects (looks presets) and 360 (Insta360 pair stitching). The agent section now leads
with staged edits — the third card and the session mock show the review diff, since
agent edits no longer move the open cut. The README's feature table, tool lists, download
section and roadmap follow.

Fixes

  • og:image was broken. It pointed at docs/img/screenshot-editor.png, a file that
    was never captured, so every social preview 404'd. docs/img/og.png is generated from
    docs/og-source.html; the regeneration command is in docs/img/README.md.
  • Feature strings were double-escaped, rendering as Analysis &amp;amp; speech.
  • On mobile the nav hid every link including the download chip.
  • An open download menu was painted over by the band below it (every .wrap sits at
    z-index: 1, so DOM order won).

Design

A stat strip under the hero, a nav download chip, :focus-visible rings that were
missing entirely, an h1 that no longer wraps to three lines on desktop, and stat/copy
alignment.

Still open

The site has no real app screenshots — docs/img/README.md has the shot list, and the
README shows broken images for all three.

The release assets carry their version in the file name, so GitHub's stable
releases/latest/download/<name> URL cannot address them — which is why the
site only ever linked to the releases page, where a non-GitHub visitor has to
work out which of eleven files is theirs.

assets/js/download.js resolves the real asset URLs from the API instead. It
detects the platform (asking the GPU for the Mac's architecture, since Safari
exposes no hint and every Mac still reports "MacIntel"), points the hero
button at that build, and fills version and size into a platform menu and the
three Get-it cards from one call. Every link ships pointing at the releases
page and is rewritten in place, so a blocked script or a rate-limited API
degrades to what the site did before.

It picks the newest release carrying *all three* platforms rather than
`/releases/latest`: while a release builds, its slowest bundle has not been
uploaded yet, and offering it would strand whoever is on the missing platform.

Also brings the copy level with what shipped — 78 tools, staged edits with a
reviewable diff, delivery frames, beat snapping, transcript editing, streamed
playback, GPU export — and fixes the og:image, which pointed at a screenshot
that was never captured. og.png is generated from docs/og-source.html.
@OrellBuehler
OrellBuehler merged commit ec91811 into main Aug 22, 2026
23 of 24 checks passed
@OrellBuehler
OrellBuehler deleted the site/direct-downloads branch August 22, 2026 12:35
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