The Part Type dropdown is populated from one list (in SBOLData.types) that combines three unrelated kinds: molecular-species (Protein, Complex, Small molecule, DNA/RNA), DNA/RNA-regions, and backbone topology. Every glyph is offered every option regardless of its kind (screenshot: a Backbone glyph offered Protein, etc.). Today this is handled ad hoc, with some values removed globally (e.g. Circular/Chromosomal), the renderer using string matching on glyph type, and some glyph categories don't offer Part Type at all (e.g. Interaction Nodes use Interaction Type instead). For glyphs like the Backbone example, changing the type doesn't even work. The Part Role dropdown has the same problem. The dropdown behavior should be unified and scoped to glyph type.

The
Part Typedropdown is populated from one list (inSBOLData.types) that combines three unrelated kinds: molecular-species (Protein, Complex, Small molecule, DNA/RNA), DNA/RNA-regions, and backbone topology. Every glyph is offered every option regardless of its kind (screenshot: a Backbone glyph offered Protein, etc.). Today this is handled ad hoc, with some values removed globally (e.g. Circular/Chromosomal), the renderer using string matching on glyph type, and some glyph categories don't offerPart Typeat all (e.g. Interaction Nodes useInteraction Typeinstead). For glyphs like the Backbone example, changing the type doesn't even work. ThePart Roledropdown has the same problem. The dropdown behavior should be unified and scoped to glyph type.