Skip to content

Handle quick clicks and keep dropdown menus inside the window - #67

Open
relh wants to merge 4 commits into
treeform:masterfrom
relh:relh/coalesced-widget-clicks-20260909
Open

relh wants to merge 4 commits into
treeform:masterfrom
relh:relh/coalesced-widget-clicks-20260909

Conversation

@relh

@relh relh commented Sep 9, 2026 •

Copy link
Copy Markdown

Summary

Recognize clicks even when a press and release happen between frames. Open dropdown menus above their buttons when there is not enough room below, and move them inward near window edges. Menus taller than the window still need scrolling.

Details

Quick clicks should activate a control once, even when press and release arrive between drawn frames. Use the final held state to recognize a completed click, and let press-driven controls handle it too. The existing interaction tests cover both event orders, ordinary holds, disabled controls, outside releases, and sliders stopping after release.

Dropdown choices now open above their button when they do not fit below, and move inward near window edges. This changes the actual widget placement without adding a second menu system. Lists taller than the entire window still need a scrolling list widget.

Validation: the focused Silky interaction test passes locally. In consuming Polyworld #9, the actual gallery dropdown regression fails before the placement change and passes afterward. A local Chrome run also opened the menu above its button and selected its last option at a 960 by 580 viewport. The consumer pins commit 6efaa6c4a2aedf72e2da718d399d836ebcc613c3 and runs its gallery controls in the existing CI workflow.

The upstream run is waiting for maintainer approval to run the fork changes. Downstream validation does not replace upstream review.

[Codex, acting on behalf of relh]

@relh relh left a comment •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Codex, acting on behalf of relh]

Reviewed cedbf5c. One new finding: the new interaction result drops completed clicks for existing press-driven controls. I traced the actual icon, subwindow, and scrubber consumers. The focused icon callback fixture did not complete: its first attempt hit a missing test import, and the corrected attempt could not acquire shared test capacity. I canceled that queued attempt; no runtime success is claimed. This finding is source-verified, not claimed as a passing runtime test.

Comment thread src/silky/widgets.nim
@relh relh changed the title Preserve clicks completed between rendered frames Count quick clicks and keep dropdown choices near their buttons Sep 9, 2026
@relh relh changed the title Count quick clicks and keep dropdown choices near their buttons Handle quick clicks and keep dropdown menus inside the window Sep 16, 2026
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