@satelliteoflove/godot-mcp 3.2.0 → 3.3.0

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.
Files changed (54) hide show
  1. package/addon/plugin.cfg +1 -1
  2. package/dist/__tests__/core/discriminated-union-schema.test.d.ts +2 -0
  3. package/dist/__tests__/core/discriminated-union-schema.test.d.ts.map +1 -0
  4. package/dist/__tests__/core/discriminated-union-schema.test.js +37 -0
  5. package/dist/__tests__/core/discriminated-union-schema.test.js.map +1 -0
  6. package/dist/__tests__/tools/input.test.js +2 -8
  7. package/dist/__tests__/tools/input.test.js.map +1 -1
  8. package/dist/__tests__/tools/profiler.test.js +6 -2
  9. package/dist/__tests__/tools/profiler.test.js.map +1 -1
  10. package/dist/tools/animation.d.ts +79 -28
  11. package/dist/tools/animation.d.ts.map +1 -1
  12. package/dist/tools/animation.js +109 -81
  13. package/dist/tools/animation.js.map +1 -1
  14. package/dist/tools/docs.d.ts +22 -8
  15. package/dist/tools/docs.d.ts.map +1 -1
  16. package/dist/tools/docs.js +23 -22
  17. package/dist/tools/docs.js.map +1 -1
  18. package/dist/tools/editor.d.ts +23 -15
  19. package/dist/tools/editor.d.ts.map +1 -1
  20. package/dist/tools/editor.js +38 -54
  21. package/dist/tools/editor.js.map +1 -1
  22. package/dist/tools/input.d.ts +10 -10
  23. package/dist/tools/input.d.ts.map +1 -1
  24. package/dist/tools/input.js +31 -37
  25. package/dist/tools/input.js.map +1 -1
  26. package/dist/tools/node.d.ts +34 -21
  27. package/dist/tools/node.d.ts.map +1 -1
  28. package/dist/tools/node.js +74 -86
  29. package/dist/tools/node.js.map +1 -1
  30. package/dist/tools/profiler.d.ts +13 -10
  31. package/dist/tools/profiler.d.ts.map +1 -1
  32. package/dist/tools/profiler.js +11 -23
  33. package/dist/tools/profiler.js.map +1 -1
  34. package/dist/tools/project.d.ts +7 -7
  35. package/dist/tools/project.d.ts.map +1 -1
  36. package/dist/tools/project.js +19 -13
  37. package/dist/tools/project.js.map +1 -1
  38. package/dist/tools/resource.d.ts +4 -6
  39. package/dist/tools/resource.d.ts.map +1 -1
  40. package/dist/tools/resource.js +16 -26
  41. package/dist/tools/resource.js.map +1 -1
  42. package/dist/tools/scene.d.ts +10 -8
  43. package/dist/tools/scene.d.ts.map +1 -1
  44. package/dist/tools/scene.js +19 -32
  45. package/dist/tools/scene.js.map +1 -1
  46. package/dist/tools/scene3d.d.ts +7 -8
  47. package/dist/tools/scene3d.d.ts.map +1 -1
  48. package/dist/tools/scene3d.js +29 -42
  49. package/dist/tools/scene3d.js.map +1 -1
  50. package/dist/tools/tilemap.d.ts +95 -44
  51. package/dist/tools/tilemap.d.ts.map +1 -1
  52. package/dist/tools/tilemap.js +102 -103
  53. package/dist/tools/tilemap.js.map +1 -1
  54. package/package.json +1 -1
@@ -1,92 +1,80 @@
1
1
  import { z } from 'zod';
2
2
  import { defineTool } from '../core/define-tool.js';
3
+ const propertiesField = z
4
+ .record(z.string(), z.unknown())
5
+ .optional()
6
+ .describe('Properties to set on the node');
3
7
  const NodeSchema = z
4
- .object({
5
- action: z
6
- .enum(['get_properties', 'find', 'create', 'update', 'delete', 'reparent', 'attach_script', 'detach_script', 'connect_signal'])
7
- .describe('Action: get_properties, find, create, update, delete, reparent, attach_script, detach_script, connect_signal'),
8
- node_path: z
9
- .string()
10
- .optional()
11
- .describe('Path to the node (required for: get_properties, update, delete, reparent, attach_script, detach_script)'),
12
- name_pattern: z
13
- .string()
14
- .optional()
15
- .describe('Glob pattern to match node names, e.g. "*Spawner*", "Turret?" (find only)'),
16
- type: z
17
- .string()
18
- .optional()
19
- .describe('Filter by node type, e.g. "CharacterBody2D", "Area2D" (find only)'),
20
- root_path: z
21
- .string()
22
- .optional()
23
- .describe('Path to start search from (find only, defaults to scene root)'),
24
- parent_path: z
25
- .string()
26
- .optional()
27
- .describe('Path to the parent node (create only)'),
28
- node_type: z
29
- .string()
30
- .optional()
31
- .describe('Type of node to create, e.g. "Sprite2D" (create only, use this OR scene_path)'),
32
- scene_path: z
33
- .string()
34
- .optional()
35
- .describe('Path to scene to instantiate, e.g. "res://enemies/goblin.tscn" (create only, use this OR node_type)'),
36
- node_name: z
37
- .string()
38
- .optional()
39
- .describe('Name for the new node (create only)'),
40
- properties: z
41
- .record(z.string(), z.unknown())
42
- .optional()
43
- .describe('Properties to set (create, update)'),
44
- new_parent_path: z
45
- .string()
46
- .optional()
47
- .describe('Path to the new parent node (reparent only)'),
48
- script_path: z
49
- .string()
50
- .optional()
51
- .describe('Path to the script file (attach_script only)'),
52
- signal_name: z
53
- .string()
54
- .optional()
55
- .describe('Name of the signal to connect, e.g. "pressed", "body_entered" (connect_signal only)'),
56
- target_path: z
57
- .string()
58
- .optional()
59
- .describe('Path to the target node that will receive the signal (connect_signal only)'),
60
- method_name: z
61
- .string()
62
- .optional()
63
- .describe('Name of the method to call on the target node (connect_signal only)'),
64
- })
65
- .refine((data) => {
66
- switch (data.action) {
67
- case 'get_properties':
68
- case 'update':
69
- case 'delete':
70
- case 'detach_script':
71
- return !!data.node_path;
72
- case 'find':
73
- return !!data.name_pattern || !!data.type;
74
- case 'create':
75
- return (!!data.parent_path &&
76
- !!data.node_name &&
77
- !!data.node_type !== !!data.scene_path);
78
- case 'reparent':
79
- return !!data.node_path && !!data.new_parent_path;
80
- case 'attach_script':
81
- return !!data.node_path && !!data.script_path;
82
- case 'connect_signal':
83
- return !!data.node_path && !!data.signal_name && !!data.target_path && !!data.method_name;
84
- default:
85
- return false;
86
- }
87
- }, {
88
- message: 'Missing required fields for action. get_properties/update/delete/detach_script need node_path; find needs name_pattern and/or type; create needs parent_path, node_name, and either node_type OR scene_path; reparent needs node_path and new_parent_path; attach_script needs node_path and script_path; connect_signal needs node_path, signal_name, target_path, and method_name',
89
- });
8
+ .discriminatedUnion('action', [
9
+ z.object({
10
+ action: z.literal('get_properties').describe('Get a node\'s properties'),
11
+ node_path: z.string().describe('Path to the node'),
12
+ }),
13
+ z.object({
14
+ action: z.literal('find').describe('Find nodes by name and/or type'),
15
+ name_pattern: z
16
+ .string()
17
+ .optional()
18
+ .describe('Glob pattern to match node names, e.g. "*Spawner*", "Turret?"'),
19
+ type: z
20
+ .string()
21
+ .optional()
22
+ .describe('Filter by node type, e.g. "CharacterBody2D", "Area2D"'),
23
+ root_path: z
24
+ .string()
25
+ .optional()
26
+ .describe('Path to start search from (defaults to scene root)'),
27
+ }),
28
+ z.object({
29
+ action: z.literal('create').describe('Create a node, or instantiate a scene as a node'),
30
+ parent_path: z.string().describe('Path to the parent node'),
31
+ node_name: z.string().describe('Name for the new node'),
32
+ node_type: z
33
+ .string()
34
+ .optional()
35
+ .describe('Type of node to create, e.g. "Sprite2D" (use this OR scene_path)'),
36
+ scene_path: z
37
+ .string()
38
+ .optional()
39
+ .describe('Path to scene to instantiate, e.g. "res://enemies/goblin.tscn" (use this OR node_type)'),
40
+ properties: propertiesField,
41
+ }),
42
+ z.object({
43
+ action: z.literal('update').describe('Update a node\'s properties'),
44
+ node_path: z.string().describe('Path to the node'),
45
+ properties: propertiesField,
46
+ }),
47
+ z.object({
48
+ action: z.literal('delete').describe('Delete a node'),
49
+ node_path: z.string().describe('Path to the node'),
50
+ }),
51
+ z.object({
52
+ action: z.literal('reparent').describe('Move a node to a new parent'),
53
+ node_path: z.string().describe('Path to the node'),
54
+ new_parent_path: z.string().describe('Path to the new parent node'),
55
+ }),
56
+ z.object({
57
+ action: z.literal('attach_script').describe('Attach a script to a node'),
58
+ node_path: z.string().describe('Path to the node'),
59
+ script_path: z.string().describe('Path to the script file'),
60
+ }),
61
+ z.object({
62
+ action: z.literal('detach_script').describe('Detach a node\'s script'),
63
+ node_path: z.string().describe('Path to the node'),
64
+ }),
65
+ z.object({
66
+ action: z.literal('connect_signal').describe('Connect a signal to a target method'),
67
+ node_path: z.string().describe('Path to the node emitting the signal'),
68
+ signal_name: z.string().describe('Name of the signal, e.g. "pressed", "body_entered"'),
69
+ target_path: z.string().describe('Path to the target node that will receive the signal'),
70
+ method_name: z.string().describe('Name of the method to call on the target node'),
71
+ }),
72
+ ])
73
+ // Constraints a discriminated union can't express on its own, so they live here:
74
+ .refine((data) => (data.action === 'find' ? !!data.name_pattern || !!data.type : true), { message: 'find requires name_pattern and/or type' })
75
+ .refine(
76
+ // create needs exactly one of node_type / scene_path (XOR).
77
+ (data) => (data.action === 'create' ? !!data.node_type !== !!data.scene_path : true), { message: 'create requires exactly one of node_type or scene_path' });
90
78
  export const node = defineTool({
91
79
  name: 'godot_node',
92
80
  annotations: { title: 'Node', readOnlyHint: false, destructiveHint: true, openWorldHint: false },
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"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"}
@@ -38,17 +38,20 @@ export interface FrameBudget {
38
38
  budget_usage_percent: number;
39
39
  }
40
40
  export declare function computeFrameBudget(frameTimeStats: PercentileStats, targetFps: number): FrameBudget;
41
- export declare const profiler: import("../core/types.js").ToolDefinition<z.ZodObject<{
42
- action: z.ZodEnum<{
43
- stop: "stop";
44
- snapshot: "snapshot";
45
- start: "start";
46
- get_data: "get_data";
47
- get_active_processes: "get_active_processes";
48
- get_signal_connections: "get_signal_connections";
49
- }>;
41
+ export declare const profiler: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
42
+ action: z.ZodLiteral<"snapshot">;
43
+ }, z.core.$strip>, z.ZodObject<{
44
+ action: z.ZodLiteral<"start">;
45
+ }, z.core.$strip>, z.ZodObject<{
46
+ action: z.ZodLiteral<"stop">;
47
+ }, z.core.$strip>, z.ZodObject<{
48
+ action: z.ZodLiteral<"get_data">;
49
+ }, z.core.$strip>, z.ZodObject<{
50
+ action: z.ZodLiteral<"get_active_processes">;
51
+ }, z.core.$strip>, z.ZodObject<{
52
+ action: z.ZodLiteral<"get_signal_connections">;
50
53
  node_path: z.ZodOptional<z.ZodString>;
51
- }, z.core.$strip>>;
54
+ }, z.core.$strip>], "action">>;
52
55
  export declare const profilerTools: AnyToolDefinition[];
53
56
  export {};
54
57
  //# sourceMappingURL=profiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/tools/profiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAyBD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAgBpE;AAUD,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,EAAE,CAkBvF;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAgCvF;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,eAAe,EAC/B,SAAS,EAAE,MAAM,GAChB,WAAW,CAWb;AA+BD,eAAO,MAAM,QAAQ;;;;;;;;;;kBAwHnB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAiB,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/tools/profiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAyBD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAgBpE;AAUD,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,EAAE,CAkBvF;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAgCvF;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,eAAe,EAC/B,SAAS,EAAE,MAAM,GAChB,WAAW,CAWb;AAgBD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;8BAwHnB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAiB,iBAAiB,EAAE,CAAC"}
@@ -83,29 +83,17 @@ export function computeFrameBudget(frameTimeStats, targetFps) {
83
83
  budget_usage_percent: budgetUsage,
84
84
  };
85
85
  }
86
- const ProfilerSchema = z
87
- .object({
88
- action: z
89
- .enum([
90
- 'snapshot',
91
- 'start',
92
- 'stop',
93
- 'get_data',
94
- 'get_active_processes',
95
- 'get_signal_connections',
96
- ])
97
- .describe('Action: snapshot (full perf snapshot), start/stop/get_data (time series profiling), get_active_processes, get_signal_connections'),
98
- node_path: z
99
- .string()
100
- .optional()
101
- .describe('Node path for get_signal_connections (optional, defaults to scene root)'),
102
- })
103
- .refine((data) => {
104
- if (data.node_path !== undefined && data.action !== 'get_signal_connections') {
105
- return false;
106
- }
107
- return true;
108
- }, { message: 'node_path is only valid with get_signal_connections action' });
86
+ const ProfilerSchema = z.discriminatedUnion('action', [
87
+ z.object({ action: z.literal('snapshot').describe('Full performance snapshot (all engine metrics)') }),
88
+ z.object({ action: z.literal('start').describe('Start per-frame time-series profiling') }),
89
+ z.object({ action: z.literal('stop').describe('Stop time-series profiling') }),
90
+ z.object({ action: z.literal('get_data').describe('Get collected time-series data with spike detection') }),
91
+ z.object({ action: z.literal('get_active_processes').describe('List active _process/_physics_process scripts') }),
92
+ z.object({
93
+ action: z.literal('get_signal_connections').describe('Inspect signal connections'),
94
+ node_path: z.string().optional().describe('Node path (defaults to scene root)'),
95
+ }),
96
+ ]);
109
97
  export const profiler = defineTool({
110
98
  name: 'godot_profiler',
111
99
  annotations: { title: 'Profiler', readOnlyHint: true, openWorldHint: false },
@@ -1 +1 @@
1
- {"version":3,"file":"profiler.js","sourceRoot":"","sources":["../../src/tools/profiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiler.js","sourceRoot":"","sources":["../../src/tools/profiler.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  import type { AnyToolDefinition } from '../core/types.js';
3
- export declare const project: import("../core/types.js").ToolDefinition<z.ZodObject<{
4
- action: z.ZodEnum<{
5
- get_info: "get_info";
6
- get_settings: "get_settings";
7
- addon_status: "addon_status";
8
- }>;
3
+ export declare const project: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"get_info">;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ action: z.ZodLiteral<"get_settings">;
9
7
  category: z.ZodOptional<z.ZodString>;
10
8
  include_builtin: z.ZodOptional<z.ZodBoolean>;
11
- }, z.core.$strip>>;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ action: z.ZodLiteral<"addon_status">;
11
+ }, z.core.$strip>], "action">>;
12
12
  export declare const projectTools: AnyToolDefinition[];
13
13
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAmB1D,eAAO,MAAM,OAAO;;;;;;;;kBAkElB,CAAC;AAEH,eAAO,MAAM,YAAY,EAAgB,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAyB1D,eAAO,MAAM,OAAO;;;;;;;;8BAkElB,CAAC;AAEH,eAAO,MAAM,YAAY,EAAgB,iBAAiB,EAAE,CAAC"}
@@ -1,19 +1,25 @@
1
1
  import { z } from 'zod';
2
2
  import { defineTool } from '../core/define-tool.js';
3
3
  import { getServerVersion } from '../version.js';
4
- const ProjectSchema = z.object({
5
- action: z
6
- .enum(['get_info', 'get_settings', 'addon_status'])
7
- .describe('Action: get_info, get_settings, addon_status (check addon/server version compatibility)'),
8
- category: z
9
- .string()
10
- .optional()
11
- .describe('Settings category to filter by (get_settings only, use "input" for input mappings)'),
12
- include_builtin: z
13
- .boolean()
14
- .optional()
15
- .describe('Include built-in ui_* actions (get_settings with category="input" only)'),
16
- });
4
+ const ProjectSchema = z.discriminatedUnion('action', [
5
+ z.object({
6
+ action: z.literal('get_info').describe('Get project name, path, version, and main scene'),
7
+ }),
8
+ z.object({
9
+ action: z.literal('get_settings').describe('Get project settings'),
10
+ category: z
11
+ .string()
12
+ .optional()
13
+ .describe('Settings category to filter by (use "input" for input mappings)'),
14
+ include_builtin: z
15
+ .boolean()
16
+ .optional()
17
+ .describe('Include built-in ui_* actions (with category="input")'),
18
+ }),
19
+ z.object({
20
+ action: z.literal('addon_status').describe('Check addon/server version compatibility'),
21
+ }),
22
+ ]);
17
23
  export const project = defineTool({
18
24
  name: 'godot_project',
19
25
  annotations: { title: 'Project Info', readOnlyHint: true, openWorldHint: false },
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;SAClD,QAAQ,CAAC,yFAAyF,CAAC;IACtG,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oFAAoF,CAAC;IACjG,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,yEAAyE,CAAC;CACvF,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IAChC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAChF,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,aAAa;IACrB,KAAK,CAAC,OAAO,CAAC,IAAiB,EAAE,EAAE,KAAK,EAAE;QACxC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAKnC,kBAAkB,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAEnC,sBAAsB,EAAE;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;gBAEzC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBACvB,OAAO,IAAI,CAAC,SAAS,CACnB;wBACE,SAAS,EAAE,KAAK;wBAChB,cAAc,EAAE,aAAa;wBAC7B,cAAc,EACZ,mIAAmI;qBACtI,EACD,IAAI,EACJ,CAAC,CACF,CAAC;gBACJ,CAAC;gBAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;gBACxC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACtC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;gBAE1C,OAAO,IAAI,CAAC,SAAS,CACnB;oBACE,SAAS,EAAE,IAAI;oBACf,cAAc,EAAE,aAAa;oBAC7B,aAAa,EAAE,YAAY,IAAI,SAAS;oBACxC,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,WAAW;oBACzB,YAAY,EAAE,KAAK,CAAC,WAAW;oBAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;oBACjC,cAAc,EAAE,aAAa;wBAC3B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,0FAA0F,WAAW,GAAG;iBAC7G,EACD,IAAI,EACJ,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,CAAwB,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import type { AnyToolDefinition } from '../core/types.js';
3
- export declare const resource: import("../core/types.js").ToolDefinition<z.ZodObject<{
4
- action: z.ZodEnum<{
5
- get_info: "get_info";
6
- }>;
7
- resource_path: z.ZodOptional<z.ZodString>;
3
+ export declare const resource: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"get_info">;
5
+ resource_path: z.ZodString;
8
6
  max_depth: z.ZodOptional<z.ZodNumber>;
9
7
  include_internal: z.ZodOptional<z.ZodBoolean>;
10
- }, z.core.$strip>>;
8
+ }, z.core.$strip>], "action">>;
11
9
  export declare const resourceTools: AnyToolDefinition[];
12
10
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/tools/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA2C1D,eAAO,MAAM,QAAQ;;;;;;;kBAqBnB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAiB,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/tools/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA4B1D,eAAO,MAAM,QAAQ;;;;;8BAqBnB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAiB,iBAAiB,EAAE,CAAC"}
@@ -1,31 +1,21 @@
1
1
  import { z } from 'zod';
2
2
  import { defineTool } from '../core/define-tool.js';
3
- const ResourceSchema = z
4
- .object({
5
- action: z
6
- .enum(['get_info'])
7
- .describe('Action: get_info'),
8
- resource_path: z
9
- .string()
10
- .optional()
11
- .describe('Resource path (e.g., "res://player/sprites.tres") (get_info)'),
12
- max_depth: z
13
- .number()
14
- .optional()
15
- .describe('Detail level: 0 = summary only, 1 = full detail (default), 2+ = expand sub-resources (get_info)'),
16
- include_internal: z
17
- .boolean()
18
- .optional()
19
- .describe('Include internal properties starting with underscore (get_info, default: false)'),
20
- })
21
- .refine((data) => {
22
- switch (data.action) {
23
- case 'get_info':
24
- return !!data.resource_path;
25
- default:
26
- return false;
27
- }
28
- }, { message: 'get_info action requires resource_path' });
3
+ const ResourceSchema = z.discriminatedUnion('action', [
4
+ z.object({
5
+ action: z.literal('get_info').describe('Inspect a Resource file by path'),
6
+ resource_path: z
7
+ .string()
8
+ .describe('Resource path (e.g., "res://player/sprites.tres")'),
9
+ max_depth: z
10
+ .number()
11
+ .optional()
12
+ .describe('Detail level: 0 = summary only, 1 = full detail (default), 2+ = expand sub-resources'),
13
+ include_internal: z
14
+ .boolean()
15
+ .optional()
16
+ .describe('Include internal properties starting with underscore (default: false)'),
17
+ }),
18
+ ]);
29
19
  export const resource = defineTool({
30
20
  name: 'godot_resource',
31
21
  annotations: { title: 'Resource Inspector', readOnlyHint: true, openWorldHint: false },
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/tools/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUpD,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;SAClB,QAAQ,CAAC,kBAAkB,CAAC;IAC/B,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iGAAiG,CAClG;IACH,gBAAgB,EAAE,CAAC;SAChB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;CAC/F,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9B;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,EACD,EAAE,OAAO,EAAE,wCAAwC,EAAE,CACtD,CAAC;AAIJ,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IACtF,WAAW,EACT,oJAAoJ;IACtJ,MAAM,EAAE,cAAc;IACtB,KAAK,CAAC,OAAO,CAAC,IAAkB,EAAE,EAAE,KAAK,EAAE;QACzC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CACpC,mBAAmB,EACnB;oBACE,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;oBAC9B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;iBACjD,CACF,CAAC;gBACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAwB,CAAC"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/tools/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUpD,MAAM,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACpD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACzE,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,CAAC,mDAAmD,CAAC;QAChE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sFAAsF,CAAC;QACnG,gBAAgB,EAAE,CAAC;aAChB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;KACrF,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IACtF,WAAW,EACT,oJAAoJ;IACtJ,MAAM,EAAE,cAAc;IACtB,KAAK,CAAC,OAAO,CAAC,IAAkB,EAAE,EAAE,KAAK,EAAE;QACzC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CACpC,mBAAmB,EACnB;oBACE,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;oBAC9B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;iBACjD,CACF,CAAC;gBACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAwB,CAAC"}
@@ -1,14 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  import type { AnyToolDefinition } from '../core/types.js';
3
- export declare const scene: import("../core/types.js").ToolDefinition<z.ZodObject<{
4
- action: z.ZodEnum<{
5
- open: "open";
6
- save: "save";
7
- create: "create";
8
- }>;
3
+ export declare const scene: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"open">;
5
+ scene_path: z.ZodString;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ action: z.ZodLiteral<"save">;
9
8
  scene_path: z.ZodOptional<z.ZodString>;
10
- root_type: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ action: z.ZodLiteral<"create">;
11
+ scene_path: z.ZodString;
12
+ root_type: z.ZodString;
11
13
  root_name: z.ZodOptional<z.ZodString>;
12
- }, z.core.$strip>>;
14
+ }, z.core.$strip>], "action">>;
13
15
  export declare const sceneTools: AnyToolDefinition[];
14
16
  //# sourceMappingURL=scene.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAyC1D,eAAO,MAAM,KAAK;;;;;;;;;kBA6BhB,CAAC;AAEH,eAAO,MAAM,UAAU,EAAc,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAwB1D,eAAO,MAAM,KAAK;;;;;;;;;;;8BA6BhB,CAAC;AAEH,eAAO,MAAM,UAAU,EAAc,iBAAiB,EAAE,CAAC"}
@@ -1,37 +1,24 @@
1
1
  import { z } from 'zod';
2
2
  import { defineTool } from '../core/define-tool.js';
3
- const SceneSchema = z
4
- .object({
5
- action: z
6
- .enum(['open', 'save', 'create'])
7
- .describe('Action: open, save, create'),
8
- scene_path: z
9
- .string()
10
- .optional()
11
- .describe('Path to scene file (required for: open, create; optional for: save)'),
12
- root_type: z
13
- .string()
14
- .optional()
15
- .describe('Type of root node, e.g. "Node2D" (create only)'),
16
- root_name: z
17
- .string()
18
- .optional()
19
- .describe('Name of root node (create only, defaults to root_type)'),
20
- })
21
- .refine((data) => {
22
- switch (data.action) {
23
- case 'save':
24
- return true;
25
- case 'open':
26
- return !!data.scene_path;
27
- case 'create':
28
- return !!data.scene_path && !!data.root_type;
29
- default:
30
- return false;
31
- }
32
- }, {
33
- message: 'Missing required fields for action. open needs scene_path; create needs scene_path and root_type',
34
- });
3
+ const SceneSchema = z.discriminatedUnion('action', [
4
+ z.object({
5
+ action: z.literal('open').describe('Open a scene file'),
6
+ scene_path: z.string().describe('Path to scene file to open'),
7
+ }),
8
+ z.object({
9
+ action: z.literal('save').describe('Save the current scene'),
10
+ scene_path: z
11
+ .string()
12
+ .optional()
13
+ .describe('Path to save to (defaults to the current scene path)'),
14
+ }),
15
+ z.object({
16
+ action: z.literal('create').describe('Create a new scene'),
17
+ scene_path: z.string().describe('Path for the new scene file'),
18
+ root_type: z.string().describe('Type of root node, e.g. "Node2D"'),
19
+ root_name: z.string().optional().describe('Name of root node (defaults to root_type)'),
20
+ }),
21
+ ]);
35
22
  export const scene = defineTool({
36
23
  name: 'godot_scene',
37
24
  annotations: { title: 'Scene', readOnlyHint: false, destructiveHint: false, openWorldHint: false },
@@ -1 +1 @@
1
- {"version":3,"file":"scene.js","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SAChC,QAAQ,CAAC,4BAA4B,CAAC;IACzC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IAClF,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;CACtE,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,EACD;IACE,OAAO,EACL,kGAAkG;CACrG,CACF,CAAC;AAIJ,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IAClG,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,IAAe,EAAE,EAAE,KAAK,EAAE;QACtC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACvE,OAAO,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAmB,YAAY,EAAE;oBACrE,IAAI,EAAE,IAAI,CAAC,UAAU;iBACtB,CAAC,CAAC;gBACH,OAAO,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAgC,cAAc,EAAE;oBACpF,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;oBAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,OAAO,kBAAkB,MAAM,CAAC,IAAI,wBAAwB,IAAI,CAAC,SAAS,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAwB,CAAC"}
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../../src/tools/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,WAAW,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACjD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACvD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KAC9D,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC5D,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sDAAsD,CAAC;KACpE,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KACvF,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IAClG,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,IAAe,EAAE,EAAE,KAAK,EAAE;QACtC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACvE,OAAO,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAmB,YAAY,EAAE;oBACrE,IAAI,EAAE,IAAI,CAAC,UAAU;iBACtB,CAAC,CAAC;gBACH,OAAO,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAgC,cAAc,EAAE;oBACpF,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;oBAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,OAAO,kBAAkB,MAAM,CAAC,IAAI,wBAAwB,IAAI,CAAC,SAAS,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAwB,CAAC"}