Skip to content

qvf v0.3.0 - 2026-10-15

Choose a tag to compare

@mpei mpei released this 23 Oct 11:59
· 39 commits to main since this release

qvf becomes the single source of the format for the vibe-qc family, and the
release merges into the format what the family's programs already write or
read (#11): run against 2,000 archives of vibe-qc 0.15–0.17, the 0.2.0
validator failed 463 of them (23 %) for four kinds of data that are valid
now, and vibe-view read three viewer hints the specification did not record.
All within QVF v1 (qvf_version = 1); none of the changes bumps it
(Decision).

Deprecated

  • The mo_metadata keys iao_charges, excitation_index and
    excitation_energy_ev (spec § 5.3): valid, annotated "deprecated": true,
    and producers SHOULD NOT write them; the canonical carriers are the
    atom_properties member iao_charge, state_index with state_ref, and
    the state's excitation_energy in its excited_states section (#11).
  • The empty string as a job.spec functional or basis (spec § 5.9): a
    valid, deprecated spelling of null (#11).
  • Validators report no finding for a deprecated key or spelling, as for
    provenance.hostname and the legacy unit spellings.

Added

  • localization_reference_basis, an optional non-empty string of
    $defs/MoMetadataPayload (spec § 5.3): the minimal reference basis the
    intrinsic atomic orbitals were built from (Knizia, J. Chem. Theory Comput.
    2013, 9, 4834) (#11).
  • null as a job.spec functional or basis (spec § 5.9,
    $defs/JobSpecPayload): the method takes none, distinct from an absent
    key, the engine's default (#11).
  • The viewer_defaults hints vibe-view reads (spec § 3.4, #6): the
    per-section energy_window of bands and dos.* sections ([min, max]
    in eV relative to the Fermi level), the top-level camera (the shape of
    $defs/Camera) and crossfade ({a, b, blend}). Specified in the spec
    only: the schema lists camera and crossfade without checking their
    values, and a malformed hint never fails an archive. camera and
    crossfade are reserved section ids (E_RESERVED_ID); the Python and C++
    writers refuse them.
  • structure_ref on a standalone bonds section (spec § 5.1, #4): the
    structure whose atoms the indices address; without it, the archive's first
    structure. Validators check every pair against the atom count of the named
    structure (E_MEMBER_MALFORMED). Python add_bonds(..., structure_ref=)
    and C++ add_bonds(pairs, section_id, structure_ref).
  • @qvf/core types ViewerDefaults.camera and crossfade and exports
    CrossfadeHint.
  • Conformance corpus: wavefunction_localized.qvf, job_set_methods.qvf,
    deprecated_spellings.qvf, bonds_structure_ref.qvf and
    viewer_hints.qvf (71 archives); six negative archives for the new rules
    (100).

Changed

  • qvf is the single source of the format (GOVERNANCE.md, "QVF in the
    vibe-qc family"): the specification, schema, registry and reference
    validators change only here; a family program pins one qvf tag, vendors
    byte-identical copies checked in CI against that tag, keeps no derived
    schema (no v2 schema either; spec § 3.1 is the rule), and proposes a field
    here before it writes it (#11).
  • spec/legacy/README.md and the registry.json version_decisions say
    what the frozen v2 schema is: qvf 0.1.0's v1 schema with qvf_version 1
    or 2, kept so that its $id resolves, used by no validator and no superset
    of the current v1 schema. A v2 archive is validated against the current v1
    schema with the warning W_VERSION_WITHDRAWN (spec § 3.1), as before (#11).
  • registry.json: x_vibesketch lists the members vibe-sketch writes
    (document, species, sdf) since its picture moved to the canonical
    preview kind (#11).
  • Section ids carry no meaning, and a consumer finds sections by kind and
    reference; the first structure of an archive is the first structure
    section viewer_defaults.auto_open lists, else the first in sections
    order (spec § 4.1, § 8.2). A clarification, no qvf_version bump
    (Decision).
  • GOVERNANCE.md records that QVF is the standard format of the vibe-qc
    family of programs, on the same terms as for every producer and consumer.
  • conformance/generate_corpus.py runs as a script again: its entry point
    had preceded the sketch-document generators it calls.

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/