Move viewer extensions, options, and presets to a separate file
Add molstar.lib export providing access to a wide range of functionality previously not available from the compiled bundle
Add Viewer.subscribe method that keeps track of subscribed plugin events and disposes them together with the parent viewer
Add Viewer.structureInteractivity that makes it easy to highlight/select elements on the loaded structure
Add viewportBackgroundColor and viewportFocusBehavior options
Add mvs.html example to showcase the new functionality combined with MolViewSpec
Add dark and blue color theme support (import theme/dark.css or theme/blue.css instead of the default molstar.css)
MolViewSpec extension
Add tryGetPrimitivesFromLoci that makes it easier to access primitive element data from hover/click interactions
Add getCurrentMVSSnapshot to obtain source data for the currently displayed snapshot
Add TM-align structure-based protein alignment algorithm
New TMAlign namespace in mol-math/linear-algebra/3d/tm-align.ts
New tmAlign function in mol-model/structure/structure/util/tm-align.ts
Returns TM-score, RMSD, alignment mapping, and transformation matrix
Molecular Surface
Fix "auto" quality params not hidden
Fix calculation when probe diameter is smaller then resolution
Fix webgl1 shader syntax
Fix program not compiled for sync picking
Fix missing gl.flush for async picking (needed for Safari)
Add Residue Charge color scheme (#1722)
Add dropdown indicator for mapped parameter definitions and adjust "more options" icon
Fix flipSided for meshes
[Breaking] Interior coloring
Remove global interiorDarkening, interiorColorFlag, interiorColor
Add per-geometry interiorColor, interiorSubstance
Add label/auth_comp_id to StructureProperties.residue
Previously, this has been only been present on .atom (since residue name can alter on per-atom basis), but this has been a bit confusing for the general use-case
Move canvas "checkered background" logic to canvas3d.ts and only apply it when transparentBackground is on
This prevents ugly flickering during plugin initialization