بنقرة واحدة
update-audio-goals
Regenerate app/gui/audio_goals.md with a fresh comprehensive analysis of the AudioPlayer component
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Regenerate app/gui/audio_goals.md with a fresh comprehensive analysis of the AudioPlayer component
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Implement improvements from a goals file by section number or name
Regenerate app/gui/goals.md with a fresh comprehensive analysis of the Veiled desktop app (excluding AudioPlayer and VideoPlayer internals)
Regenerate app/gui/video_goals.md with a fresh comprehensive analysis of the VideoPlayer component
Update app/gui/CLAUDE.md to match the current codebase state
Low-level Cardano utilities with @meshsdk/core-cst
Cardano transaction building with @meshsdk/transaction
| name | update-audio-goals |
| description | Regenerate app/gui/audio_goals.md with a fresh comprehensive analysis of the AudioPlayer component |
Delete audio_goals.md and regenerate it from scratch with a comprehensive analysis of every possible improvement across the AudioPlayer component. Do not carry over completed items or skipped items from the previous round — this is a fresh audit against the current state of the code.
Design intent: The AudioPlayer is a Winamp-themed audio player integrated into the Veiled library modal. It uses a native <audio> element (routes through GStreamer via WebKitGTK) with a separate PCM decode via OfflineAudioContext for FFT visualization only. Custom Cooley-Tukey radix-2 FFT (1024 samples, 32 bars) and waveform overview (200 buckets, peak-detection downsampling). WebKitGTK's Web Audio API is broken (no AnalyserNode, no AudioWorklet). Styling uses Winamp-themed CSS variables defined in fe/src/index.css. Suggestions should feel native to a polished retro-inspired desktop media player — not a web-first SPA.
Read CLAUDE.md to understand the current architecture, conventions, and gotchas
Read the current audio_goals.md (if it exists) to understand what was previously identified — but do NOT preserve it. The output is a clean slate. Note any items marked [s] (skipped) — these were intentionally declined and must NOT be re-suggested in the new goals.
Launch parallel Explore subagents (all "very thorough") to audit the AudioPlayer:
Agent 1 — Playback, Transport & Visualization:
AudioPlayer.tsx component line by lineVideoPlayer.tsx component for feature parity comparisonLibraryContentModal.tsx for integration point (how data is passed, how the player is mounted)fe/src/config/categories.ts for supported audio formats<audio> element handle all lifecycle events? Check for stalled, waiting, suspend, abort, emptied. Are there error states for unsupported formats? GStreamer codec gaps?Agent 2 — Performance & Memory:
fe/src/index.css for Winamp CSS variables, transitions, animations used by the playerrequestAnimationFrame cancelled on unmount? Are canvas dimensions handled for HiDPI? Is getComputedStyle called per frame (expensive)?Agent 3 — UX, Accessibility & Testing:
AudioPlayer.tsx (the JSX return block)fe/src/components/__tests__/AudioPlayer.test.tsxaria-live for state changes (play/pause, volume, speed)? Are all interactive elements keyboard-reachable? Is tab order logical? Do sliders have role="slider" + ARIA attributes? Does the LED display button have accessible labeling?Synthesize findings from all agents into a single audio_goals.md file. Cross-reference between agents to eliminate duplicates. If an area has no genuine issues, do not pad it with filler items.
Write audio_goals.md with this structure:
# AudioPlayer Goals & Improvements
A comprehensive backlog for making the AudioPlayer exceptional. Pick any item, implement it, check it off, and submit a PR.
**Architecture context:**
- Native `<audio>` element for playback (routes through GStreamer via WebKitGTK)
- Separate PCM decode via `OfflineAudioContext` for FFT visualization only
- Custom Cooley-Tukey radix-2 FFT (1024 samples, 32 bars)
- Waveform overview (200 buckets, peak-detection downsampling)
- WebKitGTK Web Audio API is broken (no AnalyserNode, no AudioWorklet)
- Styling uses Winamp-themed CSS variables defined in `fe/src/index.css`
Each item:
- `🔴` Critical — bugs, broken features
- `🟡` Important — UX improvements, user-requested features
- `🟢` Nice-to-have — polish, optimization
---
## N. Section Name
> Key files: `relevant/file/paths`
- [ ] 🟢 **Feature or improvement title**
- **How**: Concrete implementation approach with file paths, function names, patterns to follow. Should be detailed enough that a developer can start coding without further research.
- **Why**: 1-2 sentences explaining the user-facing or developer-facing value.
---
## Priority Summary
| Priority | Count | Items |
|----------|-------|-------|
| 🔴 Critical | N | ... |
| 🟡 Important | N | ... |
| 🟢 Nice-to-have | N | ... |
### Implementation Order (suggested)
[ordered list of recommended implementation sequence]
Organize items into these sections (merge or split as findings dictate). If a section has no genuine issues, omit it entirely.
aria-pressed={isMuted} to the mute button at line 504" is better than "Improve accessibility". Name the file, the line, the propaudio_goals.md before writing — this is always a fresh analysis[x]) from the previous audio_goals.md[s]) from the previous audio_goals.md — these were intentionally declined and must not reappeargrep -c '^\- \[ \]' and report the countgrep -c '🔴', grep -c '🟡', grep -c '🟢'