Custom widget support
- Dominant language
- Rust
- Stars
- 4.1k
- Forks
- 203
- Avg merge
- 8h 58m
- Merged PRs (30d)
- 112
Description
We currently have support for custom painting with a raw `wgpu::Texture` through [`anyrender_vello::CustomPaintSource`](https://docs.rs/anyrender_vello/latest/anyrender_vello/custom_paint_source/trait.CustomPaintSource.html). It would be good to add more feature to support advanced integrations:
- [x] Ability to paint using an [`anyrender::PaintScene`](https://docs.rs/anyrender/latest/anyrender/trait.PaintScene.html). This would allow painting anything that fits within the anyrender abstraction without requiring rendering to a texture (use case: "ripple" effect like android buttons)
- [x] Ability for custom widgets to receive input events (mouse, keyboard, etc).
- [ ] Ability for custom widgets to receive focus
- [ ] Ability for custom widgets to generate an accessibility tree
- [ ] Ability for custom widgets to participate in layout (have an intrinsic/content-based size)
Contributor guide
Research direction
Start with the existing custom painting support through anyrender_vello::CustomPaintSource and review the linked anyrender::PaintScene abstraction. Scope the remaining checklist items—focus, accessibility-tree generation, and intrinsic/content-based layout—and define completion criteria for each before changing the custom widget integration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- accessibility, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100