intersect_filter_touch()— returns the rows ofxwhose geometries touch any feature in the masky, usingsf::st_intersects()only. No reprojection, clipping, or area computation is performed: geometries and attributes ofxare returned unchanged. The lightest-touch selection strategy, condensed from the commonst_intersects() |> lengths() |> { . == 1 }idiom.clean_geo()— reads a.zip/.shp/.gpkg/.geojson, drops Z/M dimensions, replaces non-ASCII characters in attribute columns, reprojects to a target CRS (default EPSG:4326) and writes the result to a user-providedoutputpath. The output format is determined by the extension ofoutputand may differ from the input format. Replaces the standaloneR/prepare_zip_shapefiles.Rcleanup routine with a portable, testable function backed byzip::zip()instead ofsystem("zip -j ...").
clean_geo()now normalizes theoutputpath to an absolute path (viafs::path_abs()), matching the behavior already applied topath. Relativeoutputpaths (e.g."data/clean/x.zip") previously failed when writing.zipoutput withzip::zip(); all output formats now resolve correctly against the current working directory.
view_vd()andview_vd_nonint()are explicitly macOS-only: on Windows or Linux they stop with a clear error. Documentation describes this platform restriction.- New
terminalargument:"terminal"(Terminal.app, default),"iterm"(iTerm2), or"auto". For"auto", the choice comes from theMISC_VIEW_TERMenvironment variable and then fromoptions(misc.view_term)("terminal"or"iterm"); invalid values trigger a warning and fall back to Terminal.app. - AppleScript-based terminal launch is unified (new window or tab in iTerm2 as appropriate).
- The
vd(VisiData) executable must be onPATHbefore opening the viewer; the error message points to installation (for examplepip install visidata). - If
vdkis onPATH, the command used isvdk <project_basename> <file>; otherwisevd --default-width=500 <file>. Inview_vd_nonint(), the project name usesbasename(here::here()), consistent withview_vd(). view_mapview_from_path()performs the macOS check up front because the workflow relies onview_vd_nonint()for the attribute table; documentation updated.