Go to file
urisinger 9fb494764c
Add math-parser library (#2033)
* start of parser

* ops forgot

* reorder files and work on executer

* start of parser

* ops forgot

* reorder files and work on executer

* Cleanup and fix tests

* Integrate into the editor

* added unit checking at parse time

* fix tests

* fix issues

* fix editor intergration

* update pest grammer to support units

* units should be working, need to set up tests to know

* make unit type store exponants as i32

* remove scale, insted just multiply the literal by the scale

* unit now contains empty unit,remove options

* add more tests and implement almost all unary operators

* add evaluation context and variables

* function calling, api might be refined later

* add constants, change function call to not be as built into the parser
and add tests

* add function definitions

* remove meval

* remove raw-rs from workspace

* add support for numberless units

* fix unit handleing logic, add some "unit" tests(haha)

* make it so units cant do implcit mul with idents

* add bench and better tests

* fix editor api

* remove old test

* change hashmap context to use deref

* change constants to use hashmap instad of function

---------

Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-11-21 10:24:01 -08:00
.devcontainer Fix, document, and update npm dependencies and tooling; fix Bezier-rs demos not building (#1857) 2024-07-24 18:05:01 -07:00
.github Rename Raw-rs to Rawkit (#2088) 2024-11-03 08:10:39 +00:00
.vscode Correctly apply transforms to vector data and strokes (#1977) 2024-09-15 22:26:11 +00:00
demo-artwork Make Copy to Points and (Circular) Repeat and nodes output group data, and add flattening nodes (#2011) 2024-10-14 12:39:28 -07:00
editor Refactor collection of snap targets (#2114) 2024-11-20 22:27:49 -08:00
frontend Add math-parser library (#2033) 2024-11-21 10:24:01 -08:00
libraries Add math-parser library (#2033) 2024-11-21 10:24:01 -08:00
node-graph Upgrade and document the math operation nodes 2024-11-09 23:23:25 -08:00
proc-macros Restore functionality of GPU infrastructure (#1797) 2024-07-15 13:14:48 +00:00
website Update the website roadmap and other details 2024-11-20 10:31:25 -08:00
.editorconfig Remove all references to Vue 2023-03-10 04:02:02 -08:00
.gitattributes Update Git Attributes for JSON syntax highlighting in `*.graphite` files (#1752) 2024-05-13 22:35:32 +00:00
.gitignore Add profiling metrics for, and speed up, Graphene graph compilation (#1924) 2024-08-12 03:07:36 -07:00
.nvmrc Add dev container configuration 2024-01-24 23:04:00 +00:00
.prettierrc Fix Bezier-rs interactive demos and migrate its Webpack bundler to Vite 2024-01-04 23:13:40 -08:00
Cargo.lock Add math-parser library (#2033) 2024-11-21 10:24:01 -08:00
Cargo.toml Add math-parser library (#2033) 2024-11-21 10:24:01 -08:00
LICENSE.txt Add Apache 2 license 2020-07-12 13:58:50 -07:00
README.md Finalize GSoC 2024 project idea list 2024-02-11 21:20:00 -08:00
about.hbs Replace license generator web infra to use Vite 2023-11-13 03:38:36 -08:00
about.toml Migrate node graph UI interaction from frontend to backend (#1768) 2024-06-15 08:55:33 -07:00
deny.toml Migrate node graph UI interaction from frontend to backend (#1768) 2024-06-15 08:55:33 -07:00
package-lock.json Add dev container configuration 2024-01-24 23:04:00 +00:00
package.json Simplify build process by auto-installing npm packages and simplify the contributor guide (#1799) 2024-07-14 20:16:02 -07:00
rustfmt.toml Upgrade rustfmt to 2021 edition 2021-11-02 20:08:39 -07:00
shell.nix Rename Raw-rs to Rawkit (#2088) 2024-11-03 08:10:39 +00:00

README.md

Graphite logo

Redefining state-of-the-art graphics editing

Graphite is an in-development raster and vector graphics package that's free and open source. It is powered by a node graph compositing engine that fuses layers with nodes, providing a fully nondestructive editing experience.

Presently, Graphite is a lightweight vector graphics editor that runs in your browser. Its node-based compositor lets you apply image effects and co-create art with generative AI.

Photo editing, digital painting, desktop publishing, VFX compositing, and motion graphics are additional competencies planned on the roadmap to make Graphite a highly versatile content creation tool.

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

Please remember to star this project here on GitHub!

Vector artwork: "Red Dress"

Red Dress (click to open this artwork and explore it yourself)

Vector artwork: "Valley of Spires"

Valley of Spires (click to open this artwork and explore it yourself)

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.

By submitting code for inclusion in the project, you are agreeing to license your changes under the Apache 2.0 license, and that you have the authority to do so. Some directories may have other licenses, like dual-licensed MIT/Apache 2.0, and code submissions to those directories mean you agree to the applicable license(s).

Features and roadmap

See the web page for this information.

Support the project

Please consider pledging a monthly donation. Your contribution helps sustain this volunteer-run open source project and brings powerful, free creative tools to the masses.