@pinepaper.studio/mcp-server 1.5.5 → 1.6.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 (76) hide show
  1. package/README.de.md +71 -0
  2. package/README.es.md +71 -0
  3. package/README.fr.md +71 -0
  4. package/README.hi.md +71 -0
  5. package/README.ja.md +71 -0
  6. package/README.ko.md +71 -0
  7. package/README.md +513 -272
  8. package/README.pt-BR.md +71 -0
  9. package/README.zh-CN.md +71 -0
  10. package/assets/easing-splashes.svg +152 -0
  11. package/assets/equation-path.svg +77 -0
  12. package/assets/hero.svg +126 -0
  13. package/assets/live-badge.svg +62 -0
  14. package/assets/poster-sunburst.svg +106 -0
  15. package/dist/__tests__/fixtures/mock-relations.d.ts +48 -0
  16. package/dist/__tests__/fixtures/mock-relations.d.ts.map +1 -1
  17. package/dist/__tests__/fixtures/mock-relations.js +31 -0
  18. package/dist/__tests__/fixtures/mock-relations.js.map +1 -1
  19. package/dist/agent/types.d.ts +6 -6
  20. package/dist/browser/puppeteer-controller.d.ts +34 -0
  21. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  22. package/dist/browser/puppeteer-controller.js +116 -5
  23. package/dist/browser/puppeteer-controller.js.map +1 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +32 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/ontology/index.d.ts +2 -0
  28. package/dist/ontology/index.d.ts.map +1 -1
  29. package/dist/ontology/index.js +2 -0
  30. package/dist/ontology/index.js.map +1 -1
  31. package/dist/ontology/ontology-compiler.d.ts +78 -0
  32. package/dist/ontology/ontology-compiler.d.ts.map +1 -0
  33. package/dist/ontology/ontology-compiler.js +235 -0
  34. package/dist/ontology/ontology-compiler.js.map +1 -0
  35. package/dist/ontology/ontology-validator.d.ts +103 -0
  36. package/dist/ontology/ontology-validator.d.ts.map +1 -0
  37. package/dist/ontology/ontology-validator.js +573 -0
  38. package/dist/ontology/ontology-validator.js.map +1 -0
  39. package/dist/ontology/types.d.ts +1 -0
  40. package/dist/ontology/types.d.ts.map +1 -1
  41. package/dist/ontology/validator.d.ts +6 -0
  42. package/dist/ontology/validator.d.ts.map +1 -1
  43. package/dist/ontology/validator.js +34 -5
  44. package/dist/ontology/validator.js.map +1 -1
  45. package/dist/ontology/vocabulary.d.ts.map +1 -1
  46. package/dist/ontology/vocabulary.js +91 -3
  47. package/dist/ontology/vocabulary.js.map +1 -1
  48. package/dist/tools/definitions.d.ts +1 -1
  49. package/dist/tools/definitions.d.ts.map +1 -1
  50. package/dist/tools/definitions.js +978 -27
  51. package/dist/tools/definitions.js.map +1 -1
  52. package/dist/tools/handlers/maps.d.ts.map +1 -1
  53. package/dist/tools/handlers/maps.js +54 -1
  54. package/dist/tools/handlers/maps.js.map +1 -1
  55. package/dist/tools/handlers/ontology.d.ts.map +1 -1
  56. package/dist/tools/handlers/ontology.js +15 -3
  57. package/dist/tools/handlers/ontology.js.map +1 -1
  58. package/dist/tools/handlers.d.ts.map +1 -1
  59. package/dist/tools/handlers.js +137 -6
  60. package/dist/tools/handlers.js.map +1 -1
  61. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  62. package/dist/tools/minimal-descriptions.js +20 -1
  63. package/dist/tools/minimal-descriptions.js.map +1 -1
  64. package/dist/tools/toolkits.d.ts.map +1 -1
  65. package/dist/tools/toolkits.js +25 -2
  66. package/dist/tools/toolkits.js.map +1 -1
  67. package/dist/types/code-generator.d.ts +190 -2
  68. package/dist/types/code-generator.d.ts.map +1 -1
  69. package/dist/types/code-generator.js +1068 -30
  70. package/dist/types/code-generator.js.map +1 -1
  71. package/dist/types/schemas.d.ts +2726 -116
  72. package/dist/types/schemas.d.ts.map +1 -1
  73. package/dist/types/schemas.js +594 -4
  74. package/dist/types/schemas.js.map +1 -1
  75. package/manifest.json +299 -71
  76. package/package.json +14 -3
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { errorResult, executeOrGenerate } from '../handlers.js';
17
17
  import { codeGenerator } from '../../types/code-generator.js';
18
- import { AnalyzeDesignInputSchema, ValidateDesignInputSchema, QueryOntologyInputSchema, GetCanvasOntologyInputSchema, ErrorCodes, } from '../../types/schemas.js';
18
+ import { AnalyzeDesignInputSchema, ValidateDesignInputSchema, ValidateInputSchema, QueryOntologyInputSchema, GetCanvasOntologyInputSchema, ErrorCodes, } from '../../types/schemas.js';
19
19
  export const ontologyHandlers = {
20
20
  pinepaper_get_canvas_ontology: async (args, options) => {
21
21
  const input = GetCanvasOntologyInputSchema.parse(args);
@@ -57,7 +57,7 @@ export const ontologyHandlers = {
57
57
  },
58
58
  pinepaper_validate_design: async (args, _options) => {
59
59
  const input = ValidateDesignInputSchema.parse(args);
60
- const { DesignGraph, KnowledgeGraphValidator } = await import('../../ontology/index.js');
60
+ const { DesignGraph, KnowledgeGraphValidator, validateDefinitionSemantics } = await import('../../ontology/index.js');
61
61
  const dg = new DesignGraph();
62
62
  const validator = new KnowledgeGraphValidator();
63
63
  const definition = input.definition;
@@ -67,13 +67,25 @@ export const ontologyHandlers = {
67
67
  const graph = dg.extractFromDefinition(definition);
68
68
  quality = validator.scoreQuality(definition, graph);
69
69
  }
70
+ // Structured semantic diagnostics (FxTool's S3.4 OntologyValidator, ported) — dangling
71
+ // relation targets, unknown item/relation types (+nearest-id), duplicate edges,
72
+ // relation cycles, keyframe order/easing. Runs Node-side, no browser round-trip.
73
+ const semantics = validateDefinitionSemantics(definition);
70
74
  return {
71
75
  content: [{
72
76
  type: 'text',
73
- text: JSON.stringify({ validation, quality }, null, 2),
77
+ text: JSON.stringify({ validation, quality, diagnostics: semantics }, null, 2),
74
78
  }],
75
79
  };
76
80
  },
81
+ // Semantic validation of the LIVE scene or a proposed op (FxTool OntologyValidator).
82
+ // Distinct from validate_design (server-side template scoring): this runs in the
83
+ // browser and returns structured diagnostics {code, severity, message, target, fix}.
84
+ pinepaper_validate: async (args, options) => {
85
+ const input = ValidateInputSchema.parse(args);
86
+ const code = codeGenerator.generateValidate(input);
87
+ return executeOrGenerate(code, 'Semantic validation — structured diagnostics (references, relation types, params, cycles)', options, 'pinepaper_validate');
88
+ },
77
89
  pinepaper_query_ontology: async (args, _options) => {
78
90
  const input = QueryOntologyInputSchema.parse(args);
79
91
  const { PP_VOCABULARY, RELATION_TYPE_MAP } = await import('../../ontology/vocabulary.js');
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/tools/handlers/ontology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/tools/handlers/ontology.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AAwH/F,OAAO,EAAE,WAAW,EAAW,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAI3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AA4B7F;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAOlD;AA+CD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,oEAAoE;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AA6DD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,YAAY,GACrB,cAAc,CAwBhB;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAmMzB;AAMD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACtC,MAAM,CASR;AA0ED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AAyI/F,OAAO,EAAE,WAAW,EAAW,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAI3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AA4B7F;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAOlD;AA+CD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,oEAAoE;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AA2ED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,YAAY,GACrB,cAAc,CAwBhB;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAqMzB;AAMD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACtC,MAAM,CASR;AA0ED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
@@ -6,7 +6,7 @@
6
6
  * Supports browser execution via Puppeteer.
7
7
  */
8
8
  import { codeGenerator } from '../types/code-generator.js';
9
- import { CreateItemInputSchema, ModifyItemInputSchema, DeleteItemInputSchema, AddRelationInputSchema, RemoveRelationInputSchema, QueryRelationsInputSchema, AnimateItemInputSchema, KeyframeAnimateInputSchema, ExecuteGeneratorInputSchema, ApplyEffectInputSchema, GetItemsInputSchema, PlayTimelineInputSchema, SetBackgroundColorInputSchema, SetCanvasSizeInputSchema, ImportSVGInputSchema, ImportMermaidInputSchema, AddFilterInputSchema, CreateGlossySphereInputSchema, CreateDiagonalStripesInputSchema, BatchCreateInputSchema, BatchModifyInputSchema, CreateGridInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
9
+ import { CreateItemInputSchema, ModifyItemInputSchema, DeleteItemInputSchema, AddRelationInputSchema, RemoveRelationInputSchema, QueryRelationsInputSchema, AnimateItemInputSchema, KeyframeAnimateInputSchema, ExecuteGeneratorInputSchema, ApplyEffectInputSchema, GetItemsInputSchema, PlayTimelineInputSchema, SetBackgroundColorInputSchema, SetCanvasSizeInputSchema, ImportSVGInputSchema, ImportMermaidInputSchema, AddFilterInputSchema, CreateGlossySphereInputSchema, CreateDiagonalStripesInputSchema, BatchCreateInputSchema, BatchModifyInputSchema, CreateGridInputSchema, GeometryInputSchema, EquationPathInputSchema, EventInputSchema, ConstructionSequenceInputSchema, ValidateSceneInputSchema, CaptureFramesInputSchema, InstantiateOntologyInputSchema, LintSceneInputSchema, MediaInputSchema, CropImageInputSchema, ChromaKeyInputSchema, RiggingInputSchema, GroupInputSchema, CameraDirectorInputSchema, DetectObjectsInputSchema, ExtractObjectInputSchema, ArrangeInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
10
10
  // Diagram schemas
11
11
  CreateDiagramShapeInputSchema, ConnectInputSchema, ConnectPortsInputSchema, AddPortsInputSchema, AutoLayoutInputSchema, GetDiagramShapesInputSchema, UpdateConnectorInputSchema, RemoveConnectorInputSchema, DiagramModeInputSchema,
12
12
  // Agent flow mode schemas
@@ -125,10 +125,26 @@ function successResult(code, description) {
125
125
  }
126
126
  return { content };
127
127
  }
128
- function executedResult(code, result, screenshot, description) {
128
+ function executedResult(code, result, screenshot, description, report) {
129
129
  const resultObj = { success: true, result };
130
130
  if (description)
131
131
  resultObj.description = description;
132
+ // Surface the governor's model-actionable feedback (app.runGenerated report):
133
+ // warnings (e.g. "500 items created one-by-one — prefer a pattern"), item count,
134
+ // and guard trips. Omitted entirely on pre-governor FxTool builds (no report).
135
+ if (report) {
136
+ const warnings = Array.isArray(report.warnings) ? report.warnings : [];
137
+ const items = report.items;
138
+ const governor = {};
139
+ if (warnings.length)
140
+ governor.warnings = warnings;
141
+ if (items && typeof items.created === 'number')
142
+ governor.itemsCreated = items.created;
143
+ if (report.guard?.tripped)
144
+ governor.loopGuardTripped = true;
145
+ if (Object.keys(governor).length)
146
+ resultObj.governor = governor;
147
+ }
132
148
  const content = [
133
149
  { type: 'text', text: JSON.stringify(resultObj, null, 2) },
134
150
  { type: 'text', text: `Generated code:\n\`\`\`javascript\n${code}\n\`\`\`` },
@@ -374,12 +390,15 @@ ${code}
374
390
  if (!result.success) {
375
391
  // Capture canvas state for error context
376
392
  const canvasState = await captureCanvasState(controller);
377
- return errorResult(ErrorCodes.EXECUTION_ERROR, result.error || 'Failed to execute code in browser', { code }, {
393
+ return errorResult(ErrorCodes.EXECUTION_ERROR, result.error || 'Failed to execute code in browser',
394
+ // errorCode surfaces the governor's structured code (PP_ITEM_BUDGET,
395
+ // PP_LOOP_BUDGET, PP_TIMEOUT) so the model can correct on the next turn.
396
+ { code, errorCode: result.errorCode, governorReport: result.report }, {
378
397
  toolName,
379
398
  canvasState: canvasState || undefined,
380
399
  });
381
400
  }
382
- return executedResult(code, result.result, result.screenshot, description);
401
+ return executedResult(code, result.result, result.screenshot, description, result.report);
383
402
  }
384
403
  // =============================================================================
385
404
  // I18N HELPER FUNCTIONS
@@ -697,6 +716,108 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
697
716
  const description = `Creates a ${input.cols}x${input.rows} grid${input.animated ? ' with wave animation' : ''}`;
698
717
  return executeOrGenerate(code, description, options, 'pinepaper_create_grid');
699
718
  }
719
+ case 'pinepaper_geometry': {
720
+ const input = GeometryInputSchema.parse(args);
721
+ const code = codeGenerator.generateGeometry(input);
722
+ const description = `Geometry construction: ${input.operation}${input.createAs ? ' (+ create item)' : ''}`;
723
+ return executeOrGenerate(code, description, options, 'pinepaper_geometry');
724
+ }
725
+ case 'pinepaper_equation_path': {
726
+ const input = EquationPathInputSchema.parse(args);
727
+ const code = codeGenerator.generateEquationPath(input);
728
+ const description = `Equation-driven path: ${input.kind}${input.preset ? ` (${input.preset})` : ''}`;
729
+ return executeOrGenerate(code, description, options, 'pinepaper_equation_path');
730
+ }
731
+ case 'pinepaper_event': {
732
+ const input = EventInputSchema.parse(args);
733
+ const code = codeGenerator.generateEvent(input);
734
+ const description = input.action === 'create'
735
+ ? `Create event "${input.name}"`
736
+ : `Pulse event ${input.eventId}`;
737
+ return executeOrGenerate(code, description, options, 'pinepaper_event');
738
+ }
739
+ case 'pinepaper_construction_sequence': {
740
+ const input = ConstructionSequenceInputSchema.parse(args);
741
+ const code = codeGenerator.generateConstructionSequence(input);
742
+ const description = `Construction sequence: ${input.action}`;
743
+ return executeOrGenerate(code, description, options, 'pinepaper_construction_sequence');
744
+ }
745
+ case 'pinepaper_group': {
746
+ const input = GroupInputSchema.parse(args);
747
+ const code = codeGenerator.generateGroup(input);
748
+ const description = input.action === 'ungroup' ? `Ungroup ${input.groupId ?? ''}`
749
+ : input.action === 'break_apart' ? `Break apart ${input.itemId ?? ''} into movable parts`
750
+ : `Group ${(input.itemIds ?? []).length} item(s)${input.groupName ? ` as "${input.groupName}"` : ''}`;
751
+ return executeOrGenerate(code, description, options, 'pinepaper_group');
752
+ }
753
+ case 'pinepaper_camera_director': {
754
+ const input = CameraDirectorInputSchema.parse(args);
755
+ const code = codeGenerator.generateCameraDirector(input);
756
+ const description = input.action === 'shots'
757
+ ? `Camera director: ${(input.shots ?? []).length} shot(s)`
758
+ : 'Camera director: auto-direct walkthrough';
759
+ return executeOrGenerate(code, description, options, 'pinepaper_camera_director');
760
+ }
761
+ case 'pinepaper_detect_objects': {
762
+ const input = DetectObjectsInputSchema.parse(args);
763
+ const code = codeGenerator.generateDetectObjects(input);
764
+ const description = `Detect objects${input.asNodes ? ' (as design nodes)' : ''}`;
765
+ return executeOrGenerate(code, description, options, 'pinepaper_detect_objects');
766
+ }
767
+ case 'pinepaper_extract_object': {
768
+ const input = ExtractObjectInputSchema.parse(args);
769
+ const code = codeGenerator.generateExtractObject(input);
770
+ const description = `Extract object${input.label ? ` "${input.label}"` : ''} from image`;
771
+ return executeOrGenerate(code, description, options, 'pinepaper_extract_object');
772
+ }
773
+ case 'pinepaper_arrange': {
774
+ const input = ArrangeInputSchema.parse(args);
775
+ const code = codeGenerator.generateArrange(input);
776
+ const description = `Arrange ${input.itemId}: ${input.action}`;
777
+ return executeOrGenerate(code, description, options, 'pinepaper_arrange');
778
+ }
779
+ case 'pinepaper_validate_scene': {
780
+ const input = ValidateSceneInputSchema.parse(args);
781
+ const code = codeGenerator.generateValidateScene(input);
782
+ const description = input.ops ? `Pre-validate ${input.ops.length} proposed op(s)` : 'Audit the live scene';
783
+ return executeOrGenerate(code, description, options, 'pinepaper_validate_scene');
784
+ }
785
+ case 'pinepaper_capture_frames': {
786
+ const input = CaptureFramesInputSchema.parse(args);
787
+ const code = codeGenerator.generateCaptureFrames(input);
788
+ const description = `Deterministic capture of ${input.times.length} frame(s)`;
789
+ return executeOrGenerate(code, description, options, 'pinepaper_capture_frames');
790
+ }
791
+ case 'pinepaper_instantiate_ontology': {
792
+ const input = InstantiateOntologyInputSchema.parse(args);
793
+ const code = codeGenerator.generateInstantiateOntology(input);
794
+ return executeOrGenerate(code, 'Instantiate ontology → scene', options, 'pinepaper_instantiate_ontology');
795
+ }
796
+ case 'pinepaper_lint_scene': {
797
+ const input = LintSceneInputSchema.parse(args);
798
+ const code = codeGenerator.generateLintScene(input);
799
+ return executeOrGenerate(code, 'Lint scene (relational density)', options, 'pinepaper_lint_scene');
800
+ }
801
+ case 'pinepaper_media': {
802
+ const input = MediaInputSchema.parse(args);
803
+ const code = codeGenerator.generateMedia(input);
804
+ return executeOrGenerate(code, `Media: ${input.action}`, options, 'pinepaper_media');
805
+ }
806
+ case 'pinepaper_crop_image': {
807
+ const input = CropImageInputSchema.parse(args);
808
+ const code = codeGenerator.generateCropImage(input);
809
+ return executeOrGenerate(code, `Crop image ${input.itemId}`, options, 'pinepaper_crop_image');
810
+ }
811
+ case 'pinepaper_chroma_key': {
812
+ const input = ChromaKeyInputSchema.parse(args);
813
+ const code = codeGenerator.generateChromaKey(input);
814
+ return executeOrGenerate(code, `Chroma-key image ${input.itemId}`, options, 'pinepaper_chroma_key');
815
+ }
816
+ case 'pinepaper_rigging': {
817
+ const input = RiggingInputSchema.parse(args);
818
+ const code = codeGenerator.generateRigging(input);
819
+ return executeOrGenerate(code, `Rigging: ${input.action}`, options, 'pinepaper_rigging');
820
+ }
700
821
  // -----------------------------------------------------------------------
701
822
  // RELATION TOOLS
702
823
  // -----------------------------------------------------------------------
@@ -753,7 +874,7 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
753
874
  }
754
875
  case 'pinepaper_play_timeline': {
755
876
  const input = PlayTimelineInputSchema.parse(args);
756
- const code = codeGenerator.generatePlayTimeline(input.action, input.duration, input.loop, input.time);
877
+ const code = codeGenerator.generatePlayTimeline(input.action, input.duration, input.loop, input.time, input.deterministic);
757
878
  return executeOrGenerate(code, `Timeline action: ${input.action}`, options, 'pinepaper_play_timeline');
758
879
  }
759
880
  // -----------------------------------------------------------------------
@@ -1784,6 +1905,15 @@ You can now start creating new items on a clean canvas.`,
1784
1905
  'pinepaper_batch_create',
1785
1906
  'pinepaper_batch_modify',
1786
1907
  'pinepaper_create_grid',
1908
+ 'pinepaper_geometry',
1909
+ 'pinepaper_construction_sequence',
1910
+ 'pinepaper_group',
1911
+ 'pinepaper_camera_director',
1912
+ 'pinepaper_detect_objects',
1913
+ 'pinepaper_extract_object',
1914
+ 'pinepaper_arrange',
1915
+ 'pinepaper_validate_scene',
1916
+ 'pinepaper_capture_frames',
1787
1917
  'pinepaper_add_relation',
1788
1918
  'pinepaper_remove_relation',
1789
1919
  'pinepaper_query_relations',
@@ -1850,11 +1980,12 @@ You can now start creating new items on a clean canvas.`,
1850
1980
  // Letter collage tools
1851
1981
  'pinepaper_create_letter_collage',
1852
1982
  'pinepaper_animate_letter_collage',
1853
- // Map tools (4 action-dispatched)
1983
+ // Map tools (5 action-dispatched)
1854
1984
  'pinepaper_map',
1855
1985
  'pinepaper_map_regions',
1856
1986
  'pinepaper_map_animation',
1857
1987
  'pinepaper_map_data',
1988
+ 'pinepaper_globe',
1858
1989
  // Font tools
1859
1990
  'pinepaper_font',
1860
1991
  // Image import tools