Skip to content

Latest commit

 

History

History
40 lines (34 loc) · 4.93 KB

File metadata and controls

40 lines (34 loc) · 4.93 KB

Changelog

Unreleased

  • feat: legend entry labels honour the legend-text text align, and guide-legend() gains an align argument; horizontal legends default to centred labels, vertical to left. (#34)
  • feat: compose() accepts defer: true to return a spec usable as a panel of another compose, enabling nested compositions; tag-levels accepts a per-depth array (with tag-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", plus tag-prefix/tag-suffix/tag-corner), styled by the new plot-tag theme element. (#23)
  • feat: compose() accepts composition-level labs (title/subtitle/caption) and alt, and now controls the collected legend's side through guides (e.g., guides(default: guide-legend(position: "bottom"))); the guides-placement parameter is removed. (#22)
  • feat: guides() accepts a default entry that sets fallback guide options (such as the legend side) inherited by every aesthetic without its own override, in both plot() and compose(); guide-legend's position now defaults to auto and inherits from it. (#21)
  • feat: compose() gains width/height (filling a bounded container by default) and relative widths/heights to set panel proportions relative to one another. (#20)
  • feat: element-text()/element-typst() gain an align parameter 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 to auto; pass none to 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/height accept auto to 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 empty values array 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.9999995 no longer renders as 0.1), and format-scientific keeps 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 breaks argument 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 discrete fill/colour/group instead 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 default 10cm by 7cm instead of panicking. (#27)
  • fix: compose() panels fill their cells instead of being letterboxed; their own width/height are discarded once the composition has a size, and the composition size falls back to 16cm by 12cm when 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 compose collected legend placed on top or bottom no longer clips its first swatch and is centred under the panels. (#19)
  • fix: width/height now 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)

0.1.1 (2026-05-22)

  • fix: centre collected compose side 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)

0.1.0 (2026-05-20)

  • feat: initial version of Gribouille.