// Every drawable primitive plus a few templates, each captioned, in palette
// colours — a soft pastel fill with a matching ink outline. Source for assets/shapes.png.
{
layout: grid; columns: repeat(4); gap: 26; padding: 30;
|tile::column| { gap: 9; align: center; }
|cap::block| { font-size: 12; color: --muted; }
}
|tile| [
|box| { width: 66; height: 46; fill: --red-wash; stroke: --red-deep; } [
|badge| "new"
]
|cap| "box + badge"
]
|tile| [
|rect| { width: 66; height: 46; fill: --orange-wash; stroke: --orange-deep; }
|cap| "rect"
]
|tile| [
|oval| { width: 68; height: 54; fill: --amber-wash; stroke: --amber-deep; }
|cap| "oval"
]
|tile| [
|hex| { width: 68; height: 58; fill: --lime-wash; stroke: --lime-deep; }
|cap| "hex"
]
|tile| [
|slant| { width: 66; height: 46; fill: --green-wash; stroke: --green-deep; }
|cap| "slant"
]
|tile| [
|cyl| { width: 58; height: 56; fill: --teal-wash; stroke: --teal-deep; }
|cap| "cyl"
]
|tile| [
|diamond| { width: 70; height: 60; fill: --sky-wash; stroke: --sky-deep; }
|cap| "diamond"
]
|tile| [
|poly| {
points: 0 -30, 30 -6, 17 28, -17 28, -30 -6; fill: --purple-wash; stroke: --purple-deep;
}
|cap| "poly"
]
|tile| [
|path| {
path: "M -32 26 Q 0 -28 32 26"; stroke: --rose-deep; stroke-width: 4;
}
|cap| "path"
]
|tile| [
|line| {
points: -32 0, 32 0; marker-end: arrow; stroke: --red; stroke-width: 3;
}
|cap| "line"
]
|tile| [
|icon| {
symbol: house; width: 42; height: 42; fill: --teal-wash; stroke: --teal-deep;
}
|cap| "icon"
]
|tile| [
|group| { padding: 12; } [
|caption| "Group"
|box| { width: 56; height: 34; fill: --gray-wash; stroke: --gray-ink; }
|footnote| "footnote"
]
]
|tile| [
|table| { columns: 24, 24, 24; } [
"a" "b" "c"
"d" "e" "f"
]
|cap| "table"
]
|tile| [
|path| {
path: "M 0 -28 C 22 -30 31 -12 23 4 C 17 16 30 25 11 30 C -7 34 -27 25 -26 6 C -25 -11 -22 -28 0 -28 Z"; fill: --rose-wash; stroke: --rose-ink; stroke-width: 2;
}
|cap| "blob path"
]