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
gridWidthandgridHeight alwaysTransparentBackgroundprop 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 shapeParamon Theme interface for programmatic discovery of each theme's primary shape options- PNG export via
svgToPng()andsvgToPngDataUrl()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) andavatarka-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