Add 'Linux on WebAssembly' blog post with scrollytelling layout#5328
Add 'Linux on WebAssembly' blog post with scrollytelling layout#5328NathanFlurry wants to merge 3 commits into
Conversation
… for narrative and proof
… architecture diagram
PR ReviewThis PR adds a "Linux on WebAssembly" technical blog post with a new scrollytelling layout: a two-column design (prose left, pinned SVG diagram right) driven by 1. Production blocker — six unfilled metric placeholders in the post body
Six bold The PR description lists filling these as a pre-publish step, but there is nothing in the build that fails or warns when they are present. Consider adding a CI lint (e.g. a 2. Production blocker — Doom GIF points to an asset not yet uploaded
The PR description explicitly says "Upload the Doom recording to R2 at 3. Stale heading positions in ToC scroll spy after layout reflow
useEffect(() => {
const headings = getHeadings(toc); // positions captured once
function onScroll() {
const top = window.scrollY;
let cur = headings[0].id;
for (const heading of headings) {
if (top >= heading.top - LINK_MARGIN) cur = heading.id;
else break;
}
setCurrent(cur);
}
window.addEventListener("scroll", onScroll, { passive: true });
// no resize listener
...
4.
|
|
🚅 Deployed to the rivet-pr-5328 environment in rivet-frontend
|
Summary
Adds the "Linux on WebAssembly: a sandbox for AI agents, one syscall at a time" blog post, plus a reusable scrollytelling layout for in-depth (
technical/guide) posts.Post
wasm32-wasip1builds, patched std/wasi-libc routing tohost_process/host_user/host_net).Layout (ai-2027 style)
scrolly: truefrontmatter flag (incontent.config.ts) opts a post into the layout.SyscallDiagramis a single scroll-driven SVG pinned top-right, aligned with the top of the body, that advances through build steps as theirdata-syscall-stepanchors cross the viewport. It releases at the bottom of the content (sticky containing block scoped to the article grid, not the footer).Before publishing
[COLD_START_MS],[IDLE_MEM_MB],[SANDBOXES_PER_HOST],[WAKE_MS],[SYSCALL_COUNT],[HOST_CALL_COUNT]) with measured figures, or cut those sentences.website/blog/2026-06-24-linux-on-webassembly-building-a-sandbox-one-syscall-at-a-time/doom.gif.Test plan
pnpm run buildis green (258 pages).