LEparagliding now running in the browser. The original Fortran source is compiled to WebAssembly and runs locally in a Web Worker: a static site, no backend.
Try it: https://victor314159.github.io/le-paragliding-web/
This application is an experimental browser port of LEparagliding. Errors may arise from the original software, the port, or the input data.
The results do not constitute a safety assessment or airworthiness certification. They must not be used as the sole basis for building or flying a wing. Any real-world use requires independent verification and appropriate testing by qualified individuals.
The software is provided without warranty, to the extent permitted by applicable law. See the GNU GPL v3 license.
Nothing is compiled in the browser. The Fortran source is compiled once, ahead of time, to WebAssembly: with flang 21 (the LLVM Fortran compiler) and Emscripten, on Linux in Docker (the r-wasm/flang-wasm toolchain). The page then downloads lepara.wasm (about 1.2 MB) and runs it in a Web Worker, on any OS with a recent browser.
gfortran
is still the reference: the same source is also compiled natively with
it, and the WASM outputs must match the native ones byte for byte, on
every example design (a few STL/SCAD files differ only by -0.000 vs 0.000, listed in oracle/wasm-known-diffs.tsv).
Getting there took a few small fixes to the source, mostly
out-of-bounds array accesses that each compiler resolved differently:
see fortran/patches.