API Reference
deixis-routing
Show-rule wrapper that captures a policy for individual connections and enabled margin/inset shorthand.
Setup Required
Returns: content → content.
Example
#show: deixis-routing.with(policy: "avoid")
manual keeps native routes; avoid searches independently; separate adds bounded group repair. Search needs sharp orthogonal geometry. Registered objects stay fixed. Nested wrappers form separate groups.
deixis-routing
deixis-routing(body, policy: "separate", nodes: (), clearance: 4pt, escape: 4pt, bend-cost: 12pt, spacing: 3pt, weight: 4, max-detour: 25%, rounds: 2, max-searches: 64, max-expansions: 50000, max-cells: 65536)
Scopes the routing policy for independent and margin/inset shorthand edges. Attach geometry where it is rendered with deixis-attach(id: …)[…]. Nodes stay fixed; searched connections in this lexical scope are planned per physical page and overlay layer, independently of declaration position. Nested wrappers form separate groups. All explicitly attached routing nodes on a page supply its obstacles. Optional nodes adds existing scene selectors for accepted notes/pins or literal bounds with an explicit physical page. The list belongs to this wrapper, with geometry resolved only for searched groups. Padding lengths freeze in the wrapper’s declaration font context. Shorthand captures at the body declaration; it keeps its enabled state and geometry, and body placement stays unchanged. policy is manual (native geometry, no automatic registered-scene search), avoid (independent obstacle routing) or separate (checked group repair). Search policies require sharp orthogonal routes; manual also permits curves and exact mixed sections. Heads/cuts/renderers retain the connector API. Requires setup. No automatic discovery of other ink.
Parameters
| Name | Default | Types |
|---|---|---|
body | required | content |
policy | "separate" | str |
nodes | () | array |
clearance | 4pt | length |
escape | 4pt | length |
bend-cost | 12pt | length |
spacing | 3pt | length |
weight | 4 | int, float |
max-detour | 25% | ratio |
rounds | 2 | int |
max-searches | 64 | int |
max-expansions | 50000 | int |
max-cells | 65536 | int |
body
Content in this lexical routing scope; native content brackets alone do not establish a policy.
policy
manual uses native routes, avoid searches obstacles independently, separate repairs a page/layer group.
nodes
Additional accepted note/pin selectors or literal bounds with physical page; attached routing nodes are included automatically.
clearance
Nonnegative avoidance padding, resolved in the declaration font context. Centerline clearance only.
escape
Positive endpoint escape distance.
bend-cost
Nonnegative orthogonal turn penalty.
spacing
Positive centerline proximity distance for separate groups.
weight
Finite nonnegative proximity penalty weight.
max-detour
Finite nonnegative ratio limiting additional length per independent route.
rounds
Integer repair-round budget from zero through four.
max-searches
Positive integer shared group search budget.
max-expansions
Positive integer expansion budget.
max-cells
Positive integer per-search grid-cell budget.