app
Adom Fields
Public Made by Adomby adom
Adom Fields: where the current and the heat go on your board.
← Commit history
docs/flow.svgdeleted−118@@ -1,118 +0,0 @@-<svg xmlns="http://www.w3.org/2000/svg" width="1520" height="900" viewBox="0 0 1520 900" font-family="Familjen Grotesk, Satoshi, Inter, Segoe UI, sans-serif">-<defs><marker id="fwd" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse"><path d="M0 0L10 5L0 10z" fill="#DB8B58"/></marker><marker id="back" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0L10 5L0 10z" fill="#7FD6D1"/></marker><marker id="down" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0L10 5L0 10z" fill="#93A3B4"/></marker><marker id="up" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0L10 5L0 10z" fill="#00B8B1"/></marker></defs>-<rect width="1520" height="900" fill="#0B1420"/>-<text x="40" y="178" fill="#DB8B58" font-size="17" font-weight="700" letter-spacing="1.5">THE AI</text>-<text x="40" y="200" fill="#DB8B58" font-size="17" font-weight="700" letter-spacing="1.5">drives, thinks,</text>-<text x="40" y="222" fill="#DB8B58" font-size="17" font-weight="700" letter-spacing="1.5">goes back</text>-<text x="40" y="538" fill="#00B8B1" font-size="17" font-weight="700" letter-spacing="1.5">THE BINARY</text>-<text x="40" y="560" fill="#00B8B1" font-size="17" font-weight="700" letter-spacing="1.5">fast, deterministic,</text>-<text x="40" y="582" fill="#00B8B1" font-size="17" font-weight="700" letter-spacing="1.5">never reinvented</text>-<path d="M601 158.0 C 601 100.0, 444 100.0, 444 158.0" fill="none" stroke="#7FD6D1" stroke-opacity=".8" stroke-width="2.2" stroke-dasharray="6 7" marker-end="url(#back)"/>-<path d="M759 158.0 C 759 62.0, 444 62.0, 444 158.0" fill="none" stroke="#7FD6D1" stroke-opacity=".8" stroke-width="2.2" stroke-dasharray="6 7" marker-end="url(#back)"/>-<path d="M916 158.0 C 916 88.0, 601 88.0, 601 158.0" fill="none" stroke="#7FD6D1" stroke-opacity=".8" stroke-width="2.2" stroke-dasharray="6 7" marker-end="url(#back)"/>-<path d="M1074 158.0 C 1074 100.0, 759 100.0, 759 158.0" fill="none" stroke="#7FD6D1" stroke-opacity=".8" stroke-width="2.2" stroke-dasharray="6 7" marker-end="url(#back)"/>-<path d="M1074 158.0 C 1074 34.0, 444 34.0, 444 158.0" fill="none" stroke="#7FD6D1" stroke-opacity=".8" stroke-width="2.2" stroke-dasharray="6 7" marker-end="url(#back)"/>-<path d="M1074 158.0 C 1074 64.0, 601 64.0, 601 158.0" fill="none" stroke="#7FD6D1" stroke-opacity=".8" stroke-width="2.2" stroke-dasharray="6 7" marker-end="url(#back)"/>-<text x="838" y="22.0" fill="#7FD6D1" font-size="16" text-anchor="middle" font-style="italic">rework, as often as it needs: a bad pour sends it back to placement, a hot tab back to the pours or the routing</text>-<rect x="215" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="286" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Spec</text>-<text x="286" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">schematic's</text>-<text x="286" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">judgement</text>-<line x1="357" y1="200" x2="371" y2="200" stroke="#DB8B58" stroke-width="2.5" marker-end="url(#fwd)"/>-<rect x="373" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="444" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Place</text>-<text x="444" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">parts, courtyards,</text>-<text x="444" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">escape bands</text>-<line x1="515" y1="200" x2="528" y2="200" stroke="#DB8B58" stroke-width="2.5" marker-end="url(#fwd)"/>-<rect x="530" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="601" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Route</text>-<text x="601" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">100 % or it</text>-<text x="601" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">failed</text>-<line x1="672" y1="200" x2="686" y2="200" stroke="#DB8B58" stroke-width="2.5" marker-end="url(#fwd)"/>-<rect x="688" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="759" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Pour</text>-<text x="759" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">copper kept,</text>-<text x="759" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">Kelvin keepouts</text>-<line x1="830" y1="200" x2="843" y2="200" stroke="#DB8B58" stroke-width="2.5" marker-end="url(#fwd)"/>-<rect x="845" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="916" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Current</text>-<text x="916" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">IPC-2221,</text>-<text x="916" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">vias, pours</text>-<line x1="987" y1="200" x2="1001" y2="200" stroke="#DB8B58" stroke-width="2.5" marker-end="url(#fwd)"/>-<rect x="1003" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="1074" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Thermal</text>-<text x="1074" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">copper at</text>-<text x="1074" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">every hot tab</text>-<line x1="1145" y1="200" x2="1158" y2="200" stroke="#DB8B58" stroke-width="2.5" marker-end="url(#fwd)"/>-<rect x="1160" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="1231" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Capture</text>-<text x="1231" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">window take,</text>-<text x="1231" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">markers</text>-<line x1="1302" y1="200" x2="1316" y2="200" stroke="#DB8B58" stroke-width="2.5" marker-end="url(#fwd)"/>-<rect x="1318" y="158.0" width="142" height="84" rx="10" fill="#17283F" stroke="#DB8B58" stroke-width="2"/>-<text x="1389" y="188" fill="#F2E9E1" font-size="24" font-weight="700" text-anchor="middle">Deliver</text>-<text x="1389" y="212" fill="#B9A899" font-size="12.5" text-anchor="middle">"done, here is</text>-<text x="1389" y="228" fill="#B9A899" font-size="12.5" text-anchor="middle">your video"</text>-<line x1="272" y1="248.0" x2="272" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="300" y1="504.0" x2="300" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<line x1="430" y1="248.0" x2="430" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="458" y1="504.0" x2="458" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<line x1="587" y1="248.0" x2="587" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="615" y1="504.0" x2="615" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<line x1="745" y1="248.0" x2="745" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="773" y1="504.0" x2="773" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<line x1="902" y1="248.0" x2="902" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="930" y1="504.0" x2="930" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<line x1="1060" y1="248.0" x2="1060" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="1088" y1="504.0" x2="1088" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<line x1="1217" y1="248.0" x2="1217" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="1245" y1="504.0" x2="1245" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<line x1="1375" y1="248.0" x2="1375" y2="502.0" stroke="#93A3B4" stroke-width="1.6" marker-end="url(#down)"/>-<line x1="1403" y1="504.0" x2="1403" y2="250.0" stroke="#00B8B1" stroke-width="1.6" marker-end="url(#up)"/>-<rect x="492" y="344.0" width="690" height="64" rx="8" fill="#0B1420"/>-<text x="838" y="369.0" fill="#93A3B4" font-size="15" text-anchor="middle">down: specs, configs, plans, scripts, as many as it wants, in JSON it can write itself</text>-<text x="838" y="394.0" fill="#00B8B1" font-size="15" text-anchor="middle">up: OK or ERROR, with hints about this board, this run, this step</text>-<rect x="210" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="286" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">spec.json</text>-<text x="286" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">the rules, the loads,</text>-<text x="286" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">the pours to make</text>-<rect x="368" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="444" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">place pack</text>-<text x="444" y="548.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">place check</text>-<text x="444" y="564.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">land moves</text>-<text x="444" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">courtyards, wishes,</text>-<text x="444" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">radii, keepouts</text>-<rect x="525" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="601" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">route · gate</text>-<text x="601" y="548.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">land route</text>-<text x="601" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">grid router, rip-up,</text>-<text x="601" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">Kelvin taps, DRC gate</text>-<rect x="683" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="759" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">pour · land pours</text>-<text x="759" y="548.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">measure</text>-<text x="759" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">zones, keepouts, vias,</text>-<text x="759" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">KiCad's filled copper</text>-<rect x="840" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="916" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">analyze current</text>-<text x="916" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">narrowest conductor,</text>-<text x="916" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">via capacity</text>-<rect x="998" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="1074" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">analyze thermal</text>-<text x="1074" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">theta at the tab,</text>-<text x="1074" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">rise budget</text>-<rect x="1155" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="1231" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">capture</text>-<text x="1231" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">recorder,</text>-<text x="1231" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">markers</text>-<rect x="1313" y="510.0" width="152" height="100" rx="6" fill="#0F1D2E" stroke="#00B8B1" stroke-width="1.6"/>-<text x="1389" y="532.0" fill="#DDF7F5" font-size="13.5" font-weight="700" font-family="IBM Plex Mono, Consolas, monospace" text-anchor="middle">finish · deliver</text>-<text x="1389" y="588.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">ledger, summary,</text>-<text x="1389" y="602.0" fill="#8FB8B5" font-size="11.5" text-anchor="middle">the clock stops</text>-<rect x="210" y="660.0" width="1255" height="96" rx="10" fill="none" stroke="#93A3B4" stroke-width="1.6" stroke-dasharray="8 7"/>-<text x="838" y="692.0" fill="#E8EDF2" font-size="19" font-weight="700" text-anchor="middle">Any box can be the AI's own code instead.</text>-<text x="838" y="718.0" fill="#93A3B4" font-size="15" text-anchor="middle">Too rigid, not good enough? The AI takes the step itself, writes what it needs, and drops the same JSON back into the flow.</text>-<text x="838" y="740.0" fill="#93A3B4" font-size="15" text-anchor="middle">The binary is there so it does not reinvent the fast parts every run. The ledger measures it either way.</text>-<rect x="210" y="770.0" width="1255" height="52" rx="6" fill="#17283F"/>-<text x="838" y="803.0" fill="#F2E9E1" font-size="16" text-anchor="middle"><tspan font-family="IBM Plex Mono, Consolas, monospace" fill="#DB8B58" font-weight="700">run.jsonl</tspan> · every turn, its thinking time and its tool time · every return to an earlier step, and why · one clock from the prompt to "done"</text>-<text x="760" y="878" fill="#5F7286" font-size="13.5" text-anchor="middle" letter-spacing="1">KiCad Bridge today · Altium and Fusion bridges next · then Adom's own web apps: adom-schematic, adom-2dboard, adom-3dboard</text>-</svg>