Releases
v0.2.4
v0.2.4 - Parity version
Latest
Compare
Sorry, something went wrong.
No results found
v0.2.4 - Parity version
Highlights
Substrate (Waves 0–1, LPAR-02…LPAR-10): object/event/focus/input,
invalidation, scroll, tick-driven timers + object animations, the
LPAR-07 style/theme cascade, the LPAR-08 text/draw/image/mask layer
(shaped-text glyph coverage, image
blit + transforms, rounded/arc masks, gradients/shadows, dirty-rect
adapter), the LPAR-09 asset/filesystem source runtime, and the LPAR-10
flex+grid layout substrate.
Widget families (LPAR-11…LPAR-15): primitive (bar, led, line, arc,
spinner, scale), control, selection/navigation, data/rich-content, and
canvas/media/property/observer waves.
LPAR-16 conformance: deterministic-runtime, geometry, and widget
pixel-golden fixtures, plus release alignment and an initiative
retrospective.
Font selection & anti-aliased text (FONT-00…FONT-05)
core::font::WidgetFont + a uniform set_font(&'static dyn FontMetrics)
on every text widget (additive — no constructor or Widget-trait
signature changed).
AA-by-font-choice through the shaped-text pipeline;
Renderer::draw_glyph helper; ArcLabel migrated to real glyph coverage;
rotated-renderer glyph throughput; and FontRegistry +
Widget::widget_font_mut + apply_font_registry bridging
the style cascade to per-widget fonts.
Editable text, gestures, clipping, animation
WID-01 editable Input/Textarea with caret + key routing; INPUT-01
DragRecognizer (click-vs-drag); REND-01 ClipRenderer + ScrollView with
edge-crop goldens; ANIM-01 core::anim tick-driven tweens.
Chakra-style UI layer (rlvgl-ui)
New composition primitives and components (bar, button_matrix,
checkbox/radio, list, progress, select, switch, tabs, led, spinner,
divider, spacer, layout stacks/grid, theme tokens) wrapping the base
widgets.
Image tooling — rlvgl-creator (new this cycle)
compress gains --emit bin|c|rust to embed the RLEC blob as a C/Rust
array.
lvgl (new): converts images to LVGL v9 .bin — color
(rgb565/rgb888/argb8888/xrgb8888) and alpha-coverage (a8/a4,
Floyd–Steinberg dithered) formats, with --coverage auto|alpha|luminance,
optional LVGL-RLE, and --emit c|rust
(lv_image_dsc_t / pixel-map). A matching rlvgl coverage+tint draw path
(rlvgl_decomp::lvgl::blend_alpha_bin_into_argb) renders the same alpha
asset in-engine.
Platform: audio & ESP32-P4
AUDIO-01d: fixes WM8994 AIF1ADC serializer corruption (coherent MCLK1
sourcing + arm-before-frame-clock via LRCLK_DIR deferral); 10/10 clean
resets.
BEETLE-03…07: DFR0550 bring-up on ESP32-P4 — bit-bang I2C bridge wake,
DSI DPHY calibration/PLL-lock, rlvgl-over-IDF hybrid, FT5x06 touch,
backlight PWM, and running the shared disco-demo payload. Plus a
pointer-platform backlight
slider panel.
Versions
Workspace crates aligned to 0.2.4 (rlvgl-core, -platform, -widgets,
-fs-sim, -app-demo, -app-disco-demo).
rlvgl-ui → 0.2.5 (UI bugfixes), rlvgl-decomp → 0.2.3 (additive lvgl
module), rlvgl-chips-microchip 0.2.2.
Release engineering / fixes
Broke the rlvgl-core ↔ rlvgl-widgets dev-dependency cycle so cargo
package (Gate P) succeeds; fixed KeySpec::Backspace non-exhaustive match
in the creator-UI automation; UI font-registry bridge / themed-tabs /
Grid panic-guard fixes;
clippy/fmt cleanups.
Validation
Pre-publish phases green: fmt --check, clippy --workspace -D warnings,
workspace tests, playit no_std cross-check, simulator/creator tests,
chipdb BSP render/CLI/compile-verify, ARM-Linux consumer checks,
embedded make build-disco.
CRATES-CI Gate P (cargo package in publish order) clears the two
cycle/feature-gated breakers fixed above.
Known issues / deferred
LPAR-09 FATFS-over-SimBlockDevice (coupled to unimplemented
FatfsAssetSource); optional media widgets (Lottie/DashLottie/Texture3d)
outside the pixel-golden set; rustdoc still reports broken intra-doc
links (not yet
warnings-as-errors). LVGL RGB565A8 (compact alpha) not yet implemented —
argb8888/a8/a4 cover the alpha cases today.
You can’t perform that action at this time.