Expand description
Procedural, asset-free avatar generation driven by stable identity hashes.
The crate produces deterministic avatar images from an input identifier without shipping image packs, sprites, or third-party artwork. All visual output is drawn from code using geometric primitives.
Typical usage:
use hashavatar::{
AvatarBackground, AvatarKind, AvatarOptions, AvatarOutputFormat, AvatarSpec,
encode_avatar_for_id,
};
let spec = AvatarSpec::new(256, 256, 0)?;
let bytes = encode_avatar_for_id(
spec,
"robot@hashavatar.app",
AvatarOutputFormat::WebP,
AvatarOptions {
kind: AvatarKind::Robot,
background: AvatarBackground::Transparent,
},
)?;Structs§
- Avatar
Identity - A stable avatar identity derived from a SHA-512 digest.
- Avatar
Identity Error - Avatar
Namespace - Avatar
Options - Avatar
Spec - Input parameters for a generated avatar image.
- Avatar
Spec Error - CatAvatar
- Cat-face avatar renderer built from simple geometric primitives.
- Color
- RGBA color helper for concise shape drawing.
- Hashed
CatAvatar - Cat-face avatar renderer driven by a SHA-512 identity.
- Hashed
DogAvatar - Hashed
Robot Avatar
Enums§
- Avatar
Background - Canvas background mode for raster and SVG avatar output.
- Avatar
Identity Component - Avatar
Kind - Avatar family selection.
- Avatar
Output Format - Export formats for encoded avatar assets.
- Avatar
Render Error
Constants§
- AVATAR_
STYLE_ VERSION - Rendering contract version for deterministic avatars.
- MAX_
AVATAR_ DIMENSION - Largest supported raster or SVG dimension.
- MAX_
AVATAR_ ID_ BYTES - Largest supported identity input in bytes.
- MAX_
AVATAR_ NAMESPACE_ COMPONENT_ BYTES - Largest supported namespace component in bytes.
- MIN_
AVATAR_ DIMENSION - Smallest supported raster or SVG dimension.
Traits§
- Avatar
Renderer - Trait for renderers that can draw reusable avatar styles onto an image buffer.
Functions§
- encode_
avatar - Render and encode an avatar into memory.
- encode_
avatar_ for_ id - encode_
avatar_ for_ namespace - encode_
cat_ avatar - Render and encode a cat avatar into memory.
- encode_
cat_ avatar_ for_ id - Render and encode a cat avatar for a stable identity string.
- render_
alien_ avatar_ for_ identity - render_
avatar_ for_ id - Render an avatar image directly without encoding it.
- render_
avatar_ for_ namespace - render_
avatar_ svg_ for_ id - Render an avatar as a compact SVG string.
- render_
avatar_ svg_ for_ namespace - render_
bird_ avatar_ for_ identity - render_
cactus_ avatar_ for_ identity - Render a cactus avatar from a stable identity.
- render_
cat_ avatar - Render a cat face avatar into an RGBA image.
- render_
cat_ avatar_ for_ identity - Render a cat face avatar from a SHA-512-backed identity.
- render_
cat_ avatar_ for_ identity_ with_ background - render_
cupcake_ avatar_ for_ identity - Render a cupcake avatar from a stable identity.
- render_
dog_ avatar_ for_ identity - render_
fox_ avatar_ for_ identity - render_
frog_ avatar_ for_ identity - Render a frog avatar from a stable identity.
- render_
ghost_ avatar_ for_ identity - render_
icecream_ avatar_ for_ identity - Render an ice cream cone avatar from a stable identity.
- render_
knight_ avatar_ for_ identity - Render a knight helmet avatar from a stable identity.
- render_
monster_ avatar_ for_ identity - render_
mushroom_ avatar_ for_ identity - Render a mushroom avatar from a stable identity.
- render_
octopus_ avatar_ for_ identity - Render an octopus avatar from a stable identity.
- render_
panda_ avatar_ for_ identity - Render a panda avatar from a stable identity.
- render_
paws_ avatar_ for_ identity - render_
pizza_ avatar_ for_ identity - Render a pizza-slice avatar from a stable identity.
- render_
planet_ avatar_ for_ identity - Render a ringed planet avatar from a stable identity.
- render_
robot_ avatar_ for_ identity - render_
rocket_ avatar_ for_ identity - Render a rocket avatar from a stable identity.
- render_
skull_ avatar_ for_ identity - render_
slime_ avatar_ for_ identity - render_
wizard_ avatar_ for_ identity