Cardinal is an asynchronous, rule-driven world event system designed to govern worlds built on top of The Seed .
It is not a game engine and not a gameplay framework.
The Cardinal System exists to orchestrate the world, not to render frames.
Its responsibility is to define what exists, what happens, and when it happens inside a world — independently from how the game loop renders or simulates frames.
Cardinal introduces a clear separation between two fundamentally different loops:
Frame-based.
Responsible for rendering, input, physics, and real-time simulation.
Event-based and asynchronous.
Responsible for world rules, state transitions, NPC behavior, and long-lived processes.
The World Loop does not tick per frame.
It reacts to events, conditions, and time.
Cardinal operates as an asynchronous event loop built on top of a deterministic runtime.
Rules and behaviors are described declaratively and registered at startup. Execution is performed by the core runtime, not by scripts.
The Seed provides the runtime foundation.
Cardinal defines how the world behaves within that runtime.
They are independent systems, designed to be composed — not merged.
This is highly inspired on Cardinal System from Sword Art Online