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.
Fusion silkscreen step re-lays every label and makes values mandatory, so a hand-placed silkscreen is overwritten or can never pass (needs an adopt/audit mode)
Versions: AI Flow 0.2.44, Fusion lane, 4-layer board, 49.5 × 39.4 mm (the 772 power module, LM251772).
Problem: the Fusion silkscreen step (fusion silkscreen) can't accept a silkscreen the designer has already laid out by hand. Running it for real would overwrite that work. On a dense board it also can never reach zero unresolved labels, so the step can't pass either way.
What happens:
- Every reference is re-planned from scratch next to its part body:
silkscreen-plan.pyplan_labels(). The designer's existing labels are only treated as obstacles. Nothing asks whether a label is already fine where it is. - A value label is mandatory for every part (except test points and connectors), and it's placed as real text on tPlace (21), so it would be printed. On this board the values were deliberately kept on documentation layers, which never go to the fab. Boards often leave values off the silkscreen; the BOM carries them, and fabs don't ask for them.
- The
--dryplan on our board: 102 labels moved or added, with 78 left unresolved: 28 values, 25 names, and 25 fallback leaders for those same names. No rerun brings that to zero, and landing it would undo the designer's layout. - The only way past the step is a recorded deviation, which is what we did (
deviate "step silkscreen"). That works, but it leaves the silkscreen unchecked, which is not the intent of the step.
Why it matters beyond this board: many designers place their silkscreen deliberately: orientation, grouping, labels kept clear of probe points, branding, and the fab's minimum sizes. A flow step that silently re-lays all of it is a hazard, and on dense boards it's a guaranteed dead end.
Requested:
An adopt/audit mode, for example
fusion silkscreen --adoptor a spec flagsilkscreen.mode: "adopt". It would read the existing silkscreen as placed, move nothing, and pass or fail it on real problems:- text on a pad, a mask opening or an exposed via;
- text outside the board outline or within the edge clearance;
- text overlapping other text;
- text below the fab's minimum height or stroke (from the rules profile);
- a part with no visible reference (unless listed as intentionally unlabelled).
A pass records the step's proof; a fail lists each problem with its location for the designer to fix.
Make values optional with a spec setting, for example
silkscreen.values: "none" | "where-room" | "required". The default could stay as it is for the KiCad lane, but a designer must be able to turn it off.When re-laying is wanted, start from the existing positions and move only the labels that actually fail a check. Today it re-lays everything.
Measure the glyphs that will actually print. On Fusion, the Gerber export writes proportional-font text as outlined regions exactly as shown on screen (verified by rendering the GTO), so any audit should measure the real text outlines, not estimate boxes from the font size.
No files are attached.
2 Replies
Log in to reply.