Skip to content

v0.4.0-preview.1

Pre-release
Pre-release

Choose a tag to compare

@kuuhaku0 kuuhaku0 released this 10 Oct 04:03
  • Adds tintable icons. AssetRef gains rendering: AssetRendering = AssetRendering.Original as its last parameter; AssetRendering is Original or Template.
  • Reads an optional rendering string on signed placements and variant cells; state members stay ignored. A malformed value (null, a non-string, or anything outside ^[a-z][a-z0-9-]{0,31}$) rejects the manifest. A well-formed value this client does not know is kept.
  • Uses a descriptor only when its rendering equals the reference's (absent means original), checked on the selected appearance or arm cell. A mismatch or unknown value is handled like incompatible dimensions: that release's artwork is never read from the cache or downloaded, retained releases follow the same rule, and with no compatible artwork the result is BUNDLE. Other placements are unaffected.
  • Code generation reads catalog rendering: "template" generates rendering = AssetRendering.Template, "original" or no field generates byte-identical output, and any other value fails.
  • No Compose dependency is added: the SDK returns the mask Bitmap and the app tints it. The README shows Icon with LocalContentColor, a VectorDrawable fallback, and targetPixels at logical size × density.
  • Vendors the shared corpus with 15 rendering manifests (115 signed manifest cases) and 10 rendering resolution cases.

Recompile consuming applications and their generated references when replacing the AAR. The new AssetRef parameter keeps Kotlin source call sites compiling, but changes its JVM constructor, copy, and component signatures.

Validation on October 9 and 10, 2026: codegen tests (3), 102 JVM unit tests with the optional hosted test skipped, lint, and the release build passed (./gradlew :sdk:testDebugUnitTest :sdk:lint :sdk:assembleRelease, JDK 17). assetlib-android-0.4.0-preview.1.aar SHA-256 03d55eaa1975fe86494fb2f65e69e0ad7ad3f5a60d492f02d3c06bf3bdc9a98a (macOS build; CI on the tag uploads a Linux build for comparison). No emulator or device run. See VERIFICATION.md.

AAR SHA-256: 03d55eaa1975fe86494fb2f65e69e0ad7ad3f5a60d492f02d3c06bf3bdc9a98a assetlib-android-0.4.0-preview.1.aar