# `scripts.render_architecture_svg`
<!-- generated by `orchestrator understand`; the PKG is source of truth, edits here are advisory -->

[← Episteme](../README.md) · [Architecture](../architecture.md)

**Source:** [`scripts/render_architecture_svg.py`](../../scripts/render_architecture_svg.py)

1 types · 12 functions · python

## Changing this safely

**No test module imports this.**

**Most depended-upon here** — a change to these reaches the most code (call graph, ≤4 hops):

- [`esc`](../../scripts/render_architecture_svg.py#L115) — reaches **8** symbols · **no test path visible**
- [`rect`](../../scripts/render_architecture_svg.py#L108) — reaches **6** symbols · **no test path visible**
- [`label`](../../scripts/render_architecture_svg.py#L119) — reaches **5** symbols · **no test path visible**
- [`_wrap`](../../scripts/render_architecture_svg.py#L173) — reaches **4** symbols · **no test path visible**
- [`atext`](../../scripts/render_architecture_svg.py#L90) — reaches **4** symbols · **no test path visible**
- [`band`](../../scripts/render_architecture_svg.py#L191) — reaches **2** symbols · **no test path visible**
- [`cards`](../../scripts/render_architecture_svg.py#L150) — reaches **2** symbols · **no test path visible**
- [`gate`](../../scripts/render_architecture_svg.py#L203) — reaches **2** symbols · **no test path visible**

_11 of the symbols other code depends on here have no test path the graph can see — worth a second look before changing them. Absence of a path is not proof of absence of a test: calls through an attribute chain (`obj.method()`) are skipped rather than guessed at, so indirect coverage is invisible._

## Types

### `Facts`

[`scripts/render_architecture_svg.py:61`](../../scripts/render_architecture_svg.py#L61)

- **Fields**: `commands`, `edge_kinds`, `languages`, `node_kinds`, `verifiers`, `version`
- **Documented in**: `docs/specs/go-support-roadmap.md#design-plan-adding-go-to-the-pkg-8th-language`, `docs/specs/language-expansion-roadmap.md#the-fixed-recipe-per-language`, `docs/specs/language-support-roadmap.md#design-plan-adding-c-c-and-c-to-the-pkg-sequential-per-language`

## Functions

### `_rasterise`

[`scripts/render_architecture_svg.py:464`](../../scripts/render_architecture_svg.py#L464)

- **Called by** (1): [`main`](../../scripts/render_architecture_svg.py#L447)
- **Calls** (2): `run`, `which`

### `_wrap`

[`scripts/render_architecture_svg.py:173`](../../scripts/render_architecture_svg.py#L173)

- **Called by** (2): [`band`](../../scripts/render_architecture_svg.py#L191), [`cards`](../../scripts/render_architecture_svg.py#L150)

### `atext`

[`scripts/render_architecture_svg.py:90`](../../scripts/render_architecture_svg.py#L90)

- **Called by** (2): [`band`](../../scripts/render_architecture_svg.py#L191), [`gate`](../../scripts/render_architecture_svg.py#L203)
- **Calls** (1): [`esc`](../../scripts/render_architecture_svg.py#L115)

### `band`

[`scripts/render_architecture_svg.py:191`](../../scripts/render_architecture_svg.py#L191)

- **Called by** (1): [`render`](../../scripts/render_architecture_svg.py#L216)
- **Calls** (4): [`_wrap`](../../scripts/render_architecture_svg.py#L173), [`atext`](../../scripts/render_architecture_svg.py#L90), [`label`](../../scripts/render_architecture_svg.py#L119), [`rect`](../../scripts/render_architecture_svg.py#L108)

### `cards`

[`scripts/render_architecture_svg.py:150`](../../scripts/render_architecture_svg.py#L150)

- **Called by** (1): [`render`](../../scripts/render_architecture_svg.py#L216)
- **Calls** (3): [`_wrap`](../../scripts/render_architecture_svg.py#L173), [`label`](../../scripts/render_architecture_svg.py#L119), [`rect`](../../scripts/render_architecture_svg.py#L108)

### `esc`

[`scripts/render_architecture_svg.py:115`](../../scripts/render_architecture_svg.py#L115)

- **Called by** (2): [`atext`](../../scripts/render_architecture_svg.py#L90), [`label`](../../scripts/render_architecture_svg.py#L119)

### `gate`

[`scripts/render_architecture_svg.py:203`](../../scripts/render_architecture_svg.py#L203)

- **Called by** (1): [`render`](../../scripts/render_architecture_svg.py#L216)
- **Calls** (2): [`atext`](../../scripts/render_architecture_svg.py#L90), [`rect`](../../scripts/render_architecture_svg.py#L108)

### `label`

[`scripts/render_architecture_svg.py:119`](../../scripts/render_architecture_svg.py#L119)

- **Called by** (4): [`band`](../../scripts/render_architecture_svg.py#L191), [`cards`](../../scripts/render_architecture_svg.py#L150), [`render`](../../scripts/render_architecture_svg.py#L216), [`section`](../../scripts/render_architecture_svg.py#L128)
- **Calls** (1): [`esc`](../../scripts/render_architecture_svg.py#L115)

### `main`

[`scripts/render_architecture_svg.py:447`](../../scripts/render_architecture_svg.py#L447)

- **Calls** (2): [`_rasterise`](../../scripts/render_architecture_svg.py#L464), [`render`](../../scripts/render_architecture_svg.py#L216)

### `rect`

[`scripts/render_architecture_svg.py:108`](../../scripts/render_architecture_svg.py#L108)

- **Called by** (5): [`band`](../../scripts/render_architecture_svg.py#L191), [`cards`](../../scripts/render_architecture_svg.py#L150), [`gate`](../../scripts/render_architecture_svg.py#L203), [`render`](../../scripts/render_architecture_svg.py#L216), [`section`](../../scripts/render_architecture_svg.py#L128)

### `render`

[`scripts/render_architecture_svg.py:216`](../../scripts/render_architecture_svg.py#L216)

- **Called by** (1): [`main`](../../scripts/render_architecture_svg.py#L447)
- **Calls** (6): [`band`](../../scripts/render_architecture_svg.py#L191), [`cards`](../../scripts/render_architecture_svg.py#L150), [`gate`](../../scripts/render_architecture_svg.py#L203), [`label`](../../scripts/render_architecture_svg.py#L119), [`rect`](../../scripts/render_architecture_svg.py#L108), [`section`](../../scripts/render_architecture_svg.py#L128)

### `section`

[`scripts/render_architecture_svg.py:128`](../../scripts/render_architecture_svg.py#L128)

- **Called by** (1): [`render`](../../scripts/render_architecture_svg.py#L216)
- **Calls** (2): [`label`](../../scripts/render_architecture_svg.py#L119), [`rect`](../../scripts/render_architecture_svg.py#L108)

## Imports

`__future__.annotations`, `dataclasses.dataclass`, [`orchestrator.pkg.facts`](../../src/orchestrator/pkg/facts.py#L1), `pathlib.Path`, `re`, `shutil`, `subprocess`, `sys`, `tomllib`
