Every machine module exposes the same entry points (configure(), FullElement(), ResinPrint(), Additive(), CalibrationElement(), CalibrationAdditive()), but “cylindrical in physical form” turned out not to predict how much code two machines actually share - each one was verified function-by-function against its real v2 (OpenSCAD) source before anything was ported, rather than assumed from the physical shape.

Cylinder family (lib/cylinder_machine.py)

Machine Shares with the rest of the family
Blickensderfer Full - only diverges at the “drive pin trio” (HollowSpace/DrivePin/ResinSupport), which has a drive-pin countersink with 2 selectable styles.
Postal Full - the same drive pin trio, but with no countersink at all. Otherwise a near-twin of Blickensderfer.
Mignon Cylindrical in outward form only - diverges from cylinder_machine.py across essentially the whole body-construction half of the pipeline.
Bennett Also cylindrical in form only - needed its own tune.py tabs, layouts, and field lists.
Helios Klimax Cylindrical; treated the same way as Mignon/Bennett - diffed function-by-function against its own v2 source rather than assumed to reuse the shared module.

Spherical family (lib/spherical_machine.py)

Machine Notes
Selectric12 One of 3 real Render_Mode branches from the original ibm.scad, split into its own module.
Selectric3 Second branch.
Selectric Composer Third branch - proportional-unit typing, byte-exact glyph alignment offsets preserved through the port.

spherical_machine.py holds everything byte-identical across all three branches; each machine module carries only its own layout data and config.

Hammond family - two machines, almost nothing shared between them

Machine Notes
Hammond Genuinely reuses cylinder_machine.place_on_cylinder/TextRing - its arc reduces algebraically to a “fake cylinder.”
Hammond Split A from-scratch glyph pipeline and a third, independent resin-support scheme - shares almost nothing with Hammond despite the name.

Type Slug family - standalone, v1 ground truth

Never carried into v2 at all, so these are ported straight from v1.

Machine Shared lib
Type Slug, Vogue Slug, Gauge Slug lib/wing_slug.py
Oliver Slug, Lumi Slug lib/box_slug.py

Nothing else remains on the roadmap for new machine ports.