TextUI 0.5.0
TextUI 0.5.0 removes the manually maintained state-to-region dependency graph.
Breaking change
- Removes the public textui-route-state function. Delete route declarations; ordinary textui-update and textui-set-state calls need no replacement syntax.
Changed
- State updates now evaluate the complete frame, then the existing reconciler patches only changed named regions when the surrounding shell is stable.
- Explicit region refresh remains available for external updates whose caller already knows the owning complete-line region.
- Documentation now makes clear that bundled TextUI widget types are protocol examples; package widgets should continue to be defined with widget.el.
Performance
- In the byte-compiled 1,000-row btop fixture at 120 columns, complete reconciliation measured a 4.13 ms median and 4.30 ms p95, compared with 2.39 ms for manual state routing. TextUI accepts the 1.74 ms median cost to remove stale-UI failures and caller-maintained dependencies.
See CHANGELOG.md and ADR 0035 for the complete decision and measurements.