TidyDensity
A distribution catalogue that grows by one family at a time, and rarely breaks anything.
A side-by-side editorial comparison of skylight and vecvec — release velocity, themes, recent moves, and the top alternatives to consider.
A frozen astronomical model quietly became the inner loop of its sibling's optimizer.
skylight returns sun and moon illuminance, azimuth and altitude for a given date, time and location, implemented as a near-verbatim transcription of a 1987 US Naval Observatory circular. The model formulation has not changed since the initial 2022 release and the author states so explicitly. Everything shipped since has been packaging, citation and speed: v1.3 moved the main routine from R to C++, and v1.4 removed a parameter check that was flooding the console with messages.
A vector-of-vectors class swapped its object system mid-flight and came out faster.
vecvec provides an R class that holds multiple vectors as a single logical vector without copying them together, aimed at cases where concatenating would be wasteful. The 1.0.0 rewrite moved the class off vctrs onto S7 while keeping user-facing code working, and added matrix and array behaviour. Recent releases have concentrated on the details that decide whether the abstraction actually saves work: ALTREP vectors surviving intact, subassignment edge cases, and printing that does not materialise what it is describing.
skylight returns sun and moon illuminance, azimuth and altitude for a given date, time and location, implemented as a near-verbatim transcription of a 1987 US Naval Observatory circular. The model formulation has not changed since the initial 2022 release and the author states so explicitly. Everything shipped since has been packaging, citation and speed: v1.3 moved the main routine from R to C++, and v1.4 removed a parameter check that was flooding the console with messages.
This is a reference implementation of a published algorithm rather than a product accumulating features, and it is being maintained that way. The movement that does occur is driven from downstream: the C++ port was written for the inverse-modelling loop in the sibling skytrackr package, which calls skylight repeatedly during optimization. That reframes skylight from a standalone calculator into the compute kernel another package's fitting routine depends on.
With the model formulation deliberately fixed and the C++ path already in place, the next release is most likely another small maintenance fix. The entries give no indication of planned new capability.
vecvec provides an R class that holds multiple vectors as a single logical vector without copying them together, aimed at cases where concatenating would be wasteful. The 1.0.0 rewrite moved the class off vctrs onto S7 while keeping user-facing code working, and added matrix and array behaviour. Recent releases have concentrated on the details that decide whether the abstraction actually saves work: ALTREP vectors surviving intact, subassignment edge cases, and printing that does not materialise what it is describing.
The arc runs from proving the idea to making it cheap. Early releases established constructors and vctrs dispatch; 1.0.0 rebuilt the internals on S7 with a smaller, faster representation and automatic flattening of adjacent compatible vectors; the two releases since have been about not defeating the point — an ALTREP vector flattened on construction or materialised by a print method gives back exactly the memory the class exists to save. Extensibility is the other visible thread, with custom ptype2 and cast methods now registrable and extension packages expected to subclass class_vecvec. The internal index structure is explicitly reserved for future change, so faster special-case representations look planned rather than incidental.
The reserved internal structure and the stated intent to accommodate faster variants point at specialised representations for particular vector types next; the entries do not indicate which cases are queued first.
Other Analytics 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 skylight or vecvec.
A distribution catalogue that grows by one family at a time, and rarely breaks anything.
College football's open data client hit v2 — and now reports how many API calls you have left.
The USA phenology data client rebuilt its entire stack and stopped handing users -9999 as a number.
GeneNMF rebuilt how it derives meta-programs, changing every result it had produced.
Publication-ready psychology tables and plots, tracking APA style as closely as the software allows.
A spatial-statistics utility package exists to be depended on, and is built accordingly.
See all skylight alternatives → · See all vecvec alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Analytics. skylight and vecvec 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. skylight and vecvec 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 Analytics products to evaluate alongside.
Top skylight alternatives in Analytics are ranked by recent ship velocity. Browse the "skylight alternatives" section above for the current picks, or visit /alternatives/skylight for the full list with editorial commentary on each.
Top vecvec alternatives in Analytics are ranked by recent ship velocity. Browse the "vecvec alternatives" section above for the current picks, or visit /alternatives/vecvec for the full list with editorial commentary on each.