0df5f6317fd6e0033a31aaf56b928f574823075c
chmalee
  Wed Jun 3 11:06:54 2026 -0700
Recommended track sets now can load from a file in htdocs/data/recTrackSets/db/sessionName. The settings are overlayed onto the current cart and no reload of the page is required anymore, refs #37281

diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h
index 2702bc07f3e..9a0a35755ab 100644
--- src/hg/hgTracks/hgTracks.h
+++ src/hg/hgTracks/hgTracks.h
@@ -1889,30 +1889,35 @@
 boolean recTrackSetsEnabled();
 /* Return TRUE if feature is available */
 
 boolean recTrackSetsChangeDetectEnabled();
 /* Return TRUE if feature is available, in hgConf */
 
 int recTrackSetsForDb();
 /* Return number of recommended track sets for this database */
 
 boolean hasRecTrackSet(struct cart *cart);
 /* Check if currently loaded session is in the recommended track set */
 
 void printRecTrackSets();
 /* Create dialog with list of recommended track sets */
 
+boolean loadRecTrackSetFromFile(struct cart *cart, char *sessionName);
+/* If a contents file exists in htdocs for this recommended track set, merge its
+ * settings into the current cart and return TRUE.  Return FALSE if no file, so the
+ * caller can fall back to loading the session from hgcentral. */
+
 Color colorFromSoTerm(enum soTerm term);
 /* Assign a Color according to soTerm: red for non-synonymous, green for synonymous, blue for
  * UTR/noncoding, black otherwise. */
 
 void maybeNewFonts(struct hvGfx *hvg);
 /* Check to see if we want to use the alternate font engine (FreeType2). */
 
 Color colorFromCart(struct track *tg, Color color);
 /* Return the RGB color from the cart setting 'colorOverride' or just return color */
 
 unsigned getParaLoadTimeout();
 // get the parallel load timeout in seconds (defaults to 90)
 
 void maybeDrawQuickLiftLines( struct track *tg, int seqStart, int seqEnd,
                       struct hvGfx *hvg, int xOff, int yOff, int width,