v0.6.0 — Visual Refresh
What's new in 0.6.0
Visual refresh across the entire app
Welcome screen — opening StorageScope with no scan now shows a full-width hero spanning both columns, with a spring transition when a scan starts or completes. The welcome view was extracted into its own module (WelcomeView.swift, PR #90) and polished into a hero layout. Empty-state ownership also moved out of ContentView into DetailView, so DetailView now branches between WelcomeView (overview), a new NoScanPlaceholder for other sidebar selections, and the normal scan-related layout.
Inspector redesign — the inspector panel now leads with a tinted icon header (coloured rounded-rect background matching the file type), shows attributes in a two-column grid, and uses a clear button hierarchy: a prominent primary action for Reveal in Finder, compact secondary buttons for Open and Copy Path, and a role-appropriate Trash button. The empty state shows cleaner copy.
Card radius 12 — all card backgrounds bumped from 8 → 12 pt, keeping inner bars and elements concentric.
Storage Map — the Overview's storage map is now a single unified card with dividers between rows instead of ten individually-wrapped cards. Each row highlights on hover.
Hover states — all interactive list rows (Storage Map, Largest Files/Folders, Old Large Files, Folder Tree, Cleanup Review, Duplicate Review) now show a subtle hover highlight.
Metric cards — the four header cards (Footprint, Items, Large Files, Reviewable) use a more opaque material so their boundaries are visible, and numeric values use tabular figures throughout.
View transitions — switching between smart views fades smoothly instead of snapping.
Sidebar Grant Access buttons — slimmed down from heavy full-width blocks to compact icon + label style, matching the visual weight of the rest of the sidebar.
Settings window — the settings panel was too short and clipped the Duplicate Hash Cache section (Last updated label, Clear Cache button, and footnote). Fixed with a taller default size and a scroll view.
Performance
StorageItemRowandDuplicateItemRowadoptedEquatableso SwiftUI can skip diff/recompute for identity-equal rows on large scans.CleanupCandidateRowadoptedEquatableand hoisted per-row state, reducing redundant diff work on the cleanup-review lane during scans and selection churn.DuplicateItemListrender-path refactor extracted rows toDuplicateFileRowto enable per-row@Statehover tracking.
Documentation
- Refreshed README overview screenshot to the current app UI.
Internal
- WelcomeView lifted into its own file (PR #90); welcome and empty-state branch now owned by
DetailView, simplifyingContentViewto pure split-view chrome. - Removed
ensureAncestorsExpandedfrom find-next navigation; the auto-expand-on-Cmd+G behaviour was reverted.