webCore Subsystem
The heart of ZepraBrowser's rendering logic. Handles HTML parsing, DOM tree construction, CSS calculations, box models, and render trees.
Standard Rendering Pipeline
Byte Stream (Network)
│
▼
┌───────────────────┐ ┌───────────────────┐
│ HTML Parser │ │ CSS Parser │
└─────────┬─────────┘ └─────────┬─────────┘
│ │
▼ (DOM Tree) ▼ (CSS Rules)
┌────────────────────────────────────────────┐
│ Style Attachment │
└──────────────────────┬─────────────────────┘
│ (Render Tree)
▼
┌────────────────────────────────────────────┐
│ Layout Engine │
└──────────────────────┬─────────────────────┘
│ (Box Models)
▼
┌────────────────────────────────────────────┐
│ Paint / Compositing │
└──────────────────────┬─────────────────────┘
│ (Display Lists)
▼
Handed over to NXRender via WebGPU/C++ interface
Internal Modules
dom/
Implementation of HTML Node, Element, Document, and EventTarget abstractions.
html/
HTML5 Tokenizer, Tree Builder, and specification-compliant state machines.
css/
CSS parsing, specificity scoring, and cascading styles computation logic.
layout/
Block, Inline, Flex, and Grid layout constraint definitions mapping DOM to screen coordinates.
render/
Render tree instantiation and invalidation paths.
paint/
Graphics context recording traversing z-index stacking context hierarchies.