AI Flow
Public Made by Adomby adom
Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board.
etch: reversed top-face normal rejects KiCad TSSOP-16/SOIC-8; TSSOP mark axis crosses pin rows
Found while etching the ICs of an OCP NIC 3.0 to OCuLink riser (adom-aiflow 0.1.91, KiCad 10.0.5 stock models).
1. mark_plan: no flat upward face near the top of the part on KiCad's own TSSOP-16 and SOIC-8 models
Package_SO.3dshapes/TSSOP-16_4.4x5mm_P0.65mm.step and SOIC-8_3.9x4.9mm_P1.27mm.step: the service's step_meta reports the top face (bbox z 1.1..1.1, x -2.075..2.075, y -2.375..2.375) with normal: [0, 0, -1]. The face is stored reversed in the STEP. _planar_up() accepts only n[2] > 0.99, so the part has no top face and the etch exits. TSSOP-14 from the same library passes. A local workaround that makes it work: abs(n[2]) > tol. A flat face at the top of the body's bbox cannot face down, so the bbox position decides, not the sign of the normal. --face top does not help (same check).
2. TSSOP: the mark runs across the pin rows, pin 1 upper-left
On TSSOP-14/16 (4.4 x 5.0 body, pin rows along Y) the planner's top band is 4.15 x 3.78 mm. The pin-1 dimple trims the band's long side, so it picks X and marks across the pin rows with pin 1 upper-left (it warns "pads are numbered clockwise"). The skill's rule says ICs are marked parallel to the pin rows. --along y then makes the gate WARN ("across the short side"). The gate and the rule disagree. Suggest: for packages with two pin rows, the axis follows the pin rows (body length), and the dimple trims the band without changing the axis.
The check images are in the riser project; I can attach them.