wander
Graphite
wander | Graphite | |
---|---|---|
2 | 46 | |
643 | 7,205 | |
5.1% | 5.2% | |
8.7 | 9.6 | |
about 1 month ago | 3 days ago | |
C | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wander
-
Show HN: A simple 2D fluid and gravity simulation with WASM and WebGL
very cool! if you're exploring wasm for graphics, take a look at Wander- lets you create and execute "renderlets" — portable modules containing graphics data and code compiled to wasm https://github.com/renderlet/wander
-
3D and 2D: Testing out my cross-platform graphics engine
I used to work at Adobe on the infrastructure powering big applications like Photoshop and Acrobat. One of our worst headaches was making these really powerful codebases work on desktop, web, mobile, and the cloud without having to completely rewrite them. For example, to get Lightroom and Photoshop working on the web we took a winding path through JavaScript, Google’s PNaCl, asm.js, and finally WebAssembly, all while having to rethink our GPU architecture around these devices. We even had to get single-threaded builds working and rebuild the UI around Web Components. Today the web builds work great, but it was a decade-long journey to get there!
The graphics stack continues to be one of the biggest bottlenecks in portability. One day I realized that WebAssembly (Wasm) actually held the solution to the madness. It’s runnable anywhere, embeddable into anything, and performant enough for real-time graphics. So I quit my job and dove into the adventure of creating a portable, embeddable WASM-based graphics framework from the ground up: high-level enough for app developers to easily make whatever graphics they want, and low-level enough to take full advantage of the GPU and everything else needed for a high-performance application.
I call it Renderlet to emphasize the embeddable aspect — you can make self-contained graphics modules that do just what you want, connect them together, and make them run on anything or in anything with trivial interop.
If you think of how Unity made it easy for devs to build cross-platform games, the idea is to do the same thing for all visual applications.
Somewhere along the way I got into YC as a solo founder (!) but mostly I’ve been heads-down building this thing for the last 6 months. It’s not quite ready for an open alpha release, but it’s close - close enough that I’m ready to write about it, show it off, and start getting feedback. This is the thing I dreamed of as an application developer, and I want to know what you think!
When Rive open-sourced their 2D vector engine and made a splash on HN a couple weeks ago (https://news.ycombinator.com/item?id=39766893), I was intrigued. Rive’s renderer is built as a higher-level 2D API similar to SVG, whereas the Wander renderer (the open-source runtime part of Renderlet) exposes a lower-level 3D API over the GPU. Could Renderlet use its GPU backend to run the Rive Renderer library, enabling any 3D app to have a 2D vector backend? Yes it can - I implemented it!
You can see it working here: https://vimeo.com/929416955 and there’s a deep technical dive here: https://github.com/renderlet/wander/wiki/Using-renderlet-with-rive%E2%80%90renderer. The code for my runtime Wasm Renderer (a.k.a. Wander) is here: https://github.com/renderlet/wander.
I’ll come back and do a proper Show HN or Launch HN when the compiler is ready for anyone to use and I have the integration working on all platforms, but I hope this is interesting enough to take a look at now. I want to hear what you think of this!
Graphite
- 3D and 2D: Testing out my cross-platform graphics engine
-
Canva acquires Affinity, its biggest acquisition, to compete with Adobe
There is also Graphite (https://graphite.rs/) which, unlike Gimp, has a modern architecture and very ambitious goals (Blender for 2D basically).
-
Any good beginner open source projects for a guy with a math background?
If you're interested in either computational geometry, layout/packing/constraints, or functional programming language concepts, those are all the math-related concepts that we're currently interacting with for Graphite, a 2D vector graphics editor that's aiming to become the next Blender (but for 2D instead of 3D). If that sounds interesting, I'd love to help get you started if you want to join our Discord and I can explain the math-related work that we need to get done. Cheers!
- Graphite: 2D Raster and Vector Editor
-
Things I wish I knew before moving 50K lines of code to React Server Components
Not sure which web-based spreadsheet app you're talking about, because there are many that do use these frameworks. Here's a PS/AI clone built with a Svelte frontend: https://graphite.rs
- Redefining state-of-the-art graphics editing
- Graphite: Open-source raster and vector 2D graphics editor
- Graphite: In-development raster and vector 2D graphics editor that is FOSS
-
What’s everyone working on this week (25/2023)?
Wanted to contribute to a good Rust-based project last week, started searching and found a good Reddit thread featuring several great projects. Looked at and found Graphite. I liked the concept though I know almost nothing about graphic design.
-
New release for the Rust diffusers crate (Stable Diffusion in Rust + Torch), now with basic ControlNet support!
I'm currently trying to decide on the SD server to deploy with Graphite, both for running locally (with Tauri desktop builds) and for us to host on a server for users.
What are some alternatives?
armortools - 3D Content Creation Tools
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
Method-Draw - Method Draw, the SVG Editor for Method of Action
GimelStudio - Non-destructive, node based 2D image editor with an API for custom nodes
Gimel-Studio - Old repo of the node-based image editor. See https://github.com/GimelStudio/GimelStudio for the next generation of Gimel Studio :rocket:
bevy - A refreshingly simple data-driven game engine built in Rust
burn - Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals. [Moved to: https://github.com/Tracel-AI/burn]
Rete.js - Rete.js is a framework for creating visual interfaces and workflows. It provides out-of-the-box solutions for visualization using various libraries and frameworks, as well as solutions for processing graphs based on dataflow and control flow approaches.
miso - :ramen: A tasty Haskell front-end framework
stegano-rs - A cross-platform command line tool for steganography focused on performance and simplicity written in rust-lang.
stablediffusion - High-Resolution Image Synthesis with Latent Diffusion Models
PhotoDemon - A free portable photo editor focused on pro-grade features, high performance, and maximum usability.