# 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 the order of their implementation. ## Legend - ![Done][done]: There is no need to revisit this item; it is complete. - ![In Progress][progress]: Continually in development but available for use. - If no status is given, the work has not yet started. [done]: img/done.svg [progress]: img/in_progress.svg ## DOM 1. [DOM Interfaces](https://dom.spec.whatwg.org/#node-trees): ![In Progress][progress] 2. [DOM Events](https://dom.spec.whatwg.org/#events) ## HTML 1. [HTML Parser](https://html.spec.whatwg.org/multipage/parsing.html#parsing): ![Done][done] 2. [HTML Interfaces](https://html.spec.whatwg.org/multipage/semantics.html#semantics): ![In Progress][progress] 3. [Custom Elements](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements) 4. [Queuing a mutation record](https://dom.spec.whatwg.org/#queueing-a-mutation-record) ## CSS 1. [Syntax](https://drafts.csswg.org/css-syntax-3/):![Done][done] 2. [Grammar](https://drafts.csswg.org/css-values-4/#component-combinators): for generating CSS tests by grammars. ![Done][done] 3. [Namespaces](https://drafts.csswg.org/css-namespaces-3/): ![Done][done] 4. [Selectors](https://drafts.csswg.org/selectors-4/): ![Done][done] 5. [CSSOM](https://drafts.csswg.org/cssom-1/): ![In Progress][progress] 6. [Values](https://drafts.csswg.org/css-values-4/): ![In Progress][progress] 7. [Sizing](https://drafts.csswg.org/css-sizing-3/): ![In Progress][progress] 8. [Box](https://drafts.csswg.org/css-box-3/): ![In Progress][progress] 9. [Display](https://drafts.csswg.org/css-display-3/): ![In Progress][progress] 10. [Float](https://drafts.csswg.org/css-page-floats-3/): ![In Progress][progress] 11. [Font](https://drafts.csswg.org/css-fonts-3/): ![In Progress][progress] 12. [Text](https://drafts.csswg.org/css-text-3/): ![In Progress][progress] 13. [Position](https://drafts.csswg.org/css-position-3/): ![In Progress][progress] 14. [Color](https://drafts.csswg.org/css-color-4/): ![In Progress][progress] 15. [Flexbox](https://drafts.csswg.org/css-flexbox-1/): ![In Progress][progress] 16. [Background](https://drafts.csswg.org/css-backgrounds-3/): ![In Progress][progress] 17. [Content](https://drafts.csswg.org/css-content-3/) 18. [Overflow](https://drafts.csswg.org/css-overflow-3/): ![In Progress][progress] 19. [Media Queries](https://drafts.csswg.org/mediaqueries-4/) 20. [Page](https://drafts.csswg.org/css-page-3/) 21. [Variables](https://drafts.csswg.org/css-variables-1/) ## Fonts, OpenType 1. [Font/OpenType](https://docs.microsoft.com/ru-ru/typography/opentype/spec/)
1.1. [Parsing OpenType font files](https://docs.microsoft.com/ru-ru/typography/opentype/spec/otff)
1.2. Calculating font metrics for glyphs in HTML layout: `baseline`, `ascender`, `descender`, `line-gap`, `x-height`, `cap-height`, `width`, `height` ## Encodings 1. [Encoding](https://encoding.spec.whatwg.org/): ![Done][done] 2. [Prescanning a byte stream to determine its encoding](https://html.spec.whatwg.org/multipage/parsing.html#prescan-a-byte-stream-to-determine-its-encoding): ![Done][done] ## URL 1. [URL](https://url.spec.whatwg.org/): ![Done][done]
1.1. [Parsing](https://url.spec.whatwg.org/#url-parsing): ![Done][done]
1.2. [Punycode](https://www.rfc-editor.org/info/rfc3492): ![Done][done] ## Unicode 1. [http://www.unicode.org/](http://www.unicode.org/): ![Done][done]
1.1. [Normalization forms](https://www.unicode.org/reports/tr15/): ![Done][done]
1.2. [Unicode IDNA Compatibility Processing](http://www.unicode.org/reports/tr46/): ![Done][done] ## Layout 1. Building a rendering tree: we're at this stage right now.