Skip to content

v0.5.0-preview.1

Pre-release
Pre-release

Choose a tag to compare

@kuuhaku0 kuuhaku0 released this 10 Oct 04:06
· 1 commit to main since this release
  • @assetlib/cli 0.2.0.

  • Tintable icons, following the Assetlib tintable icon contract. A catalog placement may declare "rendering": "template" (or original, the default). Both codegen copies add rendering: 'template' to the generated reference only for template placements and reject any other value; catalogs without the field generate byte-identical output, and assetlib sync registers the field with the catalog.

  • @assetlib/sdk-core: signed descriptors (placements, state members, variant cells and catalog page images) may carry rendering. A malformed value (null, a non-string, or anything not matching ^[a-z][a-z0-9-]{0,31}$) rejects the release. A reference's rendering must equal the selected descriptor's (absent means original); a mismatch or a well-formed unknown value skips that descriptor like an incompatible size, with no cache read or download, and resolution continues with older retained cache and then the bundled fallback (fallbackReason: 'missing'). AssetRef gains rendering?: 'template' and ResolvedAsset gains rendering. The shared contract corpus adds 15 manifest cases and 10 rendering cases.

  • @assetlib/sdk-expo: TypeScript requires tintColor on AssetlibImage and AssetlibStateImage when asset is a template reference, and a missing tintColor logs one development warning per placement. Template references without pixelWidth and pixelHeight request logical size × PixelRatio.get(), rounded up.

  • Template descriptors come from a console that runs the tintable icon release. Older SDK versions do not check rendering, and older codegen drops it.

  • @assetlib/cli: assetlib sync --references now finds Swift call sites. The Swift SDK's generated accessors lower-camel the group and add an artwork method, so artwork.travel.coast and artwork.travel.coastArtwork(...) now count as references to the ["Travel", "coast"] symbol. These Swift forms apply only to two-segment symbols, and a form that another placement can also produce (for example with a ["Travel", "coastArtwork"] or ["travel", "coast"] symbol in the same catalog) is not credited to either placement. AppAssets, AssetCatalog and artwork matching of the exact symbol is unchanged, and longer names such as artwork.travel.coastline still do not match.

  • @assetlib/audit and the @assetlib/cli reference scan now skip Vendor directories, the common iOS spelling. The ignore list, and the audit's reported scope.ignoredDirectories, now include Vendor. Names still match exactly, so first-party folders such as Coverage or Target are scanned.

Attached: @assetlib/sdk-core and @assetlib/sdk-expo 0.5.0-preview.1, @assetlib/cli 0.2.0, @assetlib/audit 0.1.0 (also on npm), and SHA256SUMS covering all four. The SDK and CLI packages are not on the npm registry.