gdharness 1.1.18 → 1.1.20
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
|
@@ -8725,7 +8725,8 @@ function classRemedy(entries) {
|
|
|
8725
8725
|
}
|
|
8726
8726
|
const declaring = declaringScripts(entries);
|
|
8727
8727
|
const reload = declaring.length === 1 ? `editor_rescan with reloadScript set to ${declaring[0]}` : `editor_rescan with reloadScript, a call each for ${declaring.join(" and ")} since it takes one script,`;
|
|
8728
|
-
|
|
8728
|
+
const oneAtATime = declaring.length === 1 ? "" : " Take them one at a time: a rescan that brings in a class also reloads every script naming it and lists them under dependentsReloaded, so a script listed there needs no call of its own.";
|
|
8729
|
+
return `For ${entries.map(written).join(", ")}, run ${reload} first.${oneAtATime} In the one project ` + "that has reproduced a stale enum member, three times, the reload cleared it at once each time, " + "and the one plain editor_rescan tried left the diagnostic standing.";
|
|
8729
8730
|
}
|
|
8730
8731
|
function failedReloadNote(failed) {
|
|
8731
8732
|
const missing = (before, after) => before.filter((name) => !after.includes(name));
|
|
@@ -17537,7 +17538,7 @@ var init_tool_definitions = __esm(() => {
|
|
|
17537
17538
|
value: {
|
|
17538
17539
|
ops: ["set"],
|
|
17539
17540
|
blank: true,
|
|
17540
|
-
description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
|
|
17541
|
+
description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance, or null, which the text null also means, to empty it. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
|
|
17541
17542
|
},
|
|
17542
17543
|
method: {
|
|
17543
17544
|
type: "string",
|
|
@@ -843,7 +843,12 @@ static func _sort_of(container: Variant) -> String:
|
|
|
843
843
|
## call or the write was made on, and handed over as that instance rather than a copy: a method
|
|
844
844
|
## given a piece of the game's state acts on the piece the game keeps, and a slot written with one
|
|
845
845
|
## holds the game's own.
|
|
846
|
+
##
|
|
847
|
+
## The text null names no object, which is what an object slot or parameter takes to be emptied. A
|
|
848
|
+
## caller's null arrived as that text in #772 and #783, and was looked up as a node called "null".
|
|
846
849
|
func _object_named(node: Node, node_path: String, given: Variant, declared: String) -> Dictionary:
|
|
850
|
+
if given is String and str(given).strip_edges() == "null":
|
|
851
|
+
return {"object": null}
|
|
847
852
|
var found: Dictionary = Paths.object_at(_host.get_tree().root, node, node_path, given)
|
|
848
853
|
if found.has("message"):
|
|
849
854
|
return found
|
package/build/index.js
CHANGED
|
@@ -26274,7 +26274,8 @@ function classRemedy(entries) {
|
|
|
26274
26274
|
}
|
|
26275
26275
|
const declaring = declaringScripts(entries);
|
|
26276
26276
|
const reload = declaring.length === 1 ? `editor_rescan with reloadScript set to ${declaring[0]}` : `editor_rescan with reloadScript, a call each for ${declaring.join(" and ")} since it takes one script,`;
|
|
26277
|
-
|
|
26277
|
+
const oneAtATime = declaring.length === 1 ? "" : " Take them one at a time: a rescan that brings in a class also reloads every script naming it and lists them under dependentsReloaded, so a script listed there needs no call of its own.";
|
|
26278
|
+
return `For ${entries.map(written).join(", ")}, run ${reload} first.${oneAtATime} In the one project ` + "that has reproduced a stale enum member, three times, the reload cleared it at once each time, " + "and the one plain editor_rescan tried left the diagnostic standing.";
|
|
26278
26279
|
}
|
|
26279
26280
|
function failedReloadNote(failed) {
|
|
26280
26281
|
const missing = (before, after) => before.filter((name) => !after.includes(name));
|
|
@@ -31194,7 +31195,7 @@ var TOOL_SPECS = [
|
|
|
31194
31195
|
value: {
|
|
31195
31196
|
ops: ["set"],
|
|
31196
31197
|
blank: true,
|
|
31197
|
-
description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
|
|
31198
|
+
description: `set: the value, fitted to the property's type. "" writes an empty string. A property typed as or holding an object takes a path naming one the game holds, the way call's args do, and holds that instance, or null, which the text null also means, to empty it. A typed list or map, such as Array[int] or Dictionary[String, int], takes a JSON list or object with each element fitted to its element type, and an element that cannot become one is refused by its index or key.`
|
|
31198
31199
|
},
|
|
31199
31200
|
method: {
|
|
31200
31201
|
type: "string",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gdharness",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.20",
|
|
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",
|