gdharness 1.2.10 → 1.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/cli.js
CHANGED
|
@@ -18869,7 +18869,7 @@ var init_tool_definitions = __esm(() => {
|
|
|
18869
18869
|
requires: [],
|
|
18870
18870
|
operations: {
|
|
18871
18871
|
click: {
|
|
18872
|
-
summary: `press and release on a Control, a frame apart, and answer with what was under the pointer and what became of the control: in_tree, removed or freed. The control is named by nodePath, or by says with the words on it, found under nodePath when both are given, and the answer then says under found which match it was. Words that are part of a RichTextLabel are pressed where they are drawn rather than at the label's middle, so a link among them is the one pressed: found.pressedOn says "the words", or "the middle of the label" with a note saying why they could not be placed, and on a rich label link_pressed says whether the press reached a link, with link_meta giving the meta the label reports clicked, an empty one included. A control out of sight inside a ScrollContainer is scrolled to first, each container out from it a frame after the one inside, and scrolled_into_view says whether a scroll value changed. A disabled button, and a control that does not process (the game paused, say), are refused: the pointer reaches them and the press does nothing. A 3D node is clicked where it is drawn, and landed then says the interface did not swallow the press: no control under the pointer stopped it, a control letting the pointer pass included, and every viewport on the way out from the room had the pointer over what shows the room`,
|
|
18872
|
+
summary: `press and release on a Control, a frame apart, and answer with what was under the pointer and what became of the control: in_tree, removed or freed. The control is named by nodePath, or by says with the words on it, found under nodePath when both are given, and the answer then says under found which match it was. Words that are part of a RichTextLabel are pressed where they are drawn rather than at the label's middle, so a link among them is the one pressed: found.pressedOn says "the words", or "the middle of the label" with a note saying why they could not be placed, and on a rich label link_pressed says whether the press reached a link, with link_meta giving the meta the label reports clicked, an empty one included. A control out of sight inside a ScrollContainer is scrolled to first, each container out from it a frame after the one inside, and scrolled_into_view says whether a scroll value changed. A button in toggle mode, a CheckBox or CheckButton included, answers pressed with before and after, its button_pressed either side of the click: the same value twice is a click the game undid, and after is null when the click freed it. A disabled button, and a control that does not process (the game paused, say), are refused: the pointer reaches them and the press does nothing. A 3D node is clicked where it is drawn, and landed then says the interface did not swallow the press: no control under the pointer stopped it, a control letting the pointer pass included, and every viewport on the way out from the room had the pointer over what shows the room`,
|
|
18873
18873
|
requires: []
|
|
18874
18874
|
},
|
|
18875
18875
|
choose: {
|
|
@@ -517,6 +517,13 @@ func click(params: Dictionary) -> Dictionary:
|
|
|
517
517
|
var on_rich_text: bool = rich != null
|
|
518
518
|
if on_rich_text:
|
|
519
519
|
var _listening: int = rich.meta_clicked.connect(heard)
|
|
520
|
+
# A toggle's state either side of the press, since landing says nothing of it: a game clock's
|
|
521
|
+
# switch clicked three times answered clicked each time, and a wait for the clock to move then
|
|
522
|
+
# ran out on a clock left stopped. A click the game undid reads the same before and after.
|
|
523
|
+
var toggle: BaseButton = control as BaseButton
|
|
524
|
+
var was_pressed: Variant = null
|
|
525
|
+
if toggle != null and toggle.toggle_mode:
|
|
526
|
+
was_pressed = toggle.button_pressed
|
|
520
527
|
_press_button(viewport, _button(position, button, true, double))
|
|
521
528
|
await _host.get_tree().process_frame
|
|
522
529
|
_press_button(viewport, _button(position, button, false, false))
|
|
@@ -544,6 +551,11 @@ func click(params: Dictionary) -> Dictionary:
|
|
|
544
551
|
}
|
|
545
552
|
if found != null:
|
|
546
553
|
answer["found"] = found
|
|
554
|
+
if was_pressed != null:
|
|
555
|
+
var now_pressed: Variant = null
|
|
556
|
+
if is_instance_valid(toggle):
|
|
557
|
+
now_pressed = toggle.button_pressed
|
|
558
|
+
answer["pressed"] = {"before": was_pressed, "after": now_pressed}
|
|
547
559
|
# Whether a link was pressed apart from what it carries: a bare [url] reports an empty meta,
|
|
548
560
|
# and given as the meta alone that press read exactly like one that reached no link.
|
|
549
561
|
if on_rich_text:
|
package/build/index.js
CHANGED
|
@@ -35028,7 +35028,7 @@ var TOOL_SPECS = [
|
|
|
35028
35028
|
requires: [],
|
|
35029
35029
|
operations: {
|
|
35030
35030
|
click: {
|
|
35031
|
-
summary: `press and release on a Control, a frame apart, and answer with what was under the pointer and what became of the control: in_tree, removed or freed. The control is named by nodePath, or by says with the words on it, found under nodePath when both are given, and the answer then says under found which match it was. Words that are part of a RichTextLabel are pressed where they are drawn rather than at the label's middle, so a link among them is the one pressed: found.pressedOn says "the words", or "the middle of the label" with a note saying why they could not be placed, and on a rich label link_pressed says whether the press reached a link, with link_meta giving the meta the label reports clicked, an empty one included. A control out of sight inside a ScrollContainer is scrolled to first, each container out from it a frame after the one inside, and scrolled_into_view says whether a scroll value changed. A disabled button, and a control that does not process (the game paused, say), are refused: the pointer reaches them and the press does nothing. A 3D node is clicked where it is drawn, and landed then says the interface did not swallow the press: no control under the pointer stopped it, a control letting the pointer pass included, and every viewport on the way out from the room had the pointer over what shows the room`,
|
|
35031
|
+
summary: `press and release on a Control, a frame apart, and answer with what was under the pointer and what became of the control: in_tree, removed or freed. The control is named by nodePath, or by says with the words on it, found under nodePath when both are given, and the answer then says under found which match it was. Words that are part of a RichTextLabel are pressed where they are drawn rather than at the label's middle, so a link among them is the one pressed: found.pressedOn says "the words", or "the middle of the label" with a note saying why they could not be placed, and on a rich label link_pressed says whether the press reached a link, with link_meta giving the meta the label reports clicked, an empty one included. A control out of sight inside a ScrollContainer is scrolled to first, each container out from it a frame after the one inside, and scrolled_into_view says whether a scroll value changed. A button in toggle mode, a CheckBox or CheckButton included, answers pressed with before and after, its button_pressed either side of the click: the same value twice is a click the game undid, and after is null when the click freed it. A disabled button, and a control that does not process (the game paused, say), are refused: the pointer reaches them and the press does nothing. A 3D node is clicked where it is drawn, and landed then says the interface did not swallow the press: no control under the pointer stopped it, a control letting the pointer pass included, and every viewport on the way out from the room had the pointer over what shows the room`,
|
|
35032
35032
|
requires: []
|
|
35033
35033
|
},
|
|
35034
35034
|
choose: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gdharness",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.11",
|
|
4
4
|
"mcpName": "io.github.Aureliolo/gdharness",
|
|
5
5
|
"description": "A harness for driving a Godot 4 project from an agent: editor addons, a runtime bridge into the running game, an MCP server in front of them, and a CLI that installs and diagnoses the Godot side.",
|
|
6
6
|
"type": "module",
|