Skip to content

v0.3.0 — Publikationsreife Abbildungen und eine Diagnose, die Klartext redet

Latest

Choose a tag to compare

@jurimaxam-dotcom jurimaxam-dotcom released this 14 Aug 22:48
· 26 commits to main since this release

Two new figure types, publication-style rendering options, and a diagnosis command.

Everything that changes how drawings look is opt-in — existing calls render byte-identically to 0.2.1.

New

  • generate_tlc — TLC plates from Rf values. Lanes carry the name, spots carry the substances, so a co-spot is simply a lane with two spots. Mobile phase and detection are captioned on the plate. Rf outside 0–1 is rejected with the lane name instead of silently clamped.
  • generate_scope_table — substrate-scope figures like those in method papers: a grid of product structures with identifiers and yields, optionally headed by the general reaction. Unresolvable entries are reported; the figure is built from the rest.
  • abbreviate_groups — condenses Ph, Bn, OAc, OMe, tBu instead of drawing every ring out.
  • render_style — three profiles named after their behaviour: compact (two-column typesetting), presentation (lecture slides), grayscale (black-and-white print).
  • chemdraw-doctor — tells you what is wrong before it turns into "the server does nothing". Distinguishes broken from absent: no Claude Desktop installed is a note, not an error.
  • chemdraw-install — register the server without cloning the repository.

Fixed

  • The resolver blamed your input for network failures. Every cascade failure gave the same advice ("use a different name"), even with the network down. Errors now carry a kind and say what actually helps — offline, SMILES and systematic IUPAC names still work via OPSIN. A hanging network fails in 6.5 s instead of 40.6 s.
  • lookup_compound dropped genuine zeros — benzene really has TPSA 0 and no hydrogen-bond donors; those rows silently disappeared.
  • The installer wrote a bare "uv" into the Desktop config, which does not resolve in Claude Desktop's minimal GUI PATH. The server then failed to start with no message at all.
  • The server reported the SDK version instead of its own, so you could not tell what was running.

Under the hood

The gate now catches its own blind spots: it launches the actual browser build instead of checking for a folder (false red), rebuilds the UI bundle and compares bytes (false green), and a frozen golden test guards the Python renderer — the pixel snapshot only ever covered the JavaScript side. 623 tests. 9 npm advisories closed; the shipped bundle is unchanged.

Full details in CHANGELOG.md.