Your hardware sets the millimetres, not a preset
Bed size bounds the footprint. Nozzle diameter sets the analysis pitch. Layer height decides which surface detail is physically printable and which is a lie. The number of filament slots in your AMS, CANVAS, or MMU sets the colour plan. Enter your printer once and every model that follows already fits it.
Shaped by erosion, pressure, and flow
Brightness-as-height gives you a shallow plaque. Topoform reads composition instead: a pressure field from image salience, form recovered from the artwork's own shading, texture streaked along its fibre directions, then a stream-power erosion pass that carves a real drainage network into the surface. The result reads as landscape from across a room and as detail up close.
A model that fails a check is not delivered
Watertight geometry, outward winding, zero non-manifold edges, slope under the printable overhang angle, colour caps at full opacity depth, and a slicer import check — thirty-three gates in total, each measured and written into a report you can read. Fail one and Topoform refuses the file rather than handing you a pretty preview that will not print.
Presets for Elegoo CANVAS, Bambu AMS, Prusa MMU, tool changers, and plain single extruders — or type in your own bed, nozzle, layer height, and slot count.
Keep a rack of filaments with colours, materials, and finishes. Slot assignments map straight onto the relief's colour channels, so the plan matches the machine.
Analysis runs at a pitch derived from your nozzle — typically 0.12 mm — so colour boundaries stay crisp instead of blocky. Detail below one layer height is dropped on purpose: it would vanish in slicing anyway.
Every run writes a multi-material 3MF, a twelve-panel contact sheet showing the hypsometric relief, drainage network, slope field and cross-section, plus a JSON report with every measured number behind the verdict.
Connect your own OpenAI, Anthropic, or Gemini account — or a local LM Studio server — for optional art direction. Keys live in your macOS Keychain. Add nothing and the app never opens a connection.
The geometry engine runs entirely on your Mac and is seeded from the source image, so a run is reproducible. Nothing about the shape depends on a service being up or a model being in a good mood.
Passing every gate means the geometry is sound and both installed slicers could read it. It does not mean the print will succeed. Filament mapping, purge settings, orientation, supports, bed adhesion, and the decision to press start stay with you and your slicer — as they should.