8c38d38a3a
Buddy now has a fourth mood tone — wink — with one eye closed, an asymmetric smirk, and rosier cheeks. Renders as a small variant inside the existing inline-SVG sprite (still zero image files, no new assets). When overall mood is >= 75, there's a 30% chance on each page render that the wink replaces the standard happy face — gives the pet a touch of unpredictable personality. Why this commit exists: v0.1.0 had three tones (happy / neutral / sad). Adding wink is the smallest possible demo that the SVG expression engine is properly extensible — every future mood, state, accessory or species can land via the same pattern. ~20 lines of PHP, ~2 lines of CSS, no bundle weight, no dependencies. CHANGES - inc/sprite.php: wink added to allowed-tones list. Left eye renders as a closed-eye arc instead of the open circle. Mouth shifts to an asymmetric smirk. Cheek opacity 0.55 → 0.75 for extra cheekiness. - inc/state.php: buddy_mood_label() returns wink ~30% of the time when mood >= 75. - assets/css/buddy.css: new .buddy-widget__mood--wink and .buddy-main__mood--wink rules — warm amber pill. - About-page version-history leads with v0.1.1; v0.1.0 demoted. VERSION - buddy.php header 0.1.0 → 0.1.1 - BUDDY_VERSION constant 0.1.0 → 0.1.1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
74 lines
4.5 KiB
Markdown
74 lines
4.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to **Buddy** are documented here.
|
|
Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versioning: [SemVer](https://semver.org/).
|
|
|
|
---
|
|
|
|
## [Unreleased]
|
|
|
|
---
|
|
|
|
## [0.1.1] — 2026-05-25
|
|
|
|
### Added — Wink expression 😉
|
|
Buddy now has a fourth mood tone: **`wink`** — one eye closed, an
|
|
asymmetric smirk, and rosier cheeks. Rendered as a small variant
|
|
inside the existing inline-SVG sprite (still zero image files, no
|
|
new assets). When Buddy's overall mood is ≥ 75, there's a ~30%
|
|
chance on each page render that the wink replaces the standard
|
|
happy face. Refresh a few times when Buddy is content and you'll
|
|
catch it.
|
|
|
|
Why this commit exists: the v0.1.0 sprite had three tones
|
|
(happy / neutral / sad). Adding `wink` was the smallest possible
|
|
demo that the SVG expression engine is properly extensible — every
|
|
future mood/state/species can be added the same way. ~20 lines of
|
|
PHP, ~2 lines of CSS, no bundle weight, no dependencies.
|
|
|
|
### Changed
|
|
- **`inc/sprite.php`**: added `wink` to the allowed-tones list.
|
|
Left eye renders as a closed-eye curve (a small downward arc)
|
|
instead of the open circle. Right eye stays normal. Mouth shifts
|
|
to an asymmetric smirk curve. Cheek opacity bumped from 0.55 to
|
|
0.75 for extra cheekiness.
|
|
- **`inc/state.php`**: `buddy_mood_label()` now has a 30% chance of
|
|
returning the wink tone when the overall mood score is ≥ 75.
|
|
- **`assets/css/buddy.css`**: new `.buddy-widget__mood--wink` and
|
|
`.buddy-main__mood--wink` rules — warm amber pill matching the
|
|
cheeky vibe.
|
|
- **About page** version-history card leads with v0.1.1; v0.1.0
|
|
demoted to the previous entry.
|
|
- **Plugin version bumped**: header + `BUDDY_VERSION` constant
|
|
0.1.0 → 0.1.1.
|
|
|
|
---
|
|
|
|
## [0.1.0] — 2026-05-25
|
|
|
|
**Buddy is born.** First release of a new standalone WordPress plugin extracted-and-rebuilt from the tamagotchi feature that once lived inside A-WP-Notes v1.1.5 (now gracefully retired). Buddy stands on its own as a focused, charming companion plugin for the WordPress dashboard.
|
|
|
|
### Added — Phase A complete (pet exists)
|
|
- **Dashboard widget** at WP Admin → Dashboard showing the SVG character, the pet's name, a mood label ("Thriving" / "Content" / "Okay" / "Hungry" / "Distressed"), and four stat bars (Hunger / Happiness / Health / Energy).
|
|
- **Dedicated admin page** at WP Admin → Buddy → My Buddy showing the same data in a larger format with the pet's age and a placeholder note describing what's coming next.
|
|
- **About page** at WP Admin → Buddy → About with the side-by-side intro pattern, "What Buddy does" / "Who Buddy is for" / "Version history" cards, and a link to this CHANGELOG.md.
|
|
- **Settings page** at WP Admin → Buddy → Settings with a name-rename form and the Updates panel.
|
|
- **Per-user state storage** via `user_meta` (key: `buddy_state`). Each WP admin gets their own Buddy with its own name, species, and stats.
|
|
- **SVG sprite renderer** with three mood tones (happy / neutral / sad) and three sizes (sm / md / lg). Pure inline SVG with CSS keyframe animations (bobbing motion + periodic blinking). No GIFs, no sprite sheets, no image files for the character.
|
|
- **Self-hosted update checker** wired up to the Gitea repo from commit 1. Polls `/api/v1/repos/ranger/a-buddy/releases/latest` with a `/tags?limit=1` fallback. 12h success cache, 1h negative cache. UI surface lives on the Settings page.
|
|
- **Custom admin-menu icon** (`dashicons-pets`, a paw print) reinforcing the pet identity.
|
|
|
|
### Architecture (locked from day one)
|
|
- **Single-word brand name `Buddy`** — no "WP" prefix, no marketplace trademark hurdle.
|
|
- **Public GPL v2+ Gitea repo** at `ranger/a-buddy` on `git.davidtkeane.com`.
|
|
- **All persistent notice dismissals** to use `user_meta` + AJAX pattern (port from Logbook when first notice appears).
|
|
- **CSS-only animations, all assets local** — bundle stays small.
|
|
- **Single H1 per admin page**, no nested toggle boxes, no duplicate sections — Tier-1 discipline carried forward from Logbook.
|
|
|
|
### Not in this release (planned)
|
|
- Phase B — Feed / Play / Clean / Sleep interactions with cooldown timers.
|
|
- Phase C — WP-cron stat decay, "Buddy is hungry" dismissible admin notices.
|
|
- Phase D — Multiple species (dog, dragon, sprite), per-species personality phrases.
|
|
- Phase E — Site-health integration: pet stats react to `wp_get_site_health()` results, outdated plugins drain health, published posts feed hunger, cleared spam boosts happiness.
|
|
- Phase F — Pro tier with custom skins, multi-pet farm, social visits.
|