Skip to content

Releases: vibyverse/vibe-viewer

vibe-view v3.0.1 - 2026-10-28 - Levinthal's Lynx

Choose a tag to compare

@mpei mpei released this 29 Oct 14:27

This compatible 3.0 maintenance release adds result inspection and reaction
analysis, molecular workflow integration, and large-structure rendering
improvements. Explicit animate --mode indices remain zero-based as in 3.0.0;
the planned one-based change is reserved for the 3.1 development line.
Reaction analysis requires explicit correlated endpoint energies and refuses
incomplete inputs; software replay does not establish scientific acceptance.

Added

  • Return edited geometry to vibe-sketch with open --return-dir and the edit
    panel’s Send back action. Geometry saves preserve the opaque sketch origin
    and graph metadata; returns publish a complete QVF before their ready record
    and include viewer and actual relaxation provenance. Missing peers refuse
    safely and offer Save geometry instead. The existing hand-off record also
    accepts additive result-view, one-based mode and orbital selectors, matching
    direct CLI opens.
  • Turbomole and xtb coord files open and import directly: a file named
    coord, .coord (such as xtb's xtbopt.coord) and .tmol, in bohr,
    ångström or fractional coordinates, with a 3D cell and the stated charge and
    multiplicity.
  • xtb's optimisation and scan logs (xtbopt.log, xtbscan.log) open directly
    as trajectories with each step's energy, without the [results] extra;
    previously every .log went to the cclib importer, which does not read XYZ
    frames.
  • vibe-view table --kind vibrations adds the per-mode IR intensity, Raman
    activity, VCD rotatory strength, reduced mass, force constant and symmetry
    when the archive has them, from the vibrations section or its companion
    spectra, each column named with its unit (#150).
  • volume.laplacian sections (∇²ρ, qvf 0.6) render as a signed isosurface in
    the browser, vibe-view capture and vibe-view show, opening at ±0.1 with
    the e/bohr⁵ unit on the isovalue slider (#154).
  • volume.vector sections (a vector per grid point, such as a density
    gradient) are drawn as arrows coloured by magnitude in the browser, with a
    Vector Field card for arrow spacing, length, cutoff and colour map that
    bookmarks keep; vibe-view capture and batch --volumes draw the same
    arrows and the terminal a magnitude surface. QVFReader.read_volume_vector
    reads them (#156).
  • volume.complex sections (a complex scalar per grid point, such as a
    complex orbital) are drawn as their real or imaginary part, or as |ψ|
    coloured by phase on a cyclic colour map, chosen in the browser's Complex
    Field card, which bookmarks keep. A field below the default isovalue opens
    at half its largest |ψ|. vibe-view capture --part real|imag|modulus and
    batch --volumes draw them, the terminal draws the real part, and
    QVFReader.read_volume_complex reads them (#157).
  • volume.series sections (several fields on one grid, such as the density
    along a trajectory) are stepped and played slab by slab in the browser's
    Volume Series card, on each slab's own trajectory frame. vibe-view capture --frame N, show --frame N, batch --volumes and the TUI's frame keys
    draw them, and QVFReader.read_volume_series reads them (#158).
  • forces sections are drawn as arrows along F = −∇E (the file stores the
    gradient) with a Forces card and per-atom table, and hessian sections show
    their harmonic frequencies; vibe-view table --kind forces|hessian print
    both and vibe-view capture draws the arrows. QVFReader.read_forces and
    read_hessian read them (#159).
  • properties.electric, properties.elastic and properties.dielectric
    sections open as tables: multipoles and polarizabilities, the elastic
    constants with a mechanical-stability check, and the dielectric tensors,
    Born charges (with their sum) and piezoelectric tensor. An electric dipole
    is drawn as an arrow from its origin, standing in for the root dipole arrow
    while the section is open. vibe-view table --kind properties.* prints
    them, vibe-view capture draws the dipole, and QVFReader.read_properties
    reads them (#161).
  • wavefunction.bloch sections (a crystal's orbitals at several k-points) are
    evaluated on demand with the lattice phase of each k-point and drawn as real
    or imaginary lobes or as |ψ| coloured by phase, chosen in the browser's
    Bloch Orbitals card, which bookmarks keep. vibe-view table --kind wavefunction.bloch lists the orbitals, vibe-view capture draws one, and
    QVFReader.read_wavefunction_bloch reads them. Every QVF kind now has a
    renderer (#162).
  • Add explicit correlated electronic endpoint analysis from accepted QVF
    results, with signed balanced stoichiometry, method/settings and reference
    checks, self-contained replayable QVF analyses, CSV/SVG exports and a
    reaction result panel. Historical SCF-only archives remain refused as
    correlated inputs; endpoint figures imply no barrier or trajectory. (#164)
  • The manual adds a Build, inspect and present tutorial with a runnable
    Python tour, puts the builder, coordinate, inspection, selection, map,
    figure and model-scene chapters in its navigation, and brings the
    capabilities page, the browser's spectrum controls, the CLI reference
    (spectrum, vibration arrows, spectrum broadening in show) and the SDK's
    list of specialised modules up to date.
  • The manual ships example vq configuration files for a workstation without a
    batch system, a laptop client, a SLURM and PBS/Torque driver and a cluster
    login node, and vibe-view examples lists the --view launch option and
    the vq submission commands.
  • Interface analysis reports a tube–metal contact from an archive's existing
    sections: metal–C pairs with lengths and bond orders, the projected DOS of
    the interface atoms (from dos.projected channels with atom indices), and
    a density difference integrated over planes along the tube axis with the
    charge transferred across each plane, or a potential averaged over them.
    vibeview.interface_analysis exposes the same functions.
  • A nanotube builder in the browser's new Nanotube builder and views card
    opens single- and multi-wall (n,m) tubes of a chosen length, periodic, open,
    hydrogen-terminated or capped with a C60 half, and reads out each wall's
    diameter, chiral angle, metallicity and the spacing between walls. Add
    partner
    places a fcc metal slab ((111), (100) or (110)), a nanoparticle or
    an aminophenyl-amide linker, optionally with a slab on it, at the tube's
    open end or sidewall at a chosen M–C distance and top, bridge or hollow
    registry, as one undoable edit. vibeview.nanotube and
    vibeview.interface_builder offer the same in Python, plus bundles and
    aligned forests.
  • Add C–C bond-stretch colouring, heuristic
    open-rim/coordination-defect/adduct highlights, and client-only depth cueing
    for browser figures. Cut-aways and property colours now reach headless and
    CLI structure capture. Coarse glyphs activate at 10,000 instances during
    motion; at-rest quality remains unchanged.
  • Atoms can be coloured by coordination number, distance from the structure's
    axis, partial charge or bond order to a metal, read from the archive's
    atom_properties and bond_orders sections. A structure cut-away (half
    wall, cross-section slice or cut along the axis) shows the inside of a tube
    and keeps atoms near the axis, and Down the axis and Side view set an
    orthographic camera for figures; screenshots and figure exports draw the
    same cut.
  • Build sequence 3D accepts plain peptide and DNA/RNA hints from vibe-sketch
    through the existing builders, checking InChIKey and exact atom mapping
    before applying coordinates. Unsupported modified or linked sequences keep
    their original graph and geometry with an explicit refusal.
  • Connect molecular GFN0/1/2-xTB queue jobs to the optional qvf-writer runner:
    request JSON and selected orbitals, bond orders and density, validate the
    run, and open its combined QVF from Job Manager. Frozen-atom jobs select
    FIRE and check their saved coordinates. Add setup guidance and display
    custom QVF charge tables with their actual definitions, including GFN0
    partial charges.

Changed

  • Reconcile the roadmap with the released 3.0.0 baseline and its public
    desktop downloads. Keep publication closeout separate from accepted work
    packages and prioritize focused regressions for 3.0.x, preserving Python
    3.12, the 3.x section-renderer contract and documented platform limitations
    (#110).
  • Clarify calculation resource requests, local queue versus scheduler routes,
    fetched result locations and live-checkpoint limits. Correct cluster opening
    examples and provide complete watcher scripts.
  • Clarify optional strict-validation setup in the quickstart, installation and
    worked workflows; refresh QVF version and excited-state guidance,
    input-format limits, troubleshooting and contributor build instructions.
  • Expand the Python SDK, batch rendering and scene examples with current table
    kinds, validation error handling, comparison semantics, output naming and
    partial-success behavior. Clarify typed volume data and TREXIO directory
    input.
  • Refresh browser, desktop and terminal guides with remote file and session
    locations, desktop runtime and quit behavior, terminal focus and frame
    exports, spectrum options and surface-specific rendering limits.
  • Structures of 500 atoms or more are drawn with instanced spheres and bond
    cylinders, in the browser as in headless capture, instead of a merged mesh
    of every sphere's triangles. A 10 000-atom nanotube that took about two
    minutes to open now opens in seconds; see the client performance page for
    the measured ceiling. From 100 000 atoms the browser draws coarse glyphs
    while the camera moves and the full ones when it stops. Mesh exports and
    figure outlines expand the instances, so they are unchanged.
  • Trajectory and reaction-path playback reuse glyph inputs and draw inferred
    bonds at every di...
Read more

vibe-view v3.0.0 - source release

Choose a tag to compare

@mpei mpei released this 27 Oct 10:26

Public source release of vibe-view v3.0.0.

Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers. Follow the included installation instructions. Managed Git-based installers require a clone checked out at this tag.

Desktop availability is listed separately at https://vibe-qc.com/download/.

vibe-view v2.20.20 - 2026-10-21 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:27

This patch adds browser silhouettes, renderer plugins, client performance qualification and Linux desktop packaging. It repairs browser file opening and downloads, spectrum CSV strengths and transition-density display defaults. Existing platform publication and signed-store qualification remain separate from source qualification.

Added

  • With figure outlines on, the browser now outlines isosurfaces, Fermi
    surfaces and cartoon ribbons too (#112, 3.0 work package 3.2), not only
    atoms and bonds. A vtk.js render pass draws the silhouettes and folds of
    those surfaces in black over every frame, so the outline stays right while
    you rotate, and hides it where an atom stands in front. Translucent
    isosurfaces are outlined as well. The pass needs WebGL2; atoms and bonds
    keep their geometry outline, and headless captures, which render on the
    server, still outline atoms and bonds only. vibe-view capture --publication now applies to volume sections as well as structures. The
    browser now also picks up a label mesh that arrives while the view is idle,
    before the next drag (#111).
  • Third-party packages can now render section kinds vibe-view does not (#113,
    3.0 work package 3.3): a package declares a RendererSpec with the kind, a
    title, an icon and a renderer class in the new vibeview.renderers
    entry-point group. The kind then classifies as rendered: the browser lists
    it with the plugin's title and icon and shows the plugin's HTML in the
    details panel, vibe-view info reports it as rendered via the plugin, and a
    critical section of that kind opens. The terminal shows its generic pane.
    Broken or conflicting plugins are reported and ignored, vibe-view doctor
    lists renderer plugins, and both extension groups carry a compatibility
    promise for the 3.x series. vibe-view info now shows every section's
    status, and the reader gains public read_text_member and
    read_binary_member methods. A sample plugin ships in
    docs/examples/renderer-plugin.
  • The About dialog now shows the browser's graphics, its WebGL version and
    renderer string, so you can tell a GPU from a software renderer and place
    your machine in the new client performance page of the manual (#114, 3.0
    work package 3.4). scripts/client_qualification.py times what you do in
    the browser, dragging a molecule, switching its representation, dragging
    with labels or outlines on, and dragging a density as an isosurface and as a
    volume, and judges each against the limits in
    scripts/client_thresholds.json. The candidate pipeline runs it on Linux
    with the software renderer; it gates 3.x candidates and reports on 2.x ones.
  • Export screenshot now saves the frame the browser draws, so a
    Publication figure keeps the outlines of isosurfaces, Fermi surfaces and
    cartoon ribbons that only the browser's silhouette pass draws (#116). The
    image is the view's on-screen size times the chosen scale, drawn at twice
    that and downsampled where the graphics card allows, with the outline scaled
    to it. A Render choice in the dialog picks the browser view, the server
    render (for ambient occlusion and ray tracing) or Automatic, the default.
    The server render remains the fallback when no browser view can be captured
    or the browser does not answer, and vibe-view capture still renders on the
    server.
  • Add self-contained Linux x86-64 desktop packaging with a hash-pinned Python
    runtime, bundled application libraries, native dependency checks and
    retained license notices.

Fixed

  • Screenshots and file exports now download in the browser. The download hook
    tested for document, which a Vue 3 template cannot see, so it never ran:
    an exported structure never reached the browser, and a screenshot was only
    saved next to the archive (#116).
  • A file chosen in the browser's Open dialog now loads. Opening the dialog
    threw before its file input was wired, Browse chemistry file… opened no
    file chooser, and the page sent the file's bytes through state that reached
    the server after the request to load them, so the server-side path field was
    the only way to open a file from inside the viewer (#117).
  • Spectrum CSV exports now normalize discrete peak strengths as well as the
    broadened envelope when Normalize is enabled, matching the chart while
    preserving negative bands and leaving the source strengths unchanged.
  • Transition densities now open with the defaults of a difference density,
    isovalue 0.005 and the red-blue colormap, instead of the generic 0.05 and
    viridis (#119). The shipped TD-DFT example's transition density peaks at
    0.047, so the browser and vibe-view capture drew no surface at all. When
    an opened isosurface comes out empty, the browser's status line now says so
    and gives the field's largest value, instead of reporting the volume as
    loaded. Opening an unsigned volume whose values all lie below the isovalue,
    or dragging the isovalue slider past its maximum, no longer raises an error.

Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/

vibe-view v2.20.19 - 2026-10-20 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:27

This patch adds an excited-state table, supports signed transition-density volumes, keeps browser labels facing the camera during interaction, and updates the ORCA and excited-state workflows in the manual.

Added

  • QVF excited_states sections (TD-DFT and similar) are now rendered as a
    table in the browser details panel, the terminal and vibe-view table --kind excited_states (#109). Each state shows its excitation energy in eV and nm,
    total energy, multiplicity, symmetry, oscillator and rotatory strengths,
    dominant orbital contributions and the natural transition orbital and
    transition density sections it links to. The kind was previously listed as
    "not yet rendered".
  • Atom labels and charge labels in the browser now keep facing the camera
    while you rotate, pan or zoom (#111, 3.0 work package 3.1). The label mesh
    carries each glyph's anchor and reading frame as point data, the viewer
    tells trame-vtk to send them, and a vertex-shader replacement in vtk.js
    places every glyph for the camera of the frame being drawn. The mesh is
    never rewritten in the page, so the text no longer swings edge-on during a
    drag at no cost in frame time, and the end of an interaction no longer
    pushes rebuilt label geometry to the client. Headless capture and the
    terminal are unchanged. docs/bench_label_orientation.py --browser measures
    the drag frame time with and without the follower.

Changed

  • The manual's front page, the README and the capabilities matrix now present
    the ORCA workflow as the headline of the release, and the guided tour gains
    an excited-states section with a shipped water TD-DFT example
    (docs/examples/tddft-water, from the qvf reference corpus) covering the
    state table, the natural transition orbitals and the transition density it
    links to, in the browser, the terminal and the CLI.
  • The roadmap records a bounded scope for 3.0, Levinthal's Lynx: client-side
    label followers, a client-side silhouette pass, a versioned extension API
    for section renderers, and client performance qualification, each tracked as
    a work-package issue under the 3.0 milestone with its acceptance evidence.
    The QVF format, the Python SDK, the CLI and the session format stay
    compatible; the decisions still open for the maintainer, the Python floor
    among them, are listed with the scope, as are the proposals deferred out of
    it.
  • Reconcile the roadmap with v2.20.17 and subsequent development, distinguish
    unreleased fixes and desktop packaging from published releases, and correct
    importer-plugin and performance-measurement status. Preserve older proposals
    as explicitly historical records.
  • Reconcile the roadmap with v2.20.18 and track bounded feature and
    interactive-viewer milestones with weekly evidence-based review.

Fixed

  • volume.transition_density sections, the transition density an excited
    state links to, are now a supported signed volume with a sidebar title and
    icon, instead of being reported as unsupported (#115). They were already
    drawn by headless capture; the browser, the terminal and vibe-view info
    now classify them as rendered, with both lobes like a difference density.
  • Explain the self-contained Apple Silicon route before source-install
    prerequisites, preserve the existing installation anchor and reconcile
    roadmap status with v2.20.18.

Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/

vibe-view v2.20.18 - 2026-10-19 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:27

This patch restores the structure associated with selected sections, bookmarks and sessions; distinguishes unavailable validation from invalid archives; validates imported cell geometry; and includes a self-contained Apple Silicon desktop runtime.

Added

  • Self-contained Apple Silicon macOS packages now include Python, PyVista,
    VTK, the interactive browser server, RDKit and their runtime dependencies,
    so a downloaded app launches its own isolated interpreter and needs no
    separate Python setup. The reproducible input lock, the bundled license and
    source notices and the installed-path checks are part of the desktop build.
    macOS 14 or newer is required; signing, notarization and Store submission
    remain release steps.

Fixed

  • In an archive with several structures, selecting a volume, wavefunction or
    other section whose structure_ref names a structure other than the one on
    show now shows that structure first and draws the section over it, instead
    of over whatever was on show (#106). The switch is the same as selecting the
    structure: an unsaved edit stays with its structure, and the status line
    names both the structure and the section. A section that names no structure
    leaves the shown structure alone, as the QVF specification requires.
  • A bookmark, presentation slide or session saved while a structure other than
    the first was on show now comes back on that structure (#107). Saved views
    record the structure on show as shown_structure and restore it, through
    the same switch as selecting the structure, before the saved section.
    Session files written before this field load as they did.
  • vibe-view validate no longer reports an archive as INVALID when the
    optional validation extra is missing (#108). Each file is listed as NOT
    CHECKED, the installation hint is printed once, and the command still exits
    unsuccessfully. In Python, vibeview.validate() raises the new
    ValidationUnavailableError, a QVFError, in that case.
  • Reject invalid lengths and impossible or coplanar angle combinations before
    building a cell or importing CIF/PDB geometry. Report a descriptive error
    instead of producing a collapsed lattice or dividing by zero, and preserve
    the correct volume for valid narrow angles. (#104)
  • Keep XYZ and CIF provenance on one comment line when the source filename or
    supplied comment contains line breaks. Exported geometry remains readable
    without stray comment text becoming atom records or CIF data. (#103)

Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/

vibe-view v2.20.17 - 2026-10-18 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:27

This patch adopts the QVF 0.5 reference toolkit and fixes long GIF exports,
symmetry detection for linear molecules, and species-preserving alignment
of rigidly rotated structures. Existing QVF archives remain compatible.

Changed

  • Pin QVF toolkit 0.5.0 for reference validation and writer interoperability.
    The vendored QVF v1 schema is byte-identical to that release; existing
    archives remain compatible.

Fixed

  • Fix long GIF exports failing with “Too many open files”, including the MP4
    fallback when ffmpeg is unavailable. Decode and close PNG sources one at a
    time, and release decoded frames after successful or failed encoding. (#102)
  • Fix molecular symmetry detection reporting finite point groups for linear
    structures with more than two atoms. Linear molecules now report D∞h or
    C∞v according to element-preserving inversion, and their principal axis
    follows the molecular line, including for diatomics. (#101)
  • Fix false nonzero RMSDs from align_by_species for rigidly rotated
    structures with unchanged atom order and repeated elements. Compare the
    indexed fit with the existing element pairing and retain the lower RMSD when
    the element sequences match. (#100)

Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/

vibe-view v2.20.16 - 2026-10-16 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:26

This patch keeps CIF cell parameters and atom sites within the same data block,
refreshes the format manual, and aligns the pending-QVF integration fixture
with registered QC runtime metadata. Runtime selection is unchanged.

Fixed

  • Restore the manual links to orbital evaluation limits by resolving the existing named target. (#99)

  • CIF imports now keep the first structure's atom sites and cell parameters in
    the same data block. Cell values from other structures or metadata blocks no
    longer rescale coordinates or make a molecule periodic. (#97)

  • Correct stale unreleased labels for volume rendering, playback, thumbnails
    and units; refresh the release summary and Gamma-point orbital limits while
    retaining deferred excited-state table status. Read the manual version from
    its source tree. Align volume-rendering hints with the current QVF
    specification and record the shipped Python 3.14 lane.


Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/

vibe-view v2.20.15 - 2026-10-15 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:26

This patch release adopts the QVF 0.4 reference validator and adds combined
normal-mode geometry editing with an ORCA calculation tutorial. Python
and Gaussian input imports preserve atom definitions and molecular state,
while QVF readers handle archived modes and localized orbitals consistently.

Added

  • Create undoable geometry edits along a selected normal mode with a signed
    peak displacement in Å. Both directions start from the mode's equilibrium
    geometry, stop animation and auto-optimisation, and work with XYZ export,
    ORCA input preparation and vq submission. Includes a peroxide tutorial.
  • Combine selected normal modes into one editable structure, with an
    independent signed displacement amplitude per mode. Contributions are summed
    from the archived equilibrium without rescaling the sum. Preserve
    single-mode editing, undo/redo, XYZ export and ORCA input preparation;
    document the combined-mode workflow.

Changed

  • ORCA documentation now connects selected-mode geometry preparation to the
    tested vq calculation and result-inspection workflow. The quickstart and
    peroxide tutorial distinguish the three downloadable example datasets and
    the properties each contains.
  • Pin the byte-identical QVF v0.4.0 schema, including the clarified
    unrestricted NTO metadata contract; retain QVF version 1 and legacy archive
    compatibility.
  • Expand the ORCA Raman/VCD tutorial with a browser-verified combination of
    two normal modes, screenshots, downloadable XYZ and ORCA inputs, and
    Undo/Redo checks.
  • Documented the agreed vibe-sketch/vibe-view responsibilities: 2D chemical
    drawing and publication reaction graphics in vibe-sketch, detailed 3D
    structure work in vibe-view, and input, editing, basic cleanup and
    calculations in both. Recorded the requirements for reference-geometry and
    FIRE cleanup in vibe-sketch and distinguished planned integration from
    existing functionality.

Fixed

  • Report QVF excited-state tables as not yet rendered instead of unsupported, while preserving their natural-transition-orbital energy references.

  • CIF imports now reject missing, unknown and non-finite atom coordinates with an error naming the site, preserving an existing output instead of inventing zero coordinates or dropping atoms. Complete Cartesian alternatives are converted per site when fractional coordinates are unavailable. (#95)

  • Preserve QVFOpenError for unreadable archives and manifests, retaining
    the reference findings on the exception. Bound CLI diagnostics and show
    readable layout byte counts without reopening resource-rejected payloads.

  • Python-input imports now accept the Z and xyz keyword arguments in
    Atom constructors, including mixed positional/keyword and module-qualified
    calls in molecular and periodic inputs. Atom identities and coordinates are
    preserved without executing the script. (#94)

  • Parse Gaussian route, title and molecule sections by their blank-line
    boundaries, so numeric or multi-line titles no longer prevent Cartesian
    geometry imports. Preserve the actual molecule's charge, multiplicity and
    coordinates. (#93)

  • ORCA Mayer bond-order imports now keep native metadata in the QVF vendor
    namespace, so strict payload validation passes. The selected-mode peroxide
    tutorial now follows a real vq-submitted ORCA single point through result
    import, validation and browser inspection, with a downloadable dataset and
    screenshots.

  • Refuse Python-input imports when any atom or position in a literal atom list
    cannot be resolved statically. Molecular and periodic imports now report an
    error instead of substituting zero coordinates or silently dropping atoms.
    (#92)

  • Read vibration modes without embedded atoms using their archived reference
    structure. Treat IBO, IAO, Boys, Pipek–Mezey and NBO orbital kinds as
    localized for display, without false HOMO/LUMO labels. Ignore malformed
    camera hints using the pinned QVF Camera definition. Exercise all negative
    corpus archives with the QVF reference validator.

  • Strict QVF validation now delegates to qvf's reference validator, preserving
    error/warning codes and applying its resource and semantic checks. Install
    the optional validation extra after qvf's pinned release package; missing
    support produces an actionable error instead of a partial validation pass.

  • Candidate conformance checks require all negative-corpus expectations,
    including fixture-specific limits and warning-only archives. The v0.4.0
    corpus passes 76 positive/legacy and 110 negative cases without schema
    edits.


Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/

vibe-view v2.20.14 - 2026-10-15 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:26

This patch release reads QVF 0.3 archives and preserves structure identity,
charge and multiplicity across editing and calculation hand-offs. The
structure editor gains atom and selection dragging, bounded displacements,
XYZ export and FIRE relaxation with the existing optional engines.

Added

  • vibe-view now checks manifests against the qvf v0.3.0 schema, vendored byte
    for byte from that release under the rule recorded in qvf#11 (#88). Natural
    transition orbitals written the v0.3.0 way (orbital_kind: "nto",
    nto_role, state_index, and state_ref naming an excited_states
    section that holds the energy) and the way vibe-qc has written them so far
    (natural with the now deprecated excitation_index and
    excitation_energy_ev) both show as transition weights of their state,
    which the terminal viewer and the browser name; before, most of vibe-qc's
    NTO sets were reported as natural orbitals of undeclared meaning.
    Trajectories and reaction paths that name their atoms by symbols or
    atomic_numbers instead of atoms now open, including qvf's own
    withdrawn-version example. An empty functional or basis in a job.spec,
    the deprecated spelling of null, reads as null, and merge and slice
    write the v1 schema_uri beside qvf_version: 1.
  • Added mouse dragging for individual atoms and arbitrary selections in the 3D
    editor. Shift-click toggles selection; Select connected, Select all and
    Clear selection make groups easy to move. Frozen atoms stay fixed, each drag
    is one undo step, and auto-optimisation pauses until release. Geometry
    exports and calculation inputs use the moved coordinates. Undo/redo also
    clear stale selection highlights. The editor and ORCA tutorials explain the
    new workflow.
  • Added bounded, undoable random atom displacements and a direct plain-text
    XYZ download in Atom Editor. Selected and frozen atoms are respected, and
    displacement turns off live optimisation to preserve the perturbed geometry.
    Added FIRE damped-MD relaxation alongside L-BFGS using the existing optional
    MSINDO/MACE engines, with streamed geometry, frozen atoms and per-run undo.
    Expanded the builder and ORCA tutorials with a draw, pre-optimise, perturb,
    export and submit workflow.

Changed

  • Archives stamped with the withdrawn qvf_version 2, which vibe-qc 0.10 to
    0.15 wrote for periodic reaction paths, are now read and checked as version
    1 against the bundled v1 schema, as QVF spec § 3.1 and qvf's own validators
    require, and open with the warning W_VERSION_WITHDRAWN at the top of the
    browser's Run Info card and under Manifest warnings in the terminal overview
    (#88). vibe-view no longer ships a v2 schema of its own: it vendors only
    byte-identical copies of files from the pinned qvf release, the rule
    recorded in qvf#11, so a field vibe-view needs goes into qvf first.
    vibe-view doctor no longer lists a schema_v2 resource.

Fixed

  • Archives written by qvf-writer 0.2, including everything vibe-sketch saves
    or sends to the viewer, now open (#88). The bundled qvf v0.3.0 schema
    includes the v0.2.0 support for root byte_order and metadata blocks and
    member size that the old copy refused. The new schema is stricter in one
    place a viewer user can meet: each dos.projected channel must be an object
    such as {"label": "Fe d"}, so archives listing plain strings are refused.
  • Charge and multiplicity now survive the trip between vibe-view and
    vibe-sketch (#89). XYZ comments (charge=-1 multiplicity=1, as vibe-sketch
    writes them), Gaussian charge/multiplicity lines, SDF M CHG / M RAD
    records and atom-block charges, and molecules built from SMILES now record
    both in the archive. So vibe-sketch can draw an ion that vibe-view wrote,
    where before it reported that no bonds could be perceived. The Calculation
    Parameters panel also starts from the charge and multiplicity of the file on
    show, so a sketched anion is no longer submitted as neutral.
  • vibe-sketch documents and other archives whose structures are not called
    structure now open, export and capture (#90). vibe-view looked the
    structure up by that id, so a sketch showed an empty viewport and export
    failed with "section not found: 'structure'". It now finds structures by
    kind and shows the archive's first structure: the first one
    viewer_defaults.auto_open lists, else the first structure section (QVF
    spec § 4.1). Selecting another structure in the sidebar shows it, marked
    with an eye, and an unsaved edit stays with the structure it was made on
    until you select that structure again; undo history ends at the switch, as
    it does on a file switch. export --section and capture --section pick
    another structure. The sidebar, vibe-view info and the terminal name each
    species by the label and name an archive gives it, and the Calculation
    Parameters panel takes the shown structure's charge and multiplicity before
    the provenance's. reaction.scheme sections show their steps in the details
    panel, and preview sections their thumbnail, instead of being listed as
    unsupported; neither is drawn in the 3D view.

Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/

vibe-view v2.20.13 - 2026-10-14 - Levoy's Lemur

Choose a tag to compare

@mpei mpei released this 29 Oct 14:26

This patch release makes QVF container submission choose its vq program by the
program's vibe-qc import check rather than its name, so vq's own runtime is no
longer counted as a vibe-qc program (#87).

Fixed

  • Submitting a QVF container no longer counts the queue's own runtime, or any
    other registered environment that is not vibe-qc, as a candidate program.
    The viewer now recognises a vibe-qc program by the module vq's import check
    loads (vibeqc) instead of by a vibeqc name prefix, so a host registering
    one vibe-qc program beside the queue's runtime submits without
    VIBEVIEW_VQ_PROGRAM, and several vibe-qc programs are still reported as
    ambiguous (#87).

Download Source code (zip) or Source code (tar.gz) under Assets. These are source archives, not prebuilt installers; follow the included installation instructions. Managed Git-based installers need a clone checked out at this tag.

Documentation: https://vibe-qc.com/ · Desktop downloads: https://vibe-qc.com/download/