This issue serves as a high-level implementation plan and tracking issue for a suite of features designed to simplify the API. The largest shifts are #3, #5, and #6.
| # |
Item |
Risk |
Impact |
Depends on |
| 1 |
View component |
Low |
High |
Nothing |
| 2 |
Render-and-measure unification |
Medium |
High |
Nothing |
| 3 |
Unified view() method |
Medium-High |
Very high |
2 |
| 4 |
impl_slot_children! elimination |
— |
— |
Comes free with 3 |
| 5 |
Text model rethink (replace TextBlock) |
Low-Med |
High |
4 (View) |
| 6 |
simple_component! macro |
Low |
Moderate |
3 (ideally) |
| 7 |
#[component] attribute macro |
High effort |
High |
3, 6 |
| 8 |
Effects / async in components |
High |
Moderate |
3 |
| 9 |
Domain events |
Medium |
Moderate |
3 (likely) |
This issue serves as a high-level implementation plan and tracking issue for a suite of features designed to simplify the API. The largest shifts are #3, #5, and #6.
view()methodimpl_slot_children!eliminationsimple_component!macro#[component]attribute macro