v4 builds struck-character type elements for antique typewriters (starting with Blickensderfer) as watertight solids, ready to 3D print. The draft taper - the cone-shaped widening from a character’s print face down to its embedded root - is built via a real Minkowski sum (manifold3d.Manifold.minkowski_sum) between the flat glyph shape and a cone, not OpenSCAD’s minkowski() (too slow at this scale) and not a hand-rolled per-vertex outline offset (v4’s first approach, since abandoned). Every part of the assembly - characters onto the cylinder, the platen cutout, the final Additive - Subtractive - is a real manifold3d boolean too.

Want the story behind this — collaborators, real prints, photos of the restored machines? See leonardchau.com/projects/type-elements.

  • How it works - the Minkowski draft sum, real booleans, adaptive glyph outline sampling, and the geometry invariants that keep the pipeline correct.
  • Machines - every typewriter this pipeline currently supports, and how much code each one actually shares with the others.
  • Accessories - companion parts, like legend-card holders, that print alongside a machine’s type elements but aren’t generated by the pipeline itself.
  • Behind the scenes - a few of the concrete bugs and dead ends that shaped the current design.
  • Roadmap - what’s planned, paused, or intentionally not started yet.
  • Changelog - the full development session log.
  • README - the repo’s own README, mirrored here.
  • License - print these for yourself freely; the software is GPL, the designs are non-commercial.

Source: github.com/dairyking98/Type-Elements, v4/ directory.