masonry-rs
masonry-rs copied to clipboard
Rust UI design toolkit.
Dialogs, especially platform-created file pickers, are a feature from Druid that was ripped out when I wrote Masonry and haven't added back in yet. Part of the code is still...
Masonry has pretty good unit testing tooling, but a lot of unit tests are still missing. Ideally, we're aiming for 100% coverage (with opt-outs) for at least every widget and...
I want to make some pretty deep changes to the Widget trait. The ultimate trait would look something like this: ```rust pub trait Widget2: Any { fn on_event(&mut self, ctx:...
The `AppRoot` is the composition root of everything in a Masonry program; everything passes through an AppRoot instance. AppRoot instances each own an AppRootInner, which it needs to lock to...
Some things to improve: - **Multiple windows.** Right now AppDelegate assumes there's only one window, and ignores all except the first one. - **Sending commands.** Right now the AppDelegateCtx type...
Right now the `assert_render_snapshot!` macro and the underlying code are held together with duck-tape. Some possible improvements: - Better error messages when a snapshot test fails. - Some sort of...
The following tests are failing for me: ``` widget::align::tests::centered widget::align::tests::left widget::align::tests::right widget::button::tests::simple_button widget::checkbox::tests::simple_checkbox widget::flex::tests::flex_col_cross_axis_snapshots widget::flex::tests::flex_col_main_axis_snapshots widget::flex::tests::flex_row_cross_axis_snapshots widget::flex::tests::flex_row_main_axis_snapshots widget::label::tests::line_break_modes widget::label::tests::simple_label widget::label::tests::styled_label widget::portal::tests::button_list widget::sized_box::tests::label_box_no_size widget::sized_box::tests::label_box_with_size widget::split::tests::columns widget::split::tests::rows widget::textbox::tests::simple_textbox ``` And the `.diff.png`...
## Tooling Masonry should have infrastructure to measure various runtime performance characteristics. Because it's a GUI app, profiling is a bit more complicated than "run program 100x times, measure average...
It would be useful to have [git tags](https://github.com/PoignardAzur/masonry-rs/tags) (and [GitHub releases](https://github.com/PoignardAzur/masonry-rs/releases)) which are in sync with the released versions on [crates.io](https://crates.io/crates/masonry/versions). This way you can easily see which code/PRs made...
When porting from Druid to Masonry, I've removed the ability to trigger commands from links. While I'm not sure how to handle that feature on the long term, on the...