You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -405,6 +406,8 @@ This section provides context on _why_ features were built the way they were, ba
405
406
406
407
TensorBoard assigned random colors to runs, which changed on every page refresh. TensorBored computes colors deterministically from a hash of the run ID/name, so the same run always gets the same color. Colors can also be overridden programmatically via the profile writer. When no explicit colors are set, the frontend uses hash-based fallback colors (never white/invisible). Color overrides are stored in localStorage (`_tb_run_colors.v1`).
407
408
409
+
After hash-based colors are assigned, a **perceptual deconfliction** pass runs on every `fetchRunsSucceeded`. This checks all pairs of run colors using OKLAB delta-E (threshold 0.075) and, for any clashes, searches across **all three OKLCH axes** (lightness, chroma, hue) to find a maximally-distant replacement color. Deconfliction results are cached in `_tb_run_color_deconfliction.v1` (never in profiles) and are deterministically recomputable given the same set of runs. The algorithm is incremental: when new runs are added, only the new runs are checked against the full set of existing effective colors.
410
+
408
411
### Dashboard Profiles (#5, #12)
409
412
410
413
The single biggest architectural addition. TensorBoard stored all dashboard state in URL parameters, hitting browser URL length limits with many pins. TensorBored moved everything to localStorage-based profiles:
@@ -532,6 +535,8 @@ If charts appear blank:
532
535
533
536
### Run Colors Wrong or Missing
534
537
535
-
1. Check `_tb_run_colors.v1` in localStorage
536
-
2. Verify the profile's `runColors` array entries have valid `runId` and `color` fields
537
-
3. If colors are white/invisible, the hash-based fallback may not be working — check the color computation in runs store
538
+
1. Check `_tb_run_colors.v1` in localStorage (user overrides)
539
+
2. Check `_tb_run_color_deconfliction.v1` in localStorage (auto-computed deconfliction overrides)
540
+
3. Verify the profile's `runColors` array entries have valid `runId` and `color` fields
541
+
4. If colors are white/invisible, the hash-based fallback may not be working — check the color computation in runs store
542
+
5. Deconfliction colors are NOT stored in profiles — they are cached separately and recomputed if the cache is lost
0 commit comments