Skip to content

Releases: go4cas/cast

v1.9.0 — Talking avatars speak

27 Jun 11:28

Choose a tag to compare

Tier 2 of talking avatars: they now speak out loud with lips synced to the words.

Added

  • cast-avatar/speakspeak(target, text, opts?) reads text with the browser's native Web Speech API (no dependency) and flaps the mouth of an avatar rendered with animate: 'talk' in time with it; stopSpeaking(target?) cancels. Returns a Promise that resolves when speech ends. SSR-safe (a no-op with no speech engine) and respects prefers-reduced-motion (speaks, but skips mouth motion). The mouth rests still once speech ends.
  • <cast-avatar> gains a .speak(text, opts?) method and now accepts an animate attribute (so <cast-avatar animate="talk"> is speakable).

🤖 Generated with Claude Code

v1.8.0 — Talking avatars

27 Jun 06:41

Choose a tag to compare

Added

  • animate: 'talk' — a subtle mouth flap for the face styles (portrait, studio, cartoon), as if the avatar is speaking. The CSS is scoped to the individual avatar (so it never animates others on the page) and respects prefers-reduced-motion. Off by default; existing output is unchanged unless animate: 'talk' is set.

🤖 Generated with Claude Code

v1.7.0

17 Jun 11:30

Choose a tag to compare

Changed

  • studio redesigned as a semi-realistic, sculpted portrait, replacing the previous softly-shaded version (which had grown too close to portrait). It shares the face trait set with portrait — so a given seed reads as the same person — and pushes fidelity further: a faceShape-driven head silhouette, multi-layer color-agnostic skin modelling (vertical light, upper-left key light, rim-shadow vignette, cheekbone highlights, jaw/temple core shadows), a sculpted nose, volumetric upper/lower lips, almond lidded eyes with a gradient iris and catch-light, and hair with a gradient sheen. Deterministic, dependency-free, and SSR-safe like the other styles.
  • Trait coverage filled in so selections are honoured consistently: portrait now renders eyebrows, nose, freckles, blush, earrings, all head coverings (beanie/cap/bucket/turban/hijab) and a faceShape-driven head; minimal and line gain eyebrows, eye-shape variants, head coverings and earrings in their own visual language (line stays monochrome). The abstract styles (pixel/initials/bot/shapes/mesh) continue to derive everything from the seed.
  • Demo playground now hides controls that the selected style doesn't render, so every visible control affects the avatar.

Note: the studio redesign and the new trait coverage change the rendered output for some existing seeds.

Full changelog: v1.6.0...v1.7.0

v1.6.0

15 Jun 12:39

Choose a tag to compare

Added

  • animate: 'blink' — a subtle eye-blink for the face styles (portrait, studio, cartoon). The CSS is scoped to the individual avatar (so it never blinks others on the page) and respects prefers-reduced-motion. Non-blink output is unchanged.
  • Status badge icon optionstatus: { state, icon: true } draws a colorblind-safe shape glyph on the dot (check / minus / clock / cross), so presence is distinguishable without relying on color alone. Defaults to false.
  • Per-member group lookscreateAvatarGroup now accepts member objects ({ seed, ...perMemberOptions }) alongside plain seeds, so a customized member renders with its own look inside the group mark. Plain-seed groups are unchanged.

The demo gains a badge-icon toggle, a blink option, per-person group export, and the Team Builder now remembers your last team via localStorage.

Full changelog: v1.5.0...v1.6.0

v1.5.0

15 Jun 12:10

Choose a tag to compare

Added

  • decorative option — render the SVG with aria-hidden="true" (and no role/label/title) so assistive tech skips it, for avatars that sit beside their own visible name. Defaults to false (a labelled role="img" image).
  • A native <title> element is now emitted alongside the existing aria-label, giving a hover tooltip and broader screen-reader support.
  • Colorblind-safe palette preset (Okabe–Ito based). Opt in with palette: 'accessible' (or 'colorblind-safe'); it recolors the abstract styles, clothing, and inks while keeping skin and hair natural. Exported as COLORBLIND_SAFE_PALETTE / PALETTE_PRESETS, and resolvePalette now accepts a preset name and is re-exported from the package entry.

The demo also gains an Accessible theme and a favicon.

Full changelog: v1.4.0...v1.5.0

Cast v1.4.0

12 Jun 11:34

Choose a tag to compare

Added

  • createAvatarGroup(seeds, options) — compose several member seeds into one cohesive group mark (a clipped mosaic of 1–4 tiles, with extra members collapsing into a +N chip). Great for team/squad/group-DM icons.
  • mergeSeeds(...seeds) — combine seeds into a single deterministic, order-independent seed for a stable "pair"/relationship avatar.

Cast v1.3.0

12 Jun 11:11

Choose a tag to compare

Added

  • animate option — a subtle looping animation (breathe, bounce) applied to the avatar content via deterministic, dependency-free CSS that respects prefers-reduced-motion. Works on every style.
  • Documented edge / serverless rendering: createAvatar and the other string helpers have no DOM/Node APIs, so they run on Cloudflare Workers, Vercel/Netlify Edge, Deno, and Bun. Added an "Edge & server rendering" guide and example.

Cast v1.2.0

12 Jun 10:56

Choose a tag to compare

Added

  • expression option — a shorthand (neutral, happy, sad, surprised, thinking, wink) that presets eyes/mouth/eyebrows while keeping identity seed-stable, so the same avatar can reflect a mood or agent state. Explicit traits still take precedence; applies to the face styles.

Cast v1.1.0

12 Jun 10:11

Choose a tag to compare

Added

  • studio style — a softly-shaded, more realistic portrait (gradient skin, detailed irises with a catch-light, shaped lips). Reuses the face trait set.

Fixed

  • Open-mouth (mouth: 'open') on the cartoon, portrait, and studio styles drew a stray line across the mouth; it now renders as parted lips with the lip below the opening.

Cast v1.0.0

11 Jun 10:13

Choose a tag to compare

First stable release. The public API and trait/option vocabulary are now
considered stable and follow semantic versioning — a change to the generated
SVG for an existing seed will be a major bump.

Added

  • Brand logo (logo.svg).
  • Redesigned product landing page / demo.