- adaptive: skip layers with zero quadtree leaves in the connectivity
restriction and mesh-boundary loops (IndexError on boards where a
selected layer has no copper)
- board_io: accept ZT_TEARDROP zones as conducting copper (KiCad types
teardrop fills ZT_TEARDROP, never ZT_COPPER, so they were dropped)
- geometry: copper_bbox uses the exact stroke bbox (centerline extrema
+ half width) instead of a 100 um chord tessellation that could
undershoot arc/cap extrema past the raster guard margin
- solver/adaptive: reference |J| to the conduction-equivalent thickness
sigma*rho in every branch (the uniform branch used geometric t, so AC
plots changed scale ~rs_ratio depending on unrelated per-cell maps)
- solver/adaptive/raster: chain cells no longer show phantom sheet-face
currents; store dl per chain link and overlay the true 1D density
|dV|/(rho*dl) (exact at any frequency: AC scaling of link conductance
and cross-section cancels)
- test_quadtree: compare edge lists pair-for-pair (the independent
column sort destroyed endpoint association)