main
John Lauer 0.1.47: pads and test points are real copper (board-glb copper + check gate, mask and paste from the footprint layers) a34c9e7 3d ago

AI Flow 0.1.47

From John's rule (2026-10-02): pads and test points are always real copper, and a board render follows the footprints' pad, mask and paste layers rather than ignoring them.

  • New verb: board-glb copper. After step2glb convert, it makes a board GLB right by construction from the .kicad_pcb: the KiCad pad, via and track meshes (found by their layer name, never a material index) get a real copper material with explicit metal and roughness, or the board's stated finish (--finish enig|hasl, or the spec's fab.finish); the solder mask is rebuilt as the board outline minus every F.Mask / B.Mask aperture (pad shapes grown by their mask margin, mask graphics and zones, untented vias, drill holes, the minimum mask web); --paste solder adds solder only on the F.Paste / B.Paste apertures of fitted parts. Test points, contacts and pins stay bare copper. A STEP exported without pads gets its pads from the F.Cu / B.Cu pad shapes.
  • New gate: board-glb check. Refuses pads outside the finish's colour range or left at glTF's default metal and roughness (the cause of the grey, then pale, pads on the buck molecule), a mask over any exposed pad centre, solder on a pad without paste, and a board file whose pads do not line up with the GLB. board-glb copper runs it on what it writes; in a run the result is recorded as boardGlb.
  • Skills. aiflow-molecule exports the STEP with --include-pads --include-soldermask (and tracks, zones, silkscreen) and adds "Pads are real copper"; adom-aiflow lists the gate; aiflow-process-video renders only a board GLB that passed it. The flow's moleculize step names the verbs.
  • Tested on the buck molecule: the regenerated GLB passes the gate (58 exposed pads, 14 bare copper) and renders like the hand-fixed one without lifting the pads.