Kinetoor Architecture
Kinetoor (Κινητήρ — "the motive force") is Aephoron's rendering engine. Like Chrome uses Blink or Firefox uses Gecko, Aephoron uses Kinetoor — a Servo fork written entirely in Rust.
Process model
aephoron-desktop (egui + Winit — main UI thread)
│ IPC (ipc-channel)
Constellation Thread (WebView coordinator)
├── Script Thread — SpiderMonkey v140 + DOM Web APIs
├── Layout Thread — Flexbox, Grid, Tables (Servo layout)
├── Network Thread — Hyper + Rustls, HTTP/1.1–3, WebSockets
└── Paint Thread — WebRender GPU compositorEach subsystem runs in isolation — a script crash does not take down the browser shell.
Component map
| Component | Responsibility |
|---|---|
script/ | DOM, Web APIs, SpiderMonkey bindings (~200K LOC) |
layout/ | CSS layout engine |
net/ | HTTP, TLS, WebSockets |
paint/ | WebRender integration |
constellation/ | Tabs, navigation, permissions, IPC |
media/ | GStreamer video/audio, WebRTC (roadmap) |
storage/ | IndexedDB, localStorage, cookies |
devtools/ | Chrome DevTools Protocol (in progress) |
canvas/ | Canvas 2D + WebGL |
webgpu/ | WebGPU (feature flag) |
Supporting crates
- html5ever — WHATWG HTML parser
- stylo — CSS engine (Mozilla Stylo fork)
- webrender — GPU rasterization (Firefox heritage)
- mozjs — Rust bindings to SpiderMonkey
- surfman — OpenGL/Metal/Vulkan context abstraction
License & lineage
- Base: Servo — Mozilla Research → Linux Foundation
- License: MPL-2.0
- Version: 0.4.0 pre-release
- ~521K lines of Rust across 36+ engine components
Why Rust
Memory safety is compiler-guaranteed — no manual refcount errors in the networking or layout hot paths. This is the primary architectural bet versus C++ Chromium forks.