repeat
Duplicate a template block once per data row to build timelines, card grids, tables, legends, or map symbols in one call.
Instructions
Stamp a block of elements once per data row — timelines, card grids, tables, legends, map
symbols — in one call.
template: element specs as for add_elements, drawn for the FIRST row. "{key}" in any string is
replaced from the row ("{year}"; a value that is exactly "{w}" keeps the row's number), in geometry
and style alike ("fill": "{colour}"); "{n}" is the row number (1-based) and "{i}" the index, so
rows can't use the keys n and i. Ids are local names: "card" becomes card-1, card-2, ... A
"parent" may name another template element (e.g. a group holding a card and its texts); fit_to
and clip may name template elements of the same row.
Each row goes into a group - moved by n-1 steps: step [dx, dy], or a grid with
columns (step = [column pitch, row pitch]), filled row by row or, with order "column", column
by column. cell ["col", "row"]: each row is placed by its own 1-based column/row values (gaps and
fractions allowed: periodic tables, calendars, timetables, lanes); the template is drawn for cell
(1, 1) and step is the [column, row] pitch. Components (a character, a node, a symbol placed at data positions): a template group
with "transform": "translate({x},{y}) scale({s})" and step [0, 0], parts drawn around a local
origin, pose/shape parts as placeholders ("d": "{arms}").
mirror {"x": 148.5, "rows": "even"|"odd"|"all"} (or "y") mirrors those rows about the axis:
shapes are reflected (pointers flip), texts and groups keep their reading direction and move as
blocks — group a card with its texts so they cross together. Per element "mirror":
"reflect"|"block"|"none" overrides. rows_path: a .json (list of row objects) or .csv file (header
line = keys, numbers parsed) instead of rows, so data never passes through the conversation.
Returns the row groups, ids per template name (runs shortened to "card-1..card-12"), wrapped_lines, fitted.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cell | No | ||
| rows | No | ||
| step | Yes | ||
| layer | No | ||
| order | No | row | |
| doc_id | No | ||
| mirror | No | ||
| columns | No | ||
| preview | No | ||
| defaults | No | ||
| template | Yes | ||
| id_prefix | No | row | |
| rows_path | No |