2D vector & raster editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow. https://graphite.rs
Find a file
nat-rix f76b850b9c Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250)
* Create asynchronous rust imaginate node

* Make a first imaginate request via rust

* Implement parsing of imaginate API result image

* Stop refresh timer from affecting imaginate progress requests

* Add cargo-about clarification for rustls-webpki

* Delete imaginate.ts and all uses of its functions

* Add imaginate img2img feature

* Fix imaginate random seed button

* Fix imaginate ui inferring non-custom resolutions

* Fix the imaginate progress indicator

* Remove ImaginatePreferences from being compiled into node graph

* Regenerate imaginate only when hitting button

* Add ability to terminate imaginate requests

* Add imaginate server check feature

* Do not compile wasm_bindgen bindings in graphite_editor for tests

* Address some review suggestions

- move wasm futures dependency in editor to the future-executor crate
- guard wasm-bindgen in editor behind a `wasm` feature flag
- dont make seed number input a slider
- remove poll_server_check from process_message function beginning
- guard wasm related code behind `cfg(target_arch = "wasm32")` instead
  of `cfg(test)`
- Call the imaginate idle states "Ready" and "Done" instead of "Nothing
  to do"
- Call the imaginate uploading state "Uploading Image" instead of
  "Uploading Input Image"
- Remove the EvalSyncNode

* Fix imaginate host name being restored between graphite instances

also change the progress status texts a bit.

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-06-09 09:03:15 +02:00
.github Lay groundwork for directly rendering to the canvas without a cpu roundrip (#1291) 2023-06-07 17:13:21 +02:00
.vscode Remove all references to Vue 2023-03-10 04:02:02 -08:00
docs Rename the legacy Graphene crate to document-legacy (#899) 2022-12-22 02:12:05 -08:00
document-legacy Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250) 2023-06-09 09:03:15 +02:00
editor Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250) 2023-06-09 09:03:15 +02:00
frontend Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250) 2023-06-09 09:03:15 +02:00
libraries Remove warnings from build and satisfied clippy (#1288) 2023-06-07 14:46:47 +05:30
node-graph Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250) 2023-06-09 09:03:15 +02:00
proc-macros Update Imaginate to output bitmap data to the graph via Image Frame node (#1001) 2023-02-11 08:56:31 +00:00
website Remove warnings from build and satisfied clippy (#1288) 2023-06-07 14:46:47 +05:30
.editorconfig Remove all references to Vue 2023-03-10 04:02:02 -08:00
.gitattributes Add npm start script alias for npm run serve 2022-01-12 06:14:32 -08:00
.gitignore Restructure GPU compilation execution pipeline (#903) 2022-12-31 02:52:04 +01:00
.gitmodules Add dyn-any as a submodule 2022-08-02 11:52:08 +02:00
.nvmrc Switch to Node.js 16 LTS, upgrade TypeScript, ESLint, and other dependencies (#395) 2021-11-29 03:32:09 -08:00
about.hbs Do not silently install cargo-about. (#377) 2021-09-19 16:58:04 +02:00
about.toml Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250) 2023-06-09 09:03:15 +02:00
Cargo.lock Fix Imaginate by porting its JS roundtrip code to graph-based async execution in Rust (#1250) 2023-06-09 09:03:15 +02:00
Cargo.toml Remove unsafe code and clean up the code base in general (#1263) 2023-06-02 11:05:32 +02:00
deny.toml Restructure GPU execution to model GPU pipelines in the node graph (#1088) 2023-04-23 10:18:31 +02:00
LICENSE.txt Add Apache 2 license 2020-07-12 13:58:50 -07:00
package.json Readd alias package.json 2023-04-25 00:58:53 +02:00
README.md Update the website with some new content 2023-04-05 02:34:16 -07:00
rustfmt.toml Upgrade rustfmt to 2021 edition 2021-11-02 20:08:39 -07:00

Graphite logo

Redefining state-of-the-art graphics editing

Graphite is an in-development raster and vector 2D graphics editor that is free and open source. It is powered by a node graph compositing engine that supercharges your layer stack, providing a completely non-destructive editing experience.

Graphite is a lightweight vector graphics editor that runs in your browser. Its nascent node-based compositor lets you apply raster effects and co-create amazing art with AI in a non-destructive workflow. Fully-featured raster image editing and a native desktop application are the current focus of development and will be made available in the coming months.

Launch the latest alpha release of the Graphite editor and learn more on the project website.

Please remember to star this project here on GitHub!

Vector artwork: "Valley of Spires"

Discord community

Join our Discord community to chat with the community and development team. Feel free to lurk, ask questions, give suggestions, or get involved in the project. We are always seeking new collaborators to help test, design, and develop the software and this is where we communicate.

Building/contributing

We need Rust and web developers! See instructions here for setting up the project and getting started.

We are also in search of artists to create beautiful sample work in Graphite and illustrations for the website and social media. Please get in touch if you are able to help out.

Feature and roadmap

See the web page for this information.

Support the project

Please consider pledging a monthly donation using the "♥ Sponsor" button to the right part of this project repository page. Your contribution helps sustain this volunteer-run open source project and brings powerful, free creative tools to the masses.