Skip to content

toolkit: add Overlay z-ordered stacking container#15

Merged
tannevaled merged 1 commit into
mainfrom
toolkit-overlay
Jul 10, 2026
Merged

toolkit: add Overlay z-ordered stacking container#15
tannevaled merged 1 commit into
mainfrom
toolkit-overlay

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

The third pre-1.0 "model edge" item: the stacking container so transient widgets can float above the main UI.

A primary Content child fills the bounds; z-ordered Layers paint on top (last = topmost) so Popover/Toast/Notification/Tooltip/ContextMenu float without the host arranging z-order or positions. Push/Pop/Top/Clear manage the stack; events route top-down (the topmost hit-testing layer wins, else Content); Modal makes a miss swallow as a backdrop instead of falling through.

Unlike Stack (which shows one page at a time), Overlay draws every layer. Coordinates pass through unchanged (a surface-frame container, like Paned).

100% coverage; go vet clean; builds on all 6 arches + js/wasm.

🤖 Generated with Claude Code

The stacking container the widget model lacked: a primary Content child that
fills the bounds, plus z-ordered Layers painted on top (last = topmost) so
Popover/Toast/Notification/Tooltip/ContextMenu float without the host managing
z-order or positions. Push/Pop/Top/Clear manage the stack; events route
top-down (topmost hit-testing layer wins, else Content); Modal makes a miss
swallow as a backdrop instead of falling through. Unlike Stack (one page at a
time), Overlay draws every layer. 100% coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@tannevaled
tannevaled merged commit 741267a into main Jul 10, 2026
1 check passed
@tannevaled
tannevaled deleted the toolkit-overlay branch July 10, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant