Skip to content

Repository files navigation

reactor — Reactive Web Debugger Core

A high-performance, binary-first core engine for a browser reactive debugger, implemented in ISO C++20. Designed against a DevTools/Tracy/Unreal-Insights-class specification (see docs/SPEC_MAPPING.md).

What this repository contains

Area Status
Common types: handles, versions, status, epoch clock, cache-line utils Implemented
Memory: arena / frame / pool allocators, free lists, alignment Implemented
Lock-free: SPSC + MPMC ring buffers, fences, backpressure Implemented
Reactive runtime: signals, effects, stores, selectors, transactions Implemented
Scheduler: priority queues (immediate/high/animation/idle), deterministic Implemented
Dependency graph: CSR adjacency, incremental dirty propagation, cycle detect Implemented
Tracing: event metadata registry, ring writer, binary frames Implemented
Binary trace format: magic, header, chunks, CRC, footer, versioning Implemented
Replay engine: snapshots, deterministic replay, event apply Implemented
Query engine: filters, aggregation, reverse lookup, time-range Implemented
Protocol: versioned serialize / distribute primitives Implemented
Browser integration (DOM/CSS/paint/network/workers…) Interface surface only (include/reactor/browser/)
Desktop UI (timeline, signal/effect/scheduler windows…) Interface surface only (include/reactor/ui/)
Tests Unit suite, all passing
Benchmarks Event throughput + reactive propagation

This is the engine. The two remaining frontiers — deep browser instrumentation (compile-time hooks inside V8/Blink) and the desktop UI — are defined as extension points with concrete interfaces and wire types, but are not closed-source-runtime implementations.

Build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
ctest --test-dir build --output-on-failure
./build/reactor_tests
./build/reactor_bench

Requires a C++20 compiler (GCC 11+, Clang 14+, MSVC 19.30+). No external dependencies beyond the standard library.

Layout

include/reactor/
  common/       handles, versions, status, time, alignment
  memory/       arena, frame, pool, free list
  lockfree/     SPSC/MPMC rings, atomics
  reactive/     signal, effect, store, selector, runtime, scheduler
  graph/        dependency graph (CSR)
  trace/        event registry, ring writer, frames
  format/       binary trace archive
  replay/       snapshot + deterministic replay
  query/        query engine
  proto/        versioned serialization
  browser/      browser integration interfaces
  ui/           desktop UI interfaces
src/            non-header implementation
tests/unit/     unit tests
bench/          benchmarks
docs/           SPEC_MAPPING.md (spec chapter -> implementation)

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages