mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-09-22 13:01:05 +03:00
Introduce EventConnection and EventConnectionList for scoped Node event listeners that safely handle either emitter or observer destruction order. Add ObservableValue and UIValueBinding for UI-independent observable state, along with a shared UIValueConverter policy used by both observable and raw data bindings. Harden UIDataBind and UIProperty lifetime behavior, documentation, conversion, operators, and multi-widget handling. Preserve UIProperty as the lightweight option for UI-local owned values and UIDataBind for explicitly managed external values. Use inline ordered callback storage to preserve registration-order dispatch without per-listener tree allocations. Migrate submenu observation to scoped connections, safely clear ecode run configuration bindings before model erasure, and simplify the 7GUIs Counter example with UIProperty. Add lifecycle, ordering, conversion, binding, and mutation regression tests.