Ring perception (in progress)
Rebuilding ring perception (SSSR) from scratch in TypeScript on top of new BitSet/BitMatrix primitives, implementing Vismara's algorithm to recover the minimum cycle basis and the set of relevant cycles. This replaces a heuristic that mis-counted rings on fused/bridged systems.
Stereochemistry
Replaced patched ad-hoc stereochemistry handling with a lazy CIP priority tree (CIPTree) that follows the IUPAC P-9 rules. Verified against an RDKit reference suite. Fixed bridged-ring layout (Kamada–Kawai), E/Z double-bond rendering, SVG bounding-box and pseudo-element issues along the way.
Tooling and infra
Wired vitest CI (unit + regression + stereo-reference suites), modernised the build (esbuild), and shipped a new GitHub Pages docs/landing site. Tens of merged PRs across rendering, parser, and tooling.