drum-sample-extractor / docs /CLEAN_DEFAULT_UI.md
ChatGPT
feat: reduce default ui clutter
8c10624
|
Raw
History Blame Contribute Delete
2.78 kB
# Clean default UI pass
Last updated: 2026-05-12
## Goal
The application had become functionally rich but visually too dense. The default view should communicate one simple loop:
```text
upload audio → adjust 2-3 controls → extract → audition waveform and sample cards
```
Everything else should remain available, but it should not compete with that loop until the user opens the relevant panel.
## Implemented changes
| Area | Change |
|---|---|
| Default panels | Left-sidebar source, selection, pipeline, history, right-sidebar exports, and bottom review/edit are collapsed by default. |
| Bottom dock | Reduced to a compact tab bar until a tool is opened; opening a bottom tool expands only the bottom dock. |
| Top bar | Shorter top bar, smaller logo mark, compact upload control, compact backend status, smaller primary action. |
| Main workspace | Waveform and sample cards get more of the viewport by shrinking sidebars, gaps, padding, and the collapsed bottom dock. |
| Common controls | Helper paragraphs, long field hints, and range captions are hidden in the default common-control card. |
| Advanced controls | Advanced DSP/model/cache parameters remain available but are collapsed and visually quieter. |
| Pipeline/logs/history | Still present, but no longer visible unless the user opens the relevant left-sidebar panel. |
| Review/edit tools | Still present, but moved behind the collapsed bottom dock so normal extraction is not visually crowded. |
| Local scrolling | The page remains non-scrolling; only panels and grids scroll internally when needed. |
## Default visible surface
The default screen now shows only:
1. app identity;
2. upload control;
3. backend status;
4. primary extract button;
5. collapsed utility panels;
6. waveform transport;
7. sample-card grid;
8. common extraction controls.
This keeps the advanced workstation architecture without making the application feel like a debug console.
## Preserved behavior
No backend API or DOM id was removed. Existing functionality is still wired:
- whole-app drag/drop upload;
- extraction jobs and SSE progress;
- source/stem/reproduced preview transport;
- waveform onset selection and force-onset mode;
- sample/hit audition;
- run history;
- supervised editing;
- edited export;
- raw tables;
- advanced parameter tuning.
## Remaining UI work
1. Add a single keyboard shortcut/help overlay so hidden tools remain discoverable.
2. Add browser screenshot regression tests for the clean default layout.
3. Consider a true icon rail if the left collapsed panel summaries still feel too wide after real browser review.
4. Add a focused empty state inside the waveform/sample area before upload.
5. Migrate the frontend to TypeScript/Vite once the UI stops changing rapidly.