Back to browse
Aurora – a browser engine experiment in Rust

Aurora – a browser engine experiment in Rust

by JohannaAlmeida·Apr 13, 2026·4 points·5 comments

AI Analysis

●●SolidWizardryBig Brain

GPU rendering from scratch with wgpu and Vello instead of relying on Skia.

Strengths
  • Single atlas with batching and rasterization pipeline shows real graphics programming skill.
  • Boa JavaScript engine integration means simple scripts actually execute in rendered pages.
  • Explicit minimal implementation teaches browser pipeline better than reading Servo docs.
Weaknesses
  • Author explicitly states this is a learning project, not production-ready software.
  • Minimal HTML subset and primitive layout limits what pages can actually render.
Target Audience

Systems programmers interested in browser internals

Similar To

Servo · Ladybird · NetSurf

Post Description

I’ve been building Aurora, an early-stage browser engine in Rust.

It currently implements a minimal end-to-end pipeline: parsing a narrow HTML subset, building a DOM tree, parsing CSS from style tags, computing basic styles, deriving a simple block layout tree, and painting the result into a small text framebuffer. It also includes basic HTTP/HTTPS fetching with redirect support.

JavaScript execution is integrated using the Boa JavaScript engine. This is still early, but simple scripts do run.

Rendering is done on the GPU from scratch using wgpu and Vello, without relying on Skia. The renderer uses a single atlas and a simple pipeline for batching and rasterization.

The goal is not to build a full browser, but to understand and implement the core pieces of the pipeline in a small and explicit way.

Next steps are improving tokenization, expanding CSS support, making layout less primitive, and continuing work on the GPU rendering path.

Current render snapshot : https://imgur.com/a/NtbgR5i

Similar Projects

Developer Tools●●Solid

Fullbleed – Rust HTML/CSS-to-PDF with Deterministic Output+Python CLI

It skips headless Chromium entirely and implements an HTML/CSS-to-PDF pipeline in Rust, exposing a Python wheel and CLI that releases the GIL and uses Rayon for parallel batch renders. The deterministic bits — fixed-point base unit, --repro-record/--repro-check, SHA256 outputs and vendored assets — are a clear, practical play for audited VDP/transactional workflows; what's still unknown is CSS spec coverage and whether subtle print-layout quirks will require hand-holding.

WizardryNiche Gem
krflol
203mo ago