Commit 28e796e
Frontend polish: smooth motion, live perf, clean UX
Phase 1 (motion): animate Focus-mode layout swap, ParamPanel tab switch
with underline slide, sidebar/setlist diffable inserts, AevumToggle
spring, sheet/overlay transitions, FirstRun→ContentView cross-fade.
Phase 2 (performance): KnobFloat polling 10Hz→4Hz + pauses when
backgrounded; LiveWaveformView pauses 60fps redraw when stopped and
pre-samples gradient colors; SetlistView computes similarity off
@mainactor with a spinner; new loopsBySong + loopToSlot indexes kill
O(N×M) per-render filters and O(6) per-cell scans; MetricsView +
Performance tab self-throttle at 4Hz; forever-animations pause when
scenePhase != .active; setBlendWeights batches Normalize into one
publish; slot(forLoop:) is O(1).
Phase 3 (clean): GlassBackground uses .ultraThinMaterial; new AevumFont
hero/section tokens replace raw .system calls; WaveformView no longer
invisible in light mode and playhead matches the palette; capsuleChip
modifier unifies badge styling; sidebar rows get .contentShape;
MacroKnobs get tooltips; DRUMS becomes a proper detented 2-position knob.
Phase 4 (live): space/R shortcuts are now ⌘Space/⌘R so they don't fire
inside text fields; ⇧⌘R records (closes the long-standing ⌘R-disabled
gap); menu commands call controller directly instead of round-tripping
through NotificationCenter; arrow-key cursor nudge is smaller and
spring-animated; trackpad haptic on scene recall and slot toggle;
RelativeDateTimeFormatter + ByteCountFormatter cached; NamePromptSheet
inits @State in init (no empty-field flash) and wires Enter/Escape.
Plan: docs/FRONTEND_PLAN.md1 parent ac1aa5b commit 28e796e
16 files changed
Lines changed: 1160 additions & 170 deletions
File tree
- Aevum/Sources
- AevumApp
- Engine
- UI
- docs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
38 | 40 | | |
| 41 | + | |
| 42 | + | |
39 | 43 | | |
40 | 44 | | |
41 | 45 | | |
42 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
43 | 61 | | |
44 | 62 | | |
45 | 63 | | |
46 | 64 | | |
47 | 65 | | |
48 | | - | |
49 | | - | |
| 66 | + | |
| 67 | + | |
50 | 68 | | |
51 | 69 | | |
52 | | - | |
53 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
54 | 76 | | |
55 | 77 | | |
56 | | - | |
| 78 | + | |
57 | 79 | | |
58 | 80 | | |
59 | 81 | | |
| |||
62 | 84 | | |
63 | 85 | | |
64 | 86 | | |
65 | | - | |
66 | | - | |
67 | | - | |
| 87 | + | |
68 | 88 | | |
0 commit comments