An extensible framework for creating 2D CAD applications, written in Rust and based on an Entity-Component-System architecture.
If you want a high-level understanding of how this project is implemented and the way things are designed, you may want to check out A Thought Experiment: Using the ECS Pattern Outside of Game Engines.
I've broken the direction of this project up into a handful of milestones, each containing a list of related features or concepts.
[X] Milestone: MVP
Arc
, Point
, Line
, etc.)LineStyle
with a colour and stroke width)Layer
BoundingBox
which gets recalculated whenever
something changesrender_to_image.rs
)[ ] Milestone: Required by Real-World Applications (see Michael-F-Bryan/rustmatic#38)
Wish List
This project is licensed under either of
at your option.
It is recommended to always use cargo-crev to verify the trustworthiness of each of your dependencies, including this one.
The easiest way to start contributing is to check the issue tracker and look for an easy issue to tackle. Alternatively the wish-list contains a list of features we'd like to implement, although these may require more effort or experience.
We're always keen to help mentor contributors!
The intent of this crate is to be free of soundness bugs. The developers will do their best to avoid them, and welcome help in analysing and fixing them.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.