Chaos
Chaos is a declarative UI extension hosted by Nyx. A component keeps its state, events, control flow, and lifecycle in ordinary Nyx while Chaos owns the element-tree grammar, slots, source mapping, and intermediate representation needed to render it.
- Technology
- Nyx / UI architecture
- Status
- Prototype in progress
Declarative UI should not become a second programming language.
UI authoring has to stay expressive without turning the host language, styling layer, and renderer into one inseparable framework. It also needs reactive state, reusable components, hot reload, and useful diagnostics across generated and interpreted boundaries.
Let Nyx own behavior and Chaos own structure.
Chaos owns only structure. It lowers element expressions into a backend-independent IR, then a runtime reconciles that tree through registered capabilities. The Iris prototype has already validated parsing, cross-file components, reactive slots, real Nyx evaluation, and state-preserving reload paths.
What it does.
- 01
Nyx components with JSX-style element expressions
- 02
Free-function and class-based component models
- 03
Reactive local state through signals and slots
- 04
Backend-independent intermediate representation
- 05
Cross-file composition and state-preserving hot-reload experiments
How decisions
get made.
Nyx owns behavior
Chaos extends Nyx rather than inventing a parallel language for events, state, and control flow.
Backends are capabilities
Penumbra, Umbra, or another renderer can implement the same component boundary.
Structure stays separate
Element trees describe what exists; Cosmos remains the sole styling surface.
