diff --git a/docs/elements/_category_.json b/docs/elements/_category_.json
index 032fcae9..149e5d85 100644
--- a/docs/elements/_category_.json
+++ b/docs/elements/_category_.json
@@ -2,8 +2,8 @@
"label": "Built-in Elements",
"position": 5,
"link": {
- "type": "generated-index",
- "description": "Learn how to use the builtin tscircuit elements"
+ "type": "doc",
+ "id": "elements/index"
},
"collapsible": true,
"collapsed": false
diff --git a/docs/elements/chip.mdx b/docs/elements/chip.mdx
index 5b4561ea..5409b00d 100644
--- a/docs/elements/chip.mdx
+++ b/docs/elements/chip.mdx
@@ -11,6 +11,12 @@ The `` is the most common and most powerful built-in tscircuit element.
You can represent virtually any "single-part" electronic component with ``,
it is extremely flexible.
+:::tip Migrating from ``
+Older tscircuit examples may mention a `` element. Use `` for
+that role in current projects; it is the supported element for ICs, modules,
+sensors, and other single-package parts with named pins or custom footprints.
+:::
+
## Simple Chips
Here's an example of typical `` usage. We specify a footprint string and
diff --git a/docs/elements/index.mdx b/docs/elements/index.mdx
new file mode 100644
index 00000000..d131cd3a
--- /dev/null
+++ b/docs/elements/index.mdx
@@ -0,0 +1,122 @@
+---
+title: Built-in Elements
+sidebar_label: Overview
+sidebar_position: 0
+description: A practical map of tscircuit built-in elements, grouped by how they are used in a circuit.
+---
+
+The built-in elements are the JSX primitives used to describe a tscircuit
+design. Start with a ``, add real parts such as ``,
+``, and ``, then connect them with nets and traces.
+
+:::tip Migrating older examples
+Older snippets may mention a `` element. Use [``](./chip.mdx)
+instead. It is the supported general-purpose element for ICs, modules, sensors,
+and other single-package parts with named pins or custom footprints.
+:::
+
+## First Elements To Learn
+
+| Element | Use it for |
+| --- | --- |
+| [``](./board.mdx) | The root circuit and PCB area. It owns board size, layer count, routing settings, and global board constraints. |
+| [``](./chip.mdx) | ICs, modules, sensors, and other single-package parts with custom pins, symbols, or footprints. |
+| [``](./trace.mdx) | Electrical connections between component pins, ports, and named nets. |
+| [``](./net.mdx) | Shared named connections such as `GND`, `VCC`, `SDA`, or `RESET`. |
+| [``](./resistor.mdx) | Pull-ups, pull-downs, dividers, current limiting, and generic fixed resistance. |
+| [``](./capacitor.mdx) | Decoupling, filtering, timing, and bulk capacitance. |
+| [``](./connector.mdx) | Cable, board-to-board, USB, M.2, and custom connectors. |
+
+## Circuit Structure
+
+| Element | Use it for |
+| --- | --- |
+| [``](./board.mdx) | Root board size, PCB outline, stackup, routing, and global constraints. |
+| [``](./group.mdx) | Grouping components so they can move or be referenced together. |
+| [``](./subcircuit.mdx) | Reusable circuit sections with local layout and routing context. |
+| [``](./port.mdx) | Named connection points inside custom components, footprints, and reusable groups. |
+| [``](./net.mdx) | Named electrical nets shared across multiple components. |
+| [``](./netlabel.mdx) | Schematic labels for named nets. |
+| [``](./trace.mdx) | Explicit electrical connections and optional manual PCB paths. |
+
+## Components
+
+| Element | Use it for |
+| --- | --- |
+| [``](./chip.mdx) | General-purpose chips, modules, sensors, and custom single-package parts. |
+| [``](./resistor.mdx) | Fixed resistors, pull-ups, pull-downs, and current limiting. |
+| [``](./capacitor.mdx) | Decoupling, filtering, timing, and bulk capacitors. |
+| [``](./inductor.mdx) | Power filtering, LC filters, and switching regulator magnetics. |
+| [``](./diode.mdx) | Directional current flow, clamps, flyback paths, and rectification. |
+| [``](./led.mdx) | Indicator LEDs and light-emitting diode symbols. |
+| [``](./fuse.mdx) | Resettable or one-time overcurrent protection. |
+| [``](./crystal.mdx) | Quartz timing references. |
+| [``](./resonator.mdx) | Ceramic timing references. |
+| [``](./switch.mdx) | Generic switch behavior. |
+| [``](./pushbutton.mdx) | Momentary user inputs. |
+| [``](./potentiometer.mdx) | Adjustable resistance and voltage divider controls. |
+| [``](./transistor.mdx) | Generic transistor symbols and packages. |
+| [``](./mosfet.mdx) | MOSFET power and signal switches. |
+| [``](./opamp.mdx) | Operational amplifier circuits. |
+| [``](./battery.mdx) | Battery sources and battery-holder style components. |
+| [``](./voltagesource.mdx) | Ideal voltage sources for schematic and simulation contexts. |
+| [``](./voltageprobe.mdx) | Simulation probes for reading voltages. |
+
+## Connectors And Access Points
+
+| Element | Use it for |
+| --- | --- |
+| [``](./connector.mdx) | USB, M.2, cable, board-to-board, and custom connectors. |
+| [``](./pinheader.mdx) | Through-hole or surface-mount pin headers. |
+| [``](./jumper.mdx) | Removable jumper links. |
+| [``](./solderjumper.mdx) | PCB solder jumpers and configurable copper bridges. |
+| [``](./testpoint.mdx) | Probe pads for test, programming, and debug. |
+| [``](./breakout.mdx) | Fan-out areas for dense components. |
+| [``](./breakoutpoint.mdx) | Individual breakout targets inside a ``. |
+
+## PCB And Footprint Detail
+
+| Element | Use it for |
+| --- | --- |
+| [``](./footprint.mdx) | Custom footprints built from pads, holes, and geometry. |
+| [``](./cadmodel.mdx) | 3D models attached to packages. |
+| [``](./cadassembly.mdx) | Grouped CAD models for a component or assembly. |
+| [``](./hole.mdx) | Mechanical, mounting, and through-hole footprint holes. |
+| [``](./via.mdx) | Copper layer transitions for routed traces. |
+| [``](./copperpour.mdx) | Copper fill regions tied to a net. |
+| [``](./coppertext.mdx) | Text rendered as copper. |
+| [``](./cutout.mdx) | Board slots, routed openings, and material removal. |
+| [``](./fiducial.mdx) | Pick-and-place optical reference marks. |
+| [``](./courtyardrect.mdx) | Rectangular component courtyard boundaries. |
+| [``](./courtyardcircle.mdx) | Circular courtyard boundaries. |
+| [``](./courtyardoutline.mdx) | Custom courtyard outlines. |
+
+## Schematic Drawing And Notes
+
+| Element | Use it for |
+| --- | --- |
+| [``](./symbol.mdx) | Custom schematic symbols composed from drawing primitives. |
+| [``](./schematicline.mdx) | Straight schematic drawing lines. |
+| [``](./schematicpath.mdx) | Multi-segment schematic paths. |
+| [``](./schematicarc.mdx) | Arc segments in custom symbols and drawings. |
+| [``](./schematiccircle.mdx) | Circular schematic drawing primitives. |
+| [``](./schematicrect.mdx) | Rectangular schematic drawing primitives. |
+| [``](./schematictext.mdx) | Text labels inside schematics and custom symbols. |
+| [``](./schematicsection.mdx) | Visual schematic grouping. |
+| [``](./schematictable.mdx) | Tabular schematic annotations. |
+| [``](./pcbnotedimension.mdx) | PCB dimension callouts. |
+| [``](./pcbnoteline.mdx) | PCB line annotations. |
+| [``](./pcbnotepath.mdx) | PCB path annotations. |
+| [``](./pcbnoterect.mdx) | PCB rectangular annotations and keepout notes. |
+| [``](./pcbnotetext.mdx) | PCB text annotations. |
+
+## Analysis And Routing
+
+| Element | Use it for |
+| --- | --- |
+| [``](./analogsimulation.mdx) | Analog simulation setup and outputs. |
+| [``](./autoroutingphase.mdx) | Inspecting or controlling stages of autorouting. |
+
+When you are unsure where to start, use ``, ``, ``, and
+`` first. Those four elements cover the structure, component, named
+connection, and wiring concepts that most examples build on.