@pinepaper.studio/mcp-server 1.6.35 → 1.6.36

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 (56) hide show
  1. package/README.de.md +1 -1
  2. package/README.es.md +1 -1
  3. package/README.fr.md +1 -1
  4. package/README.hi.md +1 -1
  5. package/README.ja.md +1 -1
  6. package/README.ko.md +1 -1
  7. package/README.md +44 -6
  8. package/README.pt-BR.md +1 -1
  9. package/README.zh-CN.md +1 -1
  10. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  11. package/dist/browser/puppeteer-controller.js +4 -0
  12. package/dist/browser/puppeteer-controller.js.map +1 -1
  13. package/dist/build-info.json +2 -2
  14. package/dist/ontology/upstream-vocabulary.d.ts +1 -1
  15. package/dist/ontology/upstream-vocabulary.js +1 -1
  16. package/dist/tools/definitions.d.ts.map +1 -1
  17. package/dist/tools/definitions.js +73 -32
  18. package/dist/tools/definitions.js.map +1 -1
  19. package/dist/tools/effect-class.d.ts.map +1 -1
  20. package/dist/tools/effect-class.js +4 -0
  21. package/dist/tools/effect-class.js.map +1 -1
  22. package/dist/tools/engine-lists.d.ts +2 -2
  23. package/dist/tools/engine-lists.js +2 -2
  24. package/dist/tools/engine-methods.d.ts.map +1 -1
  25. package/dist/tools/engine-methods.js +3 -0
  26. package/dist/tools/engine-methods.js.map +1 -1
  27. package/dist/tools/engine-surface.d.ts +1 -1
  28. package/dist/tools/engine-surface.d.ts.map +1 -1
  29. package/dist/tools/engine-surface.js +14 -5
  30. package/dist/tools/engine-surface.js.map +1 -1
  31. package/dist/tools/handlers.d.ts +7 -0
  32. package/dist/tools/handlers.d.ts.map +1 -1
  33. package/dist/tools/handlers.js +34 -1
  34. package/dist/tools/handlers.js.map +1 -1
  35. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  36. package/dist/tools/minimal-descriptions.js +1 -0
  37. package/dist/tools/minimal-descriptions.js.map +1 -1
  38. package/dist/tools/shape-params.d.ts +2 -2
  39. package/dist/tools/shape-params.js +2 -2
  40. package/dist/tools/stick-vocabulary.d.ts +1 -1
  41. package/dist/tools/stick-vocabulary.js +1 -1
  42. package/dist/tools/toolkits.d.ts.map +1 -1
  43. package/dist/tools/toolkits.js +2 -1
  44. package/dist/tools/toolkits.js.map +1 -1
  45. package/dist/types/code-generator.d.ts +7 -1
  46. package/dist/types/code-generator.d.ts.map +1 -1
  47. package/dist/types/code-generator.js +98 -11
  48. package/dist/types/code-generator.js.map +1 -1
  49. package/dist/types/schemas.d.ts +35 -3
  50. package/dist/types/schemas.d.ts.map +1 -1
  51. package/dist/types/schemas.js +31 -9
  52. package/dist/types/schemas.js.map +1 -1
  53. package/dist/utils/asset-paths.js +1 -1
  54. package/dist/utils/asset-paths.js.map +1 -1
  55. package/manifest.json +5 -1
  56. package/package.json +1 -1
@@ -12,7 +12,7 @@ import { exportPerScene } from './scene-cache-export.js';
12
12
  import { boundedStructured, reportedIgnoredPaths } from './reply-fields.js';
13
13
  import { codeGenerator, generateQueryMutationsCode, SHEET_RUBRIC } from '../types/code-generator.js';
14
14
  import { expandBatchMacros, BatchMacroError, batchPreflightView, withKeyColumns } from './batch-macros.js';
15
- import { CreateItemInputSchema, ModifyItemInputSchema, DeleteItemInputSchema, AddRelationInputSchema, RemoveRelationInputSchema, QueryRelationsInputSchema, AnimateItemInputSchema, ImportMotionCaptureInputSchema, KeyframeAnimateInputSchema, ExecuteGeneratorInputSchema, ApplyEffectInputSchema, GetItemsInputSchema, PlayTimelineInputSchema, SetBackgroundColorInputSchema, SetCanvasSizeInputSchema, ImportSVGInputSchema, ImportMermaidInputSchema, AddFilterInputSchema, CreateGlossySphereInputSchema, CreateDiagonalStripesInputSchema, BatchCreateInputSchema, BatchModifyInputSchema, CreateGridInputSchema, GeometryInputSchema, EquationPathInputSchema, EventInputSchema, ConstructionSequenceInputSchema, ValidateSceneInputSchema, CaptureFramesInputSchema, InstantiateOntologyInputSchema, LintSceneInputSchema, MediaInputSchema, TextStyleInputSchema, TextEffectInputSchema, DesignMediumInputSchema, RelightInputSchema, ChoreographInputSchema, EmitterInputSchema, MorphSequenceInputSchema, OriginalCharacterInputSchema, LookInputSchema, RenderHookInputSchema, ShaderGraphInputSchema, ShatterImageInputSchema, ImportLayeredCharacterInputSchema, CharacterInputSchema, GameInputSchema, World3DInputSchema, BrandKitInputSchema, ComponentInputSchema, ArtboardInputSchema, CommentInputSchema, ProvenanceInputSchema, SceneDiffInputSchema, AudioBeatsInputSchema, TemplateParamsInputSchema, RenderBatchInputSchema, AccessibilityCheckInputSchema, QueryMutationsInputSchema, ComposeInputSchema, CropImageInputSchema, PathOpInputSchema, MotionInputSchema, SoundInputSchema, InterchangeInputSchema, StickInputSchema, DesignSystemInputSchema, StoryInputSchema, ChromaKeyInputSchema, RiggingInputSchema, GroupInputSchema, CameraDirectorInputSchema, DetectObjectsInputSchema, ExtractObjectInputSchema, ArrangeInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
15
+ import { CreateItemInputSchema, ModifyItemInputSchema, DeleteItemInputSchema, AddRelationInputSchema, RemoveRelationInputSchema, QueryRelationsInputSchema, AnimateItemInputSchema, ImportMotionCaptureInputSchema, KeyframeAnimateInputSchema, ExecuteGeneratorInputSchema, ApplyEffectInputSchema, GetItemsInputSchema, PlayTimelineInputSchema, SetBackgroundColorInputSchema, SetCanvasSizeInputSchema, ImportSVGInputSchema, ImportMermaidInputSchema, AddFilterInputSchema, CreateGlossySphereInputSchema, CreateDiagonalStripesInputSchema, BatchCreateInputSchema, BatchModifyInputSchema, CreateGridInputSchema, GeometryInputSchema, EquationPathInputSchema, EventInputSchema, ConstructionSequenceInputSchema, ValidateSceneInputSchema, CaptureFramesInputSchema, InstantiateOntologyInputSchema, LintSceneInputSchema, MediaInputSchema, TextStyleInputSchema, TextEffectInputSchema, DesignMediumInputSchema, RelightInputSchema, ChoreographInputSchema, EmitterInputSchema, MorphSequenceInputSchema, OriginalCharacterInputSchema, LookInputSchema, RenderHookInputSchema, ShaderGraphInputSchema, ShatterImageInputSchema, ImportLayeredCharacterInputSchema, CharacterInputSchema, GameInputSchema, World3DInputSchema, BrandKitInputSchema, ComponentInputSchema, ArtboardInputSchema, CommentInputSchema, ProvenanceInputSchema, SceneDiffInputSchema, AudioBeatsInputSchema, TemplateParamsInputSchema, RenderBatchInputSchema, AccessibilityCheckInputSchema, QueryMutationsInputSchema, ComposeInputSchema, CropImageInputSchema, PathOpInputSchema, MotionInputSchema, SoundInputSchema, InterchangeInputSchema, StickInputSchema, InstancesInputSchema, DesignSystemInputSchema, StoryInputSchema, ChromaKeyInputSchema, RiggingInputSchema, GroupInputSchema, CameraDirectorInputSchema, DetectObjectsInputSchema, ExtractObjectInputSchema, ArrangeInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
16
16
  // Diagram schemas
17
17
  CreateDiagramShapeInputSchema, ConnectInputSchema, ConnectPortsInputSchema, AddPortsInputSchema, AutoLayoutInputSchema, GetDiagramShapesInputSchema, UpdateConnectorInputSchema, RemoveConnectorInputSchema, DiagramModeInputSchema,
18
18
  // Agent flow mode schemas
@@ -1262,6 +1262,34 @@ async function craftFrame(options) {
1262
1262
  return undefined;
1263
1263
  }
1264
1264
  }
1265
+ /**
1266
+ * B136: Chromium draws a raster's smoothing 'low', 'medium' and 'high' the same, so a call asking for 'medium' or
1267
+ * 'high' is applied and looks like 'low'. Said in the reply's JSON, since the docs alone left it silent. Any
1268
+ * `smoothing` set to one of those words, at any depth (import, modify, create, batch ops); numeric smoothing
1269
+ * (relations, chroma key) is another parameter and is left alone.
1270
+ */
1271
+ export function smoothingLevelField(args) {
1272
+ const seen = new Set();
1273
+ const walk = (v, depth) => {
1274
+ if (depth > 6 || !v || typeof v !== 'object')
1275
+ return;
1276
+ if (Array.isArray(v)) {
1277
+ v.forEach((x) => walk(x, depth + 1));
1278
+ return;
1279
+ }
1280
+ for (const [k, x] of Object.entries(v)) {
1281
+ if (k === 'smoothing' && (x === 'medium' || x === 'high'))
1282
+ seen.add(x);
1283
+ else
1284
+ walk(x, depth + 1);
1285
+ }
1286
+ };
1287
+ walk(args, 0);
1288
+ if (!seen.size)
1289
+ return {};
1290
+ const asked = [...seen].map((x) => `'${x}'`).join(' and ');
1291
+ return { smoothingNote: `smoothing ${asked} was applied, but Chromium draws 'low', 'medium' and 'high' the same, so it looks like 'low'. The visible choice is 'off' (nearest-neighbour, hard pixel edges) or not.` };
1292
+ }
1265
1293
  export async function executeOrGenerate(code, description, options, toolName,
1266
1294
  /**
1267
1295
  * Values too large to live inside the generated code. Written to
@@ -2010,6 +2038,7 @@ export async function handleToolCall(toolName, args, options = {}) {
2010
2038
  ...(dropped.length ? { droppedArguments: dropped } : {}),
2011
2039
  ...(ignoredPaths.length ? { ignoredArguments: ignoredPaths } : {}),
2012
2040
  ...await renderingBuildField(toolName, args, result, options),
2041
+ ...smoothingLevelField(args),
2013
2042
  });
2014
2043
  if (!folded) {
2015
2044
  const lines = [...(renamed.length ? [renamedArgumentsNote(renamed)] : []), ...(dropped.length ? [`Not sent to the studio, as its private state: ${dropped.join(', ')}.`] : [])];
@@ -2552,6 +2581,10 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
2552
2581
  const input = MorphSequenceInputSchema.parse(args);
2553
2582
  return executeOrGenerate(codeGenerator.generateMorphSequence(input), `Morph sequence: ${input.states.length} states`, options, 'pinepaper_morph_sequence');
2554
2583
  }
2584
+ case 'pinepaper_instances': {
2585
+ const input = InstancesInputSchema.parse(args);
2586
+ return executeOrGenerate(codeGenerator.generateInstances(input), `Instances: ${input.action}`, options, 'pinepaper_instances');
2587
+ }
2555
2588
  case 'pinepaper_emitter': {
2556
2589
  const input = EmitterInputSchema.parse(args);
2557
2590
  return executeOrGenerate(codeGenerator.generateEmitter(input), `Emitter: ${input.action}`, options, 'pinepaper_emitter');