I've known a few people (including myself) who have casually thought about what it would take to write a new browser engine. Obviously it's a titanic undertaking and unrealistic project but one thing I considered recently:
There are a ton of new API's the browser has added since HTML5 giving all sorts of capabilities. Hell, Chrome can access USB devices on your host if you allow it permissions.
But is there a canonical list of all standardized web API's somewhere? Something that a browser engine developer could look at to decide what API's are must haves and what are optional.
See also browser-compat-data, the source data for Can I Use? and the Browser Compatibility tables at the bottom of MDN reference pages. I believe VS Code and other tools also rely on it.
I have also had that thought for a long time (nearly a decade), remember seeing this article and progressed beyond thought to start writing some code, but naturally have plenty of other things to work on, so it's been very slow going. I have in mind only something comparable to NetSurf or Dillo, but even that is not trivial.
There are a ton of new API's the browser has added since HTML5 giving all sorts of capabilities. Hell, Chrome can access USB devices on your host if you allow it permissions.
But is there a canonical list of all standardized web API's somewhere? Something that a browser engine developer could look at to decide what API's are must haves and what are optional.