SwiftUIComponents 1.0.1 fixes Android layout issues and reduces repeated rendering and update work while keeping the shared implementation in Swift and SwiftUI with Skip Fuse.
Fixes
- RatingView gives all five stars square bounds that fit the available width and height, including compact layouts and changing spacing. Fractional and disabled fills use a geometric clip instead of an alpha mask.
- Badge measures the complete padded capsule so long labels stay within its background on Android.
- Calendar range dragging keeps the touch-down day and uses updated row geometry across month and year layouts, with one shared drag handler.
- Progress percentage text and accessibility values follow slider changes, completion and reset on both platforms.
Performance
- All 32 anatomical shapes reuse immutable vectors and flattened hit-test geometry. Drawing avoids temporary subpaths and repeated whole-path transforms; hit testing prunes polygons using cached bounds.
- Calendar weekday symbols are read once per header render, and unchanged geometry updates are skipped.
- CountingLabel, geometry bindings, key-path bindings and CodableAppStorage skip unchanged assignments. Filled checkboxes draw their cutout in one vector fill.
- A release-build microbenchmark on one Mac measured roughly half the muscle drawing time and one third of the hit-region time compared with 1.0.0. These are geometry measurements, not whole-app frame rates.
Examples and documentation
- New paired iOS/Android GIFs for CountingLabel and Progress, plus refreshed RatingView interaction footage and layout screenshots.
- A current-release badge and updated Swift Package Manager installation instructions.
Validation
All 62 Swift package tests, 16 iOS simulator interaction tests, all 84 Android catalogue routes and Android interaction checks passed. The Swift tests, iOS build and native Android build workflows passed for this release commit. A separate SPM consumer resolved exact version 1.0.1 and compiled the public RatingView, Progress and muscle-shape APIs.
Install
.package(url: "https://github.com/shial4/SwiftUIComponents.git", from: "1.0.1")Use exact: "1.0.1" if you want to pin this patch. Public component APIs and custom MuscleMapShape path generation remain compatible with 1.0.0. The existing Apache 2.0 license and attribution notices are retained.

