| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| escales | ||
| manifeste | ||
| semaphore | ||
| tasks | ||
| tide-table | ||
| ui | ||
| .gitignore | ||
| DESIGN.md | ||
| PRODUCT.md | ||
| README.md | ||
| serve.py |
- triangle viz loads once: .tidal source embedded per-row in catalog_view.json (no per-file fetch / relative-path fragility); take audio resolved at build time so a player only renders when a proxy exists; data-load failure banner - usability: full-width search, fixed colgroup widths, ellipsized sound-lists, tooltip'd empty states (corner-C/B gap, not a disagreement) - tide.py serve: serves the tide-table dir load-once, prints the triangle URL - #56: drop empty/sketch take-types from candidate links (Take63/64 noise) - #59 pattern_ngrams.py + PatternRegistry: mini-notation phrases as 'things' (unique/repeated/shared), track clustering by sound-token n-gram Jaccard (df-filtered + min-shingle guard). 73 tracks -> 1325 phrases, 193 shared, 33 repeated; surfaces the gMask/gMute boolean idioms + euclid figures - tests: 43 green (new guards: no empty/sketch candidates, source embedded, audio paths resolve; full UT+IT for the pattern registry)
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| escales | Loading commit data... | |
| manifeste | Loading commit data... | |
| semaphore | Loading commit data... | |
| tasks | Loading commit data... | |
| tide-table | Loading commit data... | |
| ui | Loading commit data... | |
| .gitignore | Loading commit data... | |
| DESIGN.md | Loading commit data... | |
| PRODUCT.md | Loading commit data... | |
| README.md | Loading commit data... | |
| serve.py | Loading commit data... |