rollupTree
The recursive-computation engine under massProps grows the accessors its consumer needed
A side-by-side editorial comparison of ggpointless and tf — release velocity, themes, recent moves, and the top alternatives to consider.
ggpointless keeps adding the ggplot2 layers nobody else bothered to write.
ggpointless is a small ggplot2 extension collecting geoms that sit outside the standard set — Lexis diagrams, Chaikin-smoothed paths, hanging chains, Fourier reconstructions — and it has grown steadily rather than changed shape. The May release is the largest yet: isotype and pictogram bar charts as stacks of discrete unit cells, a family of geoms that fade paths, segments, curves and reference lines along their length, and geom_gridline(), which draws grid lines as a layer on top of the data rather than beneath it.
tf gave functional data a second dimension: curves whose values are vectors.
tf supplies the vector classes underneath the tidyfun stack — tfd for raw functional observations, tfb for basis-represented ones, both built on vctrs so curves sit in a data frame column and behave like any other vector. Until July that codomain was scalar. The 0.5.0 release adds tfd_mv and tfb_mv, classes for functions whose values are vectors in R^d, and rebuilds the analysis verbs to match.
ggpointless is a small ggplot2 extension collecting geoms that sit outside the standard set — Lexis diagrams, Chaikin-smoothed paths, hanging chains, Fourier reconstructions — and it has grown steadily rather than changed shape. The May release is the largest yet: isotype and pictogram bar charts as stacks of discrete unit cells, a family of geoms that fade paths, segments, curves and reference lines along their length, and geom_gridline(), which draws grid lines as a layer on top of the data rather than beneath it.
Two patterns are visible. Ideas get generalized rather than left as one-offs: geom_area_fade() in the previous release established alpha gradients via grid::linearGradient(), and the recent release spreads that treatment across paths, lines, steps, segments, curves and the three reference-line geoms, each with the same fade_direction and alpha_fade_to arguments. And each new geom is expected to survive real plots — the unit charts work under coord_equal, coord_polar, coord_radial, coord_flip and faceting, and geom_gridline reads positions from trained scales and inherits styling from the theme's panel grid. The package also tracks ggplot2 closely, requiring 4.0.0 and using make_constructor() and gg_par() internally, and it dropped its bundled datasets outright rather than maintain stale copies.
The fade treatment now covers most path-like geoms but not the area and ribbon family beyond geom_area_fade(), which is where the pattern has room left to run. The unit-cell charts arrive with a label helper and no fill or grouping variants, so those are the plausible next additions.
tf supplies the vector classes underneath the tidyfun stack — tfd for raw functional observations, tfb for basis-represented ones, both built on vctrs so curves sit in a data frame column and behave like any other vector. Until July that codomain was scalar. The 0.5.0 release adds tfd_mv and tfb_mv, classes for functions whose values are vectors in R^d, and rebuilds the analysis verbs to match.
The package is widening what a functional observation can be, then porting the toolkit onto it. Registration arrived first in 0.4.0 for univariate curves and immediately gained an srvf_mv method for aligning components jointly, and tfb_mfpc() ports principal component analysis to the multivariate case with a single set of scores shared across components. Alongside that runs steady dependency shedding — mvtnorm and pracma both replaced by inlined samplers that reproduce prior draws bit-for-bit, glue dropped for cli in the previous release — and an unusually long tail of NA-handling and edge-case fixes, several caught in pre-release review of the new classes.
The new classes ship with FPCA, registration and shape alignment but the release notes describe tidyfun::tf_unnest() as the consumer of one new export, so the visible next step is the rest of the tidyfun stack catching up to vector-valued columns. Expect follow-up patches on the vctrs casting paths, which is where most of this release's late fixes clustered.
Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either ggpointless or tf.
The recursive-computation engine under massProps grows the accessors its consumer needed
A mass-properties rollup spends a year on documentation and follows its sibling's API
Six months of releases and not one of them touched the scoring models
A cognitive-science sampling package ships once, then goes quiet for eighteen months
A Bayesian volatility sampler in its maintenance decade, paying for its own speed
A black-box interpreter reaches CRAN, then learns multi-class and survival responses
See all ggpointless alternatives → · See all tf alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-packages — within Infra & APIs. ggpointless and tf are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. ggpointless and tf are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top ggpointless alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "ggpointless alternatives" section above for the current picks, or visit /alternatives/ggpointless for the full list with editorial commentary on each.
Top tf alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "tf alternatives" section above for the current picks, or visit /alternatives/tf for the full list with editorial commentary on each.