What one sensor module step carries between its transforms.
Mirrors tbp/monty/sensor_modules/sensor_module.py::Payload. A step begins
with the raw observation and nothing else; each transform in the sensor's
pipeline may replace the percept, add goals, claim an attention region, and
write to the telemetry. What comes out of the last transform is what the step
reports.
percept is nil until a transform makes one — which is the whole point of
the pipeline: a view finder that only measures the scene has no percept to
send, and saying so is nil, not an empty message.
Summary
Types
@type t() :: %Monty.SensorModules.SensorModule.Payload{ goals: [Monty.Cmp.Goal.t()], observation: map(), percept: Monty.Cmp.Message.t() | nil, region: Monty.Cmp.AttentionRegion.t() | nil, telemetry: map() }