Changelog
randomwalk (development version)
Changes
Archived
dynamic_broadcasting.qmdvignette - consolidated intodashboard_comprehensive.qmdwhich has all the same features plus better organization.Simplified
dashboard_comprehensive.qmd- moved documentation into Notes tab, removed redundant sections.Updated telemetry vignette to handle missing coverage data gracefully.
randomwalk 2.1.0
Breaking Changes
sync_mode = "dynamic"andsync_mode = "mirai_dynamic"are now DEPRECATED. These modes silently fall back to static behavior because nanonext sockets cannot be created inside crew/mirai subprocesses (NNG fork boundary limitation). Usesync_mode = "chunked"instead for best collision detection (~15%).Removed unused
duckdbdependency from DESCRIPTION and all Nix files.
New Features
Added
sync_mode = "chunked"- processes walkers in batches of 10 with grid updates between batches. This is now the recommended mode for parallel simulations with collision detection.New
shell.nixfor end users - usesbuiltins.fetchGitto install randomwalk directly from GitHub without requiring sha256 hashes.Added R-universe badge to README for package availability status.
Bug Fixes
Fixed
plot_grid()collision count display - now correctly checkscollisions_detectedfield used by async modes, with fallback to multiple termination reason key names.Fixed S3
plot()method signature to usexand...to match the generic.Fixed validation to properly respect
boundaryparameter usingmatch.arg().Fixed chunked mode to use numeric
1instead of string for black pixels.
randomwalk 2.0.0
Major Changes
Complete rewrite with async parallel processing support via crew backend.
Added comprehensive statistics tracking with percentiles and formatting.
Added S3 plot methods -
plot(result)works directly.Added WebR/browser support via Shinylive dashboards.
Added multiple sync modes:
static,chunked,dynamic,mirai_dynamic.
New Features
run_simulation()- main entry point with full parameter control.plot_grid()- visualize final grid state with statistics.plot_walker_paths()- visualize walker trajectories.run_dashboard()- launch interactive Shiny dashboard (native R only).format_statistics()- format simulation results for display.
Documentation
Added comprehensive vignettes: defensive programming, step distribution analysis, telemetry.
Added browser-based Shinylive dashboards for interactive demos.
Added pkgdown site at https://johngavin.github.io/randomwalk/