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.