markdown · 4356 bytes Raw Blame History

SpaceSniffer Feature Parity Checklist

🎯 Goal: Near 1:1 Clone of SpaceSniffer for Unix

✅ Completed (Phase 1-2)

  • GTK4 window with Cairo rendering
  • Real directory scanning
  • Squarified treemap layout algorithm
  • Basic color coding
  • Handles large directories (32GB tested)
  • Window resize/redraw

🚧 In Progress (Phase 3-4)

  • Directory Chooser - Command-line argument support (GUI dialog deferred)
  • File Names on Rectangles - Show names when space permits
  • Toolbar - Scan and Quit buttons
  • Status Bar - Show ready status
  • Top-Level Rendering - Show only direct children (no deep nesting)
  • Size Labels - Display MB/GB on large rectangles

📋 Critical Features (Phase 5-6)

  • Click to Select - Highlight selected rectangle
  • Double-click to Zoom - Navigate into directories
  • Breadcrumb Bar - Show current path, allow navigation back
  • Hover Tooltips - Show full path and details on hover
  • Context Menu - Right-click: Open, Delete, Properties
  • Keyboard Navigation - Arrow keys, Enter, Backspace
  • Delete with Confirmation - Safe deletion workflow

🎨 Visual Enhancements (Phase 7)

  • Cushioned Treemap - 3D shading effect (Van Wijk algorithm)
  • Better Color Schemes - By file type, age, or extension
  • Smart Label Placement - Only show when readable
  • Selection Highlight - Clear visual feedback
  • Hover Effect - Lighten/darken on mouse over
  • Smooth Animations - Fade in/out, zoom transitions

🔍 Advanced Features (Phase 8)

  • Search Bar - Find files by name (regex)
  • Filter Panel - By type, size, date
  • Real-time Scanning - Animate growth as files are found
  • Pause/Resume Scan - Control during scanning
  • Free Space Display - Show available disk space
  • Multiple Color Modes - Switch between schemes

📊 Information Display

  • Status Bar Items:
    • Currently scanning: /path/to/dir
    • Items scanned: 1,234 / 5,678
    • Total size: 32.5 GB
    • Selected: filename.ext (1.2 MB)
    • Free space: 128 GB

🖱️ Mouse & Keyboard

  • Mouse:

    • Left click: Select
    • Double-click: Zoom in
    • Right-click: Context menu
    • Hover: Show tooltip
  • Keyboard:

    • Arrow keys: Navigate siblings
    • Enter: Zoom into selected
    • Backspace: Zoom out to parent
    • Delete: Delete selected (with confirmation)
    • Ctrl+F: Search
    • Ctrl+Q: Quit
    • /: Focus search
    • Escape: Clear selection

🎨 Visual Polish

  • Colors:

    • Directories: Blue family
    • Documents: Green family
    • Images: Orange family
    • Videos: Red family
    • Audio: Purple family
    • Code: Cyan family
    • Archives: Brown family
  • Fonts:

    • Names: System font, bold for directories
    • Sizes: Monospace for alignment
    • Min size: 10pt readable

🔧 Settings/Preferences

  • Configurable:
    • Layout algorithm (Squarified vs Cushioned)
    • Color scheme
    • Animation speed
    • Font size
    • Skip directories (.git, node_modules, etc.)
    • Scan depth limit

📈 Current Progress: ~45% Complete

What Works Now:

✅ Scanning (4GB+ tested, scans entire tree) ✅ Layout calculation (squarified treemap algorithm) ✅ Smart rendering (shows only top-level, not nested) ✅ Window resizing with proper layout recalculation ✅ Directory selection (via command-line argument) ✅ File/directory names on rectangles (when space permits) ✅ Toolbar with Scan and Quit buttons ✅ Status bar showing scan status

Immediate Priorities (Next 3 Commits):

  1. Click-to-select - Highlight selected rectangle
  2. Double-click navigation - Zoom into directories
  3. Breadcrumbs - Show current path and navigate back

Next Week Goals:

  1. Click selection
  2. Zoom navigation
  3. Breadcrumbs
  4. Tooltips

🎯 Success Criteria

A successful SpaceSniffer clone must:

  • ✅ Scan and visualize any directory
  • ⏳ Show file names and sizes clearly
  • ⏳ Allow navigation (click, zoom, back)
  • ⏳ Provide deletion with safety
  • ⏳ Look professional (toolbar, status bar)
  • ⏳ Handle large directories (millions of files)
  • ⏳ Be as fast or faster than SpaceSniffer

We're making great progress, but we're just getting started! 🚀

View source
1 # SpaceSniffer Feature Parity Checklist
2
3 ## 🎯 Goal: Near 1:1 Clone of SpaceSniffer for Unix
4
5 ### ✅ Completed (Phase 1-2)
6 - [x] GTK4 window with Cairo rendering
7 - [x] Real directory scanning
8 - [x] Squarified treemap layout algorithm
9 - [x] Basic color coding
10 - [x] Handles large directories (32GB tested)
11 - [x] Window resize/redraw
12
13 ### 🚧 In Progress (Phase 3-4)
14 - [x] **Directory Chooser** - Command-line argument support (GUI dialog deferred)
15 - [x] **File Names on Rectangles** - Show names when space permits
16 - [x] **Toolbar** - Scan and Quit buttons
17 - [x] **Status Bar** - Show ready status
18 - [x] **Top-Level Rendering** - Show only direct children (no deep nesting)
19 - [ ] **Size Labels** - Display MB/GB on large rectangles
20
21 ### 📋 Critical Features (Phase 5-6)
22 - [ ] **Click to Select** - Highlight selected rectangle
23 - [ ] **Double-click to Zoom** - Navigate into directories
24 - [ ] **Breadcrumb Bar** - Show current path, allow navigation back
25 - [ ] **Hover Tooltips** - Show full path and details on hover
26 - [ ] **Context Menu** - Right-click: Open, Delete, Properties
27 - [ ] **Keyboard Navigation** - Arrow keys, Enter, Backspace
28 - [ ] **Delete with Confirmation** - Safe deletion workflow
29
30 ### 🎨 Visual Enhancements (Phase 7)
31 - [ ] **Cushioned Treemap** - 3D shading effect (Van Wijk algorithm)
32 - [ ] **Better Color Schemes** - By file type, age, or extension
33 - [ ] **Smart Label Placement** - Only show when readable
34 - [ ] **Selection Highlight** - Clear visual feedback
35 - [ ] **Hover Effect** - Lighten/darken on mouse over
36 - [ ] **Smooth Animations** - Fade in/out, zoom transitions
37
38 ### 🔍 Advanced Features (Phase 8)
39 - [ ] **Search Bar** - Find files by name (regex)
40 - [ ] **Filter Panel** - By type, size, date
41 - [ ] **Real-time Scanning** - Animate growth as files are found
42 - [ ] **Pause/Resume Scan** - Control during scanning
43 - [ ] **Free Space Display** - Show available disk space
44 - [ ] **Multiple Color Modes** - Switch between schemes
45
46 ### 📊 Information Display
47 - [ ] **Status Bar Items:**
48 - Currently scanning: /path/to/dir
49 - Items scanned: 1,234 / 5,678
50 - Total size: 32.5 GB
51 - Selected: filename.ext (1.2 MB)
52 - Free space: 128 GB
53
54 ### 🖱️ Mouse & Keyboard
55 - [ ] **Mouse:**
56 - Left click: Select
57 - Double-click: Zoom in
58 - Right-click: Context menu
59 - Hover: Show tooltip
60
61 - [ ] **Keyboard:**
62 - Arrow keys: Navigate siblings
63 - Enter: Zoom into selected
64 - Backspace: Zoom out to parent
65 - Delete: Delete selected (with confirmation)
66 - Ctrl+F: Search
67 - Ctrl+Q: Quit
68 - /: Focus search
69 - Escape: Clear selection
70
71 ### 🎨 Visual Polish
72 - [ ] **Colors:**
73 - Directories: Blue family
74 - Documents: Green family
75 - Images: Orange family
76 - Videos: Red family
77 - Audio: Purple family
78 - Code: Cyan family
79 - Archives: Brown family
80
81 - [ ] **Fonts:**
82 - Names: System font, bold for directories
83 - Sizes: Monospace for alignment
84 - Min size: 10pt readable
85
86 ### 🔧 Settings/Preferences
87 - [ ] **Configurable:**
88 - Layout algorithm (Squarified vs Cushioned)
89 - Color scheme
90 - Animation speed
91 - Font size
92 - Skip directories (.git, node_modules, etc.)
93 - Scan depth limit
94
95 ---
96
97 ## 📈 Current Progress: ~45% Complete
98
99 ### What Works Now:
100 ✅ Scanning (4GB+ tested, scans entire tree)
101 ✅ Layout calculation (squarified treemap algorithm)
102 ✅ Smart rendering (shows only top-level, not nested)
103 ✅ Window resizing with proper layout recalculation
104 ✅ Directory selection (via command-line argument)
105 ✅ File/directory names on rectangles (when space permits)
106 ✅ Toolbar with Scan and Quit buttons
107 ✅ Status bar showing scan status
108
109 ### Immediate Priorities (Next 3 Commits):
110 1. **Click-to-select** - Highlight selected rectangle
111 2. **Double-click navigation** - Zoom into directories
112 3. **Breadcrumbs** - Show current path and navigate back
113
114 ### Next Week Goals:
115 4. Click selection
116 5. Zoom navigation
117 6. Breadcrumbs
118 7. Tooltips
119
120 ---
121
122 ## 🎯 Success Criteria
123
124 A successful SpaceSniffer clone must:
125 - ✅ Scan and visualize any directory
126 - ⏳ Show file names and sizes clearly
127 - ⏳ Allow navigation (click, zoom, back)
128 - ⏳ Provide deletion with safety
129 - ⏳ Look professional (toolbar, status bar)
130 - ⏳ Handle large directories (millions of files)
131 - ⏳ Be as fast or faster than SpaceSniffer
132
133 ---
134
135 **We're making great progress, but we're just getting started!** 🚀