Show HN: Vaev – A browser engine built from scratch (It renders google.com)
Project goals and scope
- Vaev’s primary long‑term goal is high‑quality rendering of static documents, especially as the core of the “paper‑muncher” PDF engine intended to replace wkhtmltopdf in Odoo.
- General web browsing and JavaScript support are not excluded, but are presented as a possible later phase rather than the main objective.
- Vaev is part of a hobby OS ecosystem (Skift) but is intended to remain cross‑platform rather than spun out as a separate product.
PDF generation and existing tools
- Several commenters discuss moving away from wkhtmltopdf to setups based on PhantomJS, Puppeteer/Chromium, or newer tools like Typst and WeasyPrint.
- Experiences: browser-based PDF generation can be slow (tens of seconds), but careful reuse of a long‑lived headless page can achieve sub‑100ms renders.
- PrinceXML is praised for quality but criticized for not being FOSS; WeasyPrint and wkhtmltopdf are seen as either slow or unreliable.
- There is interest in Vaev as a non‑Chromium, open alternative for HTML→PDF.
Minimal, text‑only, and “smolweb” browsing
- Some want a GUI browser that renders only text and links (no images/media), beyond terminal tools like Lynx; Dillo with images disabled is mentioned as close.
- A broader idea: standardize a minimal subset of web standards so “smolweb” sites and alternative browsers can target a stable, small feature set.
- Proposed bases include HTML 4.01 + CSS 2.1, or email‑safe HTML; others argue for keeping modern layout (Grid/Flexbox) and semantic tables for accessibility.
- Skepticism: “living standards” are seen as weaponized churn; subsets risk drifting or inheriting too much legacy cruft.
Language choice, security, and complexity
- C++ choice triggers debate: some argue modern C++ with RAII and smart pointers can be reasonably safe; others emphasize that browsers are de‑facto RCE surfaces and C++ is historically bug‑prone.
- Rust/Servo is cited as an alternative; some claim C++ projects (e.g., Ladybird) outpace Servo due to a larger C++ developer pool.
- There is skepticism about marketing claims like “lightning‑fast, lightweight, and secure” given early feature‑incompleteness and lack of visible fuzzing.
- Several commenters stress that browser engines are extraordinarily complex, second only to OSes, yet still see high educational and exploratory value in building one from scratch.