diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3badac2..3867771 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,3 +5,8 @@ or changes that require design decisions (if there are no obviously best way to do the change, or there are significantly different possibilities of implementation) please open an issue first for discussion. +To find things that need doing, take a look at our +[issues](https://github.com/yds12/tarsila/issues), specially the ones marked +with +[help wanted](https://github.com/yds12/tarsila/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22). + diff --git a/Cargo.lock b/Cargo.lock index 0f5ae91..6761039 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -334,7 +334,8 @@ dependencies = [ [[package]] name = "egui-miniquad" version = "0.14.0" -source = "git+https://github.com/not-fl3/egui-miniquad?rev=474b8c825887dbe93dd7d28c62266a31ef55a6e8#474b8c825887dbe93dd7d28c62266a31ef55a6e8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c93b1e7505c5a4f7c362555758b8feb3ab5dc3bb3cda5e9a6805d46374d1428" dependencies = [ "bytemuck", "copypasta", diff --git a/README.md b/README.md index 10b3be8..3ba7913 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ -** NOTE: this project is a work in progress, if you want to use it, please save -your work as frequently as possible to avoid data losses. ** +**NOTE: this project is a work in progress, if you want to use it, please save +your work as frequently as possible to avoid losing your work.** + +![alt text](https://github.com/yds12/tarsila/blob/master/docs/screenshot.png?raw=true) Tarsila is a pixel art and spritesheet editor written in Rust with [macroquad](https://macroquad.rs/) as graphics backend and @@ -28,9 +30,12 @@ Have in mind that this project is a work in progress and might have a lot of bugs, incomplete or missing features and suboptimal performance here and there. Some of the main gaps currently are: +* Works as intended on Linux, but there are some compatibility issues with MacOS + (file dialog window does not open), and status on Windows is unknown; * No error handling, everything panics; -* Lack of tests; -* There is much to improve when it comes to performance +* There are a few unit tests, but integration tests are missing, and coverage is + far from 100%; +* There is room to improve when it comes to performance Visit our [issues page](https://github.com/yds12/tarsila/issues) for known problems/bugs. diff --git a/docs/features.md b/docs/features.md index cfb9f10..7ba9820 100644 --- a/docs/features.md +++ b/docs/features.md @@ -8,11 +8,14 @@ Features (+ means done, (-) means least important): - Canvas to edit sprite (+) - Resizable (+) - Multiple frames (+) + - add new frame based on existing one - Layers (+) - control visibility (+) - control editability (+) - layer panel allow to change layer position, remove and add layers (+) - group/ungroup layers (-) + - merge layers + - active layer with full opacity, others with lower - Transparent (+) or solid background - Zoom in and out (+) and predefined zoom levels - Pan (+) @@ -68,6 +71,7 @@ Features (+ means done, (-) means least important): - By color area (with customizable tolerance) or all of the same color (magic wand) - Copy and paste (+) + - Cut - Move (+) - When selection is active, might affect other tools, like bucket - create selection based on what's on a layer (-) diff --git a/docs/install.md b/docs/install.md index 89ccf48..d90a5b5 100644 --- a/docs/install.md +++ b/docs/install.md @@ -34,3 +34,5 @@ libraries: * `atk` * `gdk` +On a fresh MacOS Ventura you probably just need to install xcode developer tools. + diff --git a/docs/issues.md b/docs/issues.md index 2eb3c09..f29eab6 100644 --- a/docs/issues.md +++ b/docs/issues.md @@ -31,3 +31,5 @@ Projects issues and bugs: 29. Limit the amount of data on Undo list [ENH] 30. If selection is not fully in canvas, panic [DONE] 31. When dragging preview window, draws on canvas behind +32. CTRL shortcuts not working on Mac +33. File dialog not working on Mac diff --git a/docs/screenshot.png b/docs/screenshot.png new file mode 100644 index 0000000..be4642d Binary files /dev/null and b/docs/screenshot.png differ diff --git a/egui-macroquad/Cargo.toml b/egui-macroquad/Cargo.toml index 8ba83d4..b7c2d84 100644 --- a/egui-macroquad/Cargo.toml +++ b/egui-macroquad/Cargo.toml @@ -13,6 +13,5 @@ keywords = ["gui", "imgui", "immediate", "portable", "gamedev"] [dependencies] egui = "0.21.0" -# TODO use a crates.io version when 0.15 is released -egui-miniquad = { git = "https://github.com/not-fl3/egui-miniquad", rev = "474b8c825887dbe93dd7d28c62266a31ef55a6e8" } +egui-miniquad = "0.14.0" macroquad = "0.3.25" diff --git a/lapix/Cargo.toml b/lapix/Cargo.toml index 8244c45..c397b96 100644 --- a/lapix/Cargo.toml +++ b/lapix/Cargo.toml @@ -10,6 +10,7 @@ readme = "README.md" documentation = "https://docs.rs/lapix/latest/" keywords = ["image", "pixel", "pixel-art", "image-editor", "editor"] categories = ["game-development", "graphics", "multimedia", "multimedia::images", "rendering"] +license = "MIT" [dependencies] bincode = "1.3.3" diff --git a/tarsila/Cargo.toml b/tarsila/Cargo.toml index 76c8117..9dcb7a2 100644 --- a/tarsila/Cargo.toml +++ b/tarsila/Cargo.toml @@ -10,11 +10,12 @@ readme = "README.md" documentation = "https://docs.rs/tarsila/latest/" keywords = ["image", "pixel", "pixel-art", "image-editor", "editor"] categories = ["game-development", "graphics", "multimedia", "multimedia::images", "rendering"] +license = "MIT" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -lapix = { path = "../lapix" } +lapix = { path = "../lapix", version = "0.1.0" } egui-macroquad = { package = "egui-macroquad-fork", version = "0.1.0", path = "../egui-macroquad" } macroquad = "0.3.25" rfd = "0.10.0"