feat(web): My Wave button, mood picker and endless wave playback (M4)
- WaveButton: TypeScript port of the prototype's canvas animation (orb and liquid), breathing at rest, pulsing to the track's BPM and energy in the cover palette, following the cursor, pressing with a spring; reduced motion and hidden tabs slow or stop it - home: the wave in the centre with activity and mood chips; changing them while playing rebuilds the upcoming tracks without stopping - player wave mode: asks for the next batch when two tracks are left, sends complete / skip / early skip / like / dislike as feedback and refreshes the queue right after a reaction or an early skip - tracks expose bpm, energy and loudness once analysed; library page shows analysis progress and 7-day wave metrics; wave style setting Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3908814cda
commit
eaedd1fc62
24 files changed
+1193
-244
No files matched your search
@@ -1235,6 +1235,8 @@ export interface components {
|
||||
/** @description Подписанная ссылка на аудио (12 ч); null — трек недоступен */
|
||||
stream_url: string | null;
|
||||
reaction: components["schemas"]["Reaction"] | null;
|
||||
/** @description Аудиопризнаки (после анализа) — для анимации волны и выравнивания громкости */
|
||||
features: components["schemas"]["TrackFeatures"] | null;
|
||||
};
|
||||
Artist: {
|
||||
/** Format: uuid */
|
||||
@@ -1281,6 +1283,11 @@ export interface components {
|
||||
corrected_query: string | null;
|
||||
next_cursor: string | null;
|
||||
};
|
||||
TrackFeatures: {
|
||||
bpm: number | null;
|
||||
energy: number | null;
|
||||
loudness_lufs: number | null;
|
||||
};
|
||||
/** @enum {string} */
|
||||
StreamQuality: "auto" | "original" | "high" | "medium" | "low";
|
||||
/** @enum {string} */
|
||||
|
||||
Reference in new issue
Block a user