@satelliteoflove/godot-mcp 3.2.0 → 3.3.1

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 +112 -84
  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 +41 -57
  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 +75 -87
  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 +14 -26
  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 +23 -17
  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 +17 -27
  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 +113 -114
  53. package/dist/tools/tilemap.js.map +1 -1
  54. package/package.json +1 -1
@@ -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"}
@@ -1,12 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import type { AnyToolDefinition } from '../core/types.js';
3
- export declare const scene3d: import("../core/types.js").ToolDefinition<z.ZodObject<{
4
- action: z.ZodEnum<{
5
- get_spatial_info: "get_spatial_info";
6
- get_bounds: "get_bounds";
7
- }>;
8
- node_path: z.ZodOptional<z.ZodString>;
9
- root_path: z.ZodOptional<z.ZodString>;
3
+ export declare const scene3d: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"get_spatial_info">;
5
+ node_path: z.ZodString;
10
6
  include_children: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
7
  type_filter: z.ZodOptional<z.ZodString>;
12
8
  max_results: z.ZodOptional<z.ZodNumber>;
@@ -22,6 +18,9 @@ export declare const scene3d: import("../core/types.js").ToolDefinition<z.ZodObj
22
18
  z: z.ZodNumber;
23
19
  }, z.core.$strip>;
24
20
  }, z.core.$strip>>;
25
- }, z.core.$strip>>;
21
+ }, z.core.$strip>, z.ZodObject<{
22
+ action: z.ZodLiteral<"get_bounds">;
23
+ root_path: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strip>], "action">>;
26
25
  export declare const scene3dTools: AnyToolDefinition[];
27
26
  //# sourceMappingURL=scene3d.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene3d.d.ts","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAW,MAAM,kBAAkB,CAAC;AA2FnE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;kBA0ElB,CAAC;AAEH,eAAO,MAAM,YAAY,EAAgB,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"scene3d.d.ts","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAW,MAAM,kBAAkB,CAAC;AAwEnE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;8BA0ElB,CAAC;AAEH,eAAO,MAAM,YAAY,EAAgB,iBAAiB,EAAE,CAAC"}
@@ -9,48 +9,35 @@ const AABBInputSchema = z.object({
9
9
  position: Vector3Schema.describe('Min corner of the AABB'),
10
10
  size: Vector3Schema.describe('Size of the AABB'),
11
11
  });
12
- const Scene3DSchema = z
13
- .object({
14
- action: z
15
- .enum(['get_spatial_info', 'get_bounds'])
16
- .describe('Action: get_spatial_info (node spatial data), get_bounds (combined AABB)'),
17
- node_path: z
18
- .string()
19
- .optional()
20
- .describe('Path to the Node3D (required for get_spatial_info)'),
21
- root_path: z
22
- .string()
23
- .optional()
24
- .describe('Path to search root (get_bounds only, defaults to scene root)'),
25
- include_children: z
26
- .boolean()
27
- .optional()
28
- .default(false)
29
- .describe('Include child nodes (get_spatial_info only)'),
30
- type_filter: z
31
- .string()
32
- .optional()
33
- .describe('Filter by node type, e.g. "MeshInstance3D" (get_spatial_info only)'),
34
- max_results: z
35
- .number()
36
- .int()
37
- .positive()
38
- .optional()
39
- .describe('Limit number of results (get_spatial_info only). Defaults to 50 when include_children=true. Set higher (e.g., 500) if needed.'),
40
- within_aabb: AABBInputSchema.optional().describe('Only include nodes whose global position is within this AABB (get_spatial_info only)'),
41
- })
42
- .refine((data) => {
43
- switch (data.action) {
44
- case 'get_spatial_info':
45
- return !!data.node_path;
46
- case 'get_bounds':
47
- return true;
48
- default:
49
- return false;
50
- }
51
- }, {
52
- message: 'Missing required fields for action. get_spatial_info requires node_path.',
53
- });
12
+ const Scene3DSchema = z.discriminatedUnion('action', [
13
+ z.object({
14
+ action: z.literal('get_spatial_info').describe('Get spatial data for a Node3D and optionally its children'),
15
+ node_path: z.string().describe('Path to the Node3D'),
16
+ include_children: z
17
+ .boolean()
18
+ .optional()
19
+ .default(false)
20
+ .describe('Include child nodes'),
21
+ type_filter: z
22
+ .string()
23
+ .optional()
24
+ .describe('Filter by node type, e.g. "MeshInstance3D"'),
25
+ max_results: z
26
+ .number()
27
+ .int()
28
+ .positive()
29
+ .optional()
30
+ .describe('Limit number of results. Defaults to 50 when include_children=true. Set higher (e.g., 500) if needed.'),
31
+ within_aabb: AABBInputSchema.optional().describe('Only include nodes whose global position is within this AABB'),
32
+ }),
33
+ z.object({
34
+ action: z.literal('get_bounds').describe('Get the combined AABB of a subtree'),
35
+ root_path: z
36
+ .string()
37
+ .optional()
38
+ .describe('Path to search root (defaults to scene root)'),
39
+ }),
40
+ ]);
54
41
  function formatVector3(v) {
55
42
  return `(${v.x.toFixed(3)}, ${v.y.toFixed(3)}, ${v.z.toFixed(3)})`;
56
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scene3d.js","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene3d.js","sourceRoot":"","sources":["../../src/tools/scene3d.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,38 @@
1
1
  import { z } from 'zod';
2
2
  import type { AnyToolDefinition } from '../core/types.js';
3
- export declare const tilemap: import("../core/types.js").ToolDefinition<z.ZodObject<{
4
- action: z.ZodEnum<{
5
- get_info: "get_info";
6
- list_layers: "list_layers";
7
- get_tileset_info: "get_tileset_info";
8
- get_used_cells: "get_used_cells";
9
- get_cell: "get_cell";
10
- get_cells_in_region: "get_cells_in_region";
11
- convert_coords: "convert_coords";
12
- set_cell: "set_cell";
13
- erase_cell: "erase_cell";
14
- clear_layer: "clear_layer";
15
- set_cells_batch: "set_cells_batch";
16
- }>;
3
+ export declare const tilemap: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"list_layers">;
17
5
  root_path: z.ZodOptional<z.ZodString>;
18
- node_path: z.ZodOptional<z.ZodString>;
19
- coords: z.ZodOptional<z.ZodObject<{
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ action: z.ZodLiteral<"get_info">;
8
+ node_path: z.ZodString;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ action: z.ZodLiteral<"get_tileset_info">;
11
+ node_path: z.ZodString;
12
+ }, z.core.$strip>, z.ZodObject<{
13
+ action: z.ZodLiteral<"get_used_cells">;
14
+ node_path: z.ZodString;
15
+ }, z.core.$strip>, z.ZodObject<{
16
+ action: z.ZodLiteral<"get_cell">;
17
+ node_path: z.ZodString;
18
+ coords: z.ZodObject<{
20
19
  x: z.ZodNumber;
21
20
  y: z.ZodNumber;
22
- }, z.core.$strip>>;
23
- min_coords: z.ZodOptional<z.ZodObject<{
21
+ }, z.core.$strip>;
22
+ }, z.core.$strip>, z.ZodObject<{
23
+ action: z.ZodLiteral<"get_cells_in_region">;
24
+ node_path: z.ZodString;
25
+ min_coords: z.ZodObject<{
24
26
  x: z.ZodNumber;
25
27
  y: z.ZodNumber;
26
- }, z.core.$strip>>;
27
- max_coords: z.ZodOptional<z.ZodObject<{
28
+ }, z.core.$strip>;
29
+ max_coords: z.ZodObject<{
28
30
  x: z.ZodNumber;
29
31
  y: z.ZodNumber;
30
- }, z.core.$strip>>;
32
+ }, z.core.$strip>;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ action: z.ZodLiteral<"convert_coords">;
35
+ node_path: z.ZodString;
31
36
  local_position: z.ZodOptional<z.ZodObject<{
32
37
  x: z.ZodNumber;
33
38
  y: z.ZodNumber;
@@ -36,13 +41,33 @@ export declare const tilemap: import("../core/types.js").ToolDefinition<z.ZodObj
36
41
  x: z.ZodNumber;
37
42
  y: z.ZodNumber;
38
43
  }, z.core.$strip>>;
44
+ }, z.core.$strip>, z.ZodObject<{
45
+ action: z.ZodLiteral<"set_cell">;
46
+ node_path: z.ZodString;
47
+ coords: z.ZodObject<{
48
+ x: z.ZodNumber;
49
+ y: z.ZodNumber;
50
+ }, z.core.$strip>;
39
51
  source_id: z.ZodOptional<z.ZodNumber>;
40
52
  atlas_coords: z.ZodOptional<z.ZodObject<{
41
53
  x: z.ZodNumber;
42
54
  y: z.ZodNumber;
43
55
  }, z.core.$strip>>;
44
56
  alternative_tile: z.ZodOptional<z.ZodNumber>;
45
- cells: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ action: z.ZodLiteral<"erase_cell">;
59
+ node_path: z.ZodString;
60
+ coords: z.ZodObject<{
61
+ x: z.ZodNumber;
62
+ y: z.ZodNumber;
63
+ }, z.core.$strip>;
64
+ }, z.core.$strip>, z.ZodObject<{
65
+ action: z.ZodLiteral<"clear_layer">;
66
+ node_path: z.ZodString;
67
+ }, z.core.$strip>, z.ZodObject<{
68
+ action: z.ZodLiteral<"set_cells_batch">;
69
+ node_path: z.ZodString;
70
+ cells: z.ZodArray<z.ZodObject<{
46
71
  coords: z.ZodObject<{
47
72
  x: z.ZodNumber;
48
73
  y: z.ZodNumber;
@@ -53,31 +78,57 @@ export declare const tilemap: import("../core/types.js").ToolDefinition<z.ZodObj
53
78
  y: z.ZodNumber;
54
79
  }, z.core.$strip>>;
55
80
  alternative_tile: z.ZodOptional<z.ZodNumber>;
56
- }, z.core.$strip>>>;
57
- }, z.core.$strip>>;
58
- export declare const gridmap: import("../core/types.js").ToolDefinition<z.ZodObject<{
59
- action: z.ZodEnum<{
60
- clear: "clear";
61
- get_info: "get_info";
62
- get_used_cells: "get_used_cells";
63
- get_cell: "get_cell";
64
- set_cell: "set_cell";
65
- set_cells_batch: "set_cells_batch";
66
- list: "list";
67
- get_meshlib_info: "get_meshlib_info";
68
- get_cells_by_item: "get_cells_by_item";
69
- clear_cell: "clear_cell";
70
- }>;
81
+ }, z.core.$strip>>;
82
+ }, z.core.$strip>], "action">>;
83
+ export declare const gridmap: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
84
+ action: z.ZodLiteral<"list">;
71
85
  root_path: z.ZodOptional<z.ZodString>;
72
- node_path: z.ZodOptional<z.ZodString>;
73
- coords: z.ZodOptional<z.ZodObject<{
86
+ }, z.core.$strip>, z.ZodObject<{
87
+ action: z.ZodLiteral<"get_info">;
88
+ node_path: z.ZodString;
89
+ }, z.core.$strip>, z.ZodObject<{
90
+ action: z.ZodLiteral<"get_meshlib_info">;
91
+ node_path: z.ZodString;
92
+ }, z.core.$strip>, z.ZodObject<{
93
+ action: z.ZodLiteral<"get_used_cells">;
94
+ node_path: z.ZodString;
95
+ }, z.core.$strip>, z.ZodObject<{
96
+ action: z.ZodLiteral<"get_cell">;
97
+ node_path: z.ZodString;
98
+ coords: z.ZodObject<{
74
99
  x: z.ZodNumber;
75
100
  y: z.ZodNumber;
76
101
  z: z.ZodNumber;
77
- }, z.core.$strip>>;
78
- item: z.ZodOptional<z.ZodNumber>;
102
+ }, z.core.$strip>;
103
+ }, z.core.$strip>, z.ZodObject<{
104
+ action: z.ZodLiteral<"get_cells_by_item">;
105
+ node_path: z.ZodString;
106
+ item: z.ZodNumber;
107
+ }, z.core.$strip>, z.ZodObject<{
108
+ action: z.ZodLiteral<"set_cell">;
109
+ node_path: z.ZodString;
110
+ coords: z.ZodObject<{
111
+ x: z.ZodNumber;
112
+ y: z.ZodNumber;
113
+ z: z.ZodNumber;
114
+ }, z.core.$strip>;
115
+ item: z.ZodNumber;
79
116
  orientation: z.ZodOptional<z.ZodNumber>;
80
- cells: z.ZodOptional<z.ZodArray<z.ZodObject<{
117
+ }, z.core.$strip>, z.ZodObject<{
118
+ action: z.ZodLiteral<"clear_cell">;
119
+ node_path: z.ZodString;
120
+ coords: z.ZodObject<{
121
+ x: z.ZodNumber;
122
+ y: z.ZodNumber;
123
+ z: z.ZodNumber;
124
+ }, z.core.$strip>;
125
+ }, z.core.$strip>, z.ZodObject<{
126
+ action: z.ZodLiteral<"clear">;
127
+ node_path: z.ZodString;
128
+ }, z.core.$strip>, z.ZodObject<{
129
+ action: z.ZodLiteral<"set_cells_batch">;
130
+ node_path: z.ZodString;
131
+ cells: z.ZodArray<z.ZodObject<{
81
132
  coords: z.ZodObject<{
82
133
  x: z.ZodNumber;
83
134
  y: z.ZodNumber;
@@ -85,7 +136,7 @@ export declare const gridmap: import("../core/types.js").ToolDefinition<z.ZodObj
85
136
  }, z.core.$strip>;
86
137
  item: z.ZodNumber;
87
138
  orientation: z.ZodOptional<z.ZodNumber>;
88
- }, z.core.$strip>>>;
89
- }, z.core.$strip>>;
139
+ }, z.core.$strip>>;
140
+ }, z.core.$strip>], "action">>;
90
141
  export declare const tilemapTools: AnyToolDefinition[];
91
142
  //# sourceMappingURL=tilemap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tilemap.d.ts","sourceRoot":"","sources":["../../src/tools/tilemap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAqF1D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsFlB,CAAC;AAmDH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuElB,CAAC;AAEH,eAAO,MAAM,YAAY,EAAyB,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"tilemap.d.ts","sourceRoot":"","sources":["../../src/tools/tilemap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA4E1D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAsFlB,CAAC;AAqDH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAuElB,CAAC;AAEH,eAAO,MAAM,YAAY,EAAyB,iBAAiB,EAAE,CAAC"}