Repository navigation
Releases: vibyverse/vibe-viewer
Release list
vibe-view v3.0.1 - 2026-10-28 - Levinthal's Lynx
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-dirand 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
coordfiles open and import directly: a file named
coord,.coord(such as xtb'sxtbopt.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.logwent to the cclib importer, which does not read XYZ
frames. vibe-view table --kind vibrationsadds 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.laplaciansections (∇²ρ, qvf 0.6) render as a signed isosurface in
the browser,vibe-view captureandvibe-view show, opening at ±0.1 with
the e/bohr⁵ unit on the isovalue slider (#154).volume.vectorsections (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 captureandbatch --volumesdraw the same
arrows and the terminal a magnitude surface.QVFReader.read_volume_vector
reads them (#156).volume.complexsections (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|modulusand
batch --volumesdraw them, the terminal draws the real part, and
QVFReader.read_volume_complexreads them (#157).volume.seriessections (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 --volumesand the TUI's frame keys
draw them, andQVFReader.read_volume_seriesreads them (#158).forcessections are drawn as arrows along F = −∇E (the file stores the
gradient) with a Forces card and per-atom table, andhessiansections show
their harmonic frequencies;vibe-view table --kind forces|hessianprint
both andvibe-view capturedraws the arrows.QVFReader.read_forcesand
read_hessianread them (#159).properties.electric,properties.elasticandproperties.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 capturedraws the dipole, andQVFReader.read_properties
reads them (#161).wavefunction.blochsections (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.blochlists the orbitals,vibe-view capturedraws one, and
QVFReader.read_wavefunction_blochreads 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 inshow) 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, andvibe-view exampleslists the--viewlaunch 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 (fromdos.projectedchannels withatomindices), 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_analysisexposes 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.nanotubeand
vibeview.interface_builderoffer 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_propertiesandbond_orderssections. 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...
vibe-view v3.0.0 - source release
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
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 --publicationnow 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 aRendererSpecwith the kind, a
title, an icon and a renderer class in the newvibeview.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 inforeports 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 infonow shows every section's
status, and the reader gains publicread_text_memberand
read_binary_membermethods. 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.pytimes 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, andvibe-view capturestill 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 fordocument, 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 andvibe-view capturedrew 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
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_statessections (TD-DFT and similar) are now rendered as a
table in the browser details panel, the terminal andvibe-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 --browsermeasures
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_densitysections, 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 andvibe-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
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 whosestructure_refnames 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 asshown_structureand 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 validateno longer reports an archive as INVALID when the
optionalvalidationextra 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, aQVFError, 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
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 reportD∞hor
C∞vaccording to element-preserving inversion, and their principal axis
follows the molecular line, including for diatomics. (#101) - Fix false nonzero RMSDs from
align_by_speciesfor 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
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
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
QVFOpenErrorfor 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
Zandxyzkeyword arguments in
Atomconstructors, 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 optionalvalidationextra 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
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, andstate_refnaming anexcited_states
section that holds the energy) and the way vibe-qc has written them so far
(naturalwith the now deprecatedexcitation_indexand
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 bysymbolsor
atomic_numbersinstead ofatomsnow open, including qvf's own
withdrawn-version example. An emptyfunctionalorbasisin ajob.spec,
the deprecated spelling of null, reads as null, andmergeandslice
write the v1schema_uribesideqvf_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_version2, 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 warningW_VERSION_WITHDRAWNat 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 doctorno longer lists aschema_v2resource.
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 rootbyte_orderandmetadatablocks and
membersizethat the old copy refused. The new schema is stricter in one
place a viewer user can meet: eachdos.projectedchannel 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, SDFM 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
structurenow open, export and capture (#90). vibe-view looked the
structure up by that id, so a sketch showed an empty viewport andexport
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_openlists, 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 --sectionandcapture --sectionpick
another structure. The sidebar,vibe-view infoand 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.schemesections show their steps in the details
panel, andpreviewsections 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
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 avibeqcname 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/