← All posts

load_page — the 0.7.0 Browser Capstone

June 28, 2026
Sigil-VideoSigil-VideoPR →
browsermilestonenet0.7.0

0.7.0 is the web milestone, and load_page is the line that closes it: the single entry point that takes a URL all the way to a rendered page — and it now passes on real x86 hardware (LPCAP-PASS, commit 14f5053). Every stage the browser has been building for months finally runs end to end, in order, on metal.

The whole pipeline, in one call

load_page is a capstone because it doesn't add a feature — it composes the ones already built into one verified path:

URL
 → net IPC ring        (fetch the bytes, capability-gated)
 → html_tokenizer      (bytes → tokens)
 → dom_builder         (tokens → DOM tree)
 → style_resolver      (match rules → computed style)
 → css_layout          (style + DOM → box tree)
 → render_engine       (box tree → pixels)
 → page_present        (pixels → the framebuffer)

Each of those shipped and was tested on its own. The capstone proves they connect — that a real URL produces a real painted page with nothing hand-fed in between.

Fetched the sigilOS way

The fetch doesn't reach for a socket directly. It goes over a capability-gated net IPC ring — the page-loading code holds a capability to request bytes, not ambient network authority, and the network lane is a separate, auditable boundary. The same discipline that isolates every tab as its own EL0 process governs how a page gets its bytes in the first place.

The four pillars, end to end

FAST

The terminal stage, page_present, lands pixels straight on the GPU framebuffer — the same accelerated path the compositor uses.

EFFICIENT

One linear pipeline, no redundant buffering between stages — bytes flow tokens → DOM → boxes → pixels and stop.

SECURE

Bytes arrive over a cap-gated IPC ring, not ambient sockets; rendering runs in per-tab EL0 isolation. Untrusted content never holds untrusted authority.

STABLE

LPCAP-PASS on x86 metal — the full path is proven on real hardware, not just QEMU.

With load_page green on metal, the browser stops being a pile of passing unit tests and becomes a thing that loads a page. That's the milestone 0.7.0 was named for.