Keavon

Joined 4 years ago

Karma
361
Submissions
61
Member since
Feb 11
https://keavon.com
View on Hacker News

Recent submissions

Comment · 1 year ago
This Developer Voices podcast interview digs into the juicy details of building a graphics engine in Rust through the lens of a purpose-built programming language made for graphics pipelines. This language, Graphene, is built on top of the Rust language and supports both JIT and ahead-of-time-`rustc`compilation of reusable image editing pipelines down to standalone programs (like full screen apps or CLIs akin to ImageMagick) and embedding in other apps like games or websites. And built on top of that language/engine, we talk about how our open source Graphite ( https://graphite.rs/ ) editor is being built to offer a credible alternative to creative apps like Photoshop and Inkscape.

In short, we're building an approachable, artist-friendly graphics editor that allows technical users to dig into its underlying technical details. Instead of picking one focus—like vector, raster, painting, photo processing, or animation—we're generalizing the technology and building something that's more like a "game engine" for universal graphics processing, where artist-friendly editing tools act like the "coding environment" or "IDE" for the underlying graphics programming language. Artists use industry-standard workflows to draw their artwork, and Graphite automatically sets up the Graphene node graph "code" behind the scenes for rendering their creations.

If your interest is piqued in languages/compilers, graphics programming, or rendering techniques and you're looking for a summer internship, applications are open for GSoC 2025 ( https://graphite.rs/volunteer/guide/student-projects/ ) working with us to build a better Graphene and Graphite, especially focused on the infrastructure for GPU-accelerated raster rendering. Get in touch (Discord is best) to tell us your background if that's of interest. We'll especially be prioritizing applicants with a languages/compilers and low-level GPU (WGPU, Vulkan, OpenGL, etc.) programming background. Even if you're not looking for an internship, but you can lend a hand with a compilers/graphics/game engines background, this is the area we are most bottlenecked on so your open source contributions would go tremendously far in helping us achieve our mission to recreate Blender's success, but in the 2D creative software domain.

Comment · 1 year ago
Comment · 1 year ago
Comment · 1 year ago
Graphite creator here, AMA!
Comment · 2 years ago
Thanks, we'd love to assist you in getting involved with contributing to our project! It's something we take pride in, making it more accessible than most other open source projects to begin contributing to. Come join our Discord (link is on the website home page) and introduce yourself like in your comment here. Cheers!
Comment · 2 years ago
I believe that's plausibly within the range is possible outcomes— which isn't true for any other project like Gimp, which has had its window of opportunity rise and then set forever.
Comment · 2 years ago
First in the sense that there's nothing in the industry that's a real product. Certainly there are various experimental concepts people have made as a hobby in a limited capacity, but they don't really count as generally useful tool suites. There's nothing even from the commercial software side of the industry either, which I find surprising. But it gives our project an advantage.
Comment · 2 years ago
We will have a large variety of filters and a subset of them will be implementations of all the SVG filters. Separate to our regular raster render process that's used for displaying content to the screen, we'll have an SVG render process used for exporting the graph data to an SVG file. That process will be specifically designed to preserve the purity of the graph data representation such that it encodes all possible operations in the SVG format directly, and resorts to progressive degradation as required to approximate things SVG can't natively represent. That might mean rasterizing some unsupported raster filters, but the ones SVG supports would be used natively.
Comment · 2 years ago
Comment · 2 years ago
Ah yes, you made me realize we could check if the node graph isn't open and tell the user to report a bug in that situation, which must have arisen from a tool or other WYSIWYG aspect of the program causing a node graph error. But we wouldn't show it if it arose from the user just noodling around with the nodes. That's a good idea that'll be worth us implementing, thank you for the suggestion.
Comment · 2 years ago
You can save the document and reopen it later just like in any other program. You might not be able to reproduce the graph validity error anymore because we fixed the specific bug you encountered. The input hints bar at the bottom shows what buttons you can press in any context, but that's a good idea to mention it in upcoming tutorials because I've noticed that users tend to ignore it. Hover tooltips and the app menu also both display shortcuts, which are worth pointing out in future tutorials as well. Thanks for that suggestion.
Comment · 2 years ago
We have this for crash reports. Perhaps that's a good idea to add a menu button for reporting other bugs. Do you have suggestions as to how to make that discoverable?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton