Skip to content

Code2Form 0.3.0

Choose a tag to compare

@enzotripoli enzotripoli released this 22 Oct 12:34
· 26 commits to main since this release
c975d91

Electronics in 3D, tabs, print pauses, settings, and an MCP server for AI agents. One download now runs on every Mac.

What's new

  • Electronics workspace (#20): parts declare their pins, mount holes and ports in // @pin comments; a .c2fc circuit file places them and wires them. Code2Form checks the wiring before you solder (supply voltages, shorts, open grounds, reserved pins), draws every part in place with its wires in their colors, shows a pin's net on a click, and walks you through the soldering wire by wire in Assembly mode. Rewire, move, turn and remove parts with the mouse, drag new ones in from the Catalogue, and make your own from a template. An enclosure .c2f takes its standoffs and openings from the circuit, and collisions and wire lengths are checked. A library of annotated parts ships with the app (XIAO ESP32-S3, ESP32-S3-DevKitC-1, MAX98357A, DRV8833, INMP441, capacitors, speaker, motor, touch plate). Guide: docs/electronics.md; example: examples/grogu/.
  • Tabs (#21): open several files at once, each with its own view, console and undo history; they come back at the next launch.
  • Print pauses (#14, #15): pause(z, message); asks the print to stop at a height, to drop magnets or nuts into closed cavities; the 3MF carries the pauses to PrusaSlicer. The view shows them, and a layer view cuts the model and edits them on its slider.
  • Settings (⌘,) (#16, #17, #18): the app icon in ten tints, the code's size, rendering as you type or on demand, and your own library and font folders.
  • AI agents (#13, #20): c2f mcp is a Model Context Protocol server: an agent such as Claude Code renders, pictures and exports models, and describes, checks and pictures circuits.
  • Command line: c2f circuit check | wires | bom | stl | 3mf and c2f pins.
  • Open Recent (#10) lists the last ten files; the Turntable (#8, now in the View menu) turns the view around the model.

Fixes

  • A worker test that failed at random now uses its own temporary file (#12).
  • projection()'s areas are pinned by tests, and the GEB volume gap is explained (#9).

Downloads

File For
Code2Form-0.3.0-macos-universal.zip The app, for every Mac (Apple silicon and Intel), macOS 11 or later
c2f-0.3.0-macos-universal.zip The command line, same platforms
SHA256SUMS.txt Checksums of both

The app is not notarized by Apple yet. On first launch, macOS blocks it: open it once, then go to System Settings → Privacy & Security and click Open Anyway. Or run, once:

xattr -dr com.apple.quarantine /Applications/Code2Form.app

To open .c2f, .c2fc and .scad files with Code2Form by double-click: Finder → Get Info on a file → Open with → Code2Form → Change All.

Windows and Linux: build from source with Rust 1.85 or later (cargo build --release); see the README.

Known limitations

  • projection() without cut keeps holes open where the reference implementation fills them, which changes the volume of some models (0.3% on the GEB example).
  • Part annotations are plain numbers: a part's pins do not follow its parameters.
  • Some dimensions of the library's parts are estimated; each file says which.