Blog
Technical writeups and notes on development
Canvas commit graph: virtualizing 100k nodes without lag
How GitBor renders the commit graph on Canvas 2D with virtualization. Layout algorithm, incremental computation, intersection and hit-testing for interactivity.
Invalid Date min read
WAL journal in a Git client: making rebase atomic
How I implemented Write-Ahead Log for atomic Git operations in GitBor. The problem of interrupted operations, WAL architecture, RecoveryManager, and 5 layers of data protection.
Invalid Date min read
Headless UI engine: separating logic from rendering in SkyGraph
Why I separated reactive state engine from React components. SkyGraph architecture: 7 engines (Form, Table, Tree, Virtual, Graph, Calendar, Core) on a single reactive runtime.
Invalid Date min read
Cursor-style inline diff with rollbacks: snapshot-based architecture
How I built an inline-diff system with per-message snapshots in a VS Code fork. Architectural breakdown: 217 tests, block-level accept/reject, rollback to any message.
Invalid Date min read
One engine for React and Vue: how SkyGraph works across frameworks
SkyGraph architecture: one reactive runtime, adapters for React and Vue, shared CSS. Why share a core between frameworks instead of duplicating code.
Invalid Date min read