Update documentation for sample projection.
Fix a subtle bug.

Updating f should be the *last* thing that happens in the update_data function, as it implies that we've passed the placed mass.