feat(ui): one mounted tree instead of a screen object per build

Chrome and the app now share a tree, so a screen is no longer something an
app constructs and holds: ui.mount() takes the function that builds the
whole thing and ui.rebuild() runs it again. Building a node after layout
is refused rather than silently resetting the arena under the panel.
This commit is contained in:
2026-08-04 20:53:15 -04:00
parent e3153f57c5
commit 3f26c4ff10
3 changed files with 96 additions and 82 deletions
File diff suppressed because one or more lines are too long