drawTsunagifunction
A board as SVG text, with the lines in options.lines drawn on it. The
drawing is class="tsunagi"; its colours and its two movements are
TSUNAGI_STYLE. Its parts carry classes and data attributes a page can style
or find: tsu-marble, tsu-bead, tsu-line (data-pair, data-cells),
tsu-bridge (data-cell, data-across), tsu-over-bridge, tsu-wall
(data-edge), tsu-waypoint, tsu-portal (data-portal, data-cells;
its two rings are tsu-portal-end, its link tsu-portal-link), tsu-flag,
tsu-blast, tsu-hex-cell.
Import it
import { drawTsunagi } from "@johnmorrisdotca/tsunagi/draw";
Definition
function drawTsunagi(layout: LinkLayout, options?: TsunagiDrawOptions): string
Parameters
| Name | Type | Description |
|---|---|---|
layout | LinkLayout | The decoded native board and its rule settings. |
options (optional) | TsunagiDrawOptions | Native drawing, geometry, game or mount settings. |
Returns
string
A board as SVG text, with the lines in options.lines drawn on it. The drawing is class="tsunagi"; its colours and its two movements are TSUNAGI_STYLE. Its parts carry classes and data attributes a page can style or find: tsu-marble, tsu-bead, tsu-line (data-pair, data-cells), tsu-bridge (data-cell, data-across), tsu-over-bridge, tsu-wall (data-edge), tsu-waypoint, tsu-portal (data-portal, data-cells; its two rings are tsu-portal-end, its link tsu-portal-link), tsu-flag, tsu-blast, tsu-hex-cell.
Examples
import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { decodeLayout } from "@johnmorrisdotca/tsunagi";
import { drawTsunagi } from "@johnmorrisdotca/tsunagi/draw";
const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
console.log(drawTsunagi(layout,{marks:"numbers"}).startsWith("<svg"));trueWhat it prints (run when this page was built)