Skip to content

Tags: fiorastudio/buddy

Tags

v1.0.6

Toggle v1.0.6's commit message
Release 1.0.6

- Bump version to 1.0.6
- Finalize CHANGELOG with release date and upgrade notes
- Document full migration path for existing max_mode/insight_mode users

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.0.5

Toggle v1.0.5's commit message
chore: bump to v1.0.5

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.0.4

Toggle v1.0.4's commit message
chore: bump to v1.0.4 (v1.0.3 tag immutable on GitHub)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.0.3

Toggle v1.0.3's commit message
chore: bump to v1.0.3, update CHANGELOG with verbatim display and res…

…cue seed fix

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.0.2

Toggle v1.0.2's commit message
chore: bump to v1.0.2, update CHANGELOG with rescue fixes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.0.1

Toggle v1.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: animation liveliness — species-aware profiles, pet-hearts, bubb…

…le fade (#73)

## Summary

- **Phase 1 — Reliability:** Add `refreshInterval: 2` to installer
(`install.sh` + `install.ps1`) with drift detection. Extend
`buddy_doctor` to validate statusline refresh cadence with remediation
guidance.
- **Phase 1.5 — Quick Wins:** Extract `stripAnsi` to shared
`src/lib/ansi.ts`. Add pet-hearts overlay to statusline (5s TTL, cycling
hearts row above sprite, suppressed during bubble mode). Add bubble
fade/dim (ANSI dim in final 3s of reaction TTL).
- **Phase 2 — Species-Aware Profiles:** New `src/lib/animation.ts`
module with `AnimationState`, `FrameRef`, `AnimationProfile` types.
`defaultProfile(frameCount)` factory generates species-aware sequences
with per-species `dwellMs` overrides. Replaces inlined
`IDLE_SEQUENCE`/`GRUMPY_SEQUENCE`/`HAPPY_SEQUENCE` in wrapper.
- **Phase 3 — Ambient Polish:** Replace `Math.random()` ambient
text/particles with `seededIndex`-based deterministic dwell windows
(15-20s buckets). No more flicker.

88 new tests (439 total). 6 rounds of Codex architectural review — 1
blocker caught and fixed (dynamic blink corrupting sprites for 13
species with `.` eye).

Closes #62, #63, #64, #65, #66, #67, #68, #69, #70

## Test plan

- [x] All 439 tests pass (`npm test`)
- [x] Width stability verified for all 21 species × 11 animation states
- [x] Blink parity confirmed (frame 1 matches dynamic blink for safe
eyes, diverges for Snail)
- [x] Golden-file snapshots for Snail, Mushroom, Chonk across
idle/happy/grumpy
- [x] SPECIES_ANIMATIONS legacy fallback tested
- [ ] Manual verification: fresh install animates, pet-hearts visible,
bubble fades, species feel distinct

## Fast follow (separate PR)

- Per-species animation profile overrides (#72) — deferred until factory
validated in production

🤖 Generated with [Claude Code](https://claude.com/claude-code)