fix: Correct create_scene argument passing and node ownership #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
JSON Argument Passing on Windows:
src/index.ts
) to the Godot operations script (src/scripts/godot_operations.gd
) were getting corrupted on Windows.child_process.spawn
withshell: true
and attempting Unix-style shell escaping, which doesn't work correctly in Windows shells (cmd/powershell).executeOperation
insrc/index.ts
to usespawn
withshell: false
. This allows Node.js to handle argument quoting correctly across platforms, and the raw JSON string can be passed directly without needing shell-specific escaping.Godot Node Ownership Error:
create_scene
function insrc/scripts/godot_operations.gd
was failing with a Godot engine error:Condition "p_owner == this" is true
.scene_root.owner = scene_root
before packing the scene.scene_root.owner = scene_root
line. ThePackedScene.pack()
method correctly handles the ownership of the root node being packed.With these changes, the
create_scene
tool now functions correctly, successfully creating scene files as intended.