Summary

Initial release of Avatarka — a zero-dependency TypeScript library for generating unique, customizable SVG avatars with seed-based determinism, multiple themes, and ready-to-use React components.

Features

  • Core avatar generation with seed-based deterministic output from any string (email, user ID, etc.)
  • 6 built-in themes: people, animals, monsters, robots, aliens, and ocean (10 sea creatures)
  • React components: <Avatar /> for display, <AvatarEditor /> for interactive customization, and <AvatarPicker /> for gallery-based selection
  • AvatarPicker layouts: support for both standard and compact layout modes with configurable gridWidth and gridHeight
  • alwaysTransparentBackground prop on AvatarPicker to force transparent backgrounds and hide the background color control
  • Gallery diversity: generateGallery() ensures unique (theme, shape) pairs with no duplicates across generated avatars
  • shapeParam on Theme interface for programmatic discovery of each theme's primary shape options
  • PNG export via svgToPng() and svgToPngDataUrl() using the Canvas API (browser environments)
  • Full TypeScript support with exported types and strongly-typed theme parameters

Improvements

  • Redesigned people theme hair styles and refined facial feature proportions
  • Improved animal theme eye rendering and proportions
  • Expanded monster theme horn types with spikes, curved, and antlers variants

Internal

  • Monorepo setup with pnpm workspaces and Turborepo
  • Two packages: avatarka (core, zero dependencies) and avatarka-react
  • Interactive demo app with live preview
  • Snapshot tests for all theme renderers
  • CI/CD workflows for build, deploy, and release
  • Migrated task runner to mise with VERSION-based publishing

Release notes generated by herald v1.0.4