f04f1b9af06c823602c5e0ecd3b8c2059d7704d3
jcasper
  Thu Aug 27 14:42:31 2026 -0700
Faceted composites now have a max display mode setting instead of a full override
of child track visibilities, with accompanying support for the onlyVisibility setting.  We also
now include a filter block (applied to appropriate child tracks) when those settings are in place.
refs #37662

diff --git src/hg/inc/hui.h src/hg/inc/hui.h
index 68c1c25745f..5b8c1f7067a 100644
--- src/hg/inc/hui.h
+++ src/hg/inc/hui.h
@@ -234,30 +234,34 @@
 /* Make track visibility drop down for varName with style class, optional aria-label,
 	and potentially limited to visOnly */
 #define hTvDropDownClassVisOnlyWithLabel(varName,vis,canPack,class,visOnly,label) \
         hTvDropDownClassVisOnlyAndExtraWithLabel(varName,vis,canPack,class,visOnly,NULL,label)
 
 void hTvDropDownClassVisOnlyAndExtra(char *varName, enum trackVisibility vis,
                                      boolean canPack, char *class, char *visOnly, struct slPair *events);
 /* Make track visibility drop down for varName with style class,
 	and potentially limited to visOnly */
 #define hTvDropDownClassVisOnly(varName,vis,canPack,class,visOnly) \
         hTvDropDownClassVisOnlyAndExtra(varName,vis,canPack,class,visOnly,NULL)
 
 void hTvDropDownClassWithJavascript(char *varName, char *id, enum trackVisibility vis, boolean canPack,
                                     char *class, struct slPair *events);
 
+/* Parse an onlyVisibility value the way hTvGetVizArr() does: case-insensitively, with an
+ * unrecognized value falling back to dense rather than to hide. */
+enum trackVisibility tvFromVisOnlySetting(char *visOnly);
+
 /* return a NULL-terminated array of char* with possible track visibilities */
 char** hTvGetVizArr(enum trackVisibility vis, boolean canPack, char* visOnly);
 
 /* Make track visibility drop down for varName with style class and javascript */
 #define hTvDropDownClass(varName,vis,canPack,class) \
         hTvDropDownClassWithJavascript((varName),NULL,(vis),(canPack),(class),NULL)
 #define hTvDropDownWithJavascript(varName,vis,canPack,javascript) \
         hTvDropDownClassWithJavascript((varName),NULL,(vis),(canPack),"normalText",(javascript))
 #define hTvDropDown(varName,vis,canPack) \
         hTvDropDownClassWithJavascript((varName),NULL,(vis),(canPack),"normalText",NULL)
 
 #define SUPERTRACK_DEFAULT_VIS  "hide"
 
 void hideShowDropDownWithClassExtraAndLabel(char *varName, char *id, boolean show, char *class,
                                             struct slPair *events, char *ariaLabel);