Parent epic: #262. Also advances nested-webview acceptance in #268. Native peer publication is owned by SceneTech/AppScene#30.
Proven gap
WebScene exposed visual scene state but no bounded, generation-stamped semantic provider that AppScene could project into NSAccessibility, UIA, or AT-SPI peers. The unchanged Code OSS workbench and nested documents therefore lacked a reusable native accessibility handoff.
Scope
- Add immutable acquire/release semantic snapshot leases.
- Publish deterministic composed-tree preorder across top and nested documents.
- Include document/frame/navigation/layout generations, stable semantic IDs, tree indices, roles, computed names/values/descriptions, states, relationships, focus, origins, and transformed bounds.
- Omit hidden, inert, detached, and non-rendered subtrees while retaining hidden IDREF name sources.
- Build on demand on the worker and prevent stale in-flight publication after navigation, low memory, or teardown.
- Keep held leases valid after publication replacement or engine destruction.
Hard bounds
- 16,384 nodes
- 256 documents
- 65,536 relationships
- 4 MiB UTF-8 arena
- 64 KiB per computed alternative
Acceptance
No build, test, benchmark, or formatter was executed under the current fast-merge instruction.
Parent epic: #262. Also advances nested-webview acceptance in #268. Native peer publication is owned by SceneTech/AppScene#30.
Proven gap
WebScene exposed visual scene state but no bounded, generation-stamped semantic provider that AppScene could project into NSAccessibility, UIA, or AT-SPI peers. The unchanged Code OSS workbench and nested documents therefore lacked a reusable native accessibility handoff.
Scope
Hard bounds
Acceptance
git diff --checkpasses.No build, test, benchmark, or formatter was executed under the current fast-merge instruction.