From 047ba0ec1cae6a566cdde59b94208294775f3373 Mon Sep 17 00:00:00 2001 From: George Stagg Date: Tue, 2 Apr 2024 11:37:53 +0100 Subject: [PATCH] Add release post for webR 0.3.1 (#689) * Update webR to v0.3.0-rc.0 * webR 0.3.0 * webR 0.3.1 * Update content/blog/webr-0-3-1/index.md Co-authored-by: Lionel Henry * Apply suggestions from review * Update date * Style nit --------- Co-authored-by: Lionel Henry --- content/blog/webr-0-3-1/index.Rmd | 384 +++++++++++++++++++++++ content/blog/webr-0-3-1/index.md | 366 +++++++++++++++++++++ content/blog/webr-0-3-1/thumbnail-sq.jpg | Bin 0 -> 58384 bytes content/blog/webr-0-3-1/thumbnail-wd.jpg | Bin 0 -> 87968 bytes layouts/shortcodes/webr-editor.html | 33 +- layouts/shortcodes/webr-init.html | 9 +- static/webr-serviceworker.js | 1 - static/webr-worker.js | 1 - 8 files changed, 771 insertions(+), 23 deletions(-) create mode 100644 content/blog/webr-0-3-1/index.Rmd create mode 100644 content/blog/webr-0-3-1/index.md create mode 100644 content/blog/webr-0-3-1/thumbnail-sq.jpg create mode 100644 content/blog/webr-0-3-1/thumbnail-wd.jpg delete mode 100644 static/webr-serviceworker.js delete mode 100644 static/webr-worker.js diff --git a/content/blog/webr-0-3-1/index.Rmd b/content/blog/webr-0-3-1/index.Rmd new file mode 100644 index 000000000..2a8551b80 --- /dev/null +++ b/content/blog/webr-0-3-1/index.Rmd @@ -0,0 +1,384 @@ +--- +output: hugodown::hugo_document + +slug: webr-0-3-1 +title: webR 0.3.1 +date: 2024-04-02 +author: George Stagg +description: > + webR 0.3.1 is now available at npm, GitHub, and via CDN. Take a look at + what's new in this release. + +photo: + url: https://unsplash.com/photos/purple-and-black-pyramid-wallpaper-k1bO_VTiZSs + author: Sandro Katalina + +# one of: "deep-dive", "learn", "package", "programming", "roundup", or "other" +categories: [package] +tags: [webr, webassembly, wasm] +--- + + + + + +`r hugodown::shortcode("webr-init")` + + + +```{r, echo=FALSE} +knitr::knit_engines$set(webr = function(options) { + code <- paste(options$code, collapse = "\n") + w <- knitr::opts_current$get('fig.width') * 72 + h <- knitr::opts_current$get('fig.height') * 72 + hugodown::shortcode("webr-editor", code = I(encodeString(code, quote = '`')), width = w, height = h) +}) +``` + + +```{css echo=FALSE} +.output > pre, .output code { + background-color: #ffffff !important; + margin-top: -17px; + border-top-left-radius: 0px; + border-top-right-radius: 0px; +} + +.error > pre, .error code { + background-color: #fcebeb !important; + color: #410E0E !important; +} +``` + +We're delighted to announce the release of [webR](https://docs.r-wasm.org/webr/latest/) 0.3.1. This release brings bug fixes, infrastructure upgrades, and exciting improvements to webR's API for creating R objects and evaluating R code from JavaScript. These new features make integrating webR with existing JavaScript frameworks such as [Observable](https://observablehq.com) a breeze. + +You can install the latest release from [npm](https://www.npmjs.com/package/webr) with the command: + +``` +npm i webr@0.3.1 +``` + +or if you're using JavaScript modules to import webR directly from CDN: + +```javascript +import { WebR } from 'https://webr.r-wasm.org/v0.3.1/webr.mjs'; +``` + +A summary of changes is described below, with the full [release notes](https://github.com/r-wasm/webr/releases) on GitHub. + + + +## Evaluating R code from JavaScript + +The underlying interpreter powering webR is built from the same source code as R itself, with patches applied so that it can run in the WebAssembly environment. With this release, we have rebased our patches on the latest stable version of R[^r]. By keeping our source in sync, improvements and bug fixes made by the R Core Team also benefit any project making use of webR. + +[^r]: The latest stable release at the time of writing: [R 4.3.3 --- "Angel Food Cake"](https://cran.rstudio.com/doc/manuals/r-release/NEWS.html) + +WebR's core functionality is to evaluate R code from a JavaScript environment. As such, it is imperative that this works well, even with large and complex scripts. The [webR app](https://webr.r-wasm.org/v0.3.1/) has been updated to better handle large R scripts, and scripts longer than 4096 characters should no longer cause strange issues in the R console. + +### Loading WebAssembly packages + +The package management functions provided by webR have been expanded and improved. We set up webR with shims (interceptors) for `install.packages()`, `library()`, and `require()` so that installing or loading R packages automatically downloads WebAssembly binaries from the [webR package repository](https://repo.r-wasm.org). Also, it is no longer required to run the `library()` command a second time to subsequently load the package. + +In this interactive example, webR is configured to automatically install WebAssembly packages. Click "Run code" to download the packages listed in the R script. + +```{webr} +# Explicitly install wasm packages +install.packages("cli") + +# Automatically install wasm packages +library(vctrs) +require(jsonlite) + +# Confirm the packages installed successfully +rownames(installed.packages()) +``` + +See the [documentation](https://docs.r-wasm.org/webr/latest/packages.html) for more details on how to control this behaviour in your own webR-powered applications, including optionally showing an interactive download menu to the user. + +### Error handling and reporting + +Improvements have been made to how webR raises R conditions as JavaScript exceptions. Exceptions now include the offending source R call in the error message text, better matching what is shown in a traditional R console. + +```javascript +await webR.evalR("sin('abc')"); +``` + +::: {.output .error} +``` +Uncaught Error: Error in sin("abc"): non-numeric argument to mathematical function +``` +::: + +Conditions raised when invoking function objects are now also re-thrown as JavaScript exceptions, rather than a generic `UnwindProtectException` error. Compare the error messages shown below from the previous and latest versions of webR to see the useful context added by this change. + +```javascript +// webR 0.2.2 +const do_calc = await webR.evalR(`function (n) { rnorm(n) }`) +do_calc(-10) +``` + +::: {.output .error} +``` +Uncaught (in promise) UnwindProtectException: A non-local transfer of control occured during evaluation +``` +::: + +```javascript +// webR 0.3.1 +const do_calc = await webR.evalR(`function (n) { rnorm(n) }`) +do_calc(-10) +``` + +::: {.output .error} +``` +Uncaught (in promise) Error: Error in rnorm(n): invalid arguments +``` +::: + + +Some base R features can be problematic when running R under WebAssembly. For example, in the constrained WebAssembly sandbox the base R function `system()` does not work. The latest release of webR now handles these cases more consistently, raising R `stop()` conditions rather than incorrectly returning an empty result. + +```r +# webR 0.3.1 +system() +``` + +::: {.output .error} +``` +Error in webr_hook_system(command) : + The "system()" function is unsupported under Emscripten. +``` +::: + + +## Capturing HTML canvas graphics output + +The [`captureR()`](https://docs.r-wasm.org/webr/latest/evaluating.html#evaluating-r-code-and-capturing-output-with-capturer) function is designed to capture output generated when evaluating R code. In addition to capturing standard text output, details about errors and other R conditions are also captured. With this release, plots drawn using webR's HTML canvas graphics device, `webr::canvas()`, are also captured and returned by default. + +```javascript +// Evaluate R code, capturing all output +const capture = await webR.globalShelter.captureR(` + x <- rnorm(10000) + print(x[1]) + hist(x) +`); +console.log(capture); +``` + +::: {.output} +``` +{ + result: Proxy(Object), + output: [ + { type: 'stdout', data: '[1] 0.7612882' }, + ], + images: [ ImageBitmap ], +} +``` +::: + +Captured plots are returned as an array of [`ImageBitmap`](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap) JavaScript objects in the `images` property. This interface represents a bitmap image in a way that can be efficiently drawn to a HTML [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas) element. + +This change makes plotting consistent with other forms of R output and simplifies the process when working with multiple independent R code blocks and output images. See the webR documentation on [evaluating R code](https://docs.r-wasm.org/webr/latest/evaluating.html#evaluating-r-code-and-capturing-output-with-capturer) for further details, and this [Observable notebook](https://observablehq.com/d/ec99bb89a4c646ab) for an example of capturing R plots from JavaScript. + +### Graphics device bug fixes + +In addition to adding the ability to capture graphics output, the `webr::canvas()` graphics device has also had various bug fixes made to better implement R base graphics. The easiest way to demonstrate is probably by example: + +```{webr} +# The lty and lwd graphical properties now work correctly +plot(1:10, type = "l", lty = 2, lwd = 3) +points(1:10, cex = 3, lwd = 2) +``` + +```{webr} +# The cex graphical property is now taken into account +# when calculating font sizes +plot(1, main = "This is a large title", cex.main = 3) +``` + +```{webr} +# Rasters with negative width or height are now correctly +# drawn mirrored and flipped. +install.packages("jpeg") +logo = jpeg::readJPEG(system.file(package = "jpeg", "img", "Rlogo.jpg")) +plot(NULL, xlab = "", ylab = "", xlim = c(0, 1), ylim = c(0, 1)) + +rasterImage(logo, xleft = 0.2, xright = 0.5, ybottom = 0.5, ytop = 1) +rasterImage(logo, xleft = 0.8, xright = 0.5, ybottom = 0.5, ytop = 1) +rasterImage(logo, xleft = 0.2, xright = 0.5, ybottom = 0.5, ytop = 0) +rasterImage(logo, xleft = 0.8, xright = 0.5, ybottom = 0.5, ytop = 0) +``` + + +## The R object interface + +The R object interface provided by webR has been expanded to support the conversion of more types of JavaScript objects into R objects. Such conversions are automatically applied when interacting with the R environment from JavaScript. + +### Raw vectors + +JavaScript objects of type `TypedArray`, `ArrayBuffer`, and `ArrayBufferView` (e.g. [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)) may now be used to construct R objects. By default, objects of this type are converted to R raw atomic vectors. This simplifies the transfer of binary data to R. + +```javascript +const data = new Uint8Array([4, 12, 8, 24, 15, 12]); +// Print data's R object class and an example byte +await webR.evalR(` + class(data) + data[2] +`, { withAutoprint: true, env: { data } }); +``` +::: {.output} +``` +[1] "raw" +[1] 0c +``` +::: + +### R `data.frame` + +JavaScript objects of shape `{ x: [...], y: [...] }`, with data in a "long" column-based form, can now be used to construct R objects. In previous versions of webR, this object shape was reserved for future use. However, with this release webR now constructs an R `data.frame` by taking the source object's properties as column vectors. The resulting `data.frame` can then be manipulated from R in the usual way: + +```javascript +const data = { column_x: ["foo", "bar", "baz"], column_y: [1, 3, 7] } +await webR.evalR(` + class(data) + colnames(data) + data[2:3,] +`, { withAutoprint: true, env: { data } }); +``` + +::: {.output} +``` +[1] "data.frame" +[1] "column_x" "column_y" + column_x column_y + 2 bar 3 + 3 baz 7 +``` +::: + +Similarly, an R `data.frame` can be converted back into a JavaScript object of this form: + +```javascript +const cars = await webR.evalR(`mtcars`); +await cars.toObject(); +``` + +::: {.output} +``` +{ + am: [1, 1, 1, ..., 1], + carb: [4, 4, 1, ..., 2], + cyl: [6, 6, 4, ..., 4] + ..., + wt: [2.62, 2.875, 2.32, ..., 2.78], +} +``` +::: + +### D3 "wide" format + +In JavaScript, particularly when using frameworks built upon [D3](https://d3js.org), it is typical to work with data in a "wide" form: an array of objects per row, each including all the column names and values. With this release, webR can also convert JavaScript objects in this form into an R `data.frame`. + +The following example loads the same data as shown in the previous example but expressed in the "wide" form. +```javascript +const data = [ + { column_x: "foo", column_y: 1 }, + { column_x: "bar", column_y: 3 }, + { column_x: "baz", column_y: 7 }, +]; +await webR.evalR(` + class(data) + colnames(data) + data[2:3,] +`, { withAutoprint: true, env: { data } }); +``` + +::: {.output} +``` +[1] "data.frame" +[1] "column_x" "column_y" + column_x column_y + 2 bar 3 + 3 baz 7 +``` +::: + +An R `data.frame` can also be converted into a D3 compatible JavaScript object: + +```javascript +const cars = await webR.evalR(`mtcars`); +await cars.toD3(); +``` + +::: {.output} +``` +[ + { mpg: 21, cyl: 6, disp: 160, ... }, + { mpg: 21, cyl: 6, disp: 160, ... }, + { mpg: 22.8, cyl: 4, disp: 108, ...}, + ... + { mpg: 21.4, cyl: 4, disp: 121, ...}, +] +``` +::: + +## WebAssembly toolchain upgrades + +We have updated our WebAssembly build system, upgrading the [Emscripten](https://emscripten.org) C/C++ compiler to version 3.1.47 and the [LLVM Flang](https://flang.llvm.org/docs/) Fortran compiler to be based on LLVM 18.1.1. As part of the work, webR now supports building under Nix using [flakes](https://nixos.wiki/wiki/Flakes), suggested and largely implemented by [@wch](https://github.com/wch). + +With this, source-code level reproducible builds of the webR WebAssembly binaries can be made, strengthening the argument for webR as a potential future platform for reproducible data science. + +### LLVM Flang + +To compile Fortran sources in the R source code[^fortran] for webR, we require a Fortran compiler that supports outputting WebAssembly objects. This is a surprisingly tricky business, and our current solution is to maintain a patched version of LLVM's `flang-new` compiler frontend. + +[^fortran]: There are also many R packages containing Fortran source code. + +In recent months, the patches we must make to LLVM Flang have become smaller and easier to manage as the LLVM team continues to improve the Flang frontend. While too long for this post, for those interested in exactly what changes we make to enable WebAssembly output, I have written a deep-dive blog post, [Fortran on WebAssembly](https://gws.phd/posts/fortran_wasm/). + +## Additional system libraries and Rust support + +Thanks to some great work by [@jeroen](https://github.com/jeroen) and [@yutannihilation](https://github.com/yutannihilation), this release of webR includes some additional WebAssembly system libraries and software in the webR Docker container. This includes numerical libraries such as [GSL](https://www.gnu.org/software/gsl/) and [GMP](https://gmplib.org), image manipulation tools such as [ImageMagick](https://imagemagick.org/), and a Rust compiler configured to build WebAssembly R packages containing Rust source code. + +A demonstration R package containing Rust code, compatible with webR, can be found at https://github.com/yutannihilation/savvy-webr-test/. + +An example Shiny app making use of the WebAssembly compiled ImageMagick library is shown below, with the source code at https://github.com/jeroen/shinymagick. + + + +## WebAssembly R package binaries + +With the introduction of additional system libraries and changes to the WebAssembly toolchain, the default webR package repository has also been refreshed. The repository tends to follow CRAN package releases, though is updated less frequently. **19452** WebAssembly R packages have been recompiled from source for this release, with **12969** packages, about 63% of CRAN, fully available[^3] for use in webR. + +As my usual caveat goes, we have not been able to test all the available packages. Feel free to try your favourite package in the [webR app](https://webr.r-wasm.org/v0.3.1/) and let us know in a [GitHub issue](https://github.com/r-wasm/webr/issues) if there is a problem. + +[^3]: Here "available" means that both a binary build of an R package and all of its dependencies can be downloaded from the repository. + +The [package repository index](https://repo.r-wasm.org) contains further information and a searchable list of WebAssembly R packages. In addition, [R-Universe](https://r-universe.dev) also builds webR-compatible binaries and so can be used as an alternative repository for access to even more R packages. + +### Building custom WebAssembly R packages + +If you'd like to build your own R packages for webR, the [rwasm](https://r-wasm.github.io/rwasm/) package provides functions to help compile R packages for WebAssembly, manage repositories, and prepare webR-compatible filesystem images. + +We've also started building [reusable workflows for GitHub Actions](https://github.com/r-wasm/actions/). If you have an R package with source code hosted on GitHub, an action can be added to your repository such that a WebAssembly version of your package will be built automatically by a GitHub runner on package release. + +## Acknowledgements + +Thank you, as always, to the users and developers contributing to webR in the form of discussion in issues, bug reports, and pull requests. + +[@adrianolszewski](https://github.com/adrianolszewski), [@christianp](https://github.com/christianp), [@coatless](https://github.com/coatless), [@ColinFay](https://github.com/ColinFay), [@drgomulka](https://github.com/drgomulka), [@erex](https://github.com/erex), [@gitdemont](https://github.com/gitdemont), [@gorkang](https://github.com/gorkang), [@isbool](https://github.com/isbool), [@JeremyPasco](https://github.com/JeremyPasco), [@jeroen](https://github.com/jeroen), [@JosiahParry](https://github.com/JosiahParry), [@Luke-Symes-Tsy](https://github.com/Luke-Symes-Tsy), [@maek-ies](https://github.com/maek-ies), [@MaybeJustJames](https://github.com/MaybeJustJames), [@ravinder387](https://github.com/ravinder387), [@StaffanBetner](https://github.com/StaffanBetner), [@SugarRayLua](https://github.com/SugarRayLua), [@takahser](https://github.com/takahser), [@tim-newans](https://github.com/tim-newans), [@timelyportfolio](https://github.com/timelyportfolio), [@tstubbs-evolution](https://github.com/tstubbs-evolution), [@yhm-amber](https://github.com/yhm-amber), [@yii-iiy](https://github.com/yii-iiy), [@yutannihilation](https://github.com/yutannihilation), and [@zhangwenda0518](https://github.com/zhangwenda0518). + diff --git a/content/blog/webr-0-3-1/index.md b/content/blog/webr-0-3-1/index.md new file mode 100644 index 000000000..6e85f3914 --- /dev/null +++ b/content/blog/webr-0-3-1/index.md @@ -0,0 +1,366 @@ +--- +output: hugodown::hugo_document + +slug: webr-0-3-1 +title: webR 0.3.1 +date: 2024-04-02 +author: George Stagg +description: > + webR 0.3.1 is now available at npm, GitHub, and via CDN. Take a look at + what's new in this release. + +photo: + url: https://unsplash.com/photos/purple-and-black-pyramid-wallpaper-k1bO_VTiZSs + author: Sandro Katalina + +# one of: "deep-dive", "learn", "package", "programming", "roundup", or "other" +categories: [package] +tags: [webr, webassembly, wasm] +rmd_hash: 882ab46270b7d497 + +--- + + + +{{< webr-init >}} + + +
+ +
+ + + +
+ + + +
+ +We're delighted to announce the release of [webR](https://docs.r-wasm.org/webr/latest/) 0.3.1. This release brings bug fixes, infrastructure upgrades, and exciting improvements to webR's API for creating R objects and evaluating R code from JavaScript. These new features make integrating webR with existing JavaScript frameworks such as [Observable](https://observablehq.com) a breeze. + +You can install the latest release from [npm](https://www.npmjs.com/package/webr) with the command: + + npm i webr@0.3.1 + +or if you're using JavaScript modules to import webR directly from CDN: + +``` javascript +import { WebR } from 'https://webr.r-wasm.org/v0.3.1/webr.mjs'; +``` + +A summary of changes is described below, with the full [release notes](https://github.com/r-wasm/webr/releases) on GitHub. + +## Evaluating R code from JavaScript + +The underlying interpreter powering webR is built from the same source code as R itself, with patches applied so that it can run in the WebAssembly environment. With this release, we have rebased our patches on the latest stable version of R[^1]. By keeping our source in sync, improvements and bug fixes made by the R Core Team also benefit any project making use of webR. + +WebR's core functionality is to evaluate R code from a JavaScript environment. As such, it is imperative that this works well, even with large and complex scripts. The [webR app](https://webr.r-wasm.org/v0.3.1/) has been updated to better handle large R scripts, and scripts longer than 4096 characters should no longer cause strange issues in the R console. + +### Loading WebAssembly packages + +The package management functions provided by webR have been expanded and improved. We set up webR with shims (interceptors) for [`install.packages()`](https://rdrr.io/r/utils/install.packages.html), [`library()`](https://rdrr.io/r/base/library.html), and [`require()`](https://rdrr.io/r/base/library.html) so that installing or loading R packages automatically downloads WebAssembly binaries from the [webR package repository](https://repo.r-wasm.org). Also, it is no longer required to run the [`library()`](https://rdrr.io/r/base/library.html) command a second time to subsequently load the package. + +In this interactive example, webR is configured to automatically install WebAssembly packages. Click "Run code" to download the packages listed in the R script. + +
+ +{{< webr-editor code=`# Explicitly install wasm packages\ninstall.packages("cli")\n\n# Automatically install wasm packages\nlibrary(vctrs)\nrequire(jsonlite)\n\n# Confirm the packages installed successfully\nrownames(installed.packages())` width=504 height=311.472 >}} + +
+ +See the [documentation](https://docs.r-wasm.org/webr/latest/packages.html) for more details on how to control this behaviour in your own webR-powered applications, including optionally showing an interactive download menu to the user. + +### Error handling and reporting + +Improvements have been made to how webR raises R conditions as JavaScript exceptions. Exceptions now include the offending source R call in the error message text, better matching what is shown in a traditional R console. + +``` javascript +await webR.evalR("sin('abc')"); +``` + +
+ + Uncaught Error: Error in sin("abc"): non-numeric argument to mathematical function + +
+ +Conditions raised when invoking function objects are now also re-thrown as JavaScript exceptions, rather than a generic `UnwindProtectException` error. Compare the error messages shown below from the previous and latest versions of webR to see the useful context added by this change. + +``` javascript +// webR 0.2.2 +const do_calc = await webR.evalR(`function (n) { rnorm(n) }`) +do_calc(-10) +``` + +
+ + Uncaught (in promise) UnwindProtectException: A non-local transfer of control occured during evaluation + +
+ +``` javascript +// webR 0.3.1 +const do_calc = await webR.evalR(`function (n) { rnorm(n) }`) +do_calc(-10) +``` + +
+ + Uncaught (in promise) Error: Error in rnorm(n): invalid arguments + +
+ +Some base R features can be problematic when running R under WebAssembly. For example, in the constrained WebAssembly sandbox the base R function [`system()`](https://rdrr.io/r/base/system.html) does not work. The latest release of webR now handles these cases more consistently, raising R [`stop()`](https://rdrr.io/r/base/stop.html) conditions rather than incorrectly returning an empty result. + +``` r +# webR 0.3.1 +system() +``` + +
+ + Error in webr_hook_system(command) : + The "system()" function is unsupported under Emscripten. + +
+ +## Capturing HTML canvas graphics output + +The [`captureR()`](https://docs.r-wasm.org/webr/latest/evaluating.html#evaluating-r-code-and-capturing-output-with-capturer) function is designed to capture output generated when evaluating R code. In addition to capturing standard text output, details about errors and other R conditions are also captured. With this release, plots drawn using webR's HTML canvas graphics device, [`webr::canvas()`](https://rdrr.io/pkg/webr/man/canvas.html), are also captured and returned by default. + +``` javascript +// Evaluate R code, capturing all output +const capture = await webR.globalShelter.captureR(` + x <- rnorm(10000) + print(x[1]) + hist(x) +`); +console.log(capture); +``` + +
+ + { + result: Proxy(Object), + output: [ + { type: 'stdout', data: '[1] 0.7612882' }, + ], + images: [ ImageBitmap ], + } + +
+ +Captured plots are returned as an array of [`ImageBitmap`](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap) JavaScript objects in the `images` property. This interface represents a bitmap image in a way that can be efficiently drawn to a HTML [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas) element. + +This change makes plotting consistent with other forms of R output and simplifies the process when working with multiple independent R code blocks and output images. See the webR documentation on [evaluating R code](https://docs.r-wasm.org/webr/latest/evaluating.html#evaluating-r-code-and-capturing-output-with-capturer) for further details, and this [Observable notebook](https://observablehq.com/d/ec99bb89a4c646ab) for an example of capturing R plots from JavaScript. + +### Graphics device bug fixes + +In addition to adding the ability to capture graphics output, the [`webr::canvas()`](https://rdrr.io/pkg/webr/man/canvas.html) graphics device has also had various bug fixes made to better implement R base graphics. The easiest way to demonstrate is probably by example: + +
+ +{{< webr-editor code=`# The lty and lwd graphical properties now work correctly\nplot(1:10, type = "l", lty = 2, lwd = 3)\npoints(1:10, cex = 3, lwd = 2)` width=504 height=311.472 >}} + +
+ +
+ +{{< webr-editor code=`# The cex graphical property is now taken into account\n# when calculating font sizes\nplot(1, main = "This is a large title", cex.main = 3)` width=504 height=311.472 >}} + +
+ +
+ +{{< webr-editor code=`# Rasters with negative width or height are now correctly\n# drawn mirrored and flipped.\ninstall.packages("jpeg")\nlogo = jpeg::readJPEG(system.file(package = "jpeg", "img", "Rlogo.jpg"))\nplot(NULL, xlab = "", ylab = "", xlim = c(0, 1), ylim = c(0, 1))\n\nrasterImage(logo, xleft = 0.2, xright = 0.5, ybottom = 0.5, ytop = 1)\nrasterImage(logo, xleft = 0.8, xright = 0.5, ybottom = 0.5, ytop = 1)\nrasterImage(logo, xleft = 0.2, xright = 0.5, ybottom = 0.5, ytop = 0)\nrasterImage(logo, xleft = 0.8, xright = 0.5, ybottom = 0.5, ytop = 0)` width=504 height=311.472 >}} + +
+ +## The R object interface + +The R object interface provided by webR has been expanded to support the conversion of more types of JavaScript objects into R objects. Such conversions are automatically applied when interacting with the R environment from JavaScript. + +### Raw vectors + +JavaScript objects of type `TypedArray`, `ArrayBuffer`, and `ArrayBufferView` (e.g. [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)) may now be used to construct R objects. By default, objects of this type are converted to R raw atomic vectors. This simplifies the transfer of binary data to R. + +``` javascript +const data = new Uint8Array([4, 12, 8, 24, 15, 12]); +// Print data's R object class and an example byte +await webR.evalR(` + class(data) + data[2] +`, { withAutoprint: true, env: { data } }); +``` + +
+ + [1] "raw" + [1] 0c + +
+ +### R `data.frame` + +JavaScript objects of shape `{ x: [...], y: [...] }`, with data in a "long" column-based form, can now be used to construct R objects. In previous versions of webR, this object shape was reserved for future use. However, with this release webR now constructs an R `data.frame` by taking the source object's properties as column vectors. The resulting `data.frame` can then be manipulated from R in the usual way: + +``` javascript +const data = { column_x: ["foo", "bar", "baz"], column_y: [1, 3, 7] } +await webR.evalR(` + class(data) + colnames(data) + data[2:3,] +`, { withAutoprint: true, env: { data } }); +``` + +
+ + [1] "data.frame" + [1] "column_x" "column_y" + column_x column_y + 2 bar 3 + 3 baz 7 + +
+ +Similarly, an R `data.frame` can be converted back into a JavaScript object of this form: + +``` javascript +const cars = await webR.evalR(`mtcars`); +await cars.toObject(); +``` + +
+ + { + am: [1, 1, 1, ..., 1], + carb: [4, 4, 1, ..., 2], + cyl: [6, 6, 4, ..., 4] + ..., + wt: [2.62, 2.875, 2.32, ..., 2.78], + } + +
+ +### D3 "wide" format + +In JavaScript, particularly when using frameworks built upon [D3](https://d3js.org), it is typical to work with data in a "wide" form: an array of objects per row, each including all the column names and values. With this release, webR can also convert JavaScript objects in this form into an R `data.frame`. + +The following example loads the same data as shown in the previous example but expressed in the "wide" form. + +``` javascript +const data = [ + { column_x: "foo", column_y: 1 }, + { column_x: "bar", column_y: 3 }, + { column_x: "baz", column_y: 7 }, +]; +await webR.evalR(` + class(data) + colnames(data) + data[2:3,] +`, { withAutoprint: true, env: { data } }); +``` + +
+ + [1] "data.frame" + [1] "column_x" "column_y" + column_x column_y + 2 bar 3 + 3 baz 7 + +
+ +An R `data.frame` can also be converted into a D3 compatible JavaScript object: + +``` javascript +const cars = await webR.evalR(`mtcars`); +await cars.toD3(); +``` + +
+ + [ + { mpg: 21, cyl: 6, disp: 160, ... }, + { mpg: 21, cyl: 6, disp: 160, ... }, + { mpg: 22.8, cyl: 4, disp: 108, ...}, + ... + { mpg: 21.4, cyl: 4, disp: 121, ...}, + ] + +
+ +## WebAssembly toolchain upgrades + +We have updated our WebAssembly build system, upgrading the [Emscripten](https://emscripten.org) C/C++ compiler to version 3.1.47 and the [LLVM Flang](https://flang.llvm.org/docs/) Fortran compiler to be based on LLVM 18.1.1. As part of the work, webR now supports building under Nix using [flakes](https://nixos.wiki/wiki/Flakes), suggested and largely implemented by [@wch](https://github.com/wch). + +With this, source-code level reproducible builds of the webR WebAssembly binaries can be made, strengthening the argument for webR as a potential future platform for reproducible data science. + +### LLVM Flang + +To compile Fortran sources in the R source code[^2] for webR, we require a Fortran compiler that supports outputting WebAssembly objects. This is a surprisingly tricky business, and our current solution is to maintain a patched version of LLVM's `flang-new` compiler frontend. + +In recent months, the patches we must make to LLVM Flang have become smaller and easier to manage as the LLVM team continues to improve the Flang frontend. While too long for this post, for those interested in exactly what changes we make to enable WebAssembly output, I have written a deep-dive blog post, [Fortran on WebAssembly](https://gws.phd/posts/fortran_wasm/). + +## Additional system libraries and Rust support + +Thanks to some great work by [@jeroen](https://github.com/jeroen) and [@yutannihilation](https://github.com/yutannihilation), this release of webR includes some additional WebAssembly system libraries and software in the webR Docker container. This includes numerical libraries such as [GSL](https://www.gnu.org/software/gsl/) and [GMP](https://gmplib.org), image manipulation tools such as [ImageMagick](https://imagemagick.org/), and a Rust compiler configured to build WebAssembly R packages containing Rust source code. + +A demonstration R package containing Rust code, compatible with webR, can be found at . + +An example Shiny app making use of the WebAssembly compiled ImageMagick library is shown below, with the source code at . + + + +## WebAssembly R package binaries + +With the introduction of additional system libraries and changes to the WebAssembly toolchain, the default webR package repository has also been refreshed. The repository tends to follow CRAN package releases, though is updated less frequently. **19452** WebAssembly R packages have been recompiled from source for this release, with **12969** packages, about 63% of CRAN, fully available[^3] for use in webR. + +As my usual caveat goes, we have not been able to test all the available packages. Feel free to try your favourite package in the [webR app](https://webr.r-wasm.org/v0.3.1/) and let us know in a [GitHub issue](https://github.com/r-wasm/webr/issues) if there is a problem. + +The [package repository index](https://repo.r-wasm.org) contains further information and a searchable list of WebAssembly R packages. In addition, [R-Universe](https://r-universe.dev) also builds webR-compatible binaries and so can be used as an alternative repository for access to even more R packages. + +### Building custom WebAssembly R packages + +If you'd like to build your own R packages for webR, the [rwasm](https://r-wasm.github.io/rwasm/) package provides functions to help compile R packages for WebAssembly, manage repositories, and prepare webR-compatible filesystem images. + +We've also started building [reusable workflows for GitHub Actions](https://github.com/r-wasm/actions/). If you have an R package with source code hosted on GitHub, an action can be added to your repository such that a WebAssembly version of your package will be built automatically by a GitHub runner on package release. + +## Acknowledgements + +Thank you, as always, to the users and developers contributing to webR in the form of discussion in issues, bug reports, and pull requests. + +[@adrianolszewski](https://github.com/adrianolszewski), [@christianp](https://github.com/christianp), [@coatless](https://github.com/coatless), [@ColinFay](https://github.com/ColinFay), [@drgomulka](https://github.com/drgomulka), [@erex](https://github.com/erex), [@gitdemont](https://github.com/gitdemont), [@gorkang](https://github.com/gorkang), [@isbool](https://github.com/isbool), [@JeremyPasco](https://github.com/JeremyPasco), [@jeroen](https://github.com/jeroen), [@JosiahParry](https://github.com/JosiahParry), [@Luke-Symes-Tsy](https://github.com/Luke-Symes-Tsy), [@maek-ies](https://github.com/maek-ies), [@MaybeJustJames](https://github.com/MaybeJustJames), [@ravinder387](https://github.com/ravinder387), [@StaffanBetner](https://github.com/StaffanBetner), [@SugarRayLua](https://github.com/SugarRayLua), [@takahser](https://github.com/takahser), [@tim-newans](https://github.com/tim-newans), [@timelyportfolio](https://github.com/timelyportfolio), [@tstubbs-evolution](https://github.com/tstubbs-evolution), [@yhm-amber](https://github.com/yhm-amber), [@yii-iiy](https://github.com/yii-iiy), [@yutannihilation](https://github.com/yutannihilation), and [@zhangwenda0518](https://github.com/zhangwenda0518). + +[^1]: The latest stable release at the time of writing: [R 4.3.3 --- "Angel Food Cake"](https://cran.rstudio.com/doc/manuals/r-release/NEWS.html) + +[^2]: There are also many R packages containing Fortran source code. + +[^3]: Here "available" means that both a binary build of an R package and all of its dependencies can be downloaded from the repository. + diff --git a/content/blog/webr-0-3-1/thumbnail-sq.jpg b/content/blog/webr-0-3-1/thumbnail-sq.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b36ea1bb678c9a822d2b9fb372d4e4325a7e898 GIT binary patch literal 58384 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

}}4hpw1 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�!EumDWGn4Gk^5o=fdrWCs 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

2ACC=LCox<0^FOAjY!8$RU&zi~s~K5M_SlXu*% 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

    -yK99)y+EwUvRHX&CbTrJ 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 b2}&sAS9s_yo%YC*UpmgC=CY{y{{a8l_u?z{ literal 0 HcmV?d00001 diff --git a/layouts/shortcodes/webr-editor.html b/layouts/shortcodes/webr-editor.html index 984073040..005daee10 100644 --- a/layouts/shortcodes/webr-editor.html +++ b/layouts/shortcodes/webr-editor.html @@ -27,6 +27,7 @@ withAutoprint: true, captureStreams: true, captureConditions: false, + captureGraphics: false, env: {}, }); try { @@ -35,6 +36,17 @@ evt => evt.type == 'stdout' || evt.type == 'stderr' ).map((evt) => evt.data).join('\n'); + outputDiv.innerHTML = ''; + const pre = document.createElement("pre"); + if (/\S/.test(out)) { + const code = document.createElement("code"); + code.innerText = out; + pre.appendChild(code); + } else { + pre.style.visibility = 'hidden'; + } + outputDiv.appendChild(pre); + const msgs = await webR.flush(); msgs.forEach(msg => { if (msg.type === 'canvas'){ @@ -49,26 +61,13 @@ canvas.style.width="700px"; canvas.style.display="block"; canvas.style.margin="auto"; + // Add it to the output block + const p = document.createElement("p"); + p.appendChild(canvas); + outputDiv.appendChild(p); } } }); - - outputDiv.innerHTML = ''; - const pre = document.createElement("pre"); - if (/\S/.test(out)) { - const code = document.createElement("code"); - code.innerText = out; - pre.appendChild(code); - } else { - pre.style.visibility = 'hidden'; - } - outputDiv.appendChild(pre); - - if (canvas) { - const p = document.createElement("p"); - p.appendChild(canvas); - outputDiv.appendChild(p); - } } finally { webRCodeShelter.purge(); runButton.disabled = false; diff --git a/layouts/shortcodes/webr-init.html b/layouts/shortcodes/webr-init.html index 8240c4c6a..901fa7380 100644 --- a/layouts/shortcodes/webr-init.html +++ b/layouts/shortcodes/webr-init.html @@ -12,11 +12,12 @@