Model UI overlay lifetime in ui core

This commit is contained in:
2026-06-06 09:48:00 +02:00
parent 4071919124
commit 3101e65dd3
9 changed files with 483 additions and 7 deletions

View File

@@ -471,8 +471,11 @@ migration accelerates. The first pure `pp_ui_core::NodeLifetimeTree` slice now
models checked handles, parent/child invariants, scoped callback connections,
and mutation-safe dispatch for destroy-during-callback and connection-addition
cases. It now also models pointer/keyboard capture release and whole-tree
`clear()` invalidation for layout reload; wiring those semantics into retained
`Node` remains tracked by the same debt.
`clear()` invalidation for layout reload. `pp_ui_core::UiOverlayLifetime` now
layers popup/dialog stack ownership on top of that model, covering root and
nested popups, modal versus modeless dialogs, capture restoration, parent-popup
branch close, and layout-reload invalidation. Wiring those semantics into
retained `Node`/`NodePopupMenu`/`NodeDialog*` remains tracked by the same debt.
`pano_cli inspect-image` exposes PNG IHDR metadata as JSON,
`pano_cli import-image` accepts a PNG path and imports decoded RGBA8 pixels
into a new pure `pp_document` face payload,