upgrade in the skill tree should need a double tap on Android, the first click should not buy #162

Closed
opened 2026-08-29 17:03:04 +00:00 by metaheavens · 1 comment
Owner
No description provided.
Author
Owner

Done in 3fcc26c, live at https://metaheavens.de/spaceship/

One physical tap was arriving twice. Godot emulates a mouse button from every touch and a touch from every mouse button - both project settings are on - and the research menu's dispatcher routes InputEventScreenTouch and InputEventMouseButton alike to the tree. The second arrival found the node already selected, took itself for the confirming tap, and bought the research on first touch.

Measured rather than reasoned about: one tap produced two picks and two confirms.

What is ignored now is specifically the twin - same frame, same place, arriving through the other input kind. My first attempt deduped on frame and position alone, and that swallowed two genuine taps landing in one frame; the test caught it.

Worth flagging separately: IconButton sits under the same duplicated stream and behaves unpredictably in it (a probe measured zero presses for one tap). Buttons work in practice, so something about the real device ordering saves them - but the duplication is systemic, not specific to this menu, and deciding whether to turn one of the two emulation settings off is its own change rather than something to slip into a UX ticket.

Done in 3fcc26c, live at https://metaheavens.de/spaceship/ **One physical tap was arriving twice.** Godot emulates a mouse button from every touch *and* a touch from every mouse button - both project settings are on - and the research menu's dispatcher routes `InputEventScreenTouch` and `InputEventMouseButton` alike to the tree. The second arrival found the node already selected, took itself for the confirming tap, and bought the research on first touch. Measured rather than reasoned about: one tap produced **two picks and two confirms**. What is ignored now is specifically the **twin** - same frame, same place, arriving through the *other* input kind. My first attempt deduped on frame and position alone, and that swallowed two genuine taps landing in one frame; the test caught it. Worth flagging separately: `IconButton` sits under the same duplicated stream and behaves unpredictably in it (a probe measured *zero* presses for one tap). Buttons work in practice, so something about the real device ordering saves them - but the duplication is systemic, not specific to this menu, and deciding whether to turn one of the two emulation settings off is its own change rather than something to slip into a UX ticket.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
metaheavens/spaceship#162
No description provided.