WidgetKit
language: English, Russian
Modular Rust library for building small desktop widgets.
Current scope: software 2D rendering on Windows with window configuration, content-driven sizing,
and layout measurement foundations behind the public Canvas API.
Core assembly: Widget + Canvas + WindowsHost + WidgetApp.
For the full release history, see CHANGELOG.md.
Overview
Canvas— stable drawing API- demand-driven redraw and layout invalidation
WindowConfigand Windows host flags for frameless, transparent, resizable, visible, and always-on-top windowsSizePolicywith fixed and content-driven sizingLayoutCtx::measure_text(...)for preferred-size calculations- software 2D renderer backed by an internal render pipeline
Quick Start
use *;
Example Widget
use *;
;
Examples
With the Tokio-backed task runtime:
Features
canvaswindowsruntime-tokio
[]
= { = "0.3.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, layout/redraw coordinationwidgetkit-render-Canvas, text styles, measurement, software rendererwidgetkit-host-windows- Windows host built onwinitandsoftbuffer
Roadmap
- declarative UI and layout
- richer input model
- image pipeline stabilization
- GPU renderer backend
- hybrid and web-backed integration paths
License
MIT