Chat walkthrough · nanodevice

Chat walkthrough: draw a Hall bar device in one sentence

Three natural-language requests, three real tool-call turns, one Hall bar device drawn from an empty cell to a finished layout.

This is a real conversation log. Each user request below is phrasing a real user would actually type; for each one, klink's AI agent really called the listed klink tools to draw geometry in a live, running KLayout instance -- the screenshot after each step is the actual KLayout screen at that moment, not a pre-written coordinate script.
User
Draw me a Hall bar device: a horizontal bar body in the middle, with 3 measurement contacts sticking out on each side, top and bottom.
klink agent

I opened a disposable tab, ensured 4 layers (device layer 1/0, metal layer 10/0, label layer 6/0, route layer 12/0), drew the mesa body first (120 x 8 µm), then batch-inserted 3 contacts on top and 3 on the bottom (6 total), each sticking outward from the mesa edge.

view.new_tab(cell_name="HALLBAR_CHAT_DEMO")
layer.ensure(1/0, 10/0, 6/0, 12/0)
shape.insert_boxes(mesa → 1/0, 1 box)
shape.insert_boxes(6 contacts → 10/0)
view.zoom_fit
Centered pink mesa bar with three metal contacts on top and three on the bottom, live KLayout screenshot
Turn 1 - mesa body + 6 contacts, live KLayout screenshot.
User
Put a big probe pad outside each contact, and route traces connecting each contact to its pad.
klink agent

I batch-inserted 6 probe pads (16x16 µm) just outside each contact. Instead of hand-drawing wires, I marked a Port at each contact tip and each pad's inner edge (one shared net per pair, e.g. hb_t0), then called klink's tapered-hybrid routing backend to plan and write the traces onto layer 12/0. The structured result came back ok=true: all 6 routes succeeded, 0 obstacle hits, 0 sibling overlaps.

shape.insert_boxes(6 pads → 10/0)
port.mark_many(12 ports on 999/99, 6 nets: hb_t0..hb_t2, hb_b0..hb_b2)
routing.tapered_hybrid_cell(cell="HALLBAR_CHAT_DEMO", port_layer="999/99", obstacle_layers=[])
→ {"ok": true, "route_count": 6, "obstacle_hit_count": 0, "sibling_overlap_count": 0}
view.zoom_fit
Large probe pads outside each contact, connected by routed traces, red Port markers still visible, live KLayout screenshot
Turn 2 - 6 probe pads + 6 real routed traces (structured result ok=true from routing.tapered_hybrid_cell). The small red boxes still on the layout are the Port markers themselves, not the traces.
User
Label the device with a name, and zoom out so I can see the final result.
klink agent

I wrote a text label below the device, then zoomed to fit the whole layout.

shape.insert_text(string="HALLBAR_DEMO" → 6/0)
view.zoom_fit
Full Hall bar device overview: mesa, 6 contacts, 6 pads, 6 routed traces and the device label, live KLayout screenshot
Turn 3 - finished overview: mesa + 6 contacts + 6 pads + 6 routed traces + label. The red Port markers are still visible -- that is the real, un-tidied state of klink's reserved marker layer, not a cleaned-up render.

What this conversation actually drew

Three sentences, three real tool-call turns: batch-drawn synthetic geometry for the mesa and contacts, Port markers expressing intent handed to routing.tapered_hybrid_cell to plan and write the real traces (a structured ok=true result, not "looks connected"), then a label to finish. Everything happened in one disposable tab -- none of the user's other open KLayout windows were touched.

Want the fuller, more granular step-by-step version of this device (layer-plan table, Anchor waypoints, zoomed-in detail)? See the Hall bar step-by-step tutorial.

Honest recap: all three screenshots above were produced in this session against the same disposable KLayout tab, in one real run. The geometry coordinates are synthetic values decided on the spot (not from any real fab process), and the RPC names called match the .chat-calls lines above exactly.