Roadmap#
This section lists the most important modules involved in creating a browser
engine. The list will grow over time.
Specific list items appear in their respective sections (DOM
, HTML
, etc.)
in order of their implementation.
Legend#
: There is no need to return to this item. Done is done.
: Continually in development; can already be used.
If status is not given, the work hasn't started yet.
DOM#
- DOM Interfaces:
![In Progress](/img/in_progress.svg)
- DOM Events
HTML#
- HTML Parser:
![Done](/img/done.svg)
- HTML Interfaces:
![In Progress](/img/in_progress.svg)
- Custom Elements
- Queuing a mutation record
CSS#
- Syntax:
![Done](/img/done.svg)
- Grammar: for generating CSS tests by grammars.
![Done](/img/done.svg)
- Namespaces:
![Done](/img/done.svg)
- Selectors:
![Done](/img/done.svg)
- CSSOM:
![In Progress](/img/in_progress.svg)
- Values:
![In Progress](/img/in_progress.svg)
- Sizing:
![In Progress](/img/in_progress.svg)
- Box:
![In Progress](/img/in_progress.svg)
- Display:
![In Progress](/img/in_progress.svg)
- Float:
![In Progress](/img/in_progress.svg)
- Font:
![In Progress](/img/in_progress.svg)
- Text:
![In Progress](/img/in_progress.svg)
- Position:
![In Progress](/img/in_progress.svg)
- Color:
![In Progress](/img/in_progress.svg)
- Flexbox:
![In Progress](/img/in_progress.svg)
- Background:
![In Progress](/img/in_progress.svg)
- Content
- Overflow:
![In Progress](/img/in_progress.svg)
- Media Queries
- Page
- Variables
Fonts, OpenType#
- Font/OpenType
1.1. Parsing OpenType font files
1.2. Calculating font metrics for glyphs in HTML layout: baseline
,
ascender
, descender
, line-gap
, x-height
, cap-height
,
width
, height
Encodings#
- Encoding:
![Done](/img/done.svg)
- Prescanning a byte stream to determine its encoding:
![Done](/img/done.svg)
URL#
- URL:
![Done](/img/done.svg)
1.1. Parsing: ![Done](/img/done.svg)
1.2. Punycode: ![Done](/img/done.svg)
Unicode#
- http://www.unicode.org/:
![Done](/img/done.svg)
1.1. Normalization forms: ![Done](/img/done.svg)
1.2. Unicode IDNA Compatibility Processing: ![Done](/img/done.svg)
Layout#
- Building a rendering tree - now we're at that stage.