5dc1d6e658ab009f27314e192340275a6bb70237
max
  Tue Jun 2 16:20:48 2026 -0700
Add colorFields trackDb setting for bigBed/bigGenePred color scheme switching

Adds a new trackDb statement `colorFields` that renders a "Color by:" dropdown
in the track controls page, letting users switch among multiple pre-computed
color schemes stored as extra bigBed fields containing R,G,B strings.

The `default="label"` key renames the standard itemRgb option in the dropdown.
Other entries name extra bigBed fields whose R,G,B values override itemRgb when
selected. When a non-default scheme is active, a "(Coloring by: label)" suffix
appears in the track long label.

Changes:
- hui.c/hui.h: new colorFieldsCfgUi() rendered inside bedScoreCfgUi() for bigBed
- bigBedTrack.c: colorFieldIdx lookup + per-item filterColor override + longLabel suffix
- tagTypes.tab: register colorFields for bigBed and bigGenePred
- trackDbLibrary.shtml, trackDbDoc.html, trackDbHub.v3.html, changes.html: documentation

refs #26253

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

diff --git src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html
index c2773cc5da5..bd6ef65138a 100755
--- src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html
+++ src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html
@@ -482,30 +482,37 @@
         </div>
     </TD></TR>
     <TR VALIGN=TOP><TD class="highlightPriority"><A name="highlightPriority"></A>
             <A name="highlightPriority.fieldName"></A><IMG class='toggle detail'>
         <div class="format">
             <code>highlightPriority.&lt;fieldName&gt; &lt;number&gt;</code><BR>
             </div>
     </TD></TR>
     <TR VALIGN=TOP><TD class="filterBy"><A name="filterBy"></A><IMG class='toggle detail'>
         <div class="format"><code>filterBy &lt;field1:title=[+]opt1a...&gt;
                                            [field2:title=[+]opt2a...]</code></div>
     </TD></TR>
     <TR VALIGN=TOP><TD class="itemRgb"><A name="itemRgb"></A><IMG class='toggle detail'>
         <div class="format"><code>itemRgb on</code></div>
     </TD></TR>
+
+    <TR VALIGN=TOP><TD class="colorFields"><A name="colorFields"></A><IMG class='toggle detail'>
+        <div class="format">
+            <code>colorFields default="&lt;label&gt;" &lt;fieldName&gt;="&lt;label&gt;" ...</code>
+        </div>
+    </TD></TR>
+
     <TR VALIGN=TOP><TD class="maxItems"><A name="maxItems"></A><IMG class='toggle detail'>
         <div class="format"><code>maxItems &lt;integer&gt;</code></div>
     </TD></TR>
     <TR VALIGN=TOP><TD class="maxWindowCoverage">
         <A name="maxWindowCoverage"></A><IMG class='toggle detail'>
         <div class="format"><code>maxWindowCoverage &lt;integer&gt;</code></div>
     </TD></TR>
     <TR VALIGN=TOP><TD class="maxWindowToDraw">
         <A name="maxWindowToDraw"></A><IMG class='toggle detail'>
         <div class="format"><code>maxWindowToDraw &lt;integer&gt;</code></div>
     </TD></TR>
     <TR VALIGN=TOP><TD class="minGrayLevel"><A name="minGrayLevel"></A><IMG class='toggle detail'>
         <div class="format"><code>minGrayLevel  &lt;1-9&gt;</code></div>
     </TD></TR>
     <TR VALIGN=TOP><TD class="noScoreFilter"><A name="noScoreFilter"></A><IMG class='toggle detail'>