-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Problem
Currently, alsdiff only outputs changes in a hierarchical tree view format. While this is excellent for detailed inspection, it has some limitations for certain use cases:
Issues with Tree View for Quick Overview
-
Overwhelming verbosity: Even with
--preset quietordetail_level=Summary, the tree view can produce extensive output when comparing complex Live Sets with many tracks, devices, and clips. -
Difficulty getting quick summary: When comparing two versions of a Live Set, users often want to quickly answer questions like:
- "How many tracks were added/removed?"
- "Did I add or remove any devices?"
- "What categories of changes are most significant?"
-
Hard to assess scope at a glance: With tree view, you need to scan through potentially hundreds of lines to understand the overall scope and nature of changes.
Example Scenario
When comparing two complex Live Sets, the current output might look like:
* LiveSet
+ Tracks (2 Added, 33 Removed)
+ Track 1
...
- Track 2
...
* Track 3
...
+ Devices (2 Added, 51 Removed)
+ Device 1
...
- Device 2
...
[... hundreds more lines ...]
For a quick overview, this is too detailed. Users just want to know:
Tracks: 2 Added, 33 Removed
Devices: 2 Added, 51 Removed
Clips: 47 Removed
Proposed Solution
Add a new output mode that provides categorical statistics showing change counts grouped by type (Tracks, Devices, Clips, Automation, etc.).
Key Requirements
- Aggregate by category: Group all changes by their domain type and show counts
- Concise format: Display as "Category: X Added, Y Removed, Z Modified"
- Filterable: Allow users to see specific categories only
- Sortable: Support different sort orders (by name, by total changes, or by priority)
Use Cases
- Quick assessment: "Did I accidentally remove tracks in this save?"
- Scope estimation: "How significant are the changes between these versions?"
- Focused review: "Show me only track and device changes"
- Git workflows: Quick overview in external diff tools without overwhelming output
Comparison to Similar Tools
This is similar to git diff --stat which provides a summary of changes by file, versus the full diff output. Both modes serve different purposes:
- Full diff/tree view: Detailed inspection
- Statistics mode: Quick overview and scope assessment
🤖 Generated with Claude Code