abse/smartwatch-flex-top-only

Three-panel flex smartwatch with two parallel R3.9 bends, all components flat-top, low-profile JST connector harnesses, split heartbeat optical windows and screw-retained PCB mounting. Modeled 39 × 50.5 × 14.5mm prototype; 100% routing, zero native DRC and shorts. Hardware qualification pending.

Version
0.2.20
License
unset
Stars
0

reports/copper-audit.json

{
  "checkedAt": "2026-10-15T16:20:12.820Z",
  "cachePath": "routing/final/cache.json",
  "cacheSha256": "f5f02bb87a2f244f469c7b0a3bb8904b313a9db93e61eb6e256548752d2d35ae",
  "sourcePath": "dist/index/circuit.json",
  "sourceSha256": "3083348767c7efa82834aa0cbc04a003394f3f31e23fd696c5ae39e363d7b088",
  "method": "Independent geometric union of actual pad polygons, routed copper capsules, all-layer through-via copper and generated BREP pours with clearance holes; no logical-net aliases used as continuity shortcuts.",
  "netResults": [
    {
      "net": "source_net_0",
      "padCount": 135,
      "requiredPadCount": 135,
      "copperShapeCount": 1601,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_1",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 35,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_2",
      "padCount": 56,
      "requiredPadCount": 56,
      "copperShapeCount": 1054,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_3",
      "padCount": 9,
      "requiredPadCount": 9,
      "copperShapeCount": 381,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_4",
      "padCount": 9,
      "requiredPadCount": 9,
      "copperShapeCount": 319,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_5",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 12,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_6",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 17,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_7",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 24,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_8",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 246,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_9",
      "padCount": 8,
      "requiredPadCount": 8,
      "copperShapeCount": 169,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_10",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 117,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_11",
      "padCount": 11,
      "requiredPadCount": 11,
      "copperShapeCount": 167,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_12",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 226,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_13",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 289,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_14",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 139,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_15",
      "padCount": 12,
      "requiredPadCount": 12,
      "copperShapeCount": 454,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_16",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 10,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_17",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 34,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_18",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 125,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_19",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 35,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_20",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 60,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_21",
      "padCount": 15,
      "requiredPadCount": 15,
      "copperShapeCount": 263,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_22",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 14,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_23",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 6,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_24",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 99,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_25",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 7,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_26",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 138,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_27",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 77,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_28",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 59,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_29",
      "padCount": 6,
      "requiredPadCount": 6,
      "copperShapeCount": 143,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_30",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 36,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_31",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 14,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_32",
      "padCount": 5,
      "requiredPadCount": 5,
      "copperShapeCount": 209,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_33",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 97,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_34",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 18,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_35",
      "padCount": 6,
      "requiredPadCount": 6,
      "copperShapeCount": 95,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_36",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 31,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_37",
      "padCount": 4,
      "requiredPadCount": 4,
      "copperShapeCount": 99,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_38",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 26,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_39",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 156,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_40",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 114,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_41",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 174,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_42",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 7,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_43",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 12,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_44",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 3,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_45",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 5,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_46",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 11,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_47",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 35,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_48",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 197,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_49",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 209,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_50",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 316,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_51",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 162,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_52",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 25,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_53",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 5,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_54",
      "padCount": 5,
      "requiredPadCount": 5,
      "copperShapeCount": 51,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_55",
      "padCount": 6,
      "requiredPadCount": 6,
      "copperShapeCount": 348,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_56",
      "padCount": 4,
      "requiredPadCount": 4,
      "copperShapeCount": 36,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_57",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 144,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_58",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 260,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_59",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 333,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_60",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 133,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_61",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 329,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_62",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 121,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_63",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 106,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_64",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 109,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_65",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 37,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_66",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 39,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_67",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 64,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_68",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 58,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_69",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 20,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_70",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 45,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_71",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 243,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_72",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 206,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_73",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 21,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_74",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 23,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_75",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 8,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_76",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 4,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_77",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 5,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_78",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 6,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_79",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 91,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_80",
      "padCount": 7,
      "requiredPadCount": 7,
      "copperShapeCount": 125,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_81",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 64,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_82",
      "padCount": 6,
      "requiredPadCount": 6,
      "copperShapeCount": 58,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_83",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 21,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_84",
      "padCount": 4,
      "requiredPadCount": 4,
      "copperShapeCount": 49,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_85",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 40,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_86",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 67,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_87",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 38,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_88",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 75,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_89",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 76,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_90",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 9,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_91",
      "padCount": 2,
      "requiredPadCount": 2,
      "copperShapeCount": 16,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_92",
      "padCount": 4,
      "requiredPadCount": 4,
      "copperShapeCount": 90,
      "connectedPadGroups": 1,
      "missing": []
    },
    {
      "net": "source_net_93",
      "padCount": 3,
      "requiredPadCount": 3,
      "copperShapeCount": 6,
      "connectedPadGroups": 1,
      "missing": []
    }
  ],
  "connectivityFailures": [],
  "orphanTraceIds": [],
  "floatingGroundPourIds": [],
  "viaCount": 621,
  "viaOuterMM": 0.45,
  "viaDrillMM": 0.3,
  "minDrillGapMM": 0.201597448159375,
  "minViaToPadCopperGapMM": 0.0019665000000000654,
  "drillFailures": [],
  "viaPadFailures": [],
  "viaSizeFailures": []
}