Skip to content

v0.3.0: remove unverified models, UX glow-up, game mode polish#4

Merged
elaxptr merged 4 commits into
mainfrom
feat/v0.3.0-cleanup-and-ux
Jul 3, 2026
Merged

v0.3.0: remove unverified models, UX glow-up, game mode polish#4
elaxptr merged 4 commits into
mainfrom
feat/v0.3.0-cleanup-and-ux

Conversation

@elaxptr

@elaxptr elaxptr commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

The 0.3.0 release — remove what the app can't back, polish what it can.

  1. Remove unverified Inspire models — XH1/XP1/XC1 were APK-derived, never confirmed on hardware. Removed; BaseusModel kept as a slim BP1-only registry for future verified models. Docs corrected (real BP1 GATT UUIDs; the 02F0 family was an APK decoy).
  2. UX glow-up — animated game switch, battery rings that count up, spring tab transitions, hover/press/ripple, monospace numerics, breathing header. Shared motion system in index.css, all prefers-reduced-motion-safe.
  3. 0.3.0 bump + CHANGELOG — all version sources synced (package.json was stale at 0.1.0).

Verification

Follow-up (not included)

In-app Capture Studio + declarative model format so owners can contribute verified models — tracked in BACKLOG.md.

elaxptr added 4 commits July 3, 2026 19:13
The Inspire XH1/XP1/XC1 support was entirely APK-derived and never confirmed on
real hardware. Removing it makes the app honest (it only claims what works) and
simplifies the codebase: no adaptive ANC modes, no experimental-status banner,
no model-switching branches, no HeadphoneBattery (XH1-only) path, no XH1 decoder.

The BaseusModel registry is kept (slim, BP1-only) as the extension point for
future owner-contributed, hardware-verified models — see BACKLOG.md for the
planned Capture Studio + declarative model format that will feed it.

Docs: README supported-hardware table trimmed to BP1; re-methodology.md reframed
to verified-only contribution (drops the APK-draft path) and corrected to the
real BP1 GATT UUIDs (the 02F0 family was an APK decoy).
Layer motion + delight on top of the existing dark/indigo identity (no visual
redesign). A shared motion system lives in index.css (easing/duration tokens,
keyframes, reduced-motion contract); components opt in via classes.

- Game mode: animated pill switch with sliding knob + rotating accent halo and
  ambient glow when ON, replacing the plain ON/OFF text.
- Battery rings sweep + count up from zero (reactive useCountUp tween) with a
  soft glow; charging bolts pulse; case bar fills on entrance.
- Sidebar active indicator glides between icons on a spring curve.
- Tab panels fade-and-lift in (conditional render re-fires entrance + ring count-up).
- Hover-lift / press-scale / find-button ripple micro-interactions.
- Numeric readouts (battery %, level, timer) use a monospace stack.
- Header ambient glow breathes; connection dot pulses.

All motion collapses under prefers-reduced-motion. Verified: tsc --noEmit and a
vite production build both clean.
Sync all version sources (Cargo.toml, tauri.conf.json, package.json — the last
was stale at 0.1.0) and Cargo.lock to 0.3.0. Introduce CHANGELOG.md documenting
game mode, the firmware-tolerant ANC ack fix (#3), the UX motion pass, and the
Inspire model removal.
@elaxptr elaxptr merged commit 5332080 into main Jul 3, 2026
3 checks passed
@elaxptr elaxptr deleted the feat/v0.3.0-cleanup-and-ux branch July 3, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant