diff --git a/content/posts/newsletter-013/index.md b/content/posts/newsletter-013/index.md index 5ab0cf984..ca4760ee4 100644 --- a/content/posts/newsletter-013/index.md +++ b/content/posts/newsletter-013/index.md @@ -258,6 +258,34 @@ _Discussions: [@sebcrozet]: https://github.com/sebcrozet/ [nphysics]: https://nphysics.org +### [NeoCogi's Libraries][neocogi-repo] + +![Jude3D](jude3d.png) + +[Jude3D](https://neocogi.com) is a web based 3D sculpting application. +It's a WebAssembly application, written in C/C++ and compiled using Emscripten +but after much thinking the authors decided to move the development to Rust! + +Many problems arise when moving existing C/C++/WebAssembly code to Rust. +The two most important ones: + +- The new code should still interop with the already existing code. +- Payload size matters on the web: your WASM app should be as small as possible. + +These led the authors to drop using Rust's std in favor to their own libs (`!#[no_std]`), +at least until the std library crates are split up accordingly and stabilized, +for example the `alloc` crate. + +The good news is that they are +[releasing most of the libraries as they make them as open source][neocogi-repo]! +Also, a [WASM glfw3/GLES2 example][neocogi-example-src] that showcases the libs +is included ([live demo][neocogi-example-demo]). + +[Jude3D in action]: https://twitter.com/weloraiby/status/1167228654922928130 +[neocogi-repo]: https://github.com/NeoCogi +[neocogi-example-src]: https://github.com/NeoCogi/rs-glfw3-gles2-test +[neocogi-example-demo]: https://neocogi.github.io/rs-glfw3-gles2-test + ### [cute-c2] ![cute-c2 collision](cute-c2-collision.gif) diff --git a/content/posts/newsletter-013/jude3d.png b/content/posts/newsletter-013/jude3d.png new file mode 100644 index 000000000..fe9c9656e Binary files /dev/null and b/content/posts/newsletter-013/jude3d.png differ