- expose whether native backend initialization has completed
- distinguish completed initialization from backend availability
- wait up to one second for asynchronous initialization in benchmark mode
- exclude AT-SPI registration activity from notification timing
- report backend readiness latency in benchmark results
- verify disabled backends complete initialization immediately
- Balanced disabled/enabled execution order to avoid systematic cache/frequency bias.
- Added 10 confirmation sample pairs only when the initial batch fails.
- Recalculate medians using all samples before deciding.
- Print complete JSON measurements to stderr on failure, so CI diagnostics are no longer lost.
- expose eepp windows and widgets through Cocoa NSAccessibility
- add lazy, stable native wrappers with safe lifecycle invalidation
- support hierarchy, focus, geometry, actions, values, and UTF-16 text APIs
- deliver coalesced native notifications for UI and model changes
- preserve surviving secondary windows when the primary closes
- add macOS semantic, notification, lifecycle, and performance harnesses
- add native unit coverage and accessibility example scenarios
- keep dormant accessibility overhead negligible
Add optional ThreadPool support to UISceneNode and UIApplication settings,
sharing the configured pool with secondary application windows.
Initialize the Linux AT-SPI transport asynchronously when a pool is
available, keeping D-Bus connection, registration, and I/O setup away
from the UI thread. Publish the initialized backend safely and retain
synchronous initialization as the compatibility fallback.
Defer accessibility manager creation to root scenes and make nested
UISceneNodes delegate accessibility state and manager access to their
host scene.
Cache active-client state on UISceneNode to make inactive widget
notifications a minimal fast-path check.
Exercise asynchronous initialization in the accessibility example and
verify thread-pool propagation and nested-scene delegation in tests.
Keep hidden AT-SPI benchmarks focused on timing, and validate component
hit-testing separately through the visible semantic test.
- Add inactive and active accessibility benchmarks to protect against startup, notification, and AT-SPI scaling regressions.
- Extend the AT-SPI benchmark with text, focus, action, value, geometry, hit-testing, and model-update operations. Run both benchmarks in Linux CI and preserve their JSON results as artifacts.
- Add an explicit null accessibility backend for baseline measurements and optional accessibility disabling.
- Harden the Windows UIA backend by caching client availability per update, validating root providers, and preventing recursive window procedure forwarding.
Harden the AT-SPI protocol implementation, application discovery, multi-window routing, request handling, and model invalidation. Keep inactive accessibility effectively tax-free and update UIA structure notifications.
Add hidden AT-SPI performance and integration benchmarks, expand the accessibility example, and cover model replacement and multi-window behavior with regression tests.
- lazily activate AT-SPI work only when a real accessibility client connects
- eliminate unused accessibility overhead during widget construction and startup
- wake the SDL event loop for D-Bus traffic without blocking the UI thread
- implement AT-SPI cache, structural events, and text/editable-text interfaces
- improve UI Automation events, properties, runtime IDs, and window procedure safety
- centralize widget semantics in the accessibility resolver
- preserve accessible identity across model and widget lifecycle changes
- optimize widget class storage with SmallVector
- expand accessibility unit tests and add deterministic AT-SPI integration coverage
Added `find_missing_includes.py` that checks if all the header files of each module in the "general" module includes are included.
With this I udpated the pending includes in the modules.
Added support for SmallVector using svector (and we are already using it in a couple of places).
Added debug symbol inspector script for the new SmallVector in project/scripts/debug.
Added tilde support for files and folders passed as parameters from the CLI in ecode (and added FileSystem::expandTilde).
Fixed a bug in "light-dark" parsing.
* Update patch_commit_number.sh
FreeBSD does not include Perl in the base system. Since the workflow installs gsed, why not use it instead? To use Perl, you would need to install perl5 anyway.
* Update patch_commit_number.sh
* Update patch_commit_number.sh
* OpenBSD
* OpenBSD
* OpenBSD
* Update build.app.sh
* Update build.app.sh
* Update build.app.sh
* Delete projects/openbsd directory
* Update build.app.sh
* Update build.app.sh