This section describes the necessary modules for creating a browser engine. Here not everything is listed, only the main one. Over time, the section will be replenished.

Lists are compiled in order of implementation, excluding the main headings: DOM, HTML, CSS… order — as necessary.


  1. DOM Interfaces In progress
  2. DOM Events


  1. HTML Parser Done
  2. HTML Interfaces In progress
  3. Custom Elements
  4. Queuing a mutation record


  1. Syntax Done
  2. Grammar for generate compact and fast code for parsing CSS properties
  3. Namespaces
  4. Selectors Done
  5. CSSOM
  6. Values
  7. Sizing
  8. Box
  9. Display
  10. Float
  11. Font
  12. Text
  13. Position
  14. Color
  15. Flexbox
  16. Background
  17. Content
  18. Overflow
  19. Media Queries
  20. Page
  21. Variables


  1. Font/OpenType
    1. Parsing OpenType Font File
    2. Calculating font metrics for glyph for HTML layout: baseline, ascender, descender, line-gap, x-height, cap-height, width, height


  1. Encoding Done
  2. Prescan a byte stream to determine its encoding Done


  1. URL
    1. Parsing
    2. Punycode


    1. Normalization Forms


  1. Creating a rendering tree

This section will be described in more detail in the future.

Done Done. There is no need to return to this.
In progress Always in developing state. Can be used.