- feat: legend entry labels honour the
legend-texttextalign, andguide-legend()gains analignargument; horizontal legends default to centred labels, vertical to left. (#34) - feat:
compose()acceptsdefer: trueto return a spec usable as a panel of anothercompose, enabling nested compositions;tag-levelsaccepts a per-depth array (withtag-sep) so nested panels continue the numbering (e.g.,B.1,B.2). (#24) - feat:
compose()can number panels with a tag pattern (tag-levels"A"/"a"/"1"/"I"/"i", plustag-prefix/tag-suffix/tag-corner), styled by the newplot-tagtheme element. (#23) - feat:
compose()accepts composition-levellabs(title/subtitle/caption) andalt, and now controls the collected legend's side throughguides(e.g.,guides(default: guide-legend(position: "bottom"))); theguides-placementparameter is removed. (#22) - feat:
guides()accepts adefaultentry that sets fallback guide options (such as the legend side) inherited by every aesthetic without its own override, in bothplot()andcompose();guide-legend'spositionnow defaults toautoand inherits from it. (#21) - feat:
compose()gainswidth/height(filling a bounded container by default) and relativewidths/heightsto set panel proportions relative to one another. (#20) - feat:
element-text()/element-typst()gain analignparameter setting per-surface text alignment, independent of the container; title and subtitle default left, caption right, axis titles and strip text centred. (#13) - feat:
labs()fields default toauto; passnoneto suppress an axis or legend title and reclaim the space it reserved. (#12) - feat:
element-blank()on a text surface (axis, plot, or legend title) collapses the space the text would reserve. (#12) - feat:
width/heightacceptautoto fill the available space of a bounded container. (#10) - fix: contour stats skip incomplete cells when the
(x, y, z)grid is sparse instead of panicking. (#37) - fix:
scale-*-manual()with an emptyvaluesarray reports a clear error instead of an opaque divide-by-zero. (#36) - fix: number formatters carry a fraction that rounds up to a whole unit (e.g.,
0.9999995no longer renders as0.1), andformat-scientifickeeps its mantissa in[1, 10). (#35) - fix: legend guides reserve space for multi-line labels, measuring the resolved custom
labels:for both width and line count across swatch, size-ladder, and colourbar guides, so two-line content no longer clips or overlaps. (#33) - fix: a column mapped to both a positional aesthetic (
x/y) and a grouping aesthetic (fill/colour/group/...), e.g.,aes(x: "class", fill: "class"), now resolves the grouping aesthetic across aggregating stats (boxplot,summary,count/sum, histograms) instead of drawing every mark in the ink colour with an empty guide. (#31) - fix: continuous scales honour an explicit
breaksargument for axis ticks and continuous legend guides instead of ignoring it; breaks outside the domain are dropped. (#30) - fix:
geom-ribbon()draws one band per discretefill/colour/groupinstead of merging every group into a single ribbon. (#29) - fix:
plot(width: auto, height: auto)is allowed on an unbounded page, falling back to the default10cmby7cminstead of panicking. (#27) - fix:
compose()panels fill their cells instead of being letterboxed; their ownwidth/heightare discarded once the composition has a size, and the composition size falls back to16cmby12cmwhen the container is unbounded. (#26) - fix: legend labels wider than 2 cm no longer overlap the next swatch; each legend column reserves the label's full width, most visible in horizontal legends. (#25)
- fix: the
composecollected legend placed ontoporbottomno longer clips its first swatch and is centred under the panels. (#19) - fix:
width/heightnow bound the whole image, including title, subtitle, caption, and plot-background padding; the data panel shrinks to fit and long titles wrap. (b53fab2) - docs: callout headers now sit on the type tint as a distinct band while the body uses the plain surface, and caution gets its own deeper mustard so it no longer matches warning. (#16)
- docs: tabset (panel-tabset) labels now follow the light/dark theme; the active tab label uses the brand primary colour in both schemes. (#15)
- docs: the development version is now downloadable from the dev documentation site and installable as a local package; release, Typst Universe, and development archives share an identical payload. (#14)
- fix: centre collected
composeside legends against the panel grid. (994c9e8) - fix: apply plot background inset/outset even without a fill. (2f24982)
- docs: enable llms.txt output for the documentation site. (6b05d6a)
- docs: add a navbar version switcher between the stable and development docs. (95c3d9b)
- feat: initial version of Gribouille.