Aurora the browser engine in rust programming language | Rendering Update

118 points Inevitable_Back3319 33 comments

Hacker news

Still have some overlaping issues with elements its not perfect by any means or correct fully but im working on it everyday .
Thanks

For full transparency here are the crates im using . Trying really hard to have recent update to date versions:

[package]

name = "aurora"

version = "0.1.0"

edition = "2024"

[features]

default = []

media-ffmpeg = ["dep:ffmpeg-next"]

stylo-bridge = [

"dep:app_units",

"dep:atomic_refcell",

"dep:euclid",

"dep:servo_style",

"dep:stylo_atoms",

"dep:stylo_dom",

"dep:stylo_traits",

]

taffy-document = []

[dependencies]

rustls = { version = "0.23", features = ["ring"] } # still needed for install_crypto_provider()

wgpu = "29.0.3"

vello = "0.9.0"

pollster = "0.4.0"

boa_engine = "0.21.1"

boa_gc = "0.21.1"

ab_glyph = "0.2"

rustybuzz = "0.20.1"

peniko = "0.6"

image = "0.25.10"

ffmpeg-next = { version = "8.1.0", optional = true }

html5ever = "0.39.0"

markup5ever = "0.39.0"

cssparser = "0.37.0"

selectors = "0.38.0"

precomputed-hash = "0.1"

taffy = "0.10.1"

parley = "0.7"

reqwest = { version = "0.12", features = ["blocking", "rustls-tls", "gzip", "deflate", "brotli"], default-features = false }

usvg = "0.47.0"

winit = "0.30.13"

servo_style = { package = "stylo", version = "0.17.0", optional = true }

stylo_dom = { version = "0.17.0", optional = true }

stylo_atoms = { version = "0.17.0", optional = true }

atomic_refcell = { version = "0.1.14", optional = true }

euclid = { version = "0.22.14", optional = true }

app_units = { version = "0.7.8", optional = true }

url = "2.5.8"

stylo_traits = { version = "0.17.0", optional = true }

Trying out adding stylo recently but its still not fully integrated yet 😞

Some depedencies like rusty buzz are outdated . As far as i know Parley already uses harf rust or the more modern version.

Still cleaning up a lot of the code that didnt use the best crates for the problem yet and used custom parsers for everything which is very idiotic for browser development and i am still working on the migration to the industry standard crates .
Also obviously big props to the blitz and servo team for developing the crates im using . Without them Aurora could not exist.