Design a Reactive State System for an App Builder
Problem
Design the reactive state engine behind Retool: components with values that depend on each other via expressions, recomputing automatically.
Requirements
- Components expose state (table.selectedRow, input.value)
- Bindings reference other components
- Change propagates to dependents in order
- Detect and surface cycles
What evaluators look for
- Dependency graph + topological recompute
- Memoization and minimal recompute
- Safe expression evaluation/sandboxing
Extension
Add async data sources (queries) into the dependency graph.
added …