ENC UI Kit
The ENC UI Kit is an algebraically-specified, manifest-driven UI layer. It renders an app from its declarative manifests into a working interface on any platform, and its state engine is a pure-functional algebra whose operations are proven in Lean to refine the spec.
How it works
The pipeline is Resolve → Apply → Render:
- Resolve manifests. A loader merges the app definition, pages, components, and workflow manifests into one canonical app model.
- Build the page tree. Routing and page gates pick the active page; data bindings
(
$state.field) andrender_ifconditionals resolve against current state. - Apply actions. On a user action, a five-operation algebra —
set / insert / update / delete / query— interprets the action expression and returns the next state purely, with no side effects. The same evaluator runs in Node tests and in the browser. - Render. The result is a platform-agnostic tree of typed atoms (text, input, select, toggle, slider, …); each platform renderer (React, React Native, terminal, extension) maps the tree to native widgets without any logic branching.
What makes it sound
Figures
- a five-operation algebra with 7 / 7 Lean refinement contracts verified
- ~41 registered components; one evaluator shared across Node, happy-dom, and browser tiers
- ~10 reference apps drive the matrix
See also
- ENC Emulator renders apps through the UI Kit · ENC Flow feeds it manifests
- Pipeline overview