# `mix monty_cad.gen.transform`
[🔗](https://github.com/d-led/ex.monty.cad/blob/main/lib/mix/tasks/monty_cad.gen.transform.ex#L1)

Writes a sensor transform into the current project.

    mix monty_cad.gen.transform surface_smoother

Two files: `lib/<app>/plugins/surface_smoother.ex` — the one callback
`Monty.SensorModules.SensorModule.Transform` requires, answering the payload it
changed and itself as it now stands — and a test that asserts the module is a
transform.

`call/3` raises until the stage does something. Two answers are honest without
a decision: the payload untouched, for a stage whose feature this run does not
use, and a percept made from the observation, which
`MontyCad.Percept.message/1` already does for a CAD frame.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
