Add Bubble Tea TUI with interactive treemap

Cell canvas renderer with frame cache and a perceptual 256-colour
quantizer; responsive geometry (large/medium/small/too-small);
squarified treemap with nested previews, LOD grouping, category
colouring and adaptive labels; spatial arrow navigation with stable
NodeID selection; zoom and breadcrumbs; modal system (info, help,
confirm, save); list, file-type, top-N, scan-info, duplicate and
comparison views; live search/filter; mouse support; move-to-trash.
This commit is contained in:
Andy Dixon
2026-10-02 08:25:35 +01:00
parent e8c831cb47
commit df8b10c6dd
35 changed files with 5294 additions and 25 deletions
+10
View File
@@ -62,3 +62,13 @@ func TestSize(t *testing.T) {
t.Errorf("SignedSize got %q", got)
}
}
func TestClustersAgreeWithWidth(t *testing.T) {
for _, s := range []string{"abc", "日本", "é", "👨‍👩‍👧", "🎉x", "​"} {
n := 0
Clusters(s, func(_ string, w int) bool { n += w; return true })
if n != Width(s) {
t.Errorf("%q: clusters %d width %d", s, n, Width(s))
}
}
}