diff --git a/flow-state/debug.html b/flow-state/debug.html index 3e79a24..b0835c1 100644 --- a/flow-state/debug.html +++ b/flow-state/debug.html @@ -53,6 +53,19 @@
~3 min · the one to open when a scene feels familiar · HOWTO-variety.md for how to fix what it finds
+
+

one scene, wide

+

The gallery for a single visualizer, on a grid of songs (rows) against + seeds (columns) — up to every song in the bank by ten draws. Six + thumbnails ranks a library; it is far too few to study one scene. + Scores the two axes separately, which is the thing the library + gallery cannot tell you: across seeds low means the + scene ignores the identity, across songs low means it + ignores the music. The closest pair in the grid is outlined.

+
seconds, after the songs are analysed once · + click any scene name in the gallery to open it here · + the buttons change grid size and walk onto fresh seeds
+

filmstrip

Every song in the bank, one frame every 30 seconds, left to right. diff --git a/flow-state/gallery.html b/flow-state/gallery.html index 0c2437c..aefb33d 100644 --- a/flow-state/gallery.html +++ b/flow-state/gallery.html @@ -72,6 +72,35 @@ padding: 0 8px; color: #ef4444; font-size: 11px; letter-spacing: .04em; } @media (max-width: 1100px) { .thumbs { grid-template-columns: repeat(3, 1fr); } } + + /* ---- single-scene sweep --------------------------------------------- */ + .name a { color: inherit; text-decoration: none; border-bottom: 1px dotted #3a4256; } + .name a:hover { color: #7dd3fc; } + .btns { display: inline-flex; gap: 4px; margin-left: 4px; } + .btns button.on { border-color: #7dd3fc; color: #7dd3fc; } + .sweep { display: grid; gap: 5px; align-items: center; margin-top: 8px; } + .sweep .colhead { font-size: 10px; color: #565f70; text-align: center; } + .sweep .rowlabel { + font-size: 11px; color: #8b94a7; text-align: right; + padding-right: 8px; white-space: nowrap; + } + .sweep .cell { position: relative; line-height: 0; } + .sweep canvas { + width: 100%; display: block; background: #05070a; + border-radius: 2px; aspect-ratio: 16 / 9; + } + /* The two cells that measured closest — on a grid this wide they are the + only pair an eye has no chance of finding on its own. */ + .sweep .cell.twin canvas { outline: 2px solid #ef4444; outline-offset: 1px; } + .sweep .cell.twin::after { + content: 'twin'; position: absolute; top: 2px; left: 3px; + font-size: 9px; color: #ef4444; line-height: 1; + } + .axes { display: flex; gap: 18px; flex-wrap: wrap; margin: 10px 0 2px; } + .axes div { font-size: 12px; } + .axes b { color: #e6eaf2; font-weight: normal; } + .axes .weak b { color: #ef4444; } + .axes small { color: #6b7280; display: block; font-size: 11px; } @@ -87,31 +116,50 @@ each other: the highest-scoring scenes are often a few bright elements on black, which is varied and thin to watch on its own. Those are composable — they are meant to sit on top of a canvas. + Click a scene's name to open it on its own, across a much + wider grid of songs and seeds — six frames ranks a library and is far too + few to study one scene. ← all debug tools

- - + + + + + checking cache…
+