Skip to content

Latest commit

 

History

History
326 lines (254 loc) · 15 KB

CHANGELOG.md

File metadata and controls

326 lines (254 loc) · 15 KB

Change Log

All notable changes to this project will be documented in this file, following the suggestions of Keep a CHANGELOG. This project adheres to Semantic Versioning for its most widely used - and defacto - public interfaces.

Note that since we don't clearly distinguish between a public and private interfaces there will be changes in non-major versions that are potentially breaking. If we make breaking changes to less used interfaces we will highlight it in here.

[Unreleased]

  • Fix getOperatorsForIndex
  • Pass animation info (current frame & count) to state animations
    • Fix camera stutter for "camera spin" animation
  • Add partial charge parsing support for MOL/SDF files (thanks @ptourlas)
  • [Breaking] Cleaner looking MembraneOrientationVisuals defaults
  • Add support for custom colors to "molecule-type" theme
  • [Breaking] Add style parameter to "illustrative" color theme
    • Defaults to "entity-id" style instad of "chain-id"
  • Add "illustrative" representation preset

[v3.0.0-dev.9] - 2022-01-09

  • Add PDBj as a pdb-provider option
  • Move Viewer APP to a separate file to allow use without importing light theme & index.html
  • Add symmetry support for mol2 files (only spacegroup setting 1)
  • Fix mol2 files element symbol assignment
  • Improve bond assignment from IndexPairBonds
    • Add key field for mapping to source data
    • Fix assignment of bonds with unphysical length
  • Fix label/stats of single atom selection in multi-chain units

[v3.0.0-dev.8] - 2021-12-31

  • Add PluginFeatureDetection and disable WBOIT in Safari 15.
  • Add disable-wboit Viewer GET param
  • Add prefer-webgl1 Viewer GET param
  • [Breaking] Refactor direct-volume rendering
    • Remove isosurface render-mode (use GPU MC instead)
    • Move coloring into theme (like for other geometries/renderables)
      • Add direct color type
      • Remove color from transfer-function (now only alpha)
      • Add direct-volume color theme support
      • Add volume-value color theme
  • [Breaking] Use size theme in molecular/gaussian surface & label representations
    • This is breaking because it was hardcoded to physical internally but the repr size theme default was uniform (now physical)

[v3.0.0-dev.7] - 2021-12-20

  • Reduce number of created programs/shaders
    • Support specifying variants when creating graphics render-items
    • Change double-side shader param from define to uniform
    • Remove dMarkerType shader define (use uMarker as needed)
    • Support to ignore defines depending on the shader variant
    • Combine pickObject/pickInstance/pickGroup shader variants into one
    • Combine markingDepth/markingMask shader variants into one
    • Correctly set shader define flags for overpaint, transparency, substance, clipping
  • [Breaking] Add per-object clip rendering properties (variant/objects)
    • SimpleSettingsParams.clipping.variant/objects and RendererParams.clip were removed

[v3.0.0-dev.6] - 2021-12-19

  • Enable temporal multi-sampling by default
    • Fix flickering during marking with camera at rest
  • Enable aromaticBonds in structure representations by default
  • Add PluginConfig.Structure.DefaultRepresentationPreset
  • Add ModelArchive support
    • schema extensions (e.g., AlphaFold uses it for the pLDDT score)
    • ModelArchive option in DownloadStructure action
    • model-archive GET parameter for Viewer app
    • Viewer.loadModelArchive method
  • Improve support for loading AlphaFold structures
    • Automatic coloring by pLDDT
    • AlphaFold DB option in DownloadStructure action
    • afdb GET parameter for Viewer app
    • Viewer.loadAlphaFoldDb method
  • Add QualityAssessment extension (using data from ma_qa_metric_local mmcif category)
    • pLDDT & qmean score: coloring, repr presets, molql symbol, loci labels (including avg for mutli-residue selections)
    • pLDDT: selection query
  • Warn about erroneous symmetry operator matrix (instead of throwing an error)
  • Added createPluginUI to mol-plugin-ui
    • Support onBeforeUIRender to make sure initial UI works with custom presets and similar features.
  • [Breaking] Removed createPlugin and createPluginAsync from mol-plugin-ui
    • Please use createPluginUI instead
  • Improve aromatic bonds handling
    • Don't detect aromatic bonds for rings < 5 atoms based on planarity
    • Prefer atoms in aromatic rings as bond reference positions

[v3.0.0-dev.5] - 2021-12-16

  • Fix initial camera reset not triggering for some entries.

[v3.0.0-dev.4] - 2021-12-14

  • Add bumpiness (per-object and per-group), bumpFrequency & bumpAmplitude (per-object) render parameters (#299)
  • Change label representation defaults: Use text border instead of rectangle background
  • Add outline color option to renderer
  • Fix false positives in Model.isFromPdbArchive
  • Add drag and drop support for loading any file, including multiple at once
    • If there are session files (.molx or .molj) among the dropped files, only the first session will be loaded
  • Add drag and drop overlay
  • Safari 15.1 - 15.3 WebGL 2 support workaround
  • [Breaking] Move react and react-dom to peerDependencies. This might break some builds.

[v3.0.0-dev.3] - 2021-12-4

  • Fix OBJ and USDZ export

[v3.0.0-dev.2] - 2021-12-1

  • Do not include tests and source maps in NPM package

[v3.0.0-dev.0] - 2021-11-28

  • Add multiple lights support (with color, intensity, and direction parameters)
  • [Breaking] Add per-object material rendering properties
    • SimpleSettingsParams.lighting.renderStyle and RendererParams.style were removed
  • Add substance theme with per-group material rendering properties
  • StructureComponentManager.Options state saving support
  • ParamDefinition.Group.presets support

[v2.4.1] - 2021-11-28

  • Fix: allow atoms in aromatic rings to do hydrogen bonds

[v2.4.0] - 2021-11-25

  • Fix secondary-structure property handling
    • StructureElement.Property was incorrectly resolving type & key
    • StructureSelectionQuery helpers 'helix' & 'beta' were not ensuring property availability
  • Re-enable VAO with better workaround (bind null elements buffer before deleting)
  • Add Representation.geometryVersion (increments whenever the geometry of any of its visuals changes)
  • Add support for grid-based smoothing of Overpaint and Transparency visual state for surfaces

[v2.3.9] - 2021-11-20

  • Workaround: switch off VAO support for now

[v2.3.8] - 2021-11-20

  • Fix double canvas context creation (in plugin context)
  • Fix unused vertex attribute handling (track which are used, disable the rest)
  • Workaround for VAO issue in Chrome 96 (can cause WebGL to crash on geometry updates)

[v2.3.7] - 2021-11-15

  • Added ViewerOptions.collapseRightPanel
  • Added Viewer.loadTrajectory to support loading "composed" trajectories (e.g. from gro + xtc)
  • Fix: handle parent in Structure.remapModel
  • Add rounded and square helix profile options to Cartoon representation (in addition to the default elliptical)

[v2.3.6] - 2021-11-8

  • Add additional measurement controls: orientation (box, axes, ellipsoid) & plane (best fit)
  • Improve aromatic bond visuals (add aromaticScale, aromaticSpacing, aromaticDashCount params)
  • [Breaking] Change adjustCylinderLength default to false (set to true for focus representation)
  • Fix marker highlight color overriding select color
  • CellPack extension update
    • add binary model support
    • add compartment (including membrane) geometry support
    • add latest mycoplasma model example
  • Prefer WebGL1 in Safari 15.1.

[v2.3.5] - 2021-10-19

  • Fix sequence viewer for PDB files with COMPND record and multichain entities.
  • Fix index pair bonds order assignment

[v2.3.4] - 2021-10-12

  • Fix pickScale not taken into account in line/point shader
  • Add pixel-scale, pick-scale & pick-padding GET params to Viewer app
  • Fix selecting bonds not adding their atoms in selection manager
  • Add preferAtoms option to SelectLoci/HighlightLoci behaviors
  • Make the implicit atoms of bond visuals pickable
    • Add preferAtomPixelPadding to Canvas3dInteractionHelper
  • Add points & crosses visuals to Line representation
  • Add pickPadding config option (look around in case target pixel is empty)
  • Add multipleBonds param to bond visuals with options: off, symmetric, offset
  • Fix argparse config in servers.

[v2.3.3] - 2021-10-01

  • Fix direct volume shader

[v2.3.2] - 2021-10-01

  • Prefer WebGL1 on iOS devices until WebGL2 support has stabilized.

[v2.3.1] - 2021-09-28

  • Add Charmm saccharide names
  • Treat missing occupancy column as occupancy of 1
  • Fix line shader not accounting for aspect ratio
  • [Breaking] Fix point repr & shader
    • Was unusable with wboit
    • Replaced pointFilledCircle & pointEdgeBleach params by pointStyle (square, circle, fuzzy)
    • Set pointSizeAttenuation to false by default
    • Set sizeTheme to uniform by default
  • Add markerPriority option to Renderer (useful in combination with edges of marking pass)
  • Add support support for chem_comp_bond and struct_conn categories (fixes ModelServer behavior where these categories should have been present)
  • Model and VolumeServer: fix argparse config

[v2.3.0] - 2021-09-06

  • Take include/exclude flags into account when displaying aromatic bonds
  • Improve marking performance
    • Avoid unnecessary draw calls/ui updates when marking
    • Check if loci is superset of visual
    • Check if loci overlaps with unit visual
    • Ensure Interval is used for ranges instead of SortedArray
    • Add uniform marker type
    • Special case for reversing previous mark
  • Add optional marking pass
    • Outlines visible and hidden parts of highlighted/selected groups
    • Add highlightStrength/selectStrength renderer params

[v2.2.3] - 2021-08-25

  • Add invertCantorPairing helper function
  • Add Mesh processing helper .smoothEdges
  • Smooth border of molecular-surface with includeParent enabled
  • Hide includeParent option from gaussian-surface visuals (not particularly useful)
  • Improved StructureElement.Loci.size performance (for marking large cellpack models)
  • Fix new TransformData issues (camera/bounding helper not showing up)
  • Improve marking performance (avoid superfluous calls to StructureElement.Loci.isWholeStructure)

[v2.2.2] - 2021-08-11

  • Fix TransformData issues #133
  • Fix mol-script query compiler const expression recognition.

[v2.2.1] - 2021-08-02

  • Add surrounding atoms (5 Angstrom) structure selection query
  • [Breaking] Add maxDistance prop to IndexPairBonds
  • Fix coordinateSystem not handled in Structure.asParent
  • Add dynamicBonds to Structure props (force re-calc on model change)
    • Expose as optional param in root structure transform helper
  • Add overpaint support to geometry exporters
  • InputObserver improvements
    • normalize wheel speed across browsers/platforms
    • support Safari gestures (used by TrackballControls)
    • PinchInput.fractionDelta and use it in TrackballControls

[v2.2.0] - 2021-07-31

  • Add tubularHelices parameter to Cartoon representation
  • Add SdfFormat and update SDF parser to be able to parse data headers according to spec (hopefully :)) #230
  • Fix mononucleotides detected as polymer components (#229)
  • Set default outline scale back to 1
  • Improved DCD reader cell angle handling (interpret near 0 angles as 90 deg)
  • Handle more residue/atom names commonly used in force-fields
  • Add USDZ support to geo-export extension.
  • Fix includeParent support for multi-instance bond visuals.
  • Add operator Loci granularity, selecting everything with the same operator name.
  • Prefer _label_seq_id fields in secondary structure assignment.
  • Support new EMDB API (https://www.ebi.ac.uk/emdb/api/entry/map/[EMBD-ID]) for EM volume contour levels.
  • Canvas3D tweaks:
    • Update forceDraw logic.
    • Ensure the scene is re-rendered when viewport size changes.
    • Support noDraw mode in PluginAnimationLoop.

[v2.1.0] - 2021-07-05

  • Add parameter for to display aromatic bonds as dashes next to solid cylinder/line.
  • Add backbone representation
  • Fix outline in orthographic mode and set default scale to 2.

[v2.0.7] - 2021-06-23

  • Add ability to specify volumeIndex in Viewer.loadVolumeFromUrl to better support Volume Server inputs.
  • Support in-place reordering for trajectory Frame.x/y/z arrays for better memory efficiency.
  • Fixed text CIF encoder edge cases (most notably single whitespace not being escaped).

[v2.0.6] - 2021-06-01

  • Add glTF (GLB) and STL support to geo-export extension.
  • Protein crosslink improvements
    • Change O-S bond distance to allow for NOS bridges (doi:10.1038/s41586-021-03513-3)
    • Added NOS-bridges query & improved disulfide-bridges query
  • Fix #178: IndexPairBonds for non-single residue structures (bug due to atom reordering).
  • Add volumetric color smoothing for MolecularSurface and GaussianSurface representations (#173)
  • Fix nested 3d grid lookup that caused results being overwritten in non-covalent interactions computation.
  • Basic implementation of BestDatabaseSequenceMapping (parse from CIF, color theme, superposition).
  • Add atom id ranges support to Selection UI.

[v2.0.5] - 2021-04-26

  • Ability to pass Canvas3DContext to PluginContext.fromCanvas.
  • Relative frame support for Canvas3D viewport.
  • Fix bug in screenshot copy UI.
  • Add ability to select residues from a list of identifiers to the Selection UI.
  • Fix SSAO bugs when used with Canvas3D viewport.
  • Support for full pausing (no draw) rendering: Canvas3D.pause(true).
  • Add MeshBuilder.addMesh.
  • Add Torus primitive.
  • Lazy volume loading support.
  • [Breaking] Viewer.loadVolumeFromUrl signature change.
    • loadVolumeFromUrl(url, format, isBinary, isovalues, entryId) => loadVolumeFromUrl({ url, format, isBinary }, isovalues, { entryId, isLazy })
  • Add TextureMesh support to geo-export extension.

[v2.0.4] - 2021-04-20

  • [WIP] Mesh export extension
  • Structure.eachAtomicHierarchyElement (#161)
  • Fixed reading multi-line values in SDF format
  • Fixed Measurements UI labels (#166)

[v2.0.3] - 2021-04-09

  • Add support for ColorTheme.palette designed for providing gradient-like coloring.
  • [Breaking] The zip function is now asynchronous and expects a RuntimeContext. Also added Zip() returning a Task.
  • [Breaking] Add CubeGridFormat in alpha-orbitals extension.

[v2.0.2] - 2021-03-29

  • Add Canvas3D.getRenderObjects.
  • [WIP] Animate state interpolating, including model trajectories
  • Recognise MSE, SEP, TPO, PTR and PCA as non-standard amino-acids.
  • Fix VolumeFromDensityServerCif transform label

[v2.0.1] - 2021-03-23

  • Exclude tsconfig.commonjs.tsbuildinfo from npm bundle

[v2.0.0] - 2021-03-23

Too many changes to list as this is the start of the changelog... Notably, default exports are now forbidden.