@keeveeg/godot-mcp 1.0.2 → 1.0.3
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/package.json +1 -1
- package/server/dist/config.js +1 -1
- package/server/dist/godot-bridge.d.ts.map +1 -1
- package/server/dist/godot-bridge.js +264 -261
- package/server/dist/godot-bridge.js.map +1 -1
- package/server/dist/index.js +46 -45
- package/server/dist/server.d.ts.map +1 -1
- package/server/dist/server.js +25 -23
- package/server/dist/server.js.map +1 -1
- package/server/dist/tools/addon_management.d.ts.map +1 -1
- package/server/dist/tools/addon_management.js +37 -57
- package/server/dist/tools/addon_management.js.map +1 -1
- package/server/dist/tools/analysis.d.ts.map +1 -1
- package/server/dist/tools/analysis.js +21 -37
- package/server/dist/tools/analysis.js.map +1 -1
- package/server/dist/tools/animation.d.ts.map +1 -1
- package/server/dist/tools/animation.js +95 -135
- package/server/dist/tools/animation.js.map +1 -1
- package/server/dist/tools/audio.d.ts.map +1 -1
- package/server/dist/tools/audio.js +81 -109
- package/server/dist/tools/audio.js.map +1 -1
- package/server/dist/tools/audio_config.d.ts.map +1 -1
- package/server/dist/tools/audio_config.js +50 -76
- package/server/dist/tools/audio_config.js.map +1 -1
- package/server/dist/tools/batch.d.ts.map +1 -1
- package/server/dist/tools/batch.js +57 -89
- package/server/dist/tools/batch.js.map +1 -1
- package/server/dist/tools/build_config.d.ts.map +1 -1
- package/server/dist/tools/build_config.js +59 -91
- package/server/dist/tools/build_config.js.map +1 -1
- package/server/dist/tools/debug_config.d.ts.map +1 -1
- package/server/dist/tools/debug_config.js +46 -70
- package/server/dist/tools/debug_config.js.map +1 -1
- package/server/dist/tools/debugging.d.ts.map +1 -1
- package/server/dist/tools/debugging.js +51 -83
- package/server/dist/tools/debugging.js.map +1 -1
- package/server/dist/tools/editor.d.ts.map +1 -1
- package/server/dist/tools/editor.js +54 -90
- package/server/dist/tools/editor.js.map +1 -1
- package/server/dist/tools/editor_config.d.ts.map +1 -1
- package/server/dist/tools/editor_config.js +53 -85
- package/server/dist/tools/editor_config.js.map +1 -1
- package/server/dist/tools/export.d.ts.map +1 -1
- package/server/dist/tools/export.js +46 -74
- package/server/dist/tools/export.js.map +1 -1
- package/server/dist/tools/gameplay_automation.d.ts.map +1 -1
- package/server/dist/tools/gameplay_automation.js +70 -102
- package/server/dist/tools/gameplay_automation.js.map +1 -1
- package/server/dist/tools/index.js +42 -42
- package/server/dist/tools/input.d.ts.map +1 -1
- package/server/dist/tools/input.js +68 -100
- package/server/dist/tools/input.js.map +1 -1
- package/server/dist/tools/memory_profiling.d.ts.map +1 -1
- package/server/dist/tools/memory_profiling.js +31 -51
- package/server/dist/tools/memory_profiling.js.map +1 -1
- package/server/dist/tools/navigation.d.ts.map +1 -1
- package/server/dist/tools/navigation.js +86 -126
- package/server/dist/tools/navigation.js.map +1 -1
- package/server/dist/tools/node.d.ts.map +1 -1
- package/server/dist/tools/node.js +134 -202
- package/server/dist/tools/node.js.map +1 -1
- package/server/dist/tools/node_config.d.ts.map +1 -1
- package/server/dist/tools/node_config.js +58 -90
- package/server/dist/tools/node_config.js.map +1 -1
- package/server/dist/tools/particles.d.ts.map +1 -1
- package/server/dist/tools/particles.js +75 -111
- package/server/dist/tools/particles.js.map +1 -1
- package/server/dist/tools/physics.d.ts.map +1 -1
- package/server/dist/tools/physics.js +67 -99
- package/server/dist/tools/physics.js.map +1 -1
- package/server/dist/tools/physics_config.d.ts.map +1 -1
- package/server/dist/tools/physics_config.js +56 -88
- package/server/dist/tools/physics_config.js.map +1 -1
- package/server/dist/tools/platform_export.d.ts.map +1 -1
- package/server/dist/tools/platform_export.js +45 -69
- package/server/dist/tools/platform_export.js.map +1 -1
- package/server/dist/tools/platform_specific.d.ts.map +1 -1
- package/server/dist/tools/platform_specific.js +61 -85
- package/server/dist/tools/platform_specific.js.map +1 -1
- package/server/dist/tools/profiling.d.ts.map +1 -1
- package/server/dist/tools/profiling.js +13 -21
- package/server/dist/tools/profiling.js.map +1 -1
- package/server/dist/tools/project.d.ts.map +1 -1
- package/server/dist/tools/project.js +51 -79
- package/server/dist/tools/project.js.map +1 -1
- package/server/dist/tools/project_config.d.ts.map +1 -1
- package/server/dist/tools/project_config.js +88 -136
- package/server/dist/tools/project_config.js.map +1 -1
- package/server/dist/tools/project_creation.d.ts.map +1 -1
- package/server/dist/tools/project_creation.js +96 -140
- package/server/dist/tools/project_creation.js.map +1 -1
- package/server/dist/tools/rendering_config.d.ts.map +1 -1
- package/server/dist/tools/rendering_config.js +67 -103
- package/server/dist/tools/rendering_config.js.map +1 -1
- package/server/dist/tools/resource.js +77 -117
- package/server/dist/tools/resource_config.d.ts.map +1 -1
- package/server/dist/tools/resource_config.js +45 -69
- package/server/dist/tools/resource_config.js.map +1 -1
- package/server/dist/tools/runtime.d.ts.map +1 -1
- package/server/dist/tools/runtime.js +148 -224
- package/server/dist/tools/runtime.js.map +1 -1
- package/server/dist/tools/save_load.d.ts.map +1 -1
- package/server/dist/tools/save_load.js +36 -56
- package/server/dist/tools/save_load.js.map +1 -1
- package/server/dist/tools/scene.d.ts.map +1 -1
- package/server/dist/tools/scene.js +78 -122
- package/server/dist/tools/scene.js.map +1 -1
- package/server/dist/tools/scene3d.d.ts.map +1 -1
- package/server/dist/tools/scene3d.js +51 -75
- package/server/dist/tools/scene3d.js.map +1 -1
- package/server/dist/tools/scene_config.d.ts.map +1 -1
- package/server/dist/tools/scene_config.js +48 -72
- package/server/dist/tools/scene_config.js.map +1 -1
- package/server/dist/tools/script.js +68 -104
- package/server/dist/tools/script.js.map +1 -1
- package/server/dist/tools/shader.d.ts.map +1 -1
- package/server/dist/tools/shader.js +75 -111
- package/server/dist/tools/shader.js.map +1 -1
- package/server/dist/tools/shared-types.d.ts +2 -2
- package/server/dist/tools/shared-types.d.ts.map +1 -1
- package/server/dist/tools/shared-types.js +38 -36
- package/server/dist/tools/shared-types.js.map +1 -1
- package/server/dist/tools/testing.d.ts.map +1 -1
- package/server/dist/tools/testing.js +47 -69
- package/server/dist/tools/testing.js.map +1 -1
- package/server/dist/tools/theme.js +62 -90
- package/server/dist/tools/tilemap.js +58 -82
- package/server/dist/tools/visual_testing.d.ts.map +1 -1
- package/server/dist/tools/visual_testing.js +50 -74
- package/server/dist/tools/visual_testing.js.map +1 -1
- package/server/dist/types.js +15 -15
- package/server/dist/tools/accessibility.d.ts +0 -7
- package/server/dist/tools/accessibility.d.ts.map +0 -1
- package/server/dist/tools/accessibility.js +0 -71
- package/server/dist/tools/accessibility.js.map +0 -1
- package/server/dist/tools/analytics.d.ts +0 -7
- package/server/dist/tools/analytics.d.ts.map +0 -1
- package/server/dist/tools/analytics.js +0 -76
- package/server/dist/tools/analytics.js.map +0 -1
- package/server/dist/tools/asset_pipeline.d.ts +0 -7
- package/server/dist/tools/asset_pipeline.d.ts.map +0 -1
- package/server/dist/tools/asset_pipeline.js +0 -102
- package/server/dist/tools/asset_pipeline.js.map +0 -1
- package/server/dist/tools/asset_scaffolding.d.ts +0 -7
- package/server/dist/tools/asset_scaffolding.d.ts.map +0 -1
- package/server/dist/tools/asset_scaffolding.js +0 -113
- package/server/dist/tools/asset_scaffolding.js.map +0 -1
- package/server/dist/tools/cicd_pipeline.d.ts +0 -7
- package/server/dist/tools/cicd_pipeline.d.ts.map +0 -1
- package/server/dist/tools/cicd_pipeline.js +0 -125
- package/server/dist/tools/cicd_pipeline.js.map +0 -1
- package/server/dist/tools/cloud_services.d.ts +0 -7
- package/server/dist/tools/cloud_services.d.ts.map +0 -1
- package/server/dist/tools/cloud_services.js +0 -97
- package/server/dist/tools/cloud_services.js.map +0 -1
- package/server/dist/tools/code_generation.d.ts +0 -7
- package/server/dist/tools/code_generation.d.ts.map +0 -1
- package/server/dist/tools/code_generation.js +0 -79
- package/server/dist/tools/code_generation.js.map +0 -1
- package/server/dist/tools/code_quality.d.ts +0 -7
- package/server/dist/tools/code_quality.d.ts.map +0 -1
- package/server/dist/tools/code_quality.js +0 -98
- package/server/dist/tools/code_quality.js.map +0 -1
- package/server/dist/tools/collaboration.d.ts +0 -7
- package/server/dist/tools/collaboration.d.ts.map +0 -1
- package/server/dist/tools/collaboration.js +0 -73
- package/server/dist/tools/collaboration.js.map +0 -1
- package/server/dist/tools/documentation_tools.d.ts +0 -7
- package/server/dist/tools/documentation_tools.d.ts.map +0 -1
- package/server/dist/tools/documentation_tools.js +0 -89
- package/server/dist/tools/documentation_tools.js.map +0 -1
- package/server/dist/tools/game_template.d.ts +0 -7
- package/server/dist/tools/game_template.d.ts.map +0 -1
- package/server/dist/tools/game_template.js +0 -112
- package/server/dist/tools/game_template.js.map +0 -1
- package/server/dist/tools/git_integration.d.ts +0 -7
- package/server/dist/tools/git_integration.d.ts.map +0 -1
- package/server/dist/tools/git_integration.js +0 -75
- package/server/dist/tools/git_integration.js.map +0 -1
- package/server/dist/tools/headless_testing.d.ts +0 -7
- package/server/dist/tools/headless_testing.d.ts.map +0 -1
- package/server/dist/tools/headless_testing.js +0 -65
- package/server/dist/tools/headless_testing.js.map +0 -1
- package/server/dist/tools/iap_monetization.d.ts +0 -7
- package/server/dist/tools/iap_monetization.d.ts.map +0 -1
- package/server/dist/tools/iap_monetization.js +0 -70
- package/server/dist/tools/iap_monetization.js.map +0 -1
- package/server/dist/tools/localization.d.ts +0 -7
- package/server/dist/tools/localization.d.ts.map +0 -1
- package/server/dist/tools/localization.js +0 -97
- package/server/dist/tools/localization.js.map +0 -1
- package/server/dist/tools/marketing.d.ts +0 -7
- package/server/dist/tools/marketing.d.ts.map +0 -1
- package/server/dist/tools/marketing.js +0 -87
- package/server/dist/tools/marketing.js.map +0 -1
- package/server/dist/tools/mod_support.d.ts +0 -7
- package/server/dist/tools/mod_support.d.ts.map +0 -1
- package/server/dist/tools/mod_support.js +0 -93
- package/server/dist/tools/mod_support.js.map +0 -1
- package/server/dist/tools/networking.d.ts +0 -7
- package/server/dist/tools/networking.d.ts.map +0 -1
- package/server/dist/tools/networking.js +0 -94
- package/server/dist/tools/networking.js.map +0 -1
- package/server/dist/tools/performance_optimization.d.ts +0 -7
- package/server/dist/tools/performance_optimization.d.ts.map +0 -1
- package/server/dist/tools/performance_optimization.js +0 -75
- package/server/dist/tools/performance_optimization.js.map +0 -1
- package/server/dist/tools/scene_scaffolding.d.ts +0 -7
- package/server/dist/tools/scene_scaffolding.d.ts.map +0 -1
- package/server/dist/tools/scene_scaffolding.js +0 -110
- package/server/dist/tools/scene_scaffolding.js.map +0 -1
- package/server/dist/tools/script_scaffolding.d.ts +0 -7
- package/server/dist/tools/script_scaffolding.d.ts.map +0 -1
- package/server/dist/tools/script_scaffolding.js +0 -115
- package/server/dist/tools/script_scaffolding.js.map +0 -1
- package/server/dist/tools/security.d.ts +0 -7
- package/server/dist/tools/security.d.ts.map +0 -1
- package/server/dist/tools/security.js +0 -73
- package/server/dist/tools/security.js.map +0 -1
- package/server/dist/tools/version_control_advanced.d.ts +0 -7
- package/server/dist/tools/version_control_advanced.d.ts.map +0 -1
- package/server/dist/tools/version_control_advanced.js +0 -100
- package/server/dist/tools/version_control_advanced.js.map +0 -1
|
@@ -4,126 +4,82 @@
|
|
|
4
4
|
import { callGodot } from '../server.js';
|
|
5
5
|
import { z, ScenePath } from './shared-types.js';
|
|
6
6
|
export function registerSceneTools(server, bridge) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
'
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
'
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
'
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
'
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
async (args) => callGodot(bridge, 'scene/play', args),
|
|
87
|
-
);
|
|
88
|
-
// 8. stop_scene
|
|
89
|
-
server.registerTool(
|
|
90
|
-
'stop_scene',
|
|
91
|
-
{
|
|
92
|
-
description: 'Stop the currently playing scene',
|
|
93
|
-
inputSchema: {},
|
|
94
|
-
},
|
|
95
|
-
async () => callGodot(bridge, 'scene/stop'),
|
|
96
|
-
);
|
|
97
|
-
// 9. save_scene
|
|
98
|
-
server.registerTool(
|
|
99
|
-
'save_scene',
|
|
100
|
-
{
|
|
101
|
-
description: 'Save the current scene or save it to a new path',
|
|
102
|
-
inputSchema: {
|
|
103
|
-
path: z.string().optional().describe('Path of the scene to save (defaults to current)'),
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
async (args) => callGodot(bridge, 'scene/save', args),
|
|
107
|
-
);
|
|
108
|
-
// 10. get_loaded_scenes
|
|
109
|
-
server.registerTool(
|
|
110
|
-
'get_loaded_scenes',
|
|
111
|
-
{
|
|
112
|
-
description: 'Get a list of all currently loaded scenes in the editor',
|
|
113
|
-
inputSchema: {},
|
|
114
|
-
},
|
|
115
|
-
async () => callGodot(bridge, 'scene/get_loaded'),
|
|
116
|
-
);
|
|
117
|
-
// 11. set_main_scene
|
|
118
|
-
server.registerTool(
|
|
119
|
-
'set_main_scene',
|
|
120
|
-
{
|
|
121
|
-
description: "Set the project's main scene",
|
|
122
|
-
inputSchema: {
|
|
123
|
-
path: ScenePath.describe('Scene file path to set as main scene'),
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
async (args) => callGodot(bridge, 'scene/set_main', args),
|
|
127
|
-
);
|
|
7
|
+
// 1. get_scene_tree
|
|
8
|
+
server.registerTool('get_scene_tree', {
|
|
9
|
+
description: 'Get the node tree of the specified or currently open scene',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
max_depth: z.number().int().positive().optional().default(15).describe('Maximum tree depth to serialize (default: 15)'),
|
|
12
|
+
},
|
|
13
|
+
}, async (args) => callGodot(bridge, 'scene/get_tree', args));
|
|
14
|
+
// 2. get_scene_file_content
|
|
15
|
+
server.registerTool('get_scene_file_content', {
|
|
16
|
+
description: 'Read the raw .tscn/.scn file content of a scene',
|
|
17
|
+
inputSchema: {
|
|
18
|
+
path: ScenePath,
|
|
19
|
+
},
|
|
20
|
+
}, async (args) => callGodot(bridge, 'scene/get_file_content', args));
|
|
21
|
+
// 3. create_scene
|
|
22
|
+
server.registerTool('create_scene', {
|
|
23
|
+
description: 'Create a new empty scene with a specified root node type',
|
|
24
|
+
inputSchema: {
|
|
25
|
+
path: ScenePath.describe("Path to save the scene (e.g. 'res://scenes/new.tscn')"),
|
|
26
|
+
root_node_type: z.string().optional().describe("Root node type (e.g. 'Node2D', 'Control')"),
|
|
27
|
+
},
|
|
28
|
+
}, async (args) => callGodot(bridge, 'scene/create', args));
|
|
29
|
+
// 4. open_scene
|
|
30
|
+
server.registerTool('open_scene', {
|
|
31
|
+
description: 'Open a scene file in the editor',
|
|
32
|
+
inputSchema: {
|
|
33
|
+
path: ScenePath.describe('Scene file path to open'),
|
|
34
|
+
},
|
|
35
|
+
}, async (args) => callGodot(bridge, 'scene/open', args));
|
|
36
|
+
// 5. delete_scene
|
|
37
|
+
server.registerTool('delete_scene', {
|
|
38
|
+
description: 'Delete a scene file from the project',
|
|
39
|
+
inputSchema: {
|
|
40
|
+
path: ScenePath.describe('Scene file path to delete'),
|
|
41
|
+
force: z.boolean().optional().describe('Force close and delete if scene is currently open'),
|
|
42
|
+
},
|
|
43
|
+
}, async (args) => callGodot(bridge, 'scene/delete', args));
|
|
44
|
+
// 6. add_scene_instance
|
|
45
|
+
server.registerTool('add_scene_instance', {
|
|
46
|
+
description: 'Add an instance of a scene as a child of a node in the current scene',
|
|
47
|
+
inputSchema: {
|
|
48
|
+
scene_path: ScenePath.describe('Path to the scene to instantiate'),
|
|
49
|
+
parent_path: z.string().optional().describe('Parent node path, defaults to scene root'),
|
|
50
|
+
},
|
|
51
|
+
}, async (args) => callGodot(bridge, 'scene/add_instance', args));
|
|
52
|
+
// 7. play_scene
|
|
53
|
+
server.registerTool('play_scene', {
|
|
54
|
+
description: 'Start playing the current or specified scene. Required before using any runtime tools (get_game_*, capture_frames, etc.)',
|
|
55
|
+
inputSchema: {
|
|
56
|
+
mode: z.enum(['main', 'current', 'custom']).optional().describe("Play mode: 'main' (main scene), 'current' (open scene), or 'custom' (specified by scene_path)"),
|
|
57
|
+
scene_path: z.string().optional().describe("Scene to play when mode is 'custom'"),
|
|
58
|
+
},
|
|
59
|
+
}, async (args) => callGodot(bridge, 'scene/play', args));
|
|
60
|
+
// 8. stop_scene
|
|
61
|
+
server.registerTool('stop_scene', {
|
|
62
|
+
description: 'Stop the currently playing scene',
|
|
63
|
+
inputSchema: {},
|
|
64
|
+
}, async () => callGodot(bridge, 'scene/stop'));
|
|
65
|
+
// 9. save_scene
|
|
66
|
+
server.registerTool('save_scene', {
|
|
67
|
+
description: 'Save the current scene or save it to a new path',
|
|
68
|
+
inputSchema: {
|
|
69
|
+
path: z.string().optional().describe('Path of the scene to save (defaults to current)'),
|
|
70
|
+
},
|
|
71
|
+
}, async (args) => callGodot(bridge, 'scene/save', args));
|
|
72
|
+
// 10. get_loaded_scenes
|
|
73
|
+
server.registerTool('get_loaded_scenes', {
|
|
74
|
+
description: 'Get a list of all currently loaded scenes in the editor',
|
|
75
|
+
inputSchema: {},
|
|
76
|
+
}, async () => callGodot(bridge, 'scene/get_loaded'));
|
|
77
|
+
// 11. set_main_scene
|
|
78
|
+
server.registerTool('set_main_scene', {
|
|
79
|
+
description: "Set the project's main scene",
|
|
80
|
+
inputSchema: {
|
|
81
|
+
path: ScenePath.describe('Scene file path to set as main scene'),
|
|
82
|
+
},
|
|
83
|
+
}, async (args) => callGodot(bridge, 'scene/set_main', args));
|
|
128
84
|
}
|
|
129
|
-
//# sourceMappingURL=scene.js.map
|
|
85
|
+
//# sourceMappingURL=scene.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAmB;IACvE,oBAAoB;IACpB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SACxH;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAA+B,CAAC,CACrF,CAAC;IAEF,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;SAChB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACjF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SAC5F;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAA+B,CAAC,CACnF,CAAC;IAEF,gBAAgB;IAChB,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACpD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAA+B,CAAC,CACjF,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SAC5F;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAA+B,CAAC,CACnF,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE;YACX,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACxF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;IAEF,gBAAgB;IAChB,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAmB;IACvE,oBAAoB;IACpB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SACxH;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAA+B,CAAC,CACrF,CAAC;IAEF,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;SAChB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACjF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SAC5F;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAA+B,CAAC,CACnF,CAAC;IAEF,gBAAgB;IAChB,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACpD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAA+B,CAAC,CACjF,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SAC5F;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAA+B,CAAC,CACnF,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE;YACX,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACxF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;IAEF,gBAAgB;IAChB,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,0HAA0H;QACvI,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+FAA+F,CAAC;YAChK,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAA+B,CAAC,CACjF,CAAC;IAEF,gBAAgB;IAChB,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAC5C,CAAC;IAEF,gBAAgB;IAChB,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SACxF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAA+B,CAAC,CACjF,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAClD,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACjE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAA+B,CAAC,CACrF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene3d.d.ts","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"scene3d.d.ts","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAgFjF"}
|
|
@@ -4,79 +4,55 @@
|
|
|
4
4
|
import { callGodot } from '../server.js';
|
|
5
5
|
import { z, NodePath, ParentPath, Properties, OptionalProperties } from './shared-types.js';
|
|
6
6
|
export function registerScene3dTools(server, bridge) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
'
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
// 5. add_gridmap
|
|
58
|
-
server.registerTool(
|
|
59
|
-
'add_gridmap',
|
|
60
|
-
{
|
|
61
|
-
description: 'Add a GridMap node for 3D tile-based level design',
|
|
62
|
-
inputSchema: {
|
|
63
|
-
parent: ParentPath,
|
|
64
|
-
properties: OptionalProperties.describe('GridMap properties (mesh_library_path, cell_size, etc.)'),
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
async (args) => callGodot(bridge, 'scene3d/add_gridmap', args),
|
|
68
|
-
);
|
|
69
|
-
// 6. set_material_3d
|
|
70
|
-
server.registerTool(
|
|
71
|
-
'set_material_3d',
|
|
72
|
-
{
|
|
73
|
-
description: 'Create and apply a StandardMaterial3D or ShaderMaterial to a mesh',
|
|
74
|
-
inputSchema: {
|
|
75
|
-
path: NodePath.describe('MeshInstance3D node path'),
|
|
76
|
-
properties: Properties.describe('Material properties (albedo_color, metallic, roughness, shader_path, etc.)'),
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
async (args) => callGodot(bridge, 'scene3d/set_material', args),
|
|
80
|
-
);
|
|
7
|
+
// 1. add_mesh_instance
|
|
8
|
+
server.registerTool('add_mesh_instance', {
|
|
9
|
+
description: 'Add a MeshInstance3D with a primitive mesh type',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
parent: ParentPath,
|
|
12
|
+
mesh_type: z.enum(['cube', 'sphere', 'cylinder', 'capsule', 'plane', 'prism', 'torus']).describe('Primitive mesh type'),
|
|
13
|
+
properties: OptionalProperties.describe('Mesh properties (size, material_path, etc.)'),
|
|
14
|
+
},
|
|
15
|
+
}, async (args) => callGodot(bridge, 'scene3d/add_mesh', args));
|
|
16
|
+
// 2. setup_camera_3d
|
|
17
|
+
server.registerTool('setup_camera_3d', {
|
|
18
|
+
description: 'Add and configure a Camera3D node',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
path: NodePath.describe('Camera node path'),
|
|
21
|
+
properties: Properties.describe('Camera properties (fov, near, far, position, look_at, make_current, etc.)'),
|
|
22
|
+
},
|
|
23
|
+
}, async (args) => callGodot(bridge, 'scene3d/setup_camera', args));
|
|
24
|
+
// 3. setup_lighting
|
|
25
|
+
server.registerTool('setup_lighting', {
|
|
26
|
+
description: 'Add a light node (DirectionalLight3D, OmniLight3D, SpotLight3D)',
|
|
27
|
+
inputSchema: {
|
|
28
|
+
parent: ParentPath,
|
|
29
|
+
type: z.enum(['omni', 'spot', 'directional']).describe('Light type'),
|
|
30
|
+
properties: OptionalProperties.describe('Light properties (color, energy, position, shadow_enabled, etc.)'),
|
|
31
|
+
},
|
|
32
|
+
}, async (args) => callGodot(bridge, 'scene3d/setup_lighting', args));
|
|
33
|
+
// 4. setup_environment
|
|
34
|
+
server.registerTool('setup_environment', {
|
|
35
|
+
description: 'Configure the WorldEnvironment for the 3D scene',
|
|
36
|
+
inputSchema: {
|
|
37
|
+
path: NodePath.describe('WorldEnvironment node path'),
|
|
38
|
+
properties: Properties.describe('Environment properties (background_mode, background_color, ambient_light_color, fog_enabled, glow_enabled, etc.)'),
|
|
39
|
+
},
|
|
40
|
+
}, async (args) => callGodot(bridge, 'scene3d/setup_environment', args));
|
|
41
|
+
// 5. add_gridmap
|
|
42
|
+
server.registerTool('add_gridmap', {
|
|
43
|
+
description: 'Add a GridMap node for 3D tile-based level design',
|
|
44
|
+
inputSchema: {
|
|
45
|
+
parent: ParentPath,
|
|
46
|
+
properties: OptionalProperties.describe('GridMap properties (mesh_library_path, cell_size, etc.)'),
|
|
47
|
+
},
|
|
48
|
+
}, async (args) => callGodot(bridge, 'scene3d/add_gridmap', args));
|
|
49
|
+
// 6. set_material_3d
|
|
50
|
+
server.registerTool('set_material_3d', {
|
|
51
|
+
description: 'Create and apply a StandardMaterial3D or ShaderMaterial to a mesh',
|
|
52
|
+
inputSchema: {
|
|
53
|
+
path: NodePath.describe('MeshInstance3D node path'),
|
|
54
|
+
properties: Properties.describe('Material properties (albedo_color, metallic, roughness, shader_path, etc.)'),
|
|
55
|
+
},
|
|
56
|
+
}, async (args) => callGodot(bridge, 'scene3d/set_material', args));
|
|
81
57
|
}
|
|
82
|
-
//# sourceMappingURL=scene3d.js.map
|
|
58
|
+
//# sourceMappingURL=scene3d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene3d.js","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5F,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,MAAmB;IACzE,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE;YACX,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"scene3d.js","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene_config.d.ts","sourceRoot":"","sources":["../../src/tools/scene_config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"scene_config.d.ts","sourceRoot":"","sources":["../../src/tools/scene_config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA6ErF"}
|
|
@@ -4,76 +4,52 @@
|
|
|
4
4
|
import { callGodot } from '../server.js';
|
|
5
5
|
import { z, NodePath, OptionalScenePath } from './shared-types.js';
|
|
6
6
|
export function registerSceneConfigTools(server, bridge) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
async (args) => callGodot(bridge, 'scene_config/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
// 5. get_scene_meta
|
|
55
|
-
server.registerTool(
|
|
56
|
-
'get_scene_meta',
|
|
57
|
-
{
|
|
58
|
-
description: "Get metadata stored on a scene's root node",
|
|
59
|
-
inputSchema: {
|
|
60
|
-
scene_path: OptionalScenePath.describe('Scene file path (empty for current scene)'),
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
async (args) => callGodot(bridge, 'scene_config/get_meta', args),
|
|
64
|
-
);
|
|
65
|
-
// 6. set_scene_meta
|
|
66
|
-
server.registerTool(
|
|
67
|
-
'set_scene_meta',
|
|
68
|
-
{
|
|
69
|
-
description: "Set metadata on the current scene's root node",
|
|
70
|
-
inputSchema: {
|
|
71
|
-
scene_path: z.string().optional().describe('Omit or pass empty string — only the current scene is supported'),
|
|
72
|
-
key: z.string().describe('Metadata key'),
|
|
73
|
-
value: z.unknown().describe('Metadata value (string, number, bool, array, or dict)'),
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
async (args) => callGodot(bridge, 'scene_config/set_meta', args),
|
|
77
|
-
);
|
|
7
|
+
// 1. get_scene_inheritance
|
|
8
|
+
server.registerTool('get_scene_inheritance', {
|
|
9
|
+
description: 'Get the scene inheritance chain (instantiated scenes, inherited scenes)',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
scene_path: OptionalScenePath.describe('Scene file path (empty for current scene)'),
|
|
12
|
+
},
|
|
13
|
+
}, async (args) => callGodot(bridge, 'scene_config/get_inheritance', args));
|
|
14
|
+
// 2. set_scene_unique_name
|
|
15
|
+
server.registerTool('set_scene_unique_name', {
|
|
16
|
+
description: 'Toggle the unique name flag on a node (accessible as %NodeName)',
|
|
17
|
+
inputSchema: {
|
|
18
|
+
node_path: NodePath.describe('Node path within the scene'),
|
|
19
|
+
unique: z.boolean().optional().default(true).describe('Enable (true) or disable (false) unique name (default: true)'),
|
|
20
|
+
},
|
|
21
|
+
}, async (args) => callGodot(bridge, 'scene_config/set_unique_name', args));
|
|
22
|
+
// 3. get_scene_groups
|
|
23
|
+
server.registerTool('get_scene_groups', {
|
|
24
|
+
description: 'Get all groups used in a scene and which nodes belong to each',
|
|
25
|
+
inputSchema: {
|
|
26
|
+
scene_path: OptionalScenePath.describe('Scene file path (empty for current scene)'),
|
|
27
|
+
},
|
|
28
|
+
}, async (args) => callGodot(bridge, 'scene_config/get_groups', args));
|
|
29
|
+
// 4. set_scene_group
|
|
30
|
+
server.registerTool('set_scene_group', {
|
|
31
|
+
description: 'Add or remove a node from a group',
|
|
32
|
+
inputSchema: {
|
|
33
|
+
node_path: NodePath.describe('Node path within the current scene'),
|
|
34
|
+
group: z.string().describe('Group name'),
|
|
35
|
+
add: z.boolean().optional().default(true).describe('true to add to group, false to remove (default: true)'),
|
|
36
|
+
},
|
|
37
|
+
}, async (args) => callGodot(bridge, 'scene_config/set_group', args));
|
|
38
|
+
// 5. get_scene_meta
|
|
39
|
+
server.registerTool('get_scene_meta', {
|
|
40
|
+
description: "Get metadata stored on a scene's root node",
|
|
41
|
+
inputSchema: {
|
|
42
|
+
scene_path: OptionalScenePath.describe('Scene file path (empty for current scene)'),
|
|
43
|
+
},
|
|
44
|
+
}, async (args) => callGodot(bridge, 'scene_config/get_meta', args));
|
|
45
|
+
// 6. set_scene_meta
|
|
46
|
+
server.registerTool('set_scene_meta', {
|
|
47
|
+
description: "Set metadata on the current scene's root node",
|
|
48
|
+
inputSchema: {
|
|
49
|
+
scene_path: z.string().optional().describe('Omit or pass empty string — only the current scene is supported'),
|
|
50
|
+
key: z.string().describe('Metadata key'),
|
|
51
|
+
value: z.unknown().describe('Metadata value (string, number, bool, array, or dict)'),
|
|
52
|
+
},
|
|
53
|
+
}, async (args) => callGodot(bridge, 'scene_config/set_meta', args));
|
|
78
54
|
}
|
|
79
|
-
//# sourceMappingURL=scene_config.js.map
|
|
55
|
+
//# sourceMappingURL=scene_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene_config.js","sourceRoot":"","sources":["../../src/tools/scene_config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,MAAmB;IAC7E,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE;YACX,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SACpF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"scene_config.js","sourceRoot":"","sources":["../../src/tools/scene_config.ts"],"names":[],"mappings":"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"}
|