Improved bounding box accuracy around atom symbols.
Use a rounded rectangle instead of a square to fill in the background of the atom symbol (i.e. obscuring bonds).
Draw lines using double precission coordinates - the graphics context will decided best how to interpret into pixels.
Correct scaling of line thickness - we need consider the ZoomFactor and Scale. Both of these are included in the affine transform.
Smoother joins between lines - could be a parameter.
Improved stroke caching - we store sub pixels strokes so the graphics context can decide how best to handle.
Store winding rule in general path element.
Aligning java 2D and cdk rendering element path data types to use arrays.
More flexible GeneralPath element - allow filled shapes and stroke width specification. Utilities are provided to convert from Java2D API.
Move bond length parameter from BasicBondGenerator to BasicSceneGenerator. From the changes it is easy to see the bond length is used in relation to scaling compounds - this isn’t really a parameter to change but instead is for normalising coordinate systems.
Don’t set the scale parameter at the same time as the affine transform. The scale needs to be set before generation but the transform can be set after (required for improved bounding).
A new rendering element (Bounds) that the renderer will pick up and use to fit the diagram to the required size. A generator can optionally produce a bounds object for the space it requires - when multiple bounds are present the min/max coordinates of all bounds are used.
Compute scaling for disconnected structures - this is required to avoid adjunct label collisions when there is > 1 isolated atom.
Classes missed when refactoring the bond length parameter.
Pass correct hydrogen count when generating InChIs + trailing spaces.
Provide the error message from Beam in full.
Deprecating old smiles parser option and writing documentation for the new parser.
Universal SMILES Rule E - don’t start on negatively charged oxygen.
Assign numbers to unlabelled atoms (i.e. hydrogens). Beam will handle the correct hydrogen ordering (CDK API makes this difficult).
Correct layout to represent double-bond stereochemistry and label bonds to indicate tetrahedral configurations.