drawTsunagiPairfunction
What one pair's line is made of in a drawing, for a page that keeps a drawing in
its DOM and redraws only the pair whose line changed: its washes and its little
marbles, each to go inside the group of that pair's (.tsu-washes > [data-pair]
and .tsu-beads > [data-pair], and .tsu-ghosts > [data-pair] on a board that
wraps), and its line (a .tsu-line for the .tsu-lines group, to replace any of
that pair's). id is the drawing's own (<svg>'s paper gradient is <id>-paper),
so the pieces use its gradients. Boards with bridges are drawn whole, since a bridge's
deck and the lines under it depend on every line.
Import it
import { drawTsunagiPair } from "@johnmorrisdotca/tsunagi/draw";
Definition
function drawTsunagiPair(layout: LinkLayout, pair: number, id: string, options?: TsunagiDrawOptions): { washes: string; line: string; beads: string; ghosts: string; }
Parameters
| Name | Type | Description |
|---|---|---|
layout | LinkLayout | The decoded native board and its rule settings. |
pair | number | The zero-based pair index. |
id | string | An SVG identifier prefix for this drawing. |
options (optional) | TsunagiDrawOptions | Native drawing, geometry, game or mount settings. |
Returns
{ washes: string; line: string; beads: string; ghosts: string; }
What one pair's line is made of in a drawing, for a page that keeps a drawing in its DOM and redraws only the pair whose line changed: its washes and its little marbles, each to go inside the group of that pair's (.tsu-washes > [data-pair] and .tsu-beads > [data-pair], and .tsu-ghosts > [data-pair] on a board that wraps), and its line (a .tsu-line for the .tsu-lines group, to replace any of that pair's). id is the drawing's own (<svg>'s paper gradient is <id>-paper), so the pieces use its gradients. Boards with bridges are drawn whole, since a bridge's deck and the lines under it depend on every line.
Examples
import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { decodeLayout } from "@johnmorrisdotca/tsunagi";
import { drawTsunagiPair } from "@johnmorrisdotca/tsunagi/draw";
const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
console.log(drawTsunagiPair(layout,0,"sample").line.length);0What it prints (run when this page was built)