Revival release: the package runs again on the modern R spatial stack.

  • New entry point processSpace(). One call runs the whole analysis with explicit, documented arguments (replaces the fragile ... routing in allAtOnce(), which remains as a superseded wrapper). The DEM is read once and reused by every step.

  • Configurable stage levels. The hardcoded 1ft/2ft process-space stages are now stageLevels (any number of levels, meters or units values, default 1 m and 2 m). Polygons live in transectObject$ProcessPolygons (a list named by stage, e.g. "1m"), replacing $ProcessPolygons_1ft/_2ft; KMZ folders are named ProcessSpace_<stage>.

  • Bug fix: transects whose terrain never rises above a stage level now get their full width as process space; previously they collapsed to zero width (the long-flagged bug in addProcessSpace).

  • Dependency diet: concaveman → sf::st_concave_hull (GEOS ≥ 3.11); purrr and crayon dropped; console output now uses cli progress steps with a progress bar for the per-transect plot rendering.

  • Engineering-styled cross-section figures: gridded station–elevation panels, labeled stage lines, vertical-exaggeration note (the old label called it “horizontal exaggeration”), bank-orientation labels, cleaner ground line/fill.

  • Detrending engines with anti-banding smoothing. computeDetrendedRaster gains an engine argument. The streamLine/gradeline default is now a broad-window IDW (terra::interpIDW with minPoints = 300) that averages each cell’s reference over a long stretch of stream, eliminating the Voronoi striping of nearest-point assignment. The same idea is available for the crossSection method (engine = "idw", window sized to span 2-3 transects), removing the between-transect banding of the legacy kriging (which remains the default for continuity). gradelineDegree = "auto" (the default) picks the polynomial degree by an RMSE elbow rule and the diagnostic plot shows all candidate fits; pass a number to pin the degree.

  • raster → terra. All raster operations now use terra. The raster/sp/rgdal lineage is fully removed.

  • plotKML replaced by an internal KML writer. plotKML was archived from CRAN in October 2023, which broke installation. The KMZ export now uses a small internal writer (R/kmlWriter.R) with no archived dependencies. The output structure (folders, styles, balloons, raster overlay) matches the old KMZs; the legend referenced by the KML is now actually included in the KMZ (the old export silently omitted it). The overlay color ramp (plotKML’s SAGA_pal[[21]]) is vendored internally.

  • Keyless satellite basemap. ggmap (broken Stamen fallback, Google API key requirement) was replaced with maptiles Esri World Imagery + tidyterra rendering. No API key needed; runs offline with getSatImage = FALSE or when the tile download fails.

  • API change: transectObject$detrendedRaster is now a terra SpatRaster (layers DetrendedElevation and KrigeVar) instead of an sp SpatialPixelsDataFrame. Kriging now runs sf-native through gstat.

  • Longitudinal profile plots are embedded in the KMZ mainLine balloon (was in 0.1.052).

  • Bug fixes: error()stop() in argument checks; the extra channels layer in mapPlotter(streamDir=) was computed but never drawn; unqualified ggsave()/theme() calls; ggplot2 ≥ 3.4 linewidth deprecations.

  • New: tools/parity-check.R verifies output parity against the committed 0.1.052 baseline KMZ.

  • Fixed introduced error from sf update to st_distance
  • Many small tweaks and rewrite of article
  • Added some documentation
  • Improved code on homepage
  • Numerous bug fixes
  • Some warning silencing because of incompatibilities in CRS definitions
  • Added to ‘Built-in’ article
  • Added version limits to Imports in DESCRIPTIONS
  • Fixed leftside/rightside issues.
  • Removed cutDir2 argument to simplify code transfer between different segments
  • Corrected issue with Process Space polygons when streamline made in Arc
  • Added zip package to handle kmz generation better.
  • Many CRS bugs fixed
  • Added NEWS tab.
  • Bug Fixes: lots
  • This is the first release of the ProcessSpace package.