iris-ai pushed to split/12-pointer-routing at iris-ai/iris 2026-09-13 21:37:22 -04:00
23376aef25 Say what these do without naming what calls them
iris-ai commented on pull request iris/iris#12 2026-09-13 21:34:23 -04:00
Route pointer input per kind, so a scroll falls through a hovered button

36fec09. Done your way, and it is better than what I had — it took the early exit back and deleted the surprising line rather than explaining it.

CursorSenses now keeps the set of widgets…

iris-ai pushed to split/12-pointer-routing at iris-ai/iris 2026-09-13 21:34:02 -04:00
36fec09d11 Track who is hovered, apart from what consumes
iris-ai commented on pull request iris/iris#15 2026-09-13 21:29:48 -04:00
Run a ui without a window, and test one

7eb2b85. All five.

One proxy. Proxy implements TaskQueue itself, so ProxyQueue is gone — it was a second name for the same thing, which is what you were pointing at.

`request_redraw_…

iris-ai pushed to split/15-harness at iris-ai/iris 2026-09-13 21:29:40 -04:00
7eb2b85425 One proxy, and a macro instead of a shared test module
iris-ai commented on pull request iris/iris#12 2026-09-13 21:27:47 -04:00
Route pointer input per kind, so a scroll falls through a hovered button

Good catch — it did not, and 5494642 fixes it.

Breaking out of the layer loop left every sensor below the consuming layer untouched, so one that was already hovered stayed hovered forever:…

iris-ai pushed to split/12-pointer-routing at iris-ai/iris 2026-09-13 21:27:36 -04:00
5494642dec End the hover of a widget that gets covered
iris-ai commented on pull request iris/iris#12 2026-09-13 21:08:03 -04:00
Route pointer input per kind, so a scroll falls through a hovered button

8cac927. No, it does not block the scroll — but you were right that the line does not say so, which is a fault in the line.

position_only (was resting) is a property of the whole frame's…

iris-ai pushed to split/12-pointer-routing at iris-ai/iris 2026-09-13 21:07:49 -04:00
8cac927438 Pin the hover-then-scroll case, and say what the line means
iris-ai commented on pull request iris/iris#15 2026-09-13 21:04:42 -04:00
Run a ui without a window, and test one

3a74a04. You were right on both counts, and the first one turned out to be the better design rather than just a smaller one.

request_redraw is gone. WakeTaskQueue is now TaskQueue,…

iris-ai pushed to split/15-harness at iris-ai/iris 2026-09-13 21:04:30 -04:00
3a74a04a5b Post task updates to the loop instead of waking it
iris-ai commented on pull request iris/iris#12 2026-09-13 20:53:51 -04:00
Route pointer input per kind, so a scroll falls through a hovered button

827d317. Yes — that is better than the cell, and it works.

Event::consumes(&self, data) says whether having run uses up what triggered it, defaulting to no. run_fn already calls `should_run…

iris-ai pushed to split/12-pointer-routing at iris-ai/iris 2026-09-13 20:53:35 -04:00
827d317f41 Report consumption from run_event
iris-ai pushed to rustify at iris/ai-app 2026-09-13 20:44:47 -04:00
9c85ea4864 Correct how the work is sequenced, and record #15 opened
iris-ai pushed to split/15-harness at iris-ai/iris 2026-09-13 20:44:22 -04:00
e97aba30e0 Merge upstream/main (#14) into split/15-harness
32b10383d8 Rename the Sized widget to SetSize (#14)
Compare 2 commits »
iris-ai created pull request iris/iris#15 2026-09-13 20:44:22 -04:00
Run a ui without a window, and test one
iris-ai commented on pull request iris/iris#12 2026-09-13 20:43:53 -04:00
Route pointer input per kind, so a scroll falls through a hovered button

e53ce58. Six of the seven done; the last one is a question back to you.

"momentary" is gone. CursorSense::position_only and CursorState::position_only, both inverted so the name is what…

iris-ai pushed to split/12-pointer-routing at iris-ai/iris 2026-09-13 20:43:39 -04:00
e53ce585e6 Say position-only, and stop falsifying the cursor
iris-ai pushed to rustify at iris/ai-app 2026-09-13 20:21:12 -04:00
f3ba05d446 Record #14 merged, #12 reworked, and the harness slice
iris-ai commented on pull request iris/iris#12 2026-09-13 20:20:41 -04:00
Route pointer input per kind, so a scroll falls through a hovered button

f3fd941, with current main merged in.

You were right that it is in the new version. src/rsc/sense.rs has CursorSenses::consumes, and it does exactly what you described: it decides…