Published September 28, 2025 | Version v5.0.0
Software Open

Mol* library

Description

  • [Breaking] Renamed some color schemes ('inferno' -> 'inferno-no-black', 'magma' -> 'magma-no-black', 'turbo' -> 'turbo-no-black', 'rainbow' -> 'simple-rainbow')
  • [Breaking] Box3D.nearestIntersectionWithRay -> Ray3D.intersectBox3D
  • [Breaking] Plane3D.distanceToSpher3D -> distanceToSphere3D (fix spelling)
  • [Breaking] fix typo MarchinCubes -> MarchingCubes
  • [Breaking] PluginContext.initViewer/initContainer/mount are now async and have been renamed to include Async postfix
  • [Breaking] Add Volume.instances support and a VolumeInstances transform to dynamically assign it
    • This change is breaking because all volume objects require the instances field now.
  • [Breaking] Canvas3D.identify now expects Vec2 or Ray3D
  • [Breaking] TrackballControlsParams.animate.spin.speed now means "Number of rotations per second" instead of "radians per second"
  • [Breaking] PluginStateSnapshotManager.play now accepts an options object instead of a single boolean value
  • Update production build to use esbuild
  • Emit explicit paths in imports in lib/
  • Fix outlines on opaque elements using illumination mode
  • Change Representation.Empty to a lazy property to avoid issue with some bundlers
  • MolViewSpec extension:
    • Generic color schemes (palette parameter for color_from_* nodes)
    • Annotation field remapping (field_remapping parameter for color_from_* nodes)
    • representation node: support custom property molstar_representation_params
    • Add backbone and line representation types
    • primitives node: support custom property molstar_mesh/label/line_params
    • canvas node: support custom property molstar_postprocessing with the ability to customize outline, depth of field, bloom, shadow, occlusion (SSAO), fog, and background
    • clip node support for structure and volume representations
    • grid_slice representation support for volumes
    • Support tethers and background for primitive labels
    • Support snapshot_key parameter on primitives that enables transition between states via clicking on 3D objects
    • Inline selectors and MVS annotations support instance_id
    • Support matrix on transform params
    • Support surface_type (molecular / gaussian) on for surface representation nodes
    • Add instance node type
    • Add transform.rotation_center property that enables rotating an object around its centroid or a specific point
    • Support transforming and instancing of structures, components, and volumes
    • Use params hash for node version for more performant tree diffs
    • Add Snapshot.animation support that enables animating almost every property in a given tree
    • Add createMVSX helper function
    • Support Mol* trackball animation via animation.custom.molstar_trackball
    • MVSX - use Murmur hash instead of FNV in archive URI
    • Support additional file formats (pdbqt, gro, xyz, mol, sdf, mol2, xtc, lammpstrj)
    • Support loading trajectory coordinates from separate nodes
    • Trigger markdown commands from primitives using molstar_markdown_commands custom extensions
    • Support molstar_on_load_markdown_commands custom state on the root node
    • Print tree validation errors to plugin log
  • Added new color schemes, synchronized with D3.js ('inferno', 'magma', 'turbo', 'rainbow', 'sinebow', 'warm', 'cool', 'cubehelix-default', 'category-10', 'observable-10', 'tableau-10')
  • Snapshot Markdown improvements
    • Add MarkdownExtensionManager (PluginContext.managers.markdownExtensions)
    • Support custom markdown commands to control the plugin via the [link](!command) pattern
    • Support rendering custom elements via the ![alt](!parameters) pattern
    • Support tables
    • Support loading images and audio from MVSX files
    • Indicate external links with ⤴
    • Audio support
    • Add PluginState.Snapshot.onLoadMarkdownCommands
  • Avoid calculating rings for coarse-grained structures
  • Fix isosurface compute shader normals when transformation matrix is applied to volume
  • Symmetry operator naming for spacegroup symmetry - parenthesize multi-character indices (1_111-1 -> 1_(11)1(-1))
  • Add SymmetryOperator.instanceId that corresponds to a canonical operator name (e.g. ASM-1, ASM-X0-1 for assemblies, 1_555, 1_(11)1(-1) for crystals)
  • Mol2 Reader
    • Fix column count parsing
    • Add support for substructure
  • Fix shader error when clipping flags are set without clip objects present
  • Fix wrong group count calculation on geometry update (#1562)
  • Fix wrong instance index in calcMeshColorSmoothing
  • Add Ray3D object and helpers
  • Volume slice representation: add relativeX/Y/Z options for dimension
  • Add StructureInstances transform
  • mvs-stories app
    • Add story-id URL arg support
    • Add story-session-url URL arg support
    • Add "Download MVS State" link
    • Add "Open in Mol*" link
    • Add "Edit in MolViewStories" link for story states
  • Add ray-based picking
    • Render narrow view of scene scene from ray origin & direction to a few pixel sized viewport
    • Cast ray on every input as opposed to the standard "whole screen" picking
    • Can be enabled with new Canvas3dInteractionHelperParams.convertCoordsToRay param
    • Allows to have input methods that are 3D pointers in the scene
    • Add ray: Ray3D property to DragInput, ClickInput, and MoveInput
  • Add async, non-blocking picking (only WebGL2)
    • Refactor Canvas3dInteractionHelper internals to use async picking for move events
  • Add enable param for post-processing effects. If false, no effects are applied.
  • Dot volume representation improvements
    • Add positional perturbation to avoid camera artifacts
    • Fix handling of negative isoValues by considering only volume cells with values lower than isoValue (#1559)
    • Fix volume-value size theme
  • Change the parsing of residue names in PDB files from 3-letter to 4-letter.
  • Support versioning transform using a hash function in mol-state
  • Support for "state snapshot transitions"
    • Add PluginState.Snapshot.transition that enables associating a state snapshot with a list states that can be animated
    • Add AnimateStateSnapshotTransition animation
    • Update the snapshots UI to support this feature
  • Use "proper time" in the animation loop to prevent animation skips during blocking operations (e.g., shader complication)
  • Add Hsl and (normalized) Rgb color spaces
  • Add Color.interpolateHsl
  • Add rotationCenter property to TransformParam
  • Add Monolayer transparency (exploiting dpoit).
  • Add plugin config item ShowReset (shows/hides "Reset Zoom" button)
  • Fix transform params not being normalized when used together with param hash version
  • Replace immer with mutative
  • Fix renderer transparency check
  • Add outlines improvements
  • VolumeServer & "VolumeCIF": default to P 1 spacegroup
  • Fix ColorScale for continuous case without offsets (broke in v4.13.0)
  • Experimental: support for custom color themes in Sequence Panel
  • Switch files.rcsb.org validation report URL to new endpoint /validation/view
  • Improve picking of objects with too many groups, pick whole instance/object
  • Add WebXR support
    • Requires immersive AR/VR headset
    • Supplements non-XR: enter/exit XR anytime and see (mostly) the same scene
    • Add Canvas3D.xr for managing XR sessions
    • Add PointerHelper for rendering XR input devices
    • Add XR button to Viewer and Mesoscale Explorer
    • Add XR button to render-structure in tests/browser
  • Fix illumination denoising with transparency on transparent background
  • Change the to_mmCIF function parameter from structure to structures to support either a single structure or an array of structures
  • ModelServer and VolumeServer: add configurable robots.txt
  • Adaptive parallel shader compilation
    • Split shader compilation into linking and finalizing
    • Start linking as early as possible and wait with finalizing to avoid blocking main thread
      • Use of KHR_parallel_shader_compile extension when available to check status
    • Add ShaderManager to compile shaders based on Canvas3D params and Scene content
    • Draw Scene only when shaders are ready
  • Fix incorrect animation loop handling in the screenshot code

Notes

Please cite this software using the metadata from 'preferred-citation'.

Files

molstar/molstar-v5.0.0.zip

Files (7.4 MB)

Name Size Download all
md5:384a86a9fc0963b6dec6875a4a0ae967
7.4 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/molstar/molstar/tree/v5.0.0 (URL)

Software