`cmake --build build --target doc` runs Doxygen to produce XML, then `doc/gen_api_md.py` (~330 lines, stdlib-only) emits a Markdown tree under `doc/api/` that gitea renders directly in its file browser. - 24 class/struct pages + 51 source-file pages + indices, with source links of the form `../../../../src/...#L42` that gitea turns into clickable line-anchored links. - Doxyfile.in templated by CMake (XML-only output to build/doc/xml/). - Pure Python emitter, zero external deps — no doxybook2 (not packaged on Arch) and no moxygen (avoids Node). - Target gracefully disabled if Doxygen or Python 3 is missing at configure time; regular build target unaffected. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
21 lines
1.0 KiB
Markdown
21 lines
1.0 KiB
Markdown
# essim API reference
|
|
|
|
Auto-generated from Doxygen comments in `src/`. Regenerate with
|
|
`cmake --build build --target doc`. See [doc/README.md](../README.md)
|
|
for the toolchain.
|
|
|
|
- [Classes & Structs](classes/index.md) — 24 entries
|
|
- [Source Files](files/index.md) — 51 entries
|
|
|
|
## Curated reading order
|
|
|
|
Start with the domain model, then importers, then the TUI:
|
|
|
|
1. [`System`](classes/System.md) — owns Modules + Connections.
|
|
2. [`Module`](classes/Module.md) → [`Part`](classes/Part.md) → [`Pin`](classes/Pin.md) → [`Signal`](classes/Signal.md) — ownership chain.
|
|
3. [`Connection`](classes/Connection.md) — cross-module wiring with `pin_map`.
|
|
4. [`Transform`](classes/Transform.md) / [`IdentityTransform`](classes/IdentityTransform.md) — connector-pair → pin pairs.
|
|
5. [`ImportBase`](classes/ImportBase.md) → [`ImportMentor`](classes/ImportMentor.md), [`ImportAltium`](classes/ImportAltium.md), [`ImportOds`](classes/ImportOds.md) — netlist parsers.
|
|
6. [`Tui`](classes/Tui.md) — interactive shell + screen orchestration.
|
|
|