mirror of
https://github.com/rohitg00/ai-engineering-from-scratch.git
synced 2026-10-02 01:54:39 +08:00
The four "every lesson ships something" icons had collisions at README size: the agent loop's arc ran through the TOOL box and its label, OBS sat on its box edge with a detached arrowhead, the MCP labels hung outside the rack at about 4px, and the skill icon ended in a stray plug shape. The README also drew the 120-unit artwork at 96px, shrinking every label by a fifth. Each icon is redrawn on the same grid in the blueprint style: a prompt page with a >_ line sent to the model, a SKILL.md file dropping into an agent's skills tray, the agent loop as LLM to TOOL to OBS and back, and an MCP server whose tools, resources, and prompts are labeled inside its units with a two-way client link. Every label sits inside its container with clearance, checked by bounding-box tests at 96, 120, and 360px, and the README renders the icons at their native 120px. The translated READMEs are regenerated.
39 lines
2.0 KiB
XML
39 lines
2.0 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 120 120" role="img" aria-label="FIG_001.D: an MCP server exposing tools, resources, and prompts to a client over one connection">
|
|
<defs>
|
|
<style>
|
|
.bp { stroke: #3553ff; fill: none; stroke-linejoin: round; stroke-linecap: round; }
|
|
.ink { fill: #3553ff; }
|
|
.face { fill: #3553ff; fill-opacity: 0.08; }
|
|
.face-strong { fill: #3553ff; fill-opacity: 0.18; }
|
|
.mono { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 600; }
|
|
</style>
|
|
</defs>
|
|
|
|
<rect width="120" height="120" fill="#fafaf5"/>
|
|
<text class="mono ink" x="10" y="15" font-size="7" letter-spacing="1.4">FIG_001.D</text>
|
|
|
|
<rect class="face" x="16" y="24" width="70" height="70"/>
|
|
<rect class="bp" x="16" y="24" width="70" height="70" stroke-width="1.6"/>
|
|
|
|
<rect class="face-strong" x="22" y="30" width="58" height="17"/>
|
|
<rect class="bp" x="22" y="30" width="58" height="17" stroke-width="1.2"/>
|
|
<circle class="ink" cx="29" cy="38.5" r="2"/>
|
|
<text class="mono ink" x="35" y="41" font-size="6.5" letter-spacing="0.6">TOOLS</text>
|
|
|
|
<rect class="face-strong" x="22" y="50" width="58" height="17"/>
|
|
<rect class="bp" x="22" y="50" width="58" height="17" stroke-width="1.2"/>
|
|
<circle class="ink" cx="29" cy="58.5" r="2"/>
|
|
<text class="mono ink" x="35" y="61" font-size="6.5" letter-spacing="0.6">RESOURCES</text>
|
|
|
|
<rect class="face-strong" x="22" y="70" width="58" height="17"/>
|
|
<rect class="bp" x="22" y="70" width="58" height="17" stroke-width="1.2"/>
|
|
<circle class="ink" cx="29" cy="78.5" r="2"/>
|
|
<text class="mono ink" x="35" y="81" font-size="6.5" letter-spacing="0.6">PROMPTS</text>
|
|
|
|
<line class="bp" x1="90" y1="59" x2="104" y2="59" stroke-width="1.6"/>
|
|
<polyline class="bp" points="99,54 104,59 99,64" stroke-width="1.6"/>
|
|
<polyline class="bp" points="95,54 90,59 95,64" stroke-width="1.6"/>
|
|
|
|
<text class="mono ink" x="60" y="110" font-size="8.5" letter-spacing="2.2" text-anchor="middle">MCP</text>
|
|
</svg>
|