#93: drive the research menu with a mouse, and close the hole under it

Two separate faults, both reported on the same ticket.

The menu was inert under a mouse. Input reaches the tree as raw events
through BuildController._unhandled_input, because a Control that consumes
them through the GUI system swallows the drag, and the tree only ever read
touch events. That was invisible while the project set
emulate_touch_from_mouse and every click arrived as a synthetic touch; with
that setting gone, nothing selects and nothing scrolls, and there is no
other way to research anything on a desktop. The press and the pan are now
the behaviour, with touch and mouse as two ways in to them. Motion pans only
while the button is held - a hovering pointer must not drag the tree out
from under the reader - and the wheel scrolls, which is the first thing a
desktop player reaches for.

The panel also still had the buy button's hole in it. That button went away
in #83 and nothing moved down into the space, leaving ~180px of dead panel
below the readout while the tree above it stayed cramped. The readout moves
down 154px and the canvas takes the height: 1190px to 1344px.

The test drives clicks through BuildController rather than into the view,
since the missing piece was the routing - calling the view directly would
have passed against the bug as reported.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Loïc Wisniewski 2026-08-22 23:29:34 +02:00
commit 4883197ef3
5 changed files with 242 additions and 11 deletions

View file

@ -2087,7 +2087,7 @@ anchor_bottom = 1.0
offset_left = 24.0
offset_top = 296.0
offset_right = -24.0
offset_bottom = -434.0
offset_bottom = -280.0
script = ExtResource("21")
[node name="DetailLabel" type="Label" parent="UI/SkillMenu"]
@ -2096,9 +2096,9 @@ anchor_right = 1.0
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 32.0
offset_top = -426.0
offset_top = -272.0
offset_right = -32.0
offset_bottom = -306.0
offset_bottom = -152.0
theme_override_font_sizes/font_size = 34
autowrap_mode = 2
horizontal_alignment = 1
@ -2111,9 +2111,9 @@ anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -64.0
offset_top = -300.0
offset_top = -146.0
offset_right = 76.0
offset_bottom = -236.0
offset_bottom = -82.0
script = ExtResource("19")
digit_height = 52.0
@ -2123,9 +2123,9 @@ anchor_right = 1.0
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 32.0
offset_top = -230.0
offset_top = -76.0
offset_right = -32.0
offset_bottom = -178.0
offset_bottom = -24.0
theme_override_font_sizes/font_size = 32
autowrap_mode = 2
horizontal_alignment = 1