changedInput schema / properties / boardEdits / description
Previous value: -"Physical patch; omitted fields retain existing values. settings changes only supplied app-supported settings (dimensions in mm). outline replaces the outline with a library choice or complete generated profile including retained cutouts. fixedPlacements uses design-local partId; mountingHoles, silkscreenTexts, and silkscreenSvgs use item id. Each collection uses upsert to add or merge items and remove to remove only listed IDs, not replace the collection. Removing a fixed placement unpins the part without deleting it. Positions are in board-plane mm; rotationDeg is counterclockwise degrees. Attached DXF and new SVG assets are unavailable through MCP. Existing SVG artwork can be edited or removed by item id; omit assetId."New value: +"Physical patch; omitted fields retain existing values. settings changes only supplied app-supported settings (dimensions in mm). outline replaces the outline with a library choice or complete generated profile including retained cutouts. fixedPlacements and partClearances use design-local partId; keepouts, mountingHoles, silkscreenTexts, and silkscreenSvgs use item id. Keepout shape coordinates are board-plane mm; part clearance distances are in the part-local frame. Each collection uses upsert to add or merge items and remove to remove only listed IDs, not replace the collection. Removing a fixed placement unpins the part without deleting it. Positions are in board-plane mm; rotationDeg is counterclockwise degrees. Attached DXF and new SVG assets are unavailable through MCP. Existing SVG artwork can be edited or removed by item id; omit assetId."
addedInput schema / properties / boardEdits / properties / keepouts
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "remove": {
+ "description": "Remove listed id only.",
+ "items": {
+ "$ref": "#/$defs/boardIdentifier"
+ },
+ "type": "array"
+ },
+ "upsert": {
+ "description": "Upsert by id; retain omitted fields.",
+ "items": {
+ "additionalProperties": false,
+ "description": "Board-fixed exclusion region. New items require name, x, y, rotationDeg, shape, restrictions, partSide and copperLayers. Nested objects replace complete fields; omission retains existing values.",
+ "properties": {
+ "addedAt": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "copperLayers": {
+ "description": "Selected physical copper layers; must exist on the board when restricting copper.",
+ "items": {
+ "enum": [
+ "F.Cu",
+ "In1.Cu",
+ "In2.Cu",
+ "B.Cu"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "$ref": "#/$defs/boardIdentifier"
+ },
+ "name": {
+ "minLength": 1,
+ "pattern": "^[^\\u0000\\ud800-\\udfff]*$",
+ "type": "string"
+ },
+ "partSide": {
+ "enum": [
+ "top",
+ "bottom",
+ "both"
+ ],
+ "type": "string"
+ },
+ "restrictions": {
+ "additionalProperties": false,
+ "description": "Complete restriction set; at least one must be true.",
+ "properties": {
+ "copperFills": {
+ "type": "boolean"
+ },
+ "parts": {
+ "type": "boolean"
+ },
+ "tracks": {
+ "type": "boolean"
+ },
+ "vias": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "parts",
+ "tracks",
+ "vias",
+ "copperFills"
+ ],
+ "type": "object"
+ },
+ "rotationDeg": {
+ "description": "CCW board-plane degrees.",
+ "type": "number"
+ },
+ "shape": {
+ "description": "Complete replacement shape; omitted retains the current shape.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "heightMm": {
+ "maximum": 1000,
+ "minimum": 0.1,
+ "type": "number"
+ },
+ "kind": {
+ "const": "rectangle",
+ "type": "string"
+ },
+ "widthMm": {
+ "maximum": 1000,
+ "minimum": 0.1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "kind",
+ "widthMm",
+ "heightMm"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "diameterMm": {
+ "maximum": 1000,
+ "minimum": 0.1,
+ "type": "number"
+ },
+ "kind": {
+ "const": "circle",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "diameterMm"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fileName": {
+ "minLength": 1,
+ "pattern": "^[^\\u0000\\ud800-\\udfff]*$",
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ },
+ "profile": {
+ "additionalProperties": false,
+ "description": "Complete custom keepout profile in mm; scaled width and height 0.1–1000, ≤2000 total segments.",
+ "properties": {
+ "cutouts": {
+ "description": "Closed voids ([]=none); prefer clockwise. Strictly inside; no touching, overlap or nesting.",
+ "items": {
+ "$ref": "#/$defs/outlineContour"
+ },
+ "maxItems": 1999,
+ "type": "array"
+ },
+ "outer": {
+ "$ref": "#/$defs/outlineContour",
+ "description": "Closed boundary; normalized CCW, lower-left (0,0)."
+ }
+ },
+ "required": [
+ "outer",
+ "cutouts"
+ ],
+ "type": "object"
+ },
+ "scalePercent": {
+ "description": "Uniform scale of the original profile; omitted is 100.",
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "sourceBase64": {
+ "description": "Existing retained DXF source only; never invent source bytes.",
+ "maxLength": 2796204,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "profile",
+ "fileName"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "x": {
+ "type": "number"
+ },
+ "y": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / boardEdits / properties / partClearances
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "remove": {
+ "description": "Remove listed partId only.",
+ "items": {
+ "$ref": "#/$defs/boardIdentifier"
+ },
+ "type": "array"
+ },
+ "upsert": {
+ "description": "Upsert by partId; retain omitted fields.",
+ "items": {
+ "additionalProperties": false,
+ "description": "Part-attached clearance without pinning the part. New items require clearanceMm, linked, restrictions and copperLayers. Nested objects replace complete fields; omission retains existing values.",
+ "properties": {
+ "addedAt": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "clearanceMm": {
+ "additionalProperties": false,
+ "description": "Distances from the catalog body in its local frame; front is +Y before placement rotation or bottom-side reflection.",
+ "properties": {
+ "back": {
+ "maximum": 1000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "front": {
+ "maximum": 1000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "left": {
+ "maximum": 1000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "right": {
+ "maximum": 1000,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "front",
+ "back",
+ "left",
+ "right"
+ ],
+ "type": "object"
+ },
+ "copperLayers": {
+ "description": "Selected physical copper layers; must exist on the board when restricting copper.",
+ "items": {
+ "enum": [
+ "F.Cu",
+ "In1.Cu",
+ "In2.Cu",
+ "B.Cu"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "linked": {
+ "description": "Linked sides must have equal clearance distances.",
+ "type": "boolean"
+ },
+ "partId": {
+ "$ref": "#/$defs/boardIdentifier"
+ },
+ "restrictions": {
+ "additionalProperties": false,
+ "description": "Complete restriction set; at least one must be true.",
+ "properties": {
+ "copperFills": {
+ "type": "boolean"
+ },
+ "parts": {
+ "type": "boolean"
+ },
+ "tracks": {
+ "type": "boolean"
+ },
+ "vias": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "parts",
+ "tracks",
+ "vias",
+ "copperFills"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "partId"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}
changedInput schema / properties / intent / properties / connections / items / properties / requiredCurrentA / description
Previous value: -"Continuous A, all pins (mA/1000); omit for class widths."New value: +"Legacy net-wide current; preserve existing values only. Author new current requirements with pinCurrentRequirements."
addedInput schema / properties / intent / properties / pinCurrentRequirements
Added value: +{
+ "description": "Complete per-pin requirement list. Omit to preserve existing valid requirements; [] clears all. A supplied list replaces all prior entries. Use catalog pad numbers, one entry per partId/padId.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "direction": {
+ "description": "Conventional current relative to the net copper: into supplies it, out draws from it, bidirectional requires either direction.",
+ "enum": [
+ "into",
+ "out",
+ "bidirectional"
+ ],
+ "type": "string"
+ },
+ "padId": {
+ "$ref": "#/$defs/boardIdentifier"
+ },
+ "partId": {
+ "$ref": "#/$defs/boardIdentifier"
+ },
+ "requiredCurrentA": {
+ "description": "Required continuous current in amperes (mA/1000); zero is allowed.",
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "partId",
+ "padId"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}