Skip to content
This repository was archived by the owner on Feb 21, 2026. It is now read-only.

Raven 0.10.2: Asset Catalogs (.xcassets) + Custom Symbols (.symbolset)

Choose a tag to compare

@briannadoubt briannadoubt released this 10 Feb 00:50
· 92 commits to main since this release
5a08362

Highlights

  • First-class Xcode Asset Catalog (.xcassets) support in Raven’s CLI + runtime.
  • Loads assets by name at runtime:
    • Image("Name") (imagesets with srcset)
    • Color("Name") (colorsets via injected CSS variables, including light/dark)
    • Asset.url("Name") / Asset.fetchData("Name") (datasets)
  • Supports custom symbol assets from Xcode Symbol Image Sets (.symbolset), rendered tintably (inherits currentColor).

What’s New

Asset Catalog Compilation (CLI)

  • Discovers and compiles *.xcassets from:
    • The app package under Sources/**
    • SwiftPM dependency checkouts (via .build/workspace-state.json and .build/checkouts/**/Sources/**)
  • Emits a manifest and injects it into served/generated HTML so assets resolve before main() runs.
  • Deterministic asset IDs shared between CLI and runtime (RavenAssetSupport).

Dev + Build Integration

  • raven dev watches .xcassets changes (including dependency catalogs) and rebuilds.
  • raven build produces a self-contained dist/ with compiled assets under /assets/ and the manifest injected into index.html.

Runtime APIs

  • Image("...") resolves via the injected manifest when available; falls back to /assets/<name> for compatibility.
  • Color("...") resolves through injected CSS variables.
  • New Asset helper for datasets.

Demo

Examples/TodoApp includes a ready-to-run asset catalog demo:

  • RavenMark.imageset (README raven mark)
  • BrandPrimary.colorset (light/dark)
  • SampleText.dataset
  • RavenCustom.symbolset and git.*.symbolset

Run it:

Raven % swiftly run swift run raven dev --input Examples/TodoApp

Notes

  • Image assets are copied as-is (no transcoding/optimization in this release).
  • Package swift settings were cleaned up to avoid flags that break Xcode builds.