Skip to main content
Glama

Generate Diagram (deprecated)

generate_diagram
Read-onlyIdempotent

DEPRECATED alias for generate_visual (removed no earlier than v1.24.x). Use generate_visual going forward — identical behaviour.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesDiagram type. Required when providing structured nodes/edges, optional with prompt.
edgesYes
nodesYesStructured node definitions. Required when not using prompt mode.
radarYesRadar/spider-chart payload. Required when type="radar". Fields: axes (string[], 3..50), series ({name, values: number[]}[], 1..10), maxValue (default 100), rings (default 4). Use multiple series for comparison overlays — first solid, rest dashed at 50% opacity.
styleYes
themeYes
titleYes
funnelYesFunnel-only payload. Required when type="funnel". Fields: stageLabels (string[], 1..50, ordered top→bottom), stageValues (optional string[]), dropOff (optional string[] of length stageLabels-1), bottomRatio (0.05..0.99, default 0.30). Sales pipeline, AARRR, ToFu/MoFu/BoFu.
layoutYes
promptYesNatural language description of the diagram to generate. When provided, the server uses AI to convert this into a structured diagram spec. Max 8000 characters. Example: "flowchart showing user login with validation and error handling"
pyramidYesPyramid-only payload. Required when type="pyramid". Fields: tierLabels (string[], 1..50, ordered base→tip), tierValues (optional string[]), inverted (boolean), tipRatio (0..0.95, default 0.15). Bloom's Taxonomy, Maslow's Hierarchy, Capability Maturity, DIKW.
metadataYesVisual-size + Best-fit metadata bag (v1.65.4 -> v1.67.12). All fields optional; legacy callers without `metadata` are byte-identical to today. The server echoes `metadata.size` back on the response so integrators can confirm the field was honoured.
sectionsYesMatrix sections. Each section has a title, optional subtitle, and items. Used with type="matrix".
subtitleYes
iconStyleYesIcon rendering style. "clean-mono" = precise strokes + single color, "clean-colorful" = precise strokes + vibrant colors, "calligraphy-mono" = hand-drawn ink + single color, "calligraphy-colorful" = hand-drawn ink + vibrant colors, "none" = hide icons.
fontFamilyYesFont family for diagram text. Options: inter, poppins (sans-serif); playfair (serif); kalam, handlee (handwritten); fredoka (display); mono (monospace). Omit for style-matched default (Handlee for calligraphy, Inter for clean).
matrixRowsYesRow header labels for 2D matrix grid (e.g., ["High Execution", "Low Execution"]).
shapeStyleYes
xAxisLabelYesX-axis title for 2D matrix grid (e.g., "Completeness of Vision").
yAxisLabelYesY-axis title for 2D matrix grid (e.g., "Ability to Execute").
defaultShadowYesDefault shadow level applied to all nodes.
ganttHolidaysYesGantt-only: ISO 8601 holiday dates (e.g. ["2026-12-25", "2026-01-01"]). Rendered as gray vertical stripes alongside Sat/Sun (always weekend). Only applies in date-driven mode (every node has start/end). Other diagram types ignore this field.
matrixColumnsYesColumn header labels for 2D matrix grid (e.g., ["High Vision", "Low Vision"]).
matrixItemStyleYesItem display style for matrix diagrams. "card" (default) = rectangular cards, "dot" = scatter points, "text" = plain text, "badge" = compact pills.
defaultArrowHeadYesDefault arrowhead style applied to all edges that don't specify their own.
defaultConnectorYesDefault connector type applied to all edges that don't specify their own.
defaultLineStyleYesv1.45.2+ — Default DASH PATTERN applied to all edges that don't specify their own. Options: "solid" | "dashed" | "dotted" | "dash-dot" | "long-dash". Combines orthogonally with `defaultArrowStyle` (calligraphy/clean/block) for 15 total visual combinations. Legacy values "calligraphy" and "block-arrow" are still accepted for backward compat (the renderer maps them to defaultArrowStyle="calligraphy"/"block" with lineStyle="solid"); new callers should use `defaultArrowStyle` for the aesthetic mode.
defaultArrowStyleYesConnector aesthetic mode applied to all edges that don't set their own `arrowStyle`. Options: "calligraphy" (default — hand-drawn ink-ribbon connectors) | "clean" (standard stroked-line connectors) | "block" (chunky outlined block-arrow connectors with integrated triangular head). Orthogonal to defaultLineStyle (which now controls dash pattern only) — all 15 combinations of arrowStyle × lineStyle are valid.
defaultTitleStyleYesTitle decoration treatment. Options: "plain" (default, just the title text), "accent-bar" (small accent-coloured vertical bar to the left of the title), "underline" (accent-coloured horizontal stroke below the title), "boxed" (title rendered in a subtle bordered + drop-shadowed pill — strongest framing). Affects only the diagram title, not subtitles or section headers.
defaultDividerStyleYesDivider / grid-line / table-border style. Governs the structural rule-lines a diagram emits: matrix grid lines, gantt phase column dividers, sequence lifelines, swimlane (process-flow) lane boundaries. Options: "subtle" (barely-there hairline), "normal" (default — pre-v1.55.0 baseline of 1 px / 25 % opacity), "bold" (emphasised grid presence), "dashed" (6,4 dasharray editorial feel), "dotted" (1,3 dasharray lightweight rhythm), "none" (no divider emission — cells separated only by colour banding). Useful for comparison tables (try "bold") or minimalist matrices (try "none").
defaultBlockArrowSizeYesDefault Block Arrow size when `defaultArrowStyle` (or per-edge arrowStyle) is "block". Options: "small" (slim — body ~14 px) | "medium" (default — body ~24 px) | "large" (chunky — body ~36 px). Or a raw body half-width number in px (1–60); head dimensions scale proportionally. Per-edge `blockArrowSize` overrides this default.
defaultSceneAnimationYesWhole-visual reveal animation. Plays ONCE when the SVG is displayed, freezes at the final state. Options: none (default) | fade (entire visual fades in) | zoom (scales in from 70% to 100%) | zoom-pan (Ken Burns camera move) | flow (each node + edge appears sequentially in spec order). Orthogonal to defaultConnectorAnimate — both can run together. SVG-only — PNG / WebP exports show the fully-revealed final state (rasteriser ignores SMIL; static attrs hold the final value). Animated GIF / MP4 client-side encoder ticks the scene through.
defaultShapeLineStyleYesDefault line style for shape outlines (node borders). v1.44.1 — also drives shape rendering mode: "calligraphy" gives hand-drawn rough shapes (ink-ribbon outlines); "solid" | "dashed" | "dotted" | "dash-dot" | "long-dash" give crisp geometric shapes with that outline pattern. Independent of edge/connector line style.
defaultConnectorAnimateYesAnimate every connector edge. Options: none (default) | flow (dashes march along the line) | pulse (gentle opacity breathing) | glow (subtle stroke-width pulse) | trace (bright dot traverses each edge) | wave (large stroke-width oscillation). SVG-only — exports to PNG / WebP / OG-image freeze on first frame.
defaultSceneAnimationLoopYesAnimation loop count. v1.50.9+ — applies to BOTH connector animations (flow / pulse / glow / wave / trace / lightning / beat / comet) AND scene animations (fade / zoom / zoom-pan / flow / wave-sweep / build-up / flow-zoom-pan). Options (all quoted strings): "once" (default — plays once and freezes) | "2" | "3" | "5" (repeat that many times then freeze) | "infinite" (loop forever; best for live presentations and the historical default for connector animations pre-v1.50.9). Maps to SMIL repeatCount.
defaultSceneAnimationSpeedYesScene animation speed. Options: slow (1.5× duration) | medium (default) | fast (0.6× duration).
defaultConnectorAnimateSpeedYesAnimation speed when defaultConnectorAnimate is set. Options: slow (3s cycle) | medium (2s, default) | fast (1s).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / nodes / items / properties / chart
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "area": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "data": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "color": {
      +            "pattern": "^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "label": {
      +            "maxLength": 2000,
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "value": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "label",
      +          "value",
      +          "color"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 64,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "innerRadiusRatio": {
      +      "maximum": 0.85,
      +      "minimum": 0.1,
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "series": {
      +      "items": {
      +        "type": "number"
      +      },
      +      "maxItems": 512,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "showLabels": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "showValues": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "type": {
      +      "enum": [
      +        "pie",
      +        "donut",
      +        "bar",
      +        "sparkline",
      +        "line"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "data",
      +    "series",
      +    "innerRadiusRatio",
      +    "showLabels",
      +    "showValues",
      +    "area"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / nodes / items / properties / kpi
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "delta": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "direction": {
      +          "enum": [
      +            "up",
      +            "down",
      +            "flat"
      +          ],
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "invertColor": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "text": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "text",
      +        "direction",
      +        "invertColor"
      +      ],
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "label": {
      +      "maxLength": 2000,
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "sparkline": {
      +      "items": {
      +        "type": "number"
      +      },
      +      "maxItems": 512,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "value": {
      +      "maxLength": 2000,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "value",
      +    "label",
      +    "delta",
      +    "sparkline"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / nodes / items / required
      Previous value: -[
      -  "id",
      -  "shape",
      -  "text",
      -  "style",
      -  "width",
      -  "height",
      -  "icon",
      -  "iconKeywords",
      -  "hidden",
      -  "group",
      -  "animationLoop"
      -]New value: +[
      +  "id",
      +  "shape",
      +  "text",
      +  "style",
      +  "width",
      +  "height",
      +  "icon",
      +  "iconKeywords",
      +  "hidden",
      +  "group",
      +  "chart",
      +  "kpi",
      +  "animationLoop"
      +]
  2. Changed3 schema fields changed
    • removedInput schema / properties / nodes / items / properties / chart
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "area": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "data": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "color": {
      -            "pattern": "^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "label": {
      -            "maxLength": 2000,
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "value": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "label",
      -          "value",
      -          "color"
      -        ],
      -        "type": "object"
      -      },
      -      "maxItems": 64,
      -      "type": [
      -        "array",
      -        "null"
      -      ]
      -    },
      -    "innerRadiusRatio": {
      -      "maximum": 0.85,
      -      "minimum": 0.1,
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "series": {
      -      "items": {
      -        "type": "number"
      -      },
      -      "maxItems": 512,
      -      "type": [
      -        "array",
      -        "null"
      -      ]
      -    },
      -    "showLabels": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "showValues": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "type": {
      -      "enum": [
      -        "pie",
      -        "donut",
      -        "bar",
      -        "sparkline",
      -        "line"
      -      ],
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "type",
      -    "data",
      -    "series",
      -    "innerRadiusRatio",
      -    "showLabels",
      -    "showValues",
      -    "area"
      -  ],
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedInput schema / properties / nodes / items / properties / kpi
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "delta": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "direction": {
      -          "enum": [
      -            "up",
      -            "down",
      -            "flat"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "invertColor": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "text": {
      -          "maxLength": 2000,
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "text",
      -        "direction",
      -        "invertColor"
      -      ],
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "label": {
      -      "maxLength": 2000,
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "sparkline": {
      -      "items": {
      -        "type": "number"
      -      },
      -      "maxItems": 512,
      -      "type": [
      -        "array",
      -        "null"
      -      ]
      -    },
      -    "value": {
      -      "maxLength": 2000,
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "value",
      -    "label",
      -    "delta",
      -    "sparkline"
      -  ],
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • changedInput schema / properties / nodes / items / required
      Previous value: -[
      -  "id",
      -  "shape",
      -  "text",
      -  "style",
      -  "width",
      -  "height",
      -  "icon",
      -  "iconKeywords",
      -  "hidden",
      -  "group",
      -  "chart",
      -  "kpi",
      -  "animationLoop"
      -]New value: +[
      +  "id",
      +  "shape",
      +  "text",
      +  "style",
      +  "width",
      +  "height",
      +  "icon",
      +  "iconKeywords",
      +  "hidden",
      +  "group",
      +  "animationLoop"
      +]
  3. Changed3 schema fields changed
    • addedInput schema / properties / nodes / items / properties / chart
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "area": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "data": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "color": {
      +            "pattern": "^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "label": {
      +            "maxLength": 2000,
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "value": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "label",
      +          "value",
      +          "color"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 64,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "innerRadiusRatio": {
      +      "maximum": 0.85,
      +      "minimum": 0.1,
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "series": {
      +      "items": {
      +        "type": "number"
      +      },
      +      "maxItems": 512,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "showLabels": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "showValues": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "type": {
      +      "enum": [
      +        "pie",
      +        "donut",
      +        "bar",
      +        "sparkline",
      +        "line"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "data",
      +    "series",
      +    "innerRadiusRatio",
      +    "showLabels",
      +    "showValues",
      +    "area"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / nodes / items / properties / kpi
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "delta": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "direction": {
      +          "enum": [
      +            "up",
      +            "down",
      +            "flat"
      +          ],
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "invertColor": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "text": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "text",
      +        "direction",
      +        "invertColor"
      +      ],
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "label": {
      +      "maxLength": 2000,
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "sparkline": {
      +      "items": {
      +        "type": "number"
      +      },
      +      "maxItems": 512,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "value": {
      +      "maxLength": 2000,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "value",
      +    "label",
      +    "delta",
      +    "sparkline"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / nodes / items / required
      Previous value: -[
      -  "id",
      -  "shape",
      -  "text",
      -  "style",
      -  "width",
      -  "height",
      -  "icon",
      -  "iconKeywords",
      -  "hidden",
      -  "group",
      -  "animationLoop"
      -]New value: +[
      +  "id",
      +  "shape",
      +  "text",
      +  "style",
      +  "width",
      +  "height",
      +  "icon",
      +  "iconKeywords",
      +  "hidden",
      +  "group",
      +  "chart",
      +  "kpi",
      +  "animationLoop"
      +]
  4. Changed3 schema fields changed
    • addedInput schema / properties / sections / items / properties / sectionBackgroundColor
      Added value: +{
      +  "maxLength": 40,
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / sections / items / properties / sectionHeatIntensity
      Added value: +{
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / sections / items / required
      Previous value: -[
      -  "id",
      -  "title",
      -  "subtitle",
      -  "items",
      -  "icons",
      -  "itemIds",
      -  "itemShapes",
      -  "itemBackgroundColors",
      -  "itemHeatIntensities",
      -  "row",
      -  "col"
      -]New value: +[
      +  "id",
      +  "title",
      +  "subtitle",
      +  "items",
      +  "icons",
      +  "itemIds",
      +  "itemShapes",
      +  "itemBackgroundColors",
      +  "itemHeatIntensities",
      +  "sectionBackgroundColor",
      +  "sectionHeatIntensity",
      +  "row",
      +  "col"
      +]
  5. Changed3 schema fields changed
    • addedInput schema / properties / sections / items / properties / itemBackgroundColors
      Added value: +{
      +  "items": {
      +    "maxLength": 40,
      +    "type": "string"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / sections / items / properties / itemHeatIntensities
      Added value: +{
      +  "items": {
      +    "maximum": 1,
      +    "minimum": 0,
      +    "type": "number"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / sections / items / required
      Previous value: -[
      -  "id",
      -  "title",
      -  "subtitle",
      -  "items",
      -  "icons",
      -  "itemIds",
      -  "itemShapes",
      -  "row",
      -  "col"
      -]New value: +[
      +  "id",
      +  "title",
      +  "subtitle",
      +  "items",
      +  "icons",
      +  "itemIds",
      +  "itemShapes",
      +  "itemBackgroundColors",
      +  "itemHeatIntensities",
      +  "row",
      +  "col"
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "flowchart",
      -  "mindmap",
      -  "block-diagram",
      -  "matrix",
      -  "timeline",
      -  "gantt",
      -  "er-diagram",
      -  "sequence",
      -  "process-flow",
      -  "pyramid",
      -  "funnel",
      -  "radar"
      -]New value: +[
      +  "flowchart",
      +  "mindmap",
      +  "block-diagram",
      +  "matrix",
      +  "timeline",
      +  "gantt",
      +  "er-diagram",
      +  "sequence",
      +  "process-flow",
      +  "pyramid",
      +  "funnel",
      +  "radar",
      +  "fishbone"
      +]
  7. Changed2 schema fields changed
    • addedInput schema / properties / metadata
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Visual-size + Best-fit metadata bag (v1.65.4 -> v1.67.12). All fields optional; legacy callers without `metadata` are byte-identical to today. The server echoes `metadata.size` back on the response so integrators can confirm the field was honoured.",
      +  "properties": {
      +    "bestFit": {
      +      "description": "v1.65.1+ Phase 3 server-side gate. When `true` + `targetAspect` is set + the server flag `VISUAL_SIZES_PHASE3_ENABLED` is on, the Designer is re-invoked with the target aspect ratio to reflow the layout. Independent of `metadata.size.bestFit`; the frontend mirrors this field when the toggle is on.",
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "size": {
      +      "additionalProperties": false,
      +      "description": "Visual-size persistence bag (v1.65.4+). Describes the EXPORT TARGET dimensions, NOT a canvas constraint at generation time. Round-trips through the response unchanged.",
      +      "properties": {
      +        "aspect": {
      +          "description": "Canonical \"W:H\" aspect emitted alongside preset / custom dims for fast consumer reads. Accepts integer or decimal ratios. Examples: \"16:9\", \"9:16\", \"1:1\", \"1.91:1\" (OG card).",
      +          "pattern": "^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "bestFit": {
      +          "description": "v1.65.1+ Phase 3 opt-in flag. When `true` (alongside `metadata.bestFit` AND `metadata.targetAspect`), signals the server orchestrator to re-invoke the Designer with the target aspect ratio so the layout reflows to fit the export shape. Feature-flagged behind `VISUAL_SIZES_PHASE3_ENABLED` server-side; when OFF the field round-trips through the response but the orchestrator follows the legacy Phase 1/2 path. Default: false.",
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "height": {
      +          "description": "Custom export-target height in pixels. 320..4096. Used with `width` for full custom dims, or with `aspect` for aspect-driven sizing.",
      +          "maximum": 4096,
      +          "minimum": 320,
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "preset": {
      +          "description": "Visual size preset id from shared/visual-sizes.ts catalog (e.g. \"16x9-presentation\", \"ig-square\", \"youtube-thumb\"). Describes the EXPORT TARGET (PNG / PDF / PPTX render dimensions), NOT the canvas constraint at generation time. Mutually exclusive with width + height (preset wins when both are present).",
      +          "maxLength": 64,
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "width": {
      +          "description": "Custom export-target width in pixels. 320..4096. Used when no preset matches the desired output dimensions. Pair with `height` for full custom dims; pair with `aspect` for aspect-driven sizing.",
      +          "maximum": 4096,
      +          "minimum": 320,
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "preset",
      +        "width",
      +        "height",
      +        "aspect",
      +        "bestFit"
      +      ],
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "targetAspect": {
      +      "description": "v1.65.1+ Phase 3 server-side aspect ratio. Accepts \"W:H\" forms (e.g. \"9:16\", \"16:9\", \"1:1\", \"1.91:1\"). Forwarded to the Designer when `bestFit` is on.",
      +      "maxLength": 16,
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "size",
      +    "bestFit",
      +    "targetAspect"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "defaultSceneAnimation",
      -  "defaultSceneAnimationSpeed",
      -  "defaultSceneAnimationLoop",
      -  "defaultTitleStyle",
      -  "defaultDividerStyle",
      -  "defaultBlockArrowSize",
      -  "defaultArrowStyle",
      -  "ganttHolidays",
      -  "pyramid",
      -  "funnel",
      -  "radar",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultSceneAnimation",
      +  "defaultSceneAnimationSpeed",
      +  "defaultSceneAnimationLoop",
      +  "defaultTitleStyle",
      +  "defaultDividerStyle",
      +  "defaultBlockArrowSize",
      +  "defaultArrowStyle",
      +  "ganttHolidays",
      +  "pyramid",
      +  "funnel",
      +  "radar",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle",
      +  "metadata"
      +]
  8. Changed5 schema fields changed
    • addedInput schema / properties / funnel
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Funnel-only payload. Required when type=\"funnel\". Fields: stageLabels (string[], 1..50, ordered top→bottom), stageValues (optional string[]), dropOff (optional string[] of length stageLabels-1), bottomRatio (0.05..0.99, default 0.30). Sales pipeline, AARRR, ToFu/MoFu/BoFu.",
      +  "properties": {
      +    "bottomRatio": {
      +      "maximum": 0.99,
      +      "minimum": 0.05,
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "dropOff": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "stageLabels": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "stageValues": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "stageLabels",
      +    "stageValues",
      +    "dropOff",
      +    "bottomRatio"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / pyramid
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Pyramid-only payload. Required when type=\"pyramid\". Fields: tierLabels (string[], 1..50, ordered base→tip), tierValues (optional string[]), inverted (boolean), tipRatio (0..0.95, default 0.15). Bloom's Taxonomy, Maslow's Hierarchy, Capability Maturity, DIKW.",
      +  "properties": {
      +    "inverted": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "tierLabels": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "tierValues": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "tipRatio": {
      +      "maximum": 0.95,
      +      "minimum": 0,
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "tierLabels",
      +    "tierValues",
      +    "inverted",
      +    "tipRatio"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / radar
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Radar/spider-chart payload. Required when type=\"radar\". Fields: axes (string[], 3..50), series ({name, values: number[]}[], 1..10), maxValue (default 100), rings (default 4). Use multiple series for comparison overlays — first solid, rest dashed at 50% opacity.",
      +  "properties": {
      +    "axes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "minItems": 3,
      +      "type": "array"
      +    },
      +    "maxValue": {
      +      "minimum": 1,
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "rings": {
      +      "maximum": 10,
      +      "minimum": 1,
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "series": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "name": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "values": {
      +            "items": {
      +              "type": "number"
      +            },
      +            "maxItems": 50,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "values"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 10,
      +      "minItems": 1,
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "axes",
      +    "series",
      +    "maxValue",
      +    "rings"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "flowchart",
      -  "mindmap",
      -  "block-diagram",
      -  "matrix",
      -  "timeline",
      -  "gantt",
      -  "er-diagram",
      -  "sequence",
      -  "process-flow"
      -]New value: +[
      +  "flowchart",
      +  "mindmap",
      +  "block-diagram",
      +  "matrix",
      +  "timeline",
      +  "gantt",
      +  "er-diagram",
      +  "sequence",
      +  "process-flow",
      +  "pyramid",
      +  "funnel",
      +  "radar"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "defaultSceneAnimation",
      -  "defaultSceneAnimationSpeed",
      -  "defaultSceneAnimationLoop",
      -  "defaultTitleStyle",
      -  "defaultDividerStyle",
      -  "defaultBlockArrowSize",
      -  "defaultArrowStyle",
      -  "ganttHolidays",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultSceneAnimation",
      +  "defaultSceneAnimationSpeed",
      +  "defaultSceneAnimationLoop",
      +  "defaultTitleStyle",
      +  "defaultDividerStyle",
      +  "defaultBlockArrowSize",
      +  "defaultArrowStyle",
      +  "ganttHolidays",
      +  "pyramid",
      +  "funnel",
      +  "radar",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  9. Changed7 schema fields changed
    • changedInput schema / properties / defaultSceneAnimationLoop / description
      Previous value: -"Animation loop count. v1.50.9+ — applies to BOTH connector animations (flow / pulse / glow / wave / trace / lightning / beat / comet) AND scene animations (fade / zoom / zoom-pan / flow / wave-sweep / build-up / flow-zoom-pan). Options: once (default — plays once and freezes) | 2 | 3 | 5 (repeat that many times then freeze) | infinite (loop forever; best for live presentations and the historical default for connector animations pre-v1.50.9). Maps to SMIL repeatCount."New value: +"Animation loop count. v1.50.9+ — applies to BOTH connector animations (flow / pulse / glow / wave / trace / lightning / beat / comet) AND scene animations (fade / zoom / zoom-pan / flow / wave-sweep / build-up / flow-zoom-pan). Options (all quoted strings): \"once\" (default — plays once and freezes) | \"2\" | \"3\" | \"5\" (repeat that many times then freeze) | \"infinite\" (loop forever; best for live presentations and the historical default for connector animations pre-v1.50.9). Maps to SMIL repeatCount."
    • addedInput schema / properties / edges / items / properties / loop
      Added value: +{
      +  "description": "Per-edge animation loop count override. Wins over the diagram-level `defaultSceneAnimationLoop`. Values are quoted strings: \"once\" | \"2\" | \"3\" | \"5\" | \"infinite\". Maps to SMIL repeatCount.",
      +  "enum": [
      +    "once",
      +    "2",
      +    "3",
      +    "5",
      +    "infinite"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / edges / items / required
      Previous value: -[
      -  "source",
      -  "target",
      -  "label",
      -  "lineStyle",
      -  "connectorType",
      -  "sourceArrow",
      -  "targetArrow",
      -  "style",
      -  "hidden",
      -  "animate",
      -  "animateSpeed",
      -  "blockArrowSize",
      -  "arrowStyle"
      -]New value: +[
      +  "source",
      +  "target",
      +  "label",
      +  "lineStyle",
      +  "connectorType",
      +  "sourceArrow",
      +  "targetArrow",
      +  "style",
      +  "hidden",
      +  "animate",
      +  "animateSpeed",
      +  "blockArrowSize",
      +  "arrowStyle",
      +  "loop"
      +]
    • addedInput schema / properties / ganttHolidays
      Added value: +{
      +  "description": "Gantt-only: ISO 8601 holiday dates (e.g. [\"2026-12-25\", \"2026-01-01\"]). Rendered as gray vertical stripes alongside Sat/Sun (always weekend). Only applies in date-driven mode (every node has start/end). Other diagram types ignore this field.",
      +  "items": {
      +    "maxLength": 32,
      +    "type": "string"
      +  },
      +  "maxItems": 200,
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / nodes / items / properties / animationLoop
      Added value: +{
      +  "enum": [
      +    "once",
      +    "2",
      +    "3",
      +    "5",
      +    "infinite"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / nodes / items / required
      Previous value: -[
      -  "id",
      -  "shape",
      -  "text",
      -  "style",
      -  "width",
      -  "height",
      -  "icon",
      -  "iconKeywords",
      -  "hidden",
      -  "group"
      -]New value: +[
      +  "id",
      +  "shape",
      +  "text",
      +  "style",
      +  "width",
      +  "height",
      +  "icon",
      +  "iconKeywords",
      +  "hidden",
      +  "group",
      +  "animationLoop"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "defaultSceneAnimation",
      -  "defaultSceneAnimationSpeed",
      -  "defaultSceneAnimationLoop",
      -  "defaultTitleStyle",
      -  "defaultDividerStyle",
      -  "defaultBlockArrowSize",
      -  "defaultArrowStyle",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultSceneAnimation",
      +  "defaultSceneAnimationSpeed",
      +  "defaultSceneAnimationLoop",
      +  "defaultTitleStyle",
      +  "defaultDividerStyle",
      +  "defaultBlockArrowSize",
      +  "defaultArrowStyle",
      +  "ganttHolidays",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  10. Changed3 schema fields changed
    • addedInput schema / properties / defaultDividerStyle
      Added value: +{
      +  "description": "Divider / grid-line / table-border style. Governs the structural rule-lines a diagram emits: matrix grid lines, gantt phase column dividers, sequence lifelines, swimlane (process-flow) lane boundaries. Options: \"subtle\" (barely-there hairline), \"normal\" (default — pre-v1.55.0 baseline of 1 px / 25 % opacity), \"bold\" (emphasised grid presence), \"dashed\" (6,4 dasharray editorial feel), \"dotted\" (1,3 dasharray lightweight rhythm), \"none\" (no divider emission — cells separated only by colour banding). Useful for comparison tables (try \"bold\") or minimalist matrices (try \"none\").",
      +  "enum": [
      +    "subtle",
      +    "normal",
      +    "bold",
      +    "dashed",
      +    "dotted",
      +    "none"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / defaultTitleStyle
      Added value: +{
      +  "description": "Title decoration treatment. Options: \"plain\" (default, just the title text), \"accent-bar\" (small accent-coloured vertical bar to the left of the title), \"underline\" (accent-coloured horizontal stroke below the title), \"boxed\" (title rendered in a subtle bordered + drop-shadowed pill — strongest framing). Affects only the diagram title, not subtitles or section headers.",
      +  "enum": [
      +    "plain",
      +    "accent-bar",
      +    "underline",
      +    "boxed"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "defaultSceneAnimation",
      -  "defaultSceneAnimationSpeed",
      -  "defaultSceneAnimationLoop",
      -  "defaultBlockArrowSize",
      -  "defaultArrowStyle",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultSceneAnimation",
      +  "defaultSceneAnimationSpeed",
      +  "defaultSceneAnimationLoop",
      +  "defaultTitleStyle",
      +  "defaultDividerStyle",
      +  "defaultBlockArrowSize",
      +  "defaultArrowStyle",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  11. Changed2 schema fields changed
    • addedInput schema / properties / theme / properties / paletteSeed
      Added value: +{
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / theme / required
      Previous value: -[
      -  "preset",
      -  "palette"
      -]New value: +[
      +  "preset",
      +  "palette",
      +  "paletteSeed"
      +]
  12. Changed1 schema field changed
    • changedInput schema / properties / defaultSceneAnimationLoop / description
      Previous value: -"Scene animation loop count. Options: once (default — plays once and freezes) | 2 | 3 | 5 (repeat that many times then freeze) | infinite (loop forever; best for live presentations)."New value: +"Animation loop count. v1.50.9+ — applies to BOTH connector animations (flow / pulse / glow / wave / trace / lightning / beat / comet) AND scene animations (fade / zoom / zoom-pan / flow / wave-sweep / build-up / flow-zoom-pan). Options: once (default — plays once and freezes) | 2 | 3 | 5 (repeat that many times then freeze) | infinite (loop forever; best for live presentations and the historical default for connector animations pre-v1.50.9). Maps to SMIL repeatCount."
  13. Changed2 schema fields changed
    • changedInput schema / properties / defaultBlockArrowSize / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "small",
      -      "medium",
      -      "large"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "maximum": 60,
      -    "minimum": 0,
      -    "type": "number"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "small",
      +      "medium",
      +      "large"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "maximum": 60,
      +    "minimum": 1,
      +    "type": "number"
      +  }
      +]
    • changedInput schema / properties / edges / items / properties / blockArrowSize / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "small",
      -      "medium",
      -      "large"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "maximum": 60,
      -    "minimum": 0,
      -    "type": "number"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "small",
      +      "medium",
      +      "large"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "maximum": 60,
      +    "minimum": 1,
      +    "type": "number"
      +  }
      +]
  14. Changed3 schema fields changed
    • changedInput schema / properties / defaultConnectorAnimate / enum
      Previous value: -[
      -  "none",
      -  "flow",
      -  "pulse",
      -  "glow",
      -  "trace",
      -  "wave"
      -]New value: +[
      +  "none",
      +  "flow",
      +  "pulse",
      +  "glow",
      +  "trace",
      +  "wave",
      +  "lightning",
      +  "beat",
      +  "comet"
      +]
    • changedInput schema / properties / defaultSceneAnimation / enum
      Previous value: -[
      -  "none",
      -  "fade",
      -  "zoom",
      -  "zoom-pan",
      -  "flow"
      -]New value: +[
      +  "none",
      +  "fade",
      +  "zoom",
      +  "zoom-pan",
      +  "flow",
      +  "wave-sweep",
      +  "build-up",
      +  "flow-zoom-pan"
      +]
    • changedInput schema / properties / edges / items / properties / animate / enum
      Previous value: -[
      -  "none",
      -  "flow",
      -  "pulse",
      -  "glow",
      -  "trace",
      -  "wave"
      -]New value: +[
      +  "none",
      +  "flow",
      +  "pulse",
      +  "glow",
      +  "trace",
      +  "wave",
      +  "lightning",
      +  "beat",
      +  "comet"
      +]
  15. Changed2 schema fields changed
    • addedInput schema / properties / defaultSceneAnimationLoop
      Added value: +{
      +  "description": "Scene animation loop count. Options: once (default — plays once and freezes) | 2 | 3 | 5 (repeat that many times then freeze) | infinite (loop forever; best for live presentations).",
      +  "enum": [
      +    "once",
      +    "2",
      +    "3",
      +    "5",
      +    "infinite"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "defaultSceneAnimation",
      -  "defaultSceneAnimationSpeed",
      -  "defaultBlockArrowSize",
      -  "defaultArrowStyle",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultSceneAnimation",
      +  "defaultSceneAnimationSpeed",
      +  "defaultSceneAnimationLoop",
      +  "defaultBlockArrowSize",
      +  "defaultArrowStyle",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  16. Changed3 schema fields changed
    • addedInput schema / properties / defaultSceneAnimation
      Added value: +{
      +  "description": "Whole-visual reveal animation. Plays ONCE when the SVG is displayed, freezes at the final state. Options: none (default) | fade (entire visual fades in) | zoom (scales in from 70% to 100%) | zoom-pan (Ken Burns camera move) | flow (each node + edge appears sequentially in spec order). Orthogonal to defaultConnectorAnimate — both can run together. SVG-only — PNG / WebP exports show the fully-revealed final state (rasteriser ignores SMIL; static attrs hold the final value). Animated GIF / MP4 client-side encoder ticks the scene through.",
      +  "enum": [
      +    "none",
      +    "fade",
      +    "zoom",
      +    "zoom-pan",
      +    "flow"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / defaultSceneAnimationSpeed
      Added value: +{
      +  "description": "Scene animation speed. Options: slow (1.5× duration) | medium (default) | fast (0.6× duration).",
      +  "enum": [
      +    "slow",
      +    "medium",
      +    "fast"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "defaultBlockArrowSize",
      -  "defaultArrowStyle",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultSceneAnimation",
      +  "defaultSceneAnimationSpeed",
      +  "defaultBlockArrowSize",
      +  "defaultArrowStyle",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  17. Changed7 schema fields changed
    • addedInput schema / properties / defaultArrowStyle
      Added value: +{
      +  "description": "Connector aesthetic mode applied to all edges that don't set their own `arrowStyle`. Options: \"calligraphy\" (default — hand-drawn ink-ribbon connectors) | \"clean\" (standard stroked-line connectors) | \"block\" (chunky outlined block-arrow connectors with integrated triangular head). Orthogonal to defaultLineStyle (which now controls dash pattern only) — all 15 combinations of arrowStyle × lineStyle are valid.",
      +  "enum": [
      +    "calligraphy",
      +    "clean",
      +    "block"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / defaultBlockArrowSize / description
      Previous value: -"Default Block Arrow size when `defaultLineStyle` (or per-edge lineStyle) is \"block-arrow\". Options: \"small\" (slim — body ~14 px) | \"medium\" (default — body ~24 px) | \"large\" (chunky — body ~36 px). Or a raw body half-width number in px (1–60); head dimensions scale proportionally. Per-edge `blockArrowSize` overrides this default."New value: +"Default Block Arrow size when `defaultArrowStyle` (or per-edge arrowStyle) is \"block\". Options: \"small\" (slim — body ~14 px) | \"medium\" (default — body ~24 px) | \"large\" (chunky — body ~36 px). Or a raw body half-width number in px (1–60); head dimensions scale proportionally. Per-edge `blockArrowSize` overrides this default."
    • changedInput schema / properties / defaultLineStyle / description
      Previous value: -"Default line style applied to all edges that don't specify their own. Options: \"calligraphy\" (v1.44.0+ — hand-drawn ink-ribbon connectors) | \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" (geometric stroked connectors). All animations work with all line styles; the StylePanel auto-adjusts incompatible combinations on the client (e.g. selecting \"flow\" animation with \"calligraphy\" line switches the line to \"dashed\" so the animation has a stroke to march along)."New value: +"v1.45.2+ — Default DASH PATTERN applied to all edges that don't specify their own. Options: \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\". Combines orthogonally with `defaultArrowStyle` (calligraphy/clean/block) for 15 total visual combinations. Legacy values \"calligraphy\" and \"block-arrow\" are still accepted for backward compat (the renderer maps them to defaultArrowStyle=\"calligraphy\"/\"block\" with lineStyle=\"solid\"); new callers should use `defaultArrowStyle` for the aesthetic mode."
    • addedInput schema / properties / edges / items / properties / arrowStyle
      Added value: +{
      +  "description": "Per-edge connector aesthetic mode (overrides defaultArrowStyle). Options: \"calligraphy\" | \"clean\" | \"block\". Orthogonal to lineStyle (dash pattern); all 15 combinations are valid.",
      +  "enum": [
      +    "calligraphy",
      +    "clean",
      +    "block"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / edges / items / properties / blockArrowSize / description
      Previous value: -"Block Arrow size for this edge (only when lineStyle is \"block-arrow\"). Preset names: \"small\" (slim) | \"medium\" (default) | \"large\" (chunky). OR a raw body half-width in px (1–60); head dimensions scale proportionally."New value: +"Block Arrow size for this edge (only when arrowStyle is \"block\"). Preset names: \"small\" (slim) | \"medium\" (default) | \"large\" (chunky). OR a raw body half-width in px (1–60); head dimensions scale proportionally."
    • changedInput schema / properties / edges / items / required
      Previous value: -[
      -  "source",
      -  "target",
      -  "label",
      -  "lineStyle",
      -  "connectorType",
      -  "sourceArrow",
      -  "targetArrow",
      -  "style",
      -  "hidden",
      -  "animate",
      -  "animateSpeed",
      -  "blockArrowSize"
      -]New value: +[
      +  "source",
      +  "target",
      +  "label",
      +  "lineStyle",
      +  "connectorType",
      +  "sourceArrow",
      +  "targetArrow",
      +  "style",
      +  "hidden",
      +  "animate",
      +  "animateSpeed",
      +  "blockArrowSize",
      +  "arrowStyle"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "defaultBlockArrowSize",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultBlockArrowSize",
      +  "defaultArrowStyle",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  18. Changed9 schema fields changed
    • addedInput schema / properties / defaultBlockArrowSize
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "small",
      +        "medium",
      +        "large"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "maximum": 60,
      +      "minimum": 0,
      +      "type": "number"
      +    }
      +  ],
      +  "description": "Default Block Arrow size when `defaultLineStyle` (or per-edge lineStyle) is \"block-arrow\". Options: \"small\" (slim — body ~14 px) | \"medium\" (default — body ~24 px) | \"large\" (chunky — body ~36 px). Or a raw body half-width number in px (1–60); head dimensions scale proportionally. Per-edge `blockArrowSize` overrides this default."
      +}
    • changedInput schema / properties / defaultLineStyle / enum
      Previous value: -[
      -  "calligraphy",
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "calligraphy",
      +  "block-arrow",
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • changedInput schema / properties / defaultShapeLineStyle / enum
      Previous value: -[
      -  "calligraphy",
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "calligraphy",
      +  "block-arrow",
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • addedInput schema / properties / edges / items / properties / blockArrowSize
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "small",
      +        "medium",
      +        "large"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "maximum": 60,
      +      "minimum": 0,
      +      "type": "number"
      +    }
      +  ],
      +  "description": "Block Arrow size for this edge (only when lineStyle is \"block-arrow\"). Preset names: \"small\" (slim) | \"medium\" (default) | \"large\" (chunky). OR a raw body half-width in px (1–60); head dimensions scale proportionally."
      +}
    • changedInput schema / properties / edges / items / properties / lineStyle / enum
      Previous value: -[
      -  "calligraphy",
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "calligraphy",
      +  "block-arrow",
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • addedInput schema / properties / edges / items / properties / style / properties / fill
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / edges / items / properties / style / required
      Previous value: -[
      -  "stroke",
      -  "strokeWidth",
      -  "opacity"
      -]New value: +[
      +  "stroke",
      +  "strokeWidth",
      +  "opacity",
      +  "fill"
      +]
    • changedInput schema / properties / edges / items / required
      Previous value: -[
      -  "source",
      -  "target",
      -  "label",
      -  "lineStyle",
      -  "connectorType",
      -  "sourceArrow",
      -  "targetArrow",
      -  "style",
      -  "hidden",
      -  "animate",
      -  "animateSpeed"
      -]New value: +[
      +  "source",
      +  "target",
      +  "label",
      +  "lineStyle",
      +  "connectorType",
      +  "sourceArrow",
      +  "targetArrow",
      +  "style",
      +  "hidden",
      +  "animate",
      +  "animateSpeed",
      +  "blockArrowSize"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "shapeStyle",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "defaultBlockArrowSize",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  19. Changed6 schema fields changed
    • changedInput schema / properties / defaultLineStyle / description
      Previous value: -"Default line style applied to all edges that don't specify their own. Options: \"calligraphy\" (v1.44.0+ — hand-drawn ink-ribbon connectors; animations are ignored in this mode) | \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" (geometric stroked connectors; all support animation via `defaultConnectorAnimate`)."New value: +"Default line style applied to all edges that don't specify their own. Options: \"calligraphy\" (v1.44.0+ — hand-drawn ink-ribbon connectors) | \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" (geometric stroked connectors). All animations work with all line styles; the StylePanel auto-adjusts incompatible combinations on the client (e.g. selecting \"flow\" animation with \"calligraphy\" line switches the line to \"dashed\" so the animation has a stroke to march along)."
    • changedInput schema / properties / defaultShapeLineStyle / description
      Previous value: -"Default line style for shape outlines (node borders). Independent of edge/connector line style."New value: +"Default line style for shape outlines (node borders). v1.44.1 — also drives shape rendering mode: \"calligraphy\" gives hand-drawn rough shapes (ink-ribbon outlines); \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" give crisp geometric shapes with that outline pattern. Independent of edge/connector line style."
    • addedInput schema / properties / nodes / items / properties / style / properties / lineStyle / description
      Added value: +"Per-node outline line style. Excludes \"calligraphy\" — that mode is set per-spec via `defaultShapeLineStyle: \"calligraphy\"`, not per-node."
    • changedInput schema / properties / nodes / items / properties / style / properties / lineStyle / enum
      Previous value: -[
      -  "calligraphy",
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • removedInput schema / properties / shapeStyle / description
      Removed value: -"v1.44.0 — Shape rendering mode (orthogonal to connector rendering). \"calligraphy\" (default) gives hand-drawn rough shapes; \"clean\" gives precise geometric shapes. Connectors are controlled separately via `defaultLineStyle` — set it to \"calligraphy\" for ink-ribbon connectors or to \"solid\"/\"dashed\"/etc. for clean stroked connectors."
    • removedInput schema / properties / style / description
      Removed value: -"DEPRECATED in v1.44.0 — kept for back-compat. Use `shapeStyle` for shape rendering and `defaultLineStyle: \"calligraphy\"` for hand-drawn connectors. When provided, the server expands `style` into both: `shapeStyle = style`, and (if `defaultLineStyle` is unset) `defaultLineStyle = style === \"clean\" ? \"solid\" : \"calligraphy\"`."
  20. Changed8 schema fields changed
    • changedInput schema / properties / defaultLineStyle / description
      Previous value: -"Default line style applied to all edges that don't specify their own."New value: +"Default line style applied to all edges that don't specify their own. Options: \"calligraphy\" (v1.44.0+ — hand-drawn ink-ribbon connectors; animations are ignored in this mode) | \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" (geometric stroked connectors; all support animation via `defaultConnectorAnimate`)."
    • changedInput schema / properties / defaultLineStyle / enum
      Previous value: -[
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "calligraphy",
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • changedInput schema / properties / defaultShapeLineStyle / enum
      Previous value: -[
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "calligraphy",
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • changedInput schema / properties / edges / items / properties / lineStyle / enum
      Previous value: -[
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "calligraphy",
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / lineStyle / enum
      Previous value: -[
      -  "solid",
      -  "dashed",
      -  "dotted",
      -  "dash-dot",
      -  "long-dash"
      -]New value: +[
      +  "calligraphy",
      +  "solid",
      +  "dashed",
      +  "dotted",
      +  "dash-dot",
      +  "long-dash"
      +]
    • addedInput schema / properties / shapeStyle
      Added value: +{
      +  "description": "v1.44.0 — Shape rendering mode (orthogonal to connector rendering). \"calligraphy\" (default) gives hand-drawn rough shapes; \"clean\" gives precise geometric shapes. Connectors are controlled separately via `defaultLineStyle` — set it to \"calligraphy\" for ink-ribbon connectors or to \"solid\"/\"dashed\"/etc. for clean stroked connectors.",
      +  "enum": [
      +    "calligraphy",
      +    "clean"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / style / description
      Previous value: -"Visual style. \"calligraphy\" (default) gives a sketchy, organic look. \"clean\" gives precise geometric shapes."New value: +"DEPRECATED in v1.44.0 — kept for back-compat. Use `shapeStyle` for shape rendering and `defaultLineStyle: \"calligraphy\"` for hand-drawn connectors. When provided, the server expands `style` into both: `shapeStyle = style`, and (if `defaultLineStyle` is unset) `defaultLineStyle = style === \"clean\" ? \"solid\" : \"calligraphy\"`."
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "defaultConnectorAnimate",
      -  "defaultConnectorAnimateSpeed",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "shapeStyle",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  21. Changed6 schema fields changed
    • addedInput schema / properties / defaultConnectorAnimate
      Added value: +{
      +  "description": "Animate every connector edge. Options: none (default) | flow (dashes march along the line) | pulse (gentle opacity breathing) | glow (subtle stroke-width pulse) | trace (bright dot traverses each edge) | wave (large stroke-width oscillation). SVG-only — exports to PNG / WebP / OG-image freeze on first frame.",
      +  "enum": [
      +    "none",
      +    "flow",
      +    "pulse",
      +    "glow",
      +    "trace",
      +    "wave"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / defaultConnectorAnimateSpeed
      Added value: +{
      +  "description": "Animation speed when defaultConnectorAnimate is set. Options: slow (3s cycle) | medium (2s, default) | fast (1s).",
      +  "enum": [
      +    "slow",
      +    "medium",
      +    "fast"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / edges / items / properties / animate
      Added value: +{
      +  "description": "Connector animation. Options: none (default) | flow (dashes march) | pulse (opacity breathing) | glow (stroke-width pulse) | trace (bright dot travels along) | wave (large stroke-width oscillation). SVG-only — exports to PNG/WebP capture one frozen frame.",
      +  "enum": [
      +    "none",
      +    "flow",
      +    "pulse",
      +    "glow",
      +    "trace",
      +    "wave"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / edges / items / properties / animateSpeed
      Added value: +{
      +  "description": "Animation speed. Options: slow (3s cycle) | medium (2s, default) | fast (1s).",
      +  "enum": [
      +    "slow",
      +    "medium",
      +    "fast"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / edges / items / required
      Previous value: -[
      -  "source",
      -  "target",
      -  "label",
      -  "lineStyle",
      -  "connectorType",
      -  "sourceArrow",
      -  "targetArrow",
      -  "style",
      -  "hidden"
      -]New value: +[
      +  "source",
      +  "target",
      +  "label",
      +  "lineStyle",
      +  "connectorType",
      +  "sourceArrow",
      +  "targetArrow",
      +  "style",
      +  "hidden",
      +  "animate",
      +  "animateSpeed"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "defaultConnectorAnimate",
      +  "defaultConnectorAnimateSpeed",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  22. Changed72 schema fields changed
    • changedInput schema / properties / defaultArrowHead / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / defaultConnector / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / defaultLineStyle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / defaultShadow / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / defaultShapeLineStyle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / connectorType / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / hidden / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / label / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / lineStyle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / sourceArrow / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / style / properties / opacity / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / style / properties / stroke / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / style / properties / strokeWidth / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / style / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / properties / edges / items / properties / targetArrow / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / edges / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / fontFamily / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / iconStyle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / layout / properties / direction / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / layout / properties / nodeSpacing / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / layout / properties / padding / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / layout / properties / rankSpacing / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / layout / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / properties / matrixColumns / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / matrixItemStyle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / matrixRows / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / group / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / height / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / hidden / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / icon / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / iconKeywords / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / shape / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / cornerRadius / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / fill / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / fontColor / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / fontSize / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / iconColor / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / iconColors / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / lineStyle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / opacity / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / shadow / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / shadowLevel / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / stroke / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / properties / strokeWidth / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / style / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / properties / nodes / items / properties / width / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedInput schema / properties / nodes / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / prompt / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / sections / items / properties / col / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedInput schema / properties / sections / items / properties / icons / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / sections / items / properties / id / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / sections / items / properties / itemIds / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / sections / items / properties / itemShapes / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / sections / items / properties / row / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedInput schema / properties / sections / items / properties / subtitle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / sections / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / style / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / subtitle / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / properties / accent / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / properties / background / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / properties / border / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / properties / nodeColors / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / properties / primary / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / properties / secondary / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / properties / text / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / palette / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / properties / theme / properties / preset / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / theme / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / properties / title / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / type / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / xAxisLabel / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / yAxisLabel / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
  23. Changed7 schema fields changed
    • removedInput schema / properties / d
      Removed value: -{
      -  "description": "Compact: layout direction",
      -  "enum": [
      -    "TB",
      -    "LR",
      -    "BT",
      -    "RL",
      -    "radial",
      -    "assorted"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / e
      Removed value: -{
      -  "description": "Compact: edges as tuples [source, target, label?, connectorType?, lineStyle?, targetArrow?]",
      -  "items": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / n
      Removed value: -{
      -  "description": "Compact: nodes as tuples [id, shape, text]",
      -  "items": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / p
      Removed value: -{
      -  "description": "Compact: theme preset name",
      -  "type": "string"
      -}
    • removedInput schema / properties / s
      Removed value: -{
      -  "description": "Compact: matrix sections as tuples [title, subtitle, [items...]]",
      -  "items": {
      -    "type": "array"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / t
      Removed value: -{
      -  "description": "Compact: diagram type",
      -  "enum": [
      -    "flowchart",
      -    "mindmap",
      -    "block-diagram",
      -    "matrix",
      -    "timeline",
      -    "gantt",
      -    "er-diagram",
      -    "sequence",
      -    "process-flow"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "prompt",
      -  "type",
      -  "sections",
      -  "title",
      -  "subtitle",
      -  "style",
      -  "nodes",
      -  "edges",
      -  "layout",
      -  "theme",
      -  "defaultLineStyle",
      -  "defaultArrowHead",
      -  "defaultConnector",
      -  "defaultShadow",
      -  "defaultShapeLineStyle",
      -  "iconStyle",
      -  "fontFamily",
      -  "matrixColumns",
      -  "matrixRows",
      -  "xAxisLabel",
      -  "yAxisLabel",
      -  "matrixItemStyle",
      -  "t",
      -  "s",
      -  "n",
      -  "e",
      -  "d",
      -  "p"
      -]New value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle"
      +]
  24. Changed27 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / properties / defaultArrowHead / $ref
      Removed value: -"#/properties/edges/items/properties/sourceArrow"
    • addedInput schema / properties / defaultArrowHead / type
      Added value: +"string"
    • changedInput schema / properties / e / items / items / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • addedInput schema / properties / edges / items / properties / sourceArrow / description
      Added value: +"Arrowhead style at the edge source end. Options: open (default) | triangle | diamond | circle | bar | dot | none."
    • addedInput schema / properties / edges / items / properties / style / required
      Added value: +[
      +  "stroke",
      +  "strokeWidth",
      +  "opacity"
      +]
    • removedInput schema / properties / edges / items / properties / targetArrow / $ref
      Removed value: -"#/properties/edges/items/properties/sourceArrow"
    • addedInput schema / properties / edges / items / properties / targetArrow / description
      Added value: +"Arrowhead style at the edge target end. Options: open (default) | triangle | diamond | circle | bar | dot | none."
    • addedInput schema / properties / edges / items / properties / targetArrow / type
      Added value: +"string"
    • changedInput schema / properties / edges / items / required
      Previous value: -[
      -  "source",
      -  "target"
      -]New value: +[
      +  "source",
      +  "target",
      +  "label",
      +  "lineStyle",
      +  "connectorType",
      +  "sourceArrow",
      +  "targetArrow",
      +  "style",
      +  "hidden"
      +]
    • removedInput schema / properties / layout / properties / nodeSpacing / exclusiveMinimum
      Removed value: -0
    • addedInput schema / properties / layout / properties / nodeSpacing / minimum
      Added value: +0
    • removedInput schema / properties / layout / properties / rankSpacing / exclusiveMinimum
      Removed value: -0
    • addedInput schema / properties / layout / properties / rankSpacing / minimum
      Added value: +0
    • addedInput schema / properties / layout / required
      Added value: +[
      +  "direction",
      +  "nodeSpacing",
      +  "rankSpacing",
      +  "padding"
      +]
    • changedInput schema / properties / n / items / items / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • removedInput schema / properties / nodes / items / properties / height / exclusiveMinimum
      Removed value: -0
    • addedInput schema / properties / nodes / items / properties / height / minimum
      Added value: +0
    • addedInput schema / properties / nodes / items / properties / style / required
      Added value: +[
      +  "fill",
      +  "stroke",
      +  "strokeWidth",
      +  "opacity",
      +  "cornerRadius",
      +  "shadow",
      +  "shadowLevel",
      +  "fontSize",
      +  "fontColor",
      +  "lineStyle",
      +  "iconColor",
      +  "iconColors"
      +]
    • removedInput schema / properties / nodes / items / properties / width / exclusiveMinimum
      Removed value: -0
    • addedInput schema / properties / nodes / items / properties / width / minimum
      Added value: +0
    • changedInput schema / properties / nodes / items / required
      Previous value: -[
      -  "id",
      -  "text"
      -]New value: +[
      +  "id",
      +  "shape",
      +  "text",
      +  "style",
      +  "width",
      +  "height",
      +  "icon",
      +  "iconKeywords",
      +  "hidden",
      +  "group"
      +]
    • removedInput schema / properties / sections / items / properties / id / default
      Removed value: -""
    • changedInput schema / properties / sections / items / required
      Previous value: -[
      -  "title",
      -  "items"
      -]New value: +[
      +  "id",
      +  "title",
      +  "subtitle",
      +  "items",
      +  "icons",
      +  "itemIds",
      +  "itemShapes",
      +  "row",
      +  "col"
      +]
    • addedInput schema / properties / theme / properties / palette / required
      Added value: +[
      +  "primary",
      +  "secondary",
      +  "accent",
      +  "background",
      +  "text",
      +  "border",
      +  "nodeColors"
      +]
    • addedInput schema / properties / theme / required
      Added value: +[
      +  "preset",
      +  "palette"
      +]
    • addedInput schema / required
      Added value: +[
      +  "prompt",
      +  "type",
      +  "sections",
      +  "title",
      +  "subtitle",
      +  "style",
      +  "nodes",
      +  "edges",
      +  "layout",
      +  "theme",
      +  "defaultLineStyle",
      +  "defaultArrowHead",
      +  "defaultConnector",
      +  "defaultShadow",
      +  "defaultShapeLineStyle",
      +  "iconStyle",
      +  "fontFamily",
      +  "matrixColumns",
      +  "matrixRows",
      +  "xAxisLabel",
      +  "yAxisLabel",
      +  "matrixItemStyle",
      +  "t",
      +  "s",
      +  "n",
      +  "e",
      +  "d",
      +  "p"
      +]
  25. First observed

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds minimal behavioral info beyond annotations. It notes identical behavior to `generate_visual` but does not describe what that behavior entails. Annotations already provide readOnlyHint, idempotentHint, destructiveHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with 'DEPRECATED'. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deprecated tool with 37 required parameters and no output schema, the description adequately covers the essential information: deprecation, replacement, and identical behavior. It is sufficient for an AI agent to decide not to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 81%, so parameters are already well-documented in the schema. The description adds no parameter-specific information, which is acceptable for a deprecated alias.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it's a deprecated alias for `generate_visual`, specifying the verb (use) and the resource (generate_visual). It distinguishes itself from siblings by directing to the replacement tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs the user to use `generate_visual` instead, providing clear when-to-use and when-not-to-use guidance, including the deprecation timeline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources