Skip to content

pdufour/browserbrowserbrowser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

browserbrowserbowser

This demo was done because an LLM told me it couldn't be done. And because everything that is anything must be written in Rust.

How is it done, who cares, let's see a video:

output.mp4

Okay but really how does it work.

Architecture

wasm-pack builds a wasm binary that call out to Servos APIs: html5ever and stylo, sometimes directly sometimes through Blitz APIs. Servo understands CSS and HTML and renders the page to an image via Vello which is a WebGPU renderer.

You can see WASM support #160 for the inception of this project.

Running project

Requirements

  • Rust — see rust-toolchain.toml (wasm32-unknown-unknown).
  • wasm-pack
  • CORS — fetched pages must be allowed; the stock URL box expects wrappers like https://corsproxy.io/?https://….
wasm-pack build --target web --out-dir web/pkg
cargo run --bin serve-web

Then open http://127.0.0.1:8080/

About

Rust browser running inside a browser via WASM / WGPU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages