← Commit history
checkpoints/unclipped-hotspots-v1/candidate-v27.complete-diff.jsonadded+1669
@@ -0,0 +1,1669 @@+{+  "baselineSha256": "54f1aab0a34622d1c3675c13f4aeb7a678b0cee8b5a4d3bfd7484b10edb8dcf6",+  "candidateSha256": "a365abb52e62eb33ef90f9e424f2a2851dfb81454c6ad65e794631663214ccb0",+  "formalAcceptance": false,+  "existingCopperNetChanges": [],+  "footprintChanges": [+    {+      "ref": "Q2",+      "before": {+        "at": [+          "124",+          "85.3"+        ],+        "pads": {+          "1": {+            "at": [+              "-0.9375",+              "-0.95"+            ],+            "size": [+              "1.475",+              "0.6"+            ],+            "net": [+              "CLAMP_BASE"+            ]+          },+          "2": {+            "at": [+              "-0.9375",+              "0.95"+            ],+            "size": [+              "1.475",+              "0.6"+            ],+            "net": [+              "GND"+            ]+          },+          "3": {+            "at": [+              "0.9375",+              "0"+            ],+            "size": [+              "1.475",+              "0.6"+            ],+            "net": [+              "GATE"+            ]+          }+        }+      },+      "after": {+        "at": [+          "123.7",+          "85.3"+        ],+        "pads": {+          "1": {+            "at": [+              "-0.9375",+              "-0.95"+            ],+            "size": [+              "1.475",+              "0.6"+            ],+            "net": [+              "CLAMP_BASE"+            ]+          },+          "2": {+            "at": [+              "-0.9375",+              "0.95"+            ],+            "size": [+              "1.475",+              "0.6"+            ],+            "net": [+              "GND"+            ]+          },+          "3": {+            "at": [+              "0.9375",+              "0"+            ],+            "size": [+              "1.475",+              "0.6"+            ],+            "net": [+              "GATE"+            ]+          }+        }+      }+    },+    {+      "ref": "R7",+      "before": {+        "at": [+          "129",+          "84"+        ],+        "pads": {+          "1": {+            "at": [+              "-0.51",+              "0"+            ],+            "size": [+              "0.54",+              "0.64"+            ],+            "net": [+              "SERVO_OUT"+            ]+          },+          "2": {+            "at": [+              "0.51",+              "0"+            ],+            "size": [+              "0.54",+              "0.64"+            ],+            "net": [+              "GATE"+            ]+          }+        }+      },+      "after": {+        "at": [+          "129.1",+          "84"+        ],+        "pads": {+          "1": {+            "at": [+              "-0.51",+              "0"+            ],+            "size": [+              "0.54",+              "0.64"+            ],+            "net": [+              "SERVO_OUT"+            ]+          },+          "2": {+            "at": [+              "0.51",+              "0"+            ],+            "size": [+              "0.54",+              "0.64"+            ],+            "net": [+              "GATE"+            ]+          }+        }+      }+    },+    {+      "ref": "U3",+      "before": {+        "at": [+          "129",+          "87"+        ],+        "pads": {+          "1": {+            "at": [+              "-1.1375",+              "-0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "SERVO_OUT"+            ]+          },+          "2": {+            "at": [+              "-1.1375",+              "0"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "SHUNT_N_SENSE"+            ]+          },+          "3": {+            "at": [+              "-1.1375",+              "0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "I_SET"+            ]+          },+          "4": {+            "at": [+              "1.1375",+              "0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "SERVO_FB"+            ]+          },+          "5": {+            "at": [+              "1.1375",+              "-0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "V_GATE"+            ]+          }+        }+      },+      "after": {+        "at": [+          "129.3",+          "87"+        ],+        "pads": {+          "1": {+            "at": [+              "-1.1375",+              "-0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "SERVO_OUT"+            ]+          },+          "2": {+            "at": [+              "-1.1375",+              "0"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "SHUNT_N_SENSE"+            ]+          },+          "3": {+            "at": [+              "-1.1375",+              "0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "I_SET"+            ]+          },+          "4": {+            "at": [+              "1.1375",+              "0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "SERVO_FB"+            ]+          },+          "5": {+            "at": [+              "1.1375",+              "-0.95"+            ],+            "size": [+              "1.325",+              "0.6"+            ],+            "net": [+              "V_GATE"+            ]+          }+        }+      }+    }+  ],+  "copperChanges": [+    {+      "uuid": "0698f584-2df0-479e-808e-687b3cb57a96",+      "before": {+        "kind": "segment",+        "start": [+          "123.5",+          "85.5"+        ],+        "end": [+          "123.6",+          "85.4"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "123.5",+          "85.5"+        ],+        "end": [+          "123.3",+          "85.4"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      }+    },+    {+      "uuid": "13d2f936-e4d3-40cb-9bf7-1b6b26ca4cf2",+      "before": {+        "kind": "segment",+        "start": [+          "126.4",+          "86.5"+        ],+        "end": [+          "126.35",+          "87"+        ],+        "width": [+          "1.2"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "126.4",+          "86.7"+        ],+        "end": [+          "126.35",+          "87"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "1b4ccb80-a9a1-49c6-8296-1afd8c5c9054",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "126.4",+          "84.36"+        ],+        "end": [+          "126.4",+          "86.7"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "24176a5c-806d-4462-b8fa-3f8435ffaa32",+      "before": {+        "kind": "segment",+        "start": [+          "132",+          "85.4"+        ],+        "end": [+          "134.1",+          "87.5"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "132.199999",+          "85.6"+        ],+        "end": [+          "134.1",+          "87.5"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      }+    },+    {+      "uuid": "25f07535-b1fb-490b-9cc4-decf9057e8d1",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "136.5",+          "93"+        ],+        "size": [+          "1"+        ],+        "drill": [+          "0.6"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "2f235494-7976-4048-be2d-b71507b2b45e",+      "before": {+        "kind": "segment",+        "start": [+          "124.9",+          "82.3"+        ],+        "end": [+          "124.92",+          "82"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "124.9",+          "82.3"+        ],+        "end": [+          "124.92",+          "82"+        ],+        "width": [+          "1.75"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      }+    },+    {+      "uuid": "30d9e8bc-805a-4b1d-8a79-ad625ee59388",+      "before": {+        "kind": "segment",+        "start": [+          "124.92",+          "82"+        ],+        "end": [+          "125.15",+          "83.4"+        ],+        "width": [+          "0.8"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": null+    },+    {+      "uuid": "32514162-b870-4c7a-95a2-b85b8db79257",+      "before": {+        "kind": "via",+        "at": [+          "126.4",+          "86.5"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      },+      "after": {+        "kind": "via",+        "at": [+          "126.05",+          "86.7"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "34d3207a-b14a-40d8-be82-5b108c2b867b",+      "before": {+        "kind": "via",+        "at": [+          "134.4",+          "84.8"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": null+    },+    {+      "uuid": "3e849937-6253-4e1c-b2c7-a04c3370eb1c",+      "before": {+        "kind": "via",+        "at": [+          "123.6",+          "85.4"+        ],+        "size": [+          "0.6"+        ],+        "drill": [+          "0.3"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      },+      "after": {+        "kind": "via",+        "at": [+          "123.3",+          "85.4"+        ],+        "size": [+          "0.6"+        ],+        "drill": [+          "0.3"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      }+    },+    {+      "uuid": "426d7dbc-263d-4c53-a4c3-dd3ef58fe982",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "139",+          "93"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "4920cbee-6ad2-414e-a167-3b77bd8c7fc6",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "133.699999",+          "83.6"+        ],+        "end": [+          "133.8",+          "84.2"+        ],+        "width": [+          "1.2"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      }+    },+    {+      "uuid": "4abaae68-59a0-4ef4-9e3f-aeaedcbe08f1",+      "before": {+        "kind": "segment",+        "start": [+          "128",+          "87.3"+        ],+        "end": [+          "128.8",+          "87.3"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "128",+          "87.3"+        ],+        "end": [+          "129",+          "87.3"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      }+    },+    {+      "uuid": "53e2f052-c9c9-4645-bd57-c5559189eb0c",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "126.8",+          "86.7"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "55a88997-bdf5-4b6c-a960-7746f2549979",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "138.4",+          "93"+        ],+        "end": [+          "136.5",+          "93"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "573158d1-1739-45b3-90d0-03577fe04d3d",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "126.35",+          "89"+        ],+        "end": [+          "126.35",+          "89.7"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "64bce2da-bf95-4976-bfd0-62ce943198a8",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "139.4",+          "90.4"+        ],+        "end": [+          "139.4",+          "92"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "667af3dd-be2f-4adc-ba58-a51cbf2be28f",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "126.35",+          "89.7"+        ],+        "end": [+          "125.65",+          "89.7"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "6729ac40-cba3-4e07-bfed-d85f70e73c4a",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "139.4",+          "92"+        ],+        "end": [+          "138.4",+          "93"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "6a34c726-b68c-460b-bb54-62b16218f967",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "126.35",+          "89"+        ],+        "end": [+          "125.65",+          "89.7"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "6d06bdaa-e59b-4ae8-8408-0222b404a933",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "139.4",+          "90.4"+        ],+        "size": [+          "0.6"+        ],+        "drill": [+          "0.3"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "898fb7bb-ebf6-4bbe-ada6-dd6d7720c0cb",+      "before": {+        "kind": "via",+        "at": [+          "139.4",+          "86.8"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      },+      "after": null+    },+    {+      "uuid": "8e5d5e2b-78f3-4ed2-af96-409d2ea9d57b",+      "before": {+        "kind": "segment",+        "start": [+          "126.35",+          "89.7"+        ],+        "end": [+          "119.8",+          "89.7"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      },+      "after": null+    },+    {+      "uuid": "8fc8b35b-e02e-45db-b56f-6ec45639d24a",+      "before": {+        "kind": "segment",+        "start": [+          "129.1",+          "87.6"+        ],+        "end": [+          "129.1",+          "88.6"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "129.3",+          "87.6"+        ],+        "end": [+          "129.3",+          "88.6"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      }+    },+    {+      "uuid": "91eed079-74e4-4863-8dc1-f211a19b6ee0",+      "before": {+        "kind": "segment",+        "start": [+          "126.4",+          "83.06"+        ],+        "end": [+          "126.4",+          "86.5"+        ],+        "width": [+          "1"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      },+      "after": null+    },+    {+      "uuid": "9a71af6b-ea83-4f97-b7f6-3f69253c7314",+      "before": {+        "kind": "via",+        "at": [+          "135",+          "85"+        ],+        "size": [+          "0.6"+        ],+        "drill": [+          "0.3"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": null+    },+    {+      "uuid": "9eeaa4b5-6abd-4f8d-b54a-b7e25ccfb215",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "126.35",+          "87"+        ],+        "end": [+          "126.35",+          "89"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "aa6c5964-74d4-410e-a69e-ffb2cd9c9999",+      "before": {+        "kind": "via",+        "at": [+          "133.8",+          "84.2"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": {+        "kind": "via",+        "at": [+          "133.699999",+          "83.6"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      }+    },+    {+      "uuid": "ad353074-a567-44a9-a20a-744b8057c5a9",+      "before": {+        "kind": "segment",+        "start": [+          "127.46",+          "82"+        ],+        "end": [+          "126.4",+          "83.06"+        ],+        "width": [+          "1.2"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      },+      "after": null+    },+    {+      "uuid": "b486fb59-b64e-41ee-a1a7-5a72fcf0a780",+      "before": {+        "kind": "segment",+        "start": [+          "126.35",+          "87"+        ],+        "end": [+          "126.35",+          "89.7"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      },+      "after": null+    },+    {+      "uuid": "bbce2dea-10c4-4a0c-b659-4c013fc4304b",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "127.46",+          "82"+        ],+        "end": [+          "127.46",+          "83.3"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "c0de0369-7fd9-46e7-97ef-a914aedc0e9f",+      "before": {+        "kind": "segment",+        "start": [+          "123.6",+          "85.4"+        ],+        "end": [+          "132",+          "85.4"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "123.3",+          "85.6"+        ],+        "end": [+          "132.199999",+          "85.6"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P_SENSE"+        ]+      }+    },+    {+      "uuid": "cd48c727-15bf-4276-b4b8-ae4d936d829d",+      "before": {+        "kind": "via",+        "at": [+          "125.15",+          "83.4"+        ],+        "size": [+          "0.6"+        ],+        "drill": [+          "0.3"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": null+    },+    {+      "uuid": "d72b5111-d490-477e-af0e-ad578b61c3d3",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "139.4",+          "91.4"+        ],+        "size": [+          "0.6"+        ],+        "drill": [+          "0.3"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "db6b0745-1575-4d1f-ade0-c076147bd7f9",+      "before": {+        "kind": "segment",+        "start": [+          "128.8",+          "87.3"+        ],+        "end": [+          "129.1",+          "87.6"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "129",+          "87.3"+        ],+        "end": [+          "129.3",+          "87.6"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      }+    },+    {+      "uuid": "e1996d28-be73-4fdc-adb9-97d5f630fb7b",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "125.65",+          "89.7"+        ],+        "end": [+          "119.8",+          "89.7"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "e50315a7-0d07-488e-a488-c1f64b54a1fd",+      "before": null,+      "after": {+        "kind": "segment",+        "start": [+          "127.46",+          "83.3"+        ],+        "end": [+          "126.4",+          "84.36"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "LOAD_POS"+        ]+      }+    },+    {+      "uuid": "e78ac0e4-ad96-4581-a133-29b7ea47ab21",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "133",+          "100.8"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "ec56cc46-09f5-4ff9-a1b6-61699db68686",+      "before": {+        "kind": "segment",+        "start": [+          "126.5",+          "84"+        ],+        "end": [+          "124.9",+          "82.3"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "126.5",+          "84"+        ],+        "end": [+          "124.9",+          "82.3"+        ],+        "width": [+          "1.75"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      }+    },+    {+      "uuid": "eda97c98-54ed-4541-b2f0-728cc4b05707",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "138",+          "100.8"+        ],+        "size": [+          "0.8"+        ],+        "drill": [+          "0.4"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "f120f8db-288f-4938-acbf-98ff5e4065df",+      "before": {+        "kind": "segment",+        "start": [+          "133.5",+          "84"+        ],+        "end": [+          "126.5",+          "84"+        ],+        "width": [+          "1.5"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "133.5",+          "84.25"+        ],+        "end": [+          "126.8",+          "84.25"+        ],+        "width": [+          "2"+        ],+        "layer": [+          "B.Cu"+        ],+        "net": [+          "SHUNT_P"+        ]+      }+    },+    {+      "uuid": "f29acf3e-748d-407f-92e0-ec0544f3474e",+      "before": {+        "kind": "segment",+        "start": [+          "129.3",+          "88.8"+        ],+        "end": [+          "130",+          "88.8"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "129.5",+          "88.8"+        ],+        "end": [+          "130",+          "88.8"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      }+    },+    {+      "uuid": "f51c1167-b9b7-492f-9e74-713a6b57fda7",+      "before": null,+      "after": {+        "kind": "via",+        "at": [+          "139.4",+          "92.4"+        ],+        "size": [+          "0.6"+        ],+        "drill": [+          "0.3"+        ],+        "layers": [+          "F.Cu",+          "B.Cu"+        ],+        "net": [+          "GND"+        ]+      }+    },+    {+      "uuid": "f69214e6-434b-473f-b017-0dd038575d19",+      "before": {+        "kind": "segment",+        "start": [+          "129.1",+          "88.6"+        ],+        "end": [+          "129.3",+          "88.8"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      },+      "after": {+        "kind": "segment",+        "start": [+          "129.3",+          "88.6"+        ],+        "end": [+          "129.5",+          "88.8"+        ],+        "width": [+          "0.25"+        ],+        "layer": [+          "F.Cu"+        ],+        "net": [+          "SHUNT_N_SENSE"+        ]+      }+    }+  ],+  "note": "All track/via changes inventoried by saved UUID. Native net invariant additionally checks newly created copper before and after connectivity/fill/save. Zone fill geometry and placement still require visual/native review."+}
checkpoints/unclipped-hotspots-v1/drc-v27.jsonadded+36
@@ -0,0 +1,36 @@+{
+    "$schema": "https://schemas.kicad.org/drc.v1.json",
+    "coordinate_units": "mm",
+    "date": "2026-10-10T07:45:29",
+    "ignored_checks": [
+        {
+            "description": "Footprint has no courtyard defined",
+            "key": "missing_courtyard"
+        },
+        {
+            "description": "Track endpoint not centered on via",
+            "key": "track_not_centered_on_via"
+        },
+        {
+            "description": "Tuning profile track geometries",
+            "key": "tuning_profile_track_geometries"
+        },
+        {
+            "description": "Footprint doesn't match symbol's footprint filters",
+            "key": "footprint_filters_mismatch"
+        },
+        {
+            "description": "Footprint component type doesn't match footprint pads",
+            "key": "footprint_type_mismatch"
+        }
+    ],
+    "included_severities": [
+        "error",
+        "warning"
+    ],
+    "kicad_version": "10.0.5",
+    "schematic_parity": [],
+    "source": "candidate-v27.kicad_pcb",
+    "unconnected_items": [],
+    "violations": []
+}
design/step12-hotspot-progress.png
⋯ 1 unchanged line ⋯
design/step12-hotspot-v27-geometry.pngadded
⋯ 1 unchanged line ⋯
docs/completion-plan.md+4
@@ -1,3 +1,7 @@+## Current checkpoint — corrected plated-wall model, candidate v27++AIFlow 0.1.81 is source-pushed, registry-published and installed here; 130 tests and workflow checks pass. Fields PR9 remains under owner review and shared Fields is unchanged. Candidate v27 has zero native DRC errors, opens and warnings with actual project libraries present; complete diff has 44 copper changes, Q2/R7/U3 moves and zero existing copper net changes. Corrected 0.2 mm GND/LOAD_POS/SHUNT_P peaks are 50.70/57.68/59.67 A/mm2. The 0.1 mm refinement is running. Live board unchanged; current and thermal acceptance remain open. Continue engineering rather than stopping at this checkpoint.+ ## Current checkpoint — plated-hole model correction  Do not execute the v18 landing plan. The 0.1 mm refinement produced GND 102.24, drain 63.25 and shunt 78.40 A/mm². The complete GND and shunt peak cells lie inside drilled holes: the old raster painted solid discs and coupled layers at their centers. An isolated Fields correction removes drill voids and distributes wall coupling, with 32 passing tests and a production build. Its v18 rerun still fails real surface screens (GND 71.93 and shunt 89.36 at 0.2 mm); the fix does not manufacture a passing result. Barrel currents are now reported separately.
tools/check_hotspot_candidate.py+4−2
@@ -1,14 +1,16 @@ """Validate project-only copper experiments with native desktop KiCad, never the editor.""" from pathlib import Path import subprocess,json,shutil,sys-root=Path(__file__).resolve().parents[1];version=sys.argv[1];assert version.startswith('v') and version[1:].isdigit() and 4 <= int(version[1:]) <= 20+root=Path(__file__).resolve().parents[1];version=sys.argv[1];assert version.startswith('v') and version[1:].isdigit() and 4 <= int(version[1:]) <= 40 p=root/'checkpoints/unclipped-hotspots-v1';remote='C:/Users/john/adom-projects/adom-custom-electronic-load/review/unclipped-hotspots-v1';name='candidate-'+version-files=[str(root/'tools'/('hotspot_via_candidate_'+version+'.py'))]+files=[str(root/'tools'/('hotspot_via_candidate_'+version+'.py')),str(root/'kicad/fp-lib-table')] for ext in ['kicad_pro','kicad_dru']:  q=p/(name+'.'+ext);shutil.copy2(p/('baseline.'+ext),q);files.append(str(q)) def ab(verb,args):  r=subprocess.run(['adom-bridge',verb,json.dumps(args),'--target','AdomLapper','--ai-thread','adom-custom-load'],capture_output=True,text=True);j=json.loads(r.stdout);assert j.get('success'),j;return j ab('send_files',{'filePaths':files,'dest':remote,'reason':'Isolated current-hotspot experiment; preserve live PCB and all original fabrication rules'})+for folder in sorted((root/'kicad/lib').glob('*.pretty')):+ ab('send_files',{'filePaths':[str(p) for p in sorted(folder.glob('*.kicad_mod'))],'dest':remote+'/lib/'+folder.name,'reason':'Validate against the actual project footprint libraries, without changing global desktop configuration'}) exe='C:/Users/john/AppData/Local/Programs/KiCad/10.0/bin/' r=ab('shell_execute',{'command':f'"{exe}python.exe" "{remote}/hotspot_via_candidate_{version}.py" "{remote}/baseline.kicad_pcb" "{remote}/{name}.kicad_pcb"','timeoutSeconds':60,'reason':'Native refill of an isolated saved-board candidate'});(p/(version+'-native-command.json')).write_text(json.dumps(r,indent=2));assert r['exitCode']==0,r r=ab('shell_execute',{'command':f'"{exe}kicad-cli.exe" pcb drc --format json --output "{remote}/drc-{version}.json" "{remote}/{name}.kicad_pcb"','timeoutSeconds':60,'reason':'Native DRC of isolated copper candidate, same project rules'});(p/(version+'-drc-command.json')).write_text(json.dumps(r,indent=2));assert r['exitCode']==0,r
tools/hotspot_via_candidate_v27.pyadded+120
@@ -0,0 +1,120 @@+"""Run using native desktop KiCad Python; modifies only an isolated board copy."""+import pcbnew,sys,json+from pathlib import Path+source=Path(sys.argv[1]);out=Path(sys.argv[2]);board=pcbnew.LoadBoard(str(source));nets=board.GetNetsByName()+changes=[]+for net,x,y in [('GND',133.0,100.8),('GND',138.0,100.8),('GND',139.0,93.0),('GND',136.5,93.0),('GND',139.4,90.4),('GND',139.4,91.4),('GND',139.4,92.4)]:+ via=pcbnew.PCB_VIA(board);via.SetPosition(pcbnew.VECTOR2I(pcbnew.FromMM(x),pcbnew.FromMM(y)));via.SetWidth(pcbnew.FromMM(.8));via.SetDrill(pcbnew.FromMM(.4));via.SetLayerPair(pcbnew.F_Cu,pcbnew.B_Cu);via.SetNet(nets[net]);board.Add(via);changes.append({'kind':'via','net':net,'at':[x,y],'sizeMm':.8,'drillMm':.4,'uuid':str(via.m_Uuid.AsString())})+for item in board.GetTracks():+ uid=str(item.m_Uuid.AsString())+ if uid=='32514162-b870-4c7a-95a2-b85b8db79257':+  item.SetWidth(pcbnew.FromMM(1.0));item.SetDrill(pcbnew.FromMM(.6));changes.append({'kind':'resize-via','uuid':uid,'net':'LOAD_POS','sizeMm':1.0,'drillMm':.6})+for item in list(board.GetTracks()):+ uid=str(item.m_Uuid.AsString())+ if uid in ['91eed079-74e4-4863-8dc1-f211a19b6ee0','ad353074-a567-44a9-a20a-744b8057c5a9']:+  board.Remove(item);changes.append({'kind':'remove-track','uuid':uid})+ if uid=='aa6c5964-74d4-410e-a69e-ffb2cd9c9999':+  item.SetWidth(pcbnew.FromMM(1.0));item.SetDrill(pcbnew.FromMM(.6));changes.append({'kind':'resize-via','uuid':uid,'sizeMm':1.0,'drillMm':.6})+def track(net,layer,a,b,width):+ t=pcbnew.PCB_TRACK(board);t.SetStart(pcbnew.VECTOR2I(pcbnew.FromMM(a[0]),pcbnew.FromMM(a[1])));t.SetEnd(pcbnew.VECTOR2I(pcbnew.FromMM(b[0]),pcbnew.FromMM(b[1])));t.SetWidth(pcbnew.FromMM(width));t.SetLayer(layer);t.SetNet(nets[net]);board.Add(t);changes.append({'kind':'track','net':net,'start':a,'end':b,'widthMm':width,'layer':board.GetLayerName(layer)})+for a,b in [((127.46,82),(127.46,83.3)),((127.46,83.3),(126.4,84.36)),((126.4,84.36),(126.4,86.5))]:track('LOAD_POS',pcbnew.F_Cu,a,b,1.5)+for a,b in [((139.4,90.4),(139.4,92)),((139.4,92),(138.4,93)),((138.4,93),(136.5,93))]:track('GND',pcbnew.B_Cu,a,b,1.5)+for item in board.GetTracks():+ if isinstance(item,pcbnew.PCB_VIA) and item.GetNetname()=='GND':+  p=item.GetPosition();xy=(round(pcbnew.ToMM(p.x),3),round(pcbnew.ToMM(p.y),3))+  if xy in [(139.4,86.8),(136.5,93.0),(139.4,90.4),(139.4,91.4),(139.4,92.4)]:item.SetWidth(pcbnew.FromMM(1));item.SetDrill(pcbnew.FromMM(.6));changes.append({'kind':'resize-via','at':xy,'sizeMm':1,'drillMm':.6})+for fp in board.GetFootprints():+ delta={'Q2':-.3,'U3':.3,'R7':.1}.get(fp.GetReference())+ if delta:+  pos=fp.GetPosition();pos.x+=pcbnew.FromMM(delta);fp.SetPosition(pos);changes.append({'kind':'move-footprint','ref':fp.GetReference(),'dxMm':delta})+for item in list(board.GetTracks()):+ if item.GetNetname()=='SHUNT_P_SENSE' and isinstance(item,pcbnew.PCB_VIA):+  pos=item.GetPosition()+  if abs(pcbnew.ToMM(pos.x)-123.6)<.001 and abs(pcbnew.ToMM(pos.y)-85.4)<.001:+   pos.x=pcbnew.FromMM(123.3);item.SetPosition(pos);changes.append({'kind':'move-sense-via','from':[123.6,85.4],'to':[123.3,85.4]})+ if isinstance(item,pcbnew.PCB_VIA):continue+ if item.GetNetname()=='SHUNT_P_SENSE':+  for getter,setter in [(item.GetStart,item.SetStart),(item.GetEnd,item.SetEnd)]:+   pos=getter()+   if abs(pcbnew.ToMM(pos.x)-123.6)<.001 and abs(pcbnew.ToMM(pos.y)-85.4)<.001:pos.x=pcbnew.FromMM(123.3);setter(pos)+ if item.GetNetname()=='SHUNT_N_SENSE' and item.GetLayer()==pcbnew.F_Cu:+  for getter,setter in [(item.GetStart,item.SetStart),(item.GetEnd,item.SetEnd)]:+   pos=getter();x,y=pcbnew.ToMM(pos.x),pcbnew.ToMM(pos.y)+   if 128.79<x<129.31 and 87.29<y<88.81:pos.x+=pcbnew.FromMM(.2);setter(pos)+for item in list(board.GetTracks()):+ uid=str(item.m_Uuid.AsString())+ if uid=='32514162-b870-4c7a-95a2-b85b8db79257':+  item.SetPosition(pcbnew.VECTOR2I(pcbnew.FromMM(126.4),pcbnew.FromMM(86.7)))+ if uid=='13d2f936-e4d3-40cb-9bf7-1b6b26ca4cf2':+  item.SetStart(pcbnew.VECTOR2I(pcbnew.FromMM(126.4),pcbnew.FromMM(86.7)));item.SetWidth(pcbnew.FromMM(1.5))+ if uid=='f120f8db-288f-4938-acbf-98ff5e4065df':+  item.SetStart(pcbnew.VECTOR2I(pcbnew.FromMM(133.5),pcbnew.FromMM(84.2)));item.SetEnd(pcbnew.VECTOR2I(pcbnew.FromMM(126.8),pcbnew.FromMM(84.2)));item.SetWidth(pcbnew.FromMM(1.9))+ if not isinstance(item,pcbnew.PCB_VIA) and item.GetNetname()=='LOAD_POS' and item.GetLayer()==pcbnew.F_Cu:+  for getter,setter in [(item.GetStart,item.SetStart),(item.GetEnd,item.SetEnd)]:+   p=getter()+   if abs(pcbnew.ToMM(p.x)-126.4)<.001 and abs(pcbnew.ToMM(p.y)-86.5)<.001:p.y=pcbnew.FromMM(86.7);setter(p)+for item in board.GetTracks():+ if isinstance(item,pcbnew.PCB_VIA) or item.GetLayer()!=pcbnew.B_Cu or item.GetNetname()!='SHUNT_P_SENSE':continue+ for getter,setter in [(item.GetStart,item.SetStart),(item.GetEnd,item.SetEnd)]:+  p=getter();x,y=pcbnew.ToMM(p.x),pcbnew.ToMM(p.y)+  if abs(y-85.4)<.001 and (abs(x-123.3)<.001 or abs(x-132)<.001):+   p.y=pcbnew.FromMM(85.6)+   if abs(x-132)<.001:p.x=pcbnew.FromMM(132.2)+   setter(p)+# Ease the drain right-angle turn; relocate its adjacent setpoint via with endpoints.+track('LOAD_POS',pcbnew.B_Cu,(126.35,89.0),(125.65,89.7),1.5)+# Preserve explicit branch junctions instead of overlapped dangling endpoints.+for item in list(board.GetTracks()):+ uid=str(item.m_Uuid.AsString())+ if uid=='32514162-b870-4c7a-95a2-b85b8db79257':+  item.SetWidth(pcbnew.FromMM(.8));item.SetDrill(pcbnew.FromMM(.4));item.SetPosition(pcbnew.VECTOR2I(pcbnew.FromMM(126.05),pcbnew.FromMM(86.7)))+ if uid in ['b486fb59-b64e-41ee-a1a7-5a72fcf0a780','8e5d5e2b-78f3-4ed2-af96-409d2ea9d57b']:+  a=item.GetStart();b=item.GetEnd();start=(pcbnew.ToMM(a.x),pcbnew.ToMM(a.y));end=(pcbnew.ToMM(b.x),pcbnew.ToMM(b.y))+  mid=(126.35,89.0) if uid=='b486fb59-b64e-41ee-a1a7-5a72fcf0a780' else (125.65,89.7)+  board.Remove(item);track('LOAD_POS',pcbnew.B_Cu,start,mid,1.5);track('LOAD_POS',pcbnew.B_Cu,mid,end,1.5)+via=pcbnew.PCB_VIA(board);via.SetPosition(pcbnew.VECTOR2I(pcbnew.FromMM(126.8),pcbnew.FromMM(86.7)));via.SetWidth(pcbnew.FromMM(.8));via.SetDrill(pcbnew.FromMM(.4));via.SetLayerPair(pcbnew.F_Cu,pcbnew.B_Cu);via.SetNet(nets['LOAD_POS']);board.Add(via)+# Do not enlarge holes through narrow in-plane paths. Keep the three dedicated shunt thermal vias.+for item in list(board.GetTracks()):+ uid=str(item.m_Uuid.AsString())+ if uid in ['34d3207a-b14a-40d8-be82-5b108c2b867b','9a71af6b-ea83-4f97-b7f6-3f69253c7314']:+  board.Remove(item);continue+ if isinstance(item,pcbnew.PCB_VIA):+  p=item.GetPosition();x,y=pcbnew.ToMM(p.x),pcbnew.ToMM(p.y)+  if uid=='aa6c5964-74d4-410e-a69e-ffb2cd9c9999' or (item.GetNetname()=='GND' and abs(x-139.4)<.001 and abs(y-86.8)<.001):+   item.SetWidth(pcbnew.FromMM(.8));item.SetDrill(pcbnew.FromMM(.4))+# Move the transfer hole off the center of the shunt bus; remove a nearly unused ground hole through the return neck.+for item in list(board.GetTracks()):+ if not isinstance(item,pcbnew.PCB_VIA):continue+ p=item.GetPosition();x,y=pcbnew.ToMM(p.x),pcbnew.ToMM(p.y)+ if item.GetNetname()=='GND' and abs(x-139.4)<.001 and abs(y-86.8)<.001:board.Remove(item)+ if str(item.m_Uuid.AsString())=='aa6c5964-74d4-410e-a69e-ffb2cd9c9999':item.SetPosition(pcbnew.VECTOR2I(pcbnew.FromMM(133.7),pcbnew.FromMM(83.6)))+track('SHUNT_P',pcbnew.F_Cu,(133.7,83.6),(133.8,84.2),1.2)+# Preserve the full plated Q1 source connection; remove its redundant neck-drilling spur.+for item in list(board.GetTracks()):+ uid=str(item.m_Uuid.AsString())+ if uid in ['cd48c727-15bf-4276-b4b8-ae4d936d829d','30d9e8bc-805a-4b1d-8a79-ad625ee59388']:+  board.Remove(item);continue+ if isinstance(item,pcbnew.PCB_VIA) and item.GetNetname()=='GND':+  p=item.GetPosition();x,y=pcbnew.ToMM(p.x),pcbnew.ToMM(p.y)+  if abs(x-139.4)<.001 and any(abs(y-t)<.001 for t in [90.4,91.4,92.4]):p.x=pcbnew.FromMM(139.8);item.SetPosition(p)+# Share vertical current with smaller holes and widen the plated-source exit.+for item in board.GetTracks():+ uid=str(item.m_Uuid.AsString())+ if uid in ['2f235494-7976-4048-be2d-b71507b2b45e','ec56cc46-09f5-4ff9-a1b6-61699db68686']:item.SetWidth(pcbnew.FromMM(1.75))+ if isinstance(item,pcbnew.PCB_VIA) and item.GetNetname()=='GND':+  p=item.GetPosition();x,y=pcbnew.ToMM(p.x),pcbnew.ToMM(p.y)+  if abs(x-139.8)<.001 and any(abs(y-t)<.001 for t in [90.4,91.4,92.4]):+   p.x=pcbnew.FromMM(139.4);item.SetPosition(p);item.SetWidth(pcbnew.FromMM(.6));item.SetDrill(pcbnew.FromMM(.3))+for item in board.GetTracks():+ if str(item.m_Uuid.AsString())=='f120f8db-288f-4938-acbf-98ff5e4065df':+  item.SetStart(pcbnew.VECTOR2I(pcbnew.FromMM(133.5),pcbnew.FromMM(84.25)));item.SetEnd(pcbnew.VECTOR2I(pcbnew.FromMM(126.8),pcbnew.FromMM(84.25)));item.SetWidth(pcbnew.FromMM(2.0))+expected_nets={str(item.m_Uuid.AsString()):item.GetNetname() for item in board.GetTracks()}+board.BuildConnectivity()+actual_nets={str(item.m_Uuid.AsString()):item.GetNetname() for item in board.GetTracks()}+assert actual_nets==expected_nets, {'unexpectedNetChanges':[(k,v,actual_nets.get(k)) for k,v in expected_nets.items() if actual_nets.get(k)!=v]}+for zone in board.Zones():zone.SetNeedRefill(True)+pcbnew.ZONE_FILLER(board).Fill(board.Zones());assert {str(item.m_Uuid.AsString()):item.GetNetname() for item in board.GetTracks()}==expected_nets, 'Zone fill changed copper nets'+pcbnew.SaveBoard(str(out),board)+readback=pcbnew.LoadBoard(str(out))+assert {str(item.m_Uuid.AsString()):item.GetNetname() for item in readback.GetTracks()}==expected_nets, 'Save/readback changed copper nets' +out.with_suffix('.changes.json').write_text(json.dumps({'source':str(source),'candidate':str(out),'changes':changes},indent=2));print(json.dumps({'saved':str(out),'changes':changes}))
tools/plot_hotspot_progress.py+3−3
@@ -5,14 +5,14 @@ import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt root=Path(__file__).resolve().parents[1]-base=json.loads((root/'design/fields-unclipped-diagnostic/fields.json').read_text());new=json.loads((root/'checkpoints/unclipped-hotspots-v1/fields-v18/fields.json').read_text())+base=json.loads((root/'design/fields-board19-annular/fields.json').read_text());new=json.loads((root/'checkpoints/unclipped-hotspots-v1/fields-v27-annular/fields.json').read_text()) keys=['GND','LOAD_POS','SHUNT_P'];a={n['net']:n['peakJ'] for n in base['nets']};b={n['net']:n['peakJ'] for n in new['nets']} plt.rcParams.update({'font.size':15,'text.color':'#e6edf3','axes.labelcolor':'#e6edf3','xtick.color':'#c1ccd8','ytick.color':'#c1ccd8'}) fig,ax=plt.subplots(figsize=(16,9),facecolor='#101820');ax.set_facecolor('#101820')-x=list(range(3));ax.bar([i-.19 for i in x],[a[k] for k in keys],.36,color='#d58b50',label='Saved board 19');ax.bar([i+.19 for i in x],[b[k] for k in keys],.36,color='#56a6cf',label='Isolated candidate v18')+x=list(range(3));ax.bar([i-.19 for i in x],[a[k] for k in keys],.36,color='#d58b50',label='Saved board 19');ax.bar([i+.19 for i in x],[b[k] for k in keys],.36,color='#56a6cf',label='Isolated candidate v27') for i,k in enumerate(keys):  for off,value in [(-.19,a[k]),(.19,b[k])]:ax.text(i+off,value+1,f'{value:.1f}',ha='center',fontsize=18)-ax.axhline(60,color='#fa7180',linewidth=2,linestyle='--',label='Unchanged screen: 60 A/mm²');ax.set_xticks(x,keys);ax.set_ylim(0,90);ax.set_ylabel('Unclipped modeled maximum (A/mm²)');ax.grid(axis='y',alpha=.15);ax.set_axisbelow(True)+ax.axhline(60,color='#fa7180',linewidth=2,linestyle='--',label='Unchanged screen: 60 A/mm²');ax.set_xticks(x,keys);ax.set_ylim(0,110);ax.set_ylabel('Unclipped modeled maximum (A/mm²)');ax.grid(axis='y',alpha=.15);ax.set_axisbelow(True) for spine in ax.spines.values():spine.set_color('#465360') legend=ax.legend(loc='upper right',frameon=False,fontsize=13) for t in legend.get_texts():t.set_color('#e6edf3')