How ramkumareinstein/aurora_browser works
Aurora is an experimental Rust browser engine: users load HTML from a string, URL, or fixture, run a partial V8-backed DOM bridge, and produce pixels in a native window or image. The main runtime path loads and parses content, runs page scripts, builds a render document, then lays out and paints. Separate branches cover capability-gated fetching, legacy style/layout compatibility, browser chrome and input, screenshots, fonts, and optional media. The graph uses README statements and shown source references; unsampled implementation details and their internal call edges are not inferred.
Main entry points: pipeline.rs Runner pipeline · api.rs Resource fetch · blitz_document.rs Blitz render document · runtime.rs V8 runtime and DOM bridge
Components 22
Entry and access
- Embedding API
src/api.rs - Runner pipeline
src/runner/pipeline.rs - Identity capabilities
src/identity.rs
Document and scripting
- HTML parser
src/html/parser.rs - Legacy DOM
src/dom/node.rs - Script loading
src/runner/scripts.rs - JS runtime seam
src/js_engine.rs - V8 runtime and DOM bridge
src/js_v8/runtime.rs
Style and rendering
- Blitz render document
src/blitz_document.rs - CSS parsing and styles
src/css/stylesheet.rs - Stylo bridge
src/stylo_bridge/impls.rs - Legacy style tree
src/style/node.rs - Legacy layout
src/layout/taffy_layout.rs - GPU and headless paint
src/render/headless.rs
Window and capture
- Window and input
src/window/app.rs - Browser chrome
src/window/chrome/dioxus_chrome.rs - Screenshot capture
src/window/screenshot/mod.rs
Resource support
- Resource fetch
src/fetch/api.rs - Font shaping and atlas
src/font/shape.rs - Optional media
src/media.rs
Other components
- User
- HTTP resources
Connections 26
- User → Embedding API: loads page
README.md - User → Runner pipeline: runs browser
README.md - Embedding API → Resource fetch: loads URL
README.md - Runner pipeline → Resource fetch: fetches HTML
src/runner/pipeline.rs - Runner pipeline → Identity capabilities: uses identity
src/runner/pipeline.rs - Resource fetch → Identity capabilities: checks access
README.md - Resource fetch → HTTP resources: requests resources
README.md - Runner pipeline → HTML parser: parses HTML
src/runner/pipeline.rs - HTML parser → Legacy DOM: builds tree
src/html/parser.rs - Runner pipeline → Blitz render document: builds document
src/runner/pipeline.rs - Runner pipeline → Script loading: runs scripts
src/runner/pipeline.rs - Script loading → JS runtime seam: creates runtime
src/runner/pipeline.rs - JS runtime seam → V8 runtime and DOM bridge: constructs backend
src/js_engine.rs - V8 runtime and DOM bridge → Legacy DOM: bridges DOM
README.md - V8 runtime and DOM bridge → Blitz render document: applies mutations
README.md - Runner pipeline → CSS parsing and styles: builds stylesheet
src/runner/pipeline.rs - CSS parsing and styles → Stylo bridge: integrates styles
README.md - Runner pipeline → Legacy style tree: builds compatibility tree
src/runner/pipeline.rs - Legacy style tree → Legacy layout: styles layout tree
README.md - Blitz render document → GPU and headless paint: paints document
README.md - Runner pipeline → Window and input: opens window
README.md - Window and input → Browser chrome: shows chrome
src/window/app.rs - Window and input → Screenshot capture: captures output
README.md - GPU and headless paint → Font shaping and atlas: uses shaping
README.md - Runner pipeline → Optional media: provides media support
README.md - Blitz render document → Resource fetch: loads subresources
src/blitz_document.rs