Skip to content

Explanation

This section dives into the concepts and design decisions behind NUClear. Rather than telling you how to use a specific feature, these pages explain why things work the way they do.

If you've already followed the tutorials and know how to use NUClear, this is where you come to deepen your understanding — to see the bigger picture and appreciate the trade-offs that shaped the framework.

Pages

Page What It Covers
Architecture Why NUClear exists, the problems it solves, and the event-driven reactive pattern at its core
Threading Model How tasks are scheduled across thread pools, priority queues, and group constraints
Scheduler Internal design of the lock-free scheduler: pools, queues, groups, idle tasks, and shutdown
Lifecycle The three phases of a NUClear system: initialisation, execution, and shutdown
The DSL System How on<>().then() works from top to bottom — template metaprogramming in action
Message Flow What happens when you emit data, from call site to reaction execution
NUClearNet The peer-to-peer networking mesh that connects NUClear instances
Serialization How data is converted for network transmission