Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗VSEPR hybrids and lone pairs, partial charges and the electrostatic potential, and the bonds and molecular orbitals of a real calculation, all from one sketch. In your browser, in seconds.
Acrolein, sketched on the left and built in 3D. Its LUMO is the π* orbital spread over all four atoms of the conjugated system, shown beside the extended-Hückel level ladder.
Valence is built around a single idea: every model of the chemical bond is a lens, and a student should be able to look through all of them at the same molecule. Sketch formaldehyde once, then switch views:
The bond a student draws as a line in a Lewis structure becomes a pair of orbitals, one bonding and one antibonding. The lone pairs counted in VSEPR become orbitals you can click on. The HOMO and LUMO stop being abbreviations. Valence was made to get a student there in one sitting.
Real chemistry, not cartoons. The pictures come from calculations. Geometries are optimised with GFN2-xTB, orbitals come from extended Hückel theory, and bonds and lone pairs from Pipek–Mezey localization of those orbitals. A degenerate pair comes out as the textbook partners, labelled with its Mulliken symmetry (e1g, b2, a′).
Honest about what it is. Every method is named where its result appears, along with its limits. Semiempirical is labelled semiempirical. A structure that did not converge says so. A wrong structure is never shown silently: a fetched conformer that doesn't match your sketch is rejected, and an optimisation that broke a bond is set aside.
The sketch is the specification. A drawn wedge or hash is honoured through the optimisation. A ring keeps its stereochemistry, and a cis double bond stays cis.
Good enough in seconds beats perfect in minutes. This is a teaching tool, used live in front of a student. Most molecules build in a few seconds, and every optimisation has a 30-second budget.
Nothing to install, nothing to send. It's a static web page: the quantum chemistry runs in WebAssembly in your own browser, and no server sees your molecules.
Sketch anything. The sketcher is JSME with Valence's own toolbar over it: bonds, chains, rings, charges, wedges, and an element palette. Or start from one of 18 examples, from methane and benzene to diborane, SF₆, and a pair of nickel complexes that tell the ligand-field story: tetrahedral triplet [NiCl₄]²⁻ (Jahn–Teller distorted, and it says so) beside square-planar singlet [Ni(CN)₄]²⁻.
Get a real 3D structure. Valence first asks PubChem for a structure, then NIH CACTUS, and accepts one only if its bond graph and charge match your sketch. Failing both, it builds the molecule locally:
See the VSEPR picture. Hybridization comes from counting electron domains in the bond graph, never from measured angles, which are the output of the geometry, not its cause. The view draws σ hybrids, lone pairs, and p orbitals aligned across conjugated systems, then labels them by element, orbital type, hybridization or charge. It covers sp through sp³d², conjugated lone pairs (the amide N, the phenol O), ligands bonded to metals, and π-system highlighting.
See the charges. GFN2-xTB Mulliken charges by default (or MMFF94 bond-charge increments, if you prefer) feed the charge labels, the ESP surface and the dipole together, so all three describe one distribution.
See the orbitals.
Make it look the way you teach.
Take it with you. Export PNG at 2× resolution, SDF (formal charges kept) or XYZ, or copy any of them to the clipboard. You can also save the whole view to a file or a shareable link.
| Platform | Where | |
|---|---|---|
| 🌐 Web | exergonic.github.io/valence | Nothing to install. Runs in any modern browser; the computation happens on your machine. |
| 🪟 Windows | Releases | An installer built with Tauri v2: the same app in its own window, with no telemetry. |
| Key | Does |
|---|---|
| Enter | Build the 3D model from the sketch |
| 1–9 | Load an example |
| R | Reset the view |
| O | Show or hide the model panel |
| B | Dock or undock the sketcher |
Valence uses Bun:
bun install
bun run dev
Then open http://localhost:5173/valence/.
| Task | Command |
|---|---|
| Dev server | bun run dev |
| Production build | bun run build |
| Preview the build | bun run preview |
| Tests (Vitest) | bun run test |
| Typecheck | bunx tsc --noEmit |
| Desktop app, dev | bun run tauri:dev |
| Desktop app, build | bun run tauri:build |
The test suite has nearly 400 tests and holds the chemistry to outside references:
Vite and TypeScript, vanilla Three.js for the scene (no framework), JSME as the sketching engine, and Tauri for the desktop build.
sketch (JSME) ─► Kekulé SMILES ─► PubChem ─► CACTUS ─► local: embed ─► GFN2-xTB (Web Worker, WebAssembly)
└─── each result checked against the sketch ───┘
│
VSEPR picture ◄── electron-domain count ◄─────┤
charges, ESP, dipole ◄── GFN2-xTB Mulliken ◄──┤
MOs + symmetry labels ◄── extended Hückel ◄───┤
bonds & lone pairs ◄── Pipek–Mezey ◄──────────┘
| Where | What |
|---|---|
src/mol-parser/ | A small, hand-written MOL-block parser |
src/chem/vsepr/ | Electron domains → hybridization, lone-pair and π directions |
src/chem/charge-model/ | Partial charges, the dipole, the ESP |
src/chem/extended-huckel/ | Overlap and Hamiltonian, the solver, symmetry-adapted degenerate sets, irrep labels, isosurfaces |
src/chem/localized-orbitals/ | Pipek–Mezey localization and its ordering |
src/geometry/ | Fetch and validate, the embedder, the GFN2-xTB worker, the bond-integrity guard |
src/render/ | The Three.js scene: atoms, bonds, lobes, orbital surfaces |
src/ui/ | Sketcher toolbar, model views and inspector, examples, themes, export |
vendor/occ-wasm/).If Valence helps your teaching or your students, please cite it:
Valence v1.0.0-beta.2 — Valence Bond Visualization (2026). McCann, B. W. https://github.com/exergonic/valence