@keeveeg/godot-mcp 1.0.1 → 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/README.md +1 -1
- 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,115 +4,79 @@
|
|
|
4
4
|
import { callGodot } from '../server.js';
|
|
5
5
|
import { z, NodePath, ParentPath, Dimension, Properties, OptionalProperties } from './shared-types.js';
|
|
6
6
|
export function registerParticlesTools(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
|
-
async (args) => callGodot(bridge, 'particles/get_info', args),
|
|
84
|
-
);
|
|
85
|
-
// 6. set_particle_emission_shape
|
|
86
|
-
server.registerTool(
|
|
87
|
-
'set_particle_emission_shape',
|
|
88
|
-
{
|
|
89
|
-
description: 'Set the emission shape for a particle system',
|
|
90
|
-
inputSchema: {
|
|
91
|
-
path: NodePath.describe('Particle node path'),
|
|
92
|
-
shape: z.enum(['point', 'sphere', 'box', 'ring']).describe('Emission shape type'),
|
|
93
|
-
size: z.array(z.number()).optional().describe('Shape size parameters'),
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
async (args) => callGodot(bridge, 'particles/set_emission_shape', args),
|
|
97
|
-
);
|
|
98
|
-
// 7. set_particle_velocity_curve
|
|
99
|
-
server.registerTool(
|
|
100
|
-
'set_particle_velocity_curve',
|
|
101
|
-
{
|
|
102
|
-
description: 'Set a velocity curve for a particle system',
|
|
103
|
-
inputSchema: {
|
|
104
|
-
path: NodePath.describe('Particle node path'),
|
|
105
|
-
curve: z
|
|
106
|
-
.array(
|
|
107
|
-
z.object({
|
|
108
|
-
offset: z.number().min(0).max(1).describe('Curve position (0-1)'),
|
|
109
|
-
value: z.number().describe('Velocity value at this point'),
|
|
110
|
-
}),
|
|
111
|
-
)
|
|
112
|
-
.describe('Curve points'),
|
|
113
|
-
},
|
|
114
|
-
},
|
|
115
|
-
async (args) => callGodot(bridge, 'particles/set_velocity_curve', args),
|
|
116
|
-
);
|
|
7
|
+
// 1. create_particles
|
|
8
|
+
server.registerTool('create_particles', {
|
|
9
|
+
description: 'Create a GPUParticles2D or GPUParticles3D node',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
parent: ParentPath,
|
|
12
|
+
type: Dimension,
|
|
13
|
+
properties: OptionalProperties,
|
|
14
|
+
},
|
|
15
|
+
}, async (args) => callGodot(bridge, 'particles/create', args));
|
|
16
|
+
// 8. delete_particles
|
|
17
|
+
server.registerTool('delete_particles', {
|
|
18
|
+
description: 'Delete a particle system node from the scene',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
node_path: NodePath.describe('Path to the particle node to delete'),
|
|
21
|
+
},
|
|
22
|
+
}, async (args) => callGodot(bridge, 'particles/delete', args));
|
|
23
|
+
// 2. set_particle_material
|
|
24
|
+
server.registerTool('set_particle_material', {
|
|
25
|
+
description: 'Set or create a ParticleProcessMaterial for a particle system',
|
|
26
|
+
inputSchema: {
|
|
27
|
+
path: NodePath.describe('Particle node path'),
|
|
28
|
+
properties: Properties.describe('Process material properties (direction, spread, gravity, initial_velocity, etc.)'),
|
|
29
|
+
},
|
|
30
|
+
}, async (args) => callGodot(bridge, 'particles/set_material', args));
|
|
31
|
+
// 3. set_particle_color_gradient
|
|
32
|
+
server.registerTool('set_particle_color_gradient', {
|
|
33
|
+
description: 'Set a color gradient on a particle system',
|
|
34
|
+
inputSchema: {
|
|
35
|
+
path: NodePath.describe('Particle node path'),
|
|
36
|
+
gradient: z
|
|
37
|
+
.array(z.object({
|
|
38
|
+
offset: z.number().min(0).max(1).describe('Gradient position (0-1)'),
|
|
39
|
+
color: z.string().describe("Color as hex (e.g. '#FF0000FF')"),
|
|
40
|
+
}))
|
|
41
|
+
.describe('Gradient color stops'),
|
|
42
|
+
},
|
|
43
|
+
}, async (args) => callGodot(bridge, 'particles/set_color_gradient', args));
|
|
44
|
+
// 4. apply_particle_preset
|
|
45
|
+
server.registerTool('apply_particle_preset', {
|
|
46
|
+
description: 'Apply a predefined particle effect preset',
|
|
47
|
+
inputSchema: {
|
|
48
|
+
path: NodePath.describe('Particle node path'),
|
|
49
|
+
preset: z.enum(['fire', 'smoke', 'sparks', 'rain', 'snow']).describe('Particle preset name'),
|
|
50
|
+
},
|
|
51
|
+
}, async (args) => callGodot(bridge, 'particles/apply_preset', args));
|
|
52
|
+
// 5. get_particle_info
|
|
53
|
+
server.registerTool('get_particle_info', {
|
|
54
|
+
description: "Get information about a particle system's configuration",
|
|
55
|
+
inputSchema: {
|
|
56
|
+
path: NodePath.describe('Particle node path'),
|
|
57
|
+
},
|
|
58
|
+
}, async (args) => callGodot(bridge, 'particles/get_info', args));
|
|
59
|
+
// 6. set_particle_emission_shape
|
|
60
|
+
server.registerTool('set_particle_emission_shape', {
|
|
61
|
+
description: 'Set the emission shape for a particle system',
|
|
62
|
+
inputSchema: {
|
|
63
|
+
path: NodePath.describe('Particle node path'),
|
|
64
|
+
shape: z.enum(['point', 'sphere', 'box', 'ring']).describe('Emission shape type'),
|
|
65
|
+
size: z.array(z.number()).optional().describe('Shape size parameters'),
|
|
66
|
+
},
|
|
67
|
+
}, async (args) => callGodot(bridge, 'particles/set_emission_shape', args));
|
|
68
|
+
// 7. set_particle_velocity_curve
|
|
69
|
+
server.registerTool('set_particle_velocity_curve', {
|
|
70
|
+
description: 'Set a velocity curve for a particle system',
|
|
71
|
+
inputSchema: {
|
|
72
|
+
path: NodePath.describe('Particle node path'),
|
|
73
|
+
curve: z
|
|
74
|
+
.array(z.object({
|
|
75
|
+
offset: z.number().min(0).max(1).describe('Curve position (0-1)'),
|
|
76
|
+
value: z.number().describe('Velocity value at this point'),
|
|
77
|
+
}))
|
|
78
|
+
.describe('Curve points'),
|
|
79
|
+
},
|
|
80
|
+
}, async (args) => callGodot(bridge, 'particles/set_velocity_curve', args));
|
|
117
81
|
}
|
|
118
|
-
//# sourceMappingURL=particles.js.map
|
|
82
|
+
//# sourceMappingURL=particles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particles.js","sourceRoot":"","sources":["../../src/tools/particles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"particles.js","sourceRoot":"","sources":["../../src/tools/particles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics.d.ts","sourceRoot":"","sources":["../../src/tools/physics.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":"physics.d.ts","sourceRoot":"","sources":["../../src/tools/physics.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,CA0GjF"}
|
|
@@ -4,103 +4,71 @@
|
|
|
4
4
|
import { callGodot } from '../server.js';
|
|
5
5
|
import { z, NodePath, ParentPath, Properties, OptionalProperties } from './shared-types.js';
|
|
6
6
|
export function registerPhysicsTools(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
|
-
async (args) => callGodot(bridge, 'physics/
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
parent_path: ParentPath,
|
|
74
|
-
properties: OptionalProperties.describe('Raycast properties (target, enabled, collide_with_areas, etc.)'),
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
async (args) => callGodot(bridge, 'physics/add_raycast', args),
|
|
78
|
-
);
|
|
79
|
-
// 7. get_physics_material
|
|
80
|
-
server.registerTool(
|
|
81
|
-
'get_physics_material',
|
|
82
|
-
{
|
|
83
|
-
description: 'Get the physics material properties of a node',
|
|
84
|
-
inputSchema: {
|
|
85
|
-
path: NodePath,
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
async (args) => callGodot(bridge, 'physics/get_material', args),
|
|
89
|
-
);
|
|
90
|
-
// 8. set_physics_material
|
|
91
|
-
server.registerTool(
|
|
92
|
-
'set_physics_material',
|
|
93
|
-
{
|
|
94
|
-
description: 'Create and set a physics material on a node',
|
|
95
|
-
inputSchema: {
|
|
96
|
-
path: NodePath,
|
|
97
|
-
friction: z.number().min(0).optional().describe('Friction coefficient'),
|
|
98
|
-
bounce: z.number().min(0).max(1).optional().describe('Bounce/Restitution coefficient'),
|
|
99
|
-
rough: z.boolean().optional().describe('Whether surface is rough'),
|
|
100
|
-
absorbent: z.boolean().optional().describe('Whether the surface absorbs impact energy'),
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
async (args) => callGodot(bridge, 'physics/set_material', args),
|
|
104
|
-
);
|
|
7
|
+
// 1. setup_physics_body
|
|
8
|
+
server.registerTool('setup_physics_body', {
|
|
9
|
+
description: 'Add and configure a physics body on a node',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
path: NodePath.describe('Node to add the physics body to'),
|
|
12
|
+
properties: Properties.describe('Body properties (mass, gravity_scale, etc.)'),
|
|
13
|
+
},
|
|
14
|
+
}, async (args) => callGodot(bridge, 'physics/setup_body', args));
|
|
15
|
+
// 2. setup_collision
|
|
16
|
+
server.registerTool('setup_collision', {
|
|
17
|
+
description: 'Add and configure a collision shape on a node',
|
|
18
|
+
inputSchema: {
|
|
19
|
+
path: NodePath.describe('Node to add collision to'),
|
|
20
|
+
shape_type: z.enum(['box', 'sphere', 'capsule', 'cylinder', 'convex', 'concave', 'polygon', 'circle', 'rectangle']).describe('Collision shape type'),
|
|
21
|
+
properties: OptionalProperties.describe('Shape properties (size, radius, height, etc.)'),
|
|
22
|
+
},
|
|
23
|
+
}, async (args) => callGodot(bridge, 'physics/setup_collision', args));
|
|
24
|
+
// 3. set_physics_layers
|
|
25
|
+
server.registerTool('set_physics_layers', {
|
|
26
|
+
description: 'Set physics collision layers and masks on a node',
|
|
27
|
+
inputSchema: {
|
|
28
|
+
path: NodePath.describe('Node with collision object'),
|
|
29
|
+
layer: z.number().int().min(1).max(32).optional().describe('Collision layer (1-32)'),
|
|
30
|
+
mask: z.number().int().min(1).max(32).optional().describe('Collision mask (1-32)'),
|
|
31
|
+
},
|
|
32
|
+
}, async (args) => callGodot(bridge, 'physics/set_layers', args));
|
|
33
|
+
// 4. get_physics_layers
|
|
34
|
+
server.registerTool('get_physics_layers', {
|
|
35
|
+
description: 'Get physics layer and mask information for a node',
|
|
36
|
+
inputSchema: {
|
|
37
|
+
path: NodePath.describe('Node with collision object'),
|
|
38
|
+
},
|
|
39
|
+
}, async (args) => callGodot(bridge, 'physics/get_layers', args));
|
|
40
|
+
// 5. get_collision_info
|
|
41
|
+
server.registerTool('get_collision_info', {
|
|
42
|
+
description: 'Get collision information for a physics body',
|
|
43
|
+
inputSchema: {
|
|
44
|
+
path: NodePath.describe('Physics body node path'),
|
|
45
|
+
},
|
|
46
|
+
}, async (args) => callGodot(bridge, 'physics/get_collision_info', args));
|
|
47
|
+
// 6. add_raycast
|
|
48
|
+
server.registerTool('add_raycast', {
|
|
49
|
+
description: 'Add a RayCast2D or RayCast3D node',
|
|
50
|
+
inputSchema: {
|
|
51
|
+
parent_path: ParentPath.describe("Parent node — '' for scene root"),
|
|
52
|
+
properties: OptionalProperties.describe('Raycast properties (target, enabled, collide_with_areas, etc.)'),
|
|
53
|
+
},
|
|
54
|
+
}, async (args) => callGodot(bridge, 'physics/add_raycast', args));
|
|
55
|
+
// 7. get_physics_material
|
|
56
|
+
server.registerTool('get_physics_material', {
|
|
57
|
+
description: 'Get the physics material properties of a node',
|
|
58
|
+
inputSchema: {
|
|
59
|
+
path: NodePath,
|
|
60
|
+
},
|
|
61
|
+
}, async (args) => callGodot(bridge, 'physics/get_material', args));
|
|
62
|
+
// 8. set_physics_material
|
|
63
|
+
server.registerTool('set_physics_material', {
|
|
64
|
+
description: 'Create and set a physics material on a node',
|
|
65
|
+
inputSchema: {
|
|
66
|
+
path: NodePath,
|
|
67
|
+
friction: z.number().min(0).optional().describe('Friction coefficient'),
|
|
68
|
+
bounce: z.number().min(0).max(1).optional().describe('Bounce/Restitution coefficient'),
|
|
69
|
+
rough: z.boolean().optional().describe('Whether surface is rough'),
|
|
70
|
+
absorbent: z.boolean().optional().describe('Whether the surface absorbs impact energy'),
|
|
71
|
+
},
|
|
72
|
+
}, async (args) => callGodot(bridge, 'physics/set_material', args));
|
|
105
73
|
}
|
|
106
|
-
//# sourceMappingURL=physics.js.map
|
|
74
|
+
//# sourceMappingURL=physics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics.js","sourceRoot":"","sources":["../../src/tools/physics.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,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC1D,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SAC/E;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACnD,UAAU,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"physics.js","sourceRoot":"","sources":["../../src/tools/physics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics_config.d.ts","sourceRoot":"","sources":["../../src/tools/physics_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,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"physics_config.d.ts","sourceRoot":"","sources":["../../src/tools/physics_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,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA+FvF"}
|
|
@@ -4,92 +4,60 @@
|
|
|
4
4
|
import { callGodot } from '../server.js';
|
|
5
5
|
import { z, Name } from './shared-types.js';
|
|
6
6
|
export function registerPhysicsConfigTools(server, bridge) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
async (args) => callGodot(bridge, 'physics_config/
|
|
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
|
-
async (args) => callGodot(bridge, 'physics_config/
|
|
62
|
-
);
|
|
63
|
-
// 6. get_collision_layers
|
|
64
|
-
server.registerTool(
|
|
65
|
-
'get_collision_layers',
|
|
66
|
-
{
|
|
67
|
-
description: 'Get all collision layer names (1-32)',
|
|
68
|
-
inputSchema: {},
|
|
69
|
-
},
|
|
70
|
-
async () => callGodot(bridge, 'physics_config/get_layers'),
|
|
71
|
-
);
|
|
72
|
-
// 7. set_default_gravity
|
|
73
|
-
server.registerTool(
|
|
74
|
-
'set_default_gravity',
|
|
75
|
-
{
|
|
76
|
-
description: 'Set the default gravity magnitude in project settings',
|
|
77
|
-
inputSchema: {
|
|
78
|
-
value: z.number().describe('Gravity value (980.0 for 2D, 9.8 for 3D)'),
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
async (args) => callGodot(bridge, 'physics_config/set_default_gravity', args),
|
|
82
|
-
);
|
|
83
|
-
// 8. set_default_linear_damp
|
|
84
|
-
server.registerTool(
|
|
85
|
-
'set_default_linear_damp',
|
|
86
|
-
{
|
|
87
|
-
description: 'Set the default linear damping for physics bodies',
|
|
88
|
-
inputSchema: {
|
|
89
|
-
value: z.number().min(0).optional().default(0.1).describe('Linear damping value (default 0.1)'),
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
async (args) => callGodot(bridge, 'physics_config/set_default_linear_damp', args),
|
|
93
|
-
);
|
|
7
|
+
// 1. get_physics_settings
|
|
8
|
+
server.registerTool('get_physics_settings', {
|
|
9
|
+
description: 'Get all physics engine settings (gravity, FPS, engine, layers, damping)',
|
|
10
|
+
inputSchema: {},
|
|
11
|
+
}, async () => callGodot(bridge, 'physics_config/get_settings'));
|
|
12
|
+
// 2. set_gravity
|
|
13
|
+
server.registerTool('set_gravity', {
|
|
14
|
+
description: 'Set the default gravity vector for the physics world',
|
|
15
|
+
inputSchema: {
|
|
16
|
+
x: z.number().describe('Gravity X component'),
|
|
17
|
+
y: z.number().describe('Gravity Y component'),
|
|
18
|
+
z: z.number().optional().default(0).describe('Gravity Z component (for 3D, default 0)'),
|
|
19
|
+
},
|
|
20
|
+
}, async (args) => callGodot(bridge, 'physics_config/set_gravity', args));
|
|
21
|
+
// 3. set_physics_fps
|
|
22
|
+
server.registerTool('set_physics_fps', {
|
|
23
|
+
description: 'Set the physics simulation tick rate',
|
|
24
|
+
inputSchema: {
|
|
25
|
+
fps: z.number().int().min(1).max(240).optional().default(60).describe('Physics ticks per second (default 60)'),
|
|
26
|
+
},
|
|
27
|
+
}, async (args) => callGodot(bridge, 'physics_config/set_fps', args));
|
|
28
|
+
// 4. set_physics_engine
|
|
29
|
+
server.registerTool('set_physics_engine', {
|
|
30
|
+
description: 'Set which physics engine backend to use',
|
|
31
|
+
inputSchema: {
|
|
32
|
+
engine: z.enum(['default', 'godot_physics', 'jolt']).describe('Physics engine backend'),
|
|
33
|
+
},
|
|
34
|
+
}, async (args) => callGodot(bridge, 'physics_config/set_engine', args));
|
|
35
|
+
// 5. set_collision_layer_name
|
|
36
|
+
server.registerTool('set_collision_layer_name', {
|
|
37
|
+
description: 'Assign a human-readable name to a collision layer (1-32)',
|
|
38
|
+
inputSchema: {
|
|
39
|
+
layer: z.number().int().min(1).max(32).describe('Layer number (1-32)'),
|
|
40
|
+
name: Name.describe("Layer name (e.g. 'Player', 'Enemies', 'Terrain')"),
|
|
41
|
+
},
|
|
42
|
+
}, async (args) => callGodot(bridge, 'physics_config/set_layer_name', args));
|
|
43
|
+
// 6. get_collision_layers
|
|
44
|
+
server.registerTool('get_collision_layers', {
|
|
45
|
+
description: 'Get all collision layer names (1-32)',
|
|
46
|
+
inputSchema: {},
|
|
47
|
+
}, async () => callGodot(bridge, 'physics_config/get_layers'));
|
|
48
|
+
// 7. set_default_gravity
|
|
49
|
+
server.registerTool('set_default_gravity', {
|
|
50
|
+
description: 'Set the default gravity magnitude in project settings',
|
|
51
|
+
inputSchema: {
|
|
52
|
+
value: z.number().describe('Gravity value (980.0 for 2D, 9.8 for 3D)'),
|
|
53
|
+
},
|
|
54
|
+
}, async (args) => callGodot(bridge, 'physics_config/set_default_gravity', args));
|
|
55
|
+
// 8. set_default_linear_damp
|
|
56
|
+
server.registerTool('set_default_linear_damp', {
|
|
57
|
+
description: 'Set the default linear damping for physics bodies',
|
|
58
|
+
inputSchema: {
|
|
59
|
+
value: z.number().min(0).optional().default(0.1).describe('Linear damping value (default 0.1)'),
|
|
60
|
+
},
|
|
61
|
+
}, async (args) => callGodot(bridge, 'physics_config/set_default_linear_damp', args));
|
|
94
62
|
}
|
|
95
|
-
//# sourceMappingURL=physics_config.js.map
|
|
63
|
+
//# sourceMappingURL=physics_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics_config.js","sourceRoot":"","sources":["../../src/tools/physics_config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAmB;IAC/E,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAC7D,CAAC;IAEF,iBAAiB;IACjB,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACxF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"physics_config.js","sourceRoot":"","sources":["../../src/tools/physics_config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAmB;IAC/E,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAC7D,CAAC;IAEF,iBAAiB;IACjB,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACxF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAA+B,CAAC,CACjG,CAAC;IAEF,qBAAqB;IACrB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SAC/G;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAA+B,CAAC,CAC7F,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACxF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAA+B,CAAC,CAChG,CAAC;IAEF,8BAA8B;IAC9B,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACtE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,kDAAkD,CAAC;SACxE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,+BAA+B,EAAE,IAA+B,CAAC,CACpG,CAAC;IAEF,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAC3D,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACvE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oCAAoC,EAAE,IAA+B,CAAC,CACzG,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAChG;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,wCAAwC,EAAE,IAA+B,CAAC,CAC7G,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform_export.d.ts","sourceRoot":"","sources":["../../src/tools/platform_export.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,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"platform_export.d.ts","sourceRoot":"","sources":["../../src/tools/platform_export.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,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA0ExF"}
|