← Back to all sparks
R

randomwalk

ANALYTICS
Velocity0.0

R package randomwalk by JohnGavin — release notes from GitHub.

randomwalk spent every release getting an R simulation to run in the browser, not on a server.

webassemblyshinylivewebrsimulationbrowser deploymentr package
Current state
A random walk and fractal-growth simulation package whose entire visible history is about its browser deployment. Six releases in four weeks moved a Shinylive dashboard from a blank black page to a working app — WebAssembly mounted from GitHub releases, CORS resolved by same-origin serving, missing plotting dependencies installed in-browser, then an async version using crew workers with its own debug log. A correctness fix followed, adding termination-position validation so simulations stop producing isolated pixels, and the most recent release publishes the package itself as a webR binary repository.
Where it's heading
The package is being built as a browser artifact first and an R package second: the readme, the vignettes and the release notes all point at a hosted dashboard rather than at library(). The last release completes that by making the compiled WebAssembly build installable by anyone via webr::install(), which turns the deployment work into something reusable outside this project. Version numbers are unreliable here — v0.2.0 was published two weeks after v1.0.2 — so read the dates, not the tags.
Prediction
With the webR repository published, the next work most likely moves back to the simulation itself, though the entries give no direct evidence of planned features.

Recent moves

  1. 8mo ago

    Package published as an installable webR binary repository

    Publishes the package as a webR binary repository so Shinylive vignettes can install it with webr::install(). Note the version regression — this is stamped two weeks after v1.0.2.

    View source ↗
  2. 8mo ago

    Termination validation removes isolated pixels from simulations

    Adds validate_termination_position() so a walker's final position must have an adjacent occupied pixel, eliminating isolated pixels that violated the walk rules in async simulations. The first fix in this history that changes simulation output rather than deployment.

    View source ↗
  3. 8mo ago

    Async dashboard with crew workers running under WebR

    Lands an async dashboard using crew workers with real-time debug logging and sync-versus-async performance comparison, working around WebR limitations by dropping DT and the unsupported observe() once argument.

    View source ↗
  4. 9mo ago

    Browser dashboard working end to end

    The dashboard finally works end to end in the browser: same-origin WebAssembly serving fixes CORS, missing plotting dependencies install automatically, and the simulation renders with full ggplot2 support. Seven deployment issues closed at once.

    View source ↗
  5. 9mo ago

    Missing plot dependency and parameter display fixed

    Fixes a missing munsell dependency needed for plots and a parameter display showing the same value everywhere. Dashboard patching between the two larger releases.

    View source ↗
  6. 9mo ago

    Dashboard mounts WebAssembly from GitHub releases

    Switches the dashboard to mount the WebAssembly filesystem directly from GitHub releases instead of R-Universe, clearing the blank page. Deployment plumbing.

    View source ↗