WidgetKit
language: English, Russian
WidgetKit is a modular Rust library for building desktop widgets.
It currently focuses on a simple but structured native path:
Widget + Canvas + WindowsHost + WidgetApp- software 2D rendering on Windows
- demand-driven redraw
- a clearer render pipeline under the public
CanvasAPI
If you want the detailed list of what changed in v0.2, see CHANGELOG.md.
What It Feels Like
WidgetKit is still intentionally small, but it already has a usable shape:
Canvasis the main public drawing API- rendering goes through
RenderFrameandRenderCommand - the runtime owns widget lifecycle, scheduler, tasks, and redraw invalidation
- the Windows host can run decorated or frameless windows
Quick Start
use *;
Example Widget
use *;
;
Examples
The workspace includes:
clockpulse
Run them with:
With the optional Tokio-backed task runtime:
Features
Top-level features:
canvaswindowsruntime-tokio
Example dependency setup:
[]
= { = "0.2.0", = false, = ["windows", "canvas"] }
Workspace Layout
widgetkit/
crates/
widgetkit
widgetkit-core
widgetkit-runtime
widgetkit-render
widgetkit-host-windows
widgetkit: top-level facade cratewidgetkit-core: geometry, colors, ids, errors, host eventswidgetkit-runtime: lifecycle, scheduler, tasks, redraw coordinationwidgetkit-render:Canvas, render commands, text styles, software rendererwidgetkit-host-windows: Windows host based onwinitandsoftbuffer
Direction
Planned later:
- stable low-level raw rendering API
- richer image and text pipelines
- declarative UI and layout
- broader input model
- GPU renderer backend
- hybrid or web-backed integration paths
License
MIT