vibe-sketch and vibe-view: responsibilities¶
Maintainer decision, 2026-10-15. This decision is recorded in both repositories; keep the copies aligned when the agreed scope changes. Requirements below are the product direction; the implementation status at the end distinguishes existing functionality from planned work.
Two complementary working environments¶
vibe-sketch specialises in 2D chemical drawing and publication-quality reaction graphics. vibe-view specialises in 3D structure work for calculations and detailed inspection of calculated results.
Both applications must accept molecular input, let users draw and edit structures, prepare calculation inputs and submit calculations through vq. Neither application becomes a read-only front end, and ordinary use of one must not require the other application’s UI.
Responsibility |
vibe-sketch |
vibe-view |
|---|---|---|
Input and drawing |
Names, SMILES and imported structures; chemical graphs, skeletal formulae, bond orders, charges and stereochemistry |
Names, SMILES and imported structures; atoms and fragments positioned and edited in 3D |
Main editing work |
Complex molecules, mechanisms and multi-step reaction schemes; arrows, annotations, layout and figure styles for papers |
Coordinates, atom and group selection/dragging, constraints, displacement and pre-optimisation |
Geometry preparation |
Basic cleanup, reference geometry and generation of useful 3D starting structures |
Detailed 3D inspection and manipulation before a calculation |
Calculations |
Prepare and submit calculations for species and reaction workflows |
Prepare and submit calculations for the current structure |
Results |
Associate calculations and useful result summaries with the species and reaction steps in the drawing |
Inspect structures, orbitals, vibrations, spectra, properties and calculated reaction paths |
Overlap in basic input, editing and optimisation is intentional. A full skeletal-formula and publication reaction editor belongs in vibe-sketch; the 3D atom editor stays in vibe-view.
Basic cleanup belongs in vibe-sketch too¶
vibe-sketch needs a small, predictable cleanup workflow without requiring a full quantum-chemistry calculation:
Use a reference database/table for preferred bond lengths, angles and ring geometry, selected by chemical environment rather than element pair alone. Relevant context includes bond order, aromaticity, coordination and charge. Record the source, version, units, coverage and redistribution licence. The actual data source is still to be selected; this decision does not approve a particular database or licence.
Support FIRE as a cleanup/relaxation optimiser. FIRE needs an energy and force model: it does not supply chemistry by itself. For 2D cleanup, reference-geometry restraints and overlap penalties define the drawing objective. For basic 3D relaxation, use an available force field, initially the existing RDKit MMFF94/UFF route where it has parameters. These are separate objectives, even when the numerical optimiser is shared.
Keep publication layout units separate from physical coordinates in Å. Normalised drawing bond lengths and chosen 2D angles serve legibility; they must not silently become physical 3D distances and angles.
Preserve connectivity, bond orders, charge and specified stereochemistry. Respect pinned atoms and user-selected regions; keep cleanup undoable. Local molecule cleanup must not rearrange the whole reaction scheme or move its arrows and annotations without an explicit layout action.
Bound the work and report convergence, unsupported chemistry and missing parameters honestly. Keep the input drawing/geometry available to undo; do not present an unsupported or unconverged structure as optimised.
This basic cleanup supports drawing and preparing starting geometries. More detailed coordinate work and investigation of a calculated structure remain vibe-view’s focus.
Implementation status at this decision¶
vibe-sketch: 2D cleanup and RDKit ETKDG embedding followed by MMFF94/UFF optimisation already exist. Database-driven cleanup and FIRE remain planned work (roadmap WP 3.6 and 3.7; development issues #17, #18 and #19). Existing 2D cleanup is not the proposed database-driven FIRE implementation.
vibe-view: main contains 3D atom/selection dragging, frozen atoms, undo/redo, XYZ export, random displacement and optional live relaxation using L-BFGS or FIRE with MSINDO/MACE. Source availability does not imply inclusion in every released binary.
Exchange: launching vibe-sketch from vibe-view and sending a structure to vibe-view exist. Returning a 3D edit to its original sketch species with the full mapping described above remains a target, not a completed contract.
This decision adds no new hard dependency and does not select or license a geometry database. Those choices must be resolved before shipping the new cleanup implementation.