Go to file
Nikita-str f25038067e
Path tool: sliding point insertion (#1581)
* #1578 sliding point works(1st approx)

TODO:
* don't move too close to the side points
* double click works incorrect?
* do we need to jump from segment to segment?

* #1578 disallow move slide point too close to side points

* fix double click + ctrl insertion

* #1578 select insertion point (except `ctrl` case)

* #1578 far depends on line width & more accurate seg finding

* #1578 insert point on most top suitable selected layer

* #1581 draw insertion point by overlay  + `Esc` abort

* #1581 sharp stay unchanged on double click

* #1581 fix incorrect handle of scaling

* #1581 `square` selection point & too close in px(instead of magic)

* #1581 bug fix: insertion point on unselection

* #1581 use `color: Option` instead of `SelectionType`

* Some code review, still need to review shape_editor.rs

* #1581 insert sharp point on a straight segment

Also correct insertion on quadratic segments

`ManipulatorGroup::have_handle` have such form because `handle = Some(self.anchor)` often used instead of `handle = None`

* Final code review pass

* Code review pass

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-05 08:45:25 +00:00
.devcontainer Add dev container configuration 2024-01-24 23:04:00 +00:00
.github Refactor Graphite dependency management (#1455) 2023-12-04 12:39:55 +01:00
.vscode Add dev container configuration 2024-01-24 23:04:00 +00:00
demo-artwork Copy to Points node: add scale/rotation randomization parameters (#1592) 2024-02-01 12:20:35 -08:00
editor Path tool: sliding point insertion (#1581) 2024-02-05 08:45:25 +00:00
frontend Fix long crash stack traces breaking the GitHub URL 2024-01-28 19:25:27 -08:00
libraries Path tool: sliding point insertion (#1581) 2024-02-05 08:45:25 +00:00
node-graph Add MemoizeImpure node and cache image base64 in graph (#1595) 2024-02-03 23:16:03 +01:00
proc-macros Refactor Graphite dependency management (#1455) 2023-12-04 12:39:55 +01:00
website Add Poisson-disk sampling node and Bezier-rs 0.4 release (#1586) 2024-01-28 02:25:46 -08:00
.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
.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 Fix floating point error with Poisson-disk points being sampled outside shape (#1596) 2024-02-04 17:16:16 +00:00
Cargo.toml Update dependencies and reuse the same usvg version 2024-01-17 20:33:07 -08:00
LICENSE.txt Add Apache 2 license 2020-07-12 13:58:50 -07:00
README.md Update website for the unified document graph release 2023-12-14 05:01:54 -08:00
about.hbs Replace license generator web infra to use Vite 2023-11-13 03:38:36 -08:00
about.toml Replace license generator web infra to use Vite 2023-11-13 03:38:36 -08:00
deny.toml Update dependencies and reuse the same usvg version 2024-01-17 20:33:07 -08:00
package-lock.json Add dev container configuration 2024-01-24 23:04:00 +00:00
package.json Readd alias package.json 2023-04-25 00:58:53 +02:00
rustfmt.toml Upgrade rustfmt to 2021 edition 2021-11-02 20:08:39 -07:00
shell.nix Add config for nix-shell (#1359) 2023-08-08 14:03:10 +02: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: "Valley of Spires"

Click here 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.