Back to R project for statistical computing
GSoC 2026

Advancing Animint2 — Performance, Renderer and New Features

This project implements five concrete improvements to animint2 across the R compiler, animint.js renderer, and CI pipeline. First, polygon holes via geom_polygon(aes(subgroup)) — the JS renderer will use D3's d3.geo.path.projection(null) with fill-rule: evenodd to correctly draw multi-ring SVG paths instead of silently garbling them. Second, the CI race condition where R_coverage and JS_coverage share a hardcoded GitHub repo name will be fixed by deriving a unique repo name per job from the existing TEST_SUITE variable. Third, the inner apply() kernel of getCommonChunk() moves to C++ via Rcpp — benchmarks show 28x speedup for numeric columns and 32.5x for character columns. Fourth, scale range calculation moves from the R compiler to the JavaScript renderer — computed at click-time from visible data only, eliminating exponential blowup in plot.json. Fifth, stats and positions (stat_bin, position_stack, position_dodge) will be computed in JavaScript after showSelected is applied — fixing the silent breakage in geom_histogram and grouped bar charts. All features include renderer tests, documentation, and wiki updates. The RJSONIO → jsonlite migration will also be completed to remove a deprecated CRAN dependency.

Project details

Contributor

Gaurav Chaudhary(ANAMASGARD)

Mentors

Not available

Technologies

Not listed in the archive