← Back to all sparks
R

ragg

DESIGN
Velocity0.0

High quality graphics devices for R producing PNG, TIFF and JPEG output

R's default raster device is done proving itself and is now just keeping pace.

graphics-devicerasterr-libmaintenancewebppositron
Current state
ragg is the AGG-backed raster device that replaced the base R graphics devices as the default in RStudio and the tidyverse toolchain, and its release stream reads accordingly. The last two years added WebP output, an optimised recording device, saturate composition, and hold-and-flush support requested by Positron; the last two releases are a symbol-font fallback fix and a sanitizer issue. Nothing here is reaching for new territory.
Where it's heading
This is a mature default in the maintenance mode that comes with being depended on by everything. The work splits cleanly into three streams: correctness fixes forced by upstream FreeType and compiler changes, small format and API additions contributed from outside, and plumbing to serve whichever IDE is hosting the plot pane. None of the six releases in view changes what ragg is for.
Prediction
Expect the next releases to track the systemfonts variable-font API and further Positron device requirements rather than to add output formats on their own initiative.

Recent moves

  1. 4mo ago

    Sanitizer fix in recording device shutdown

    One sanitizer fix for the recording device not shutting down cleanly. Internal correctness, no user-visible effect.

    View source ↗
  2. 5mo ago

    Linux symbol font fallback; capture no longer advances the RNG

    Fixes the default symbol font on Linux distributions by falling back correctly during metric calculation, and stops agg_capture() and agg_record() from advancing the RNG. The RNG change is the one that matters: plot capture no longer perturbs reproducible output.

    View source ↗
  3. 11mo ago

    WebP output, static and animated

    Adds WebP output in both static and animated form, contributed from outside the maintainer team, and fixes a gradient regression. Animated output is new ground for ragg, but it arrives as a format option rather than as an animation story.

    View source ↗
  4. 1y ago

    Optimised recording and hold/flush support for Positron

    Adds agg_record() for optimised plot recording plus hold and flush support, explicitly in service of Positron, along with the saturate composition operator and unicode filenames for TIFF. This is ragg fitting itself to a new IDE host rather than changing what it renders.

    View source ↗
  5. 1y ago

    Fix regression from upstream FreeType changes

    A single regression fix caused by upstream FreeType changes. Textbook example of this package's maintenance being set by its dependencies.

    View source ↗
  6. 2y ago

    Fix group definition and recall

    One bug fix in how groups are defined and recalled, cleaning up the graphics engine group support added in 1.3.0.

    View source ↗