- Checking `DrawSize != Vector2.Zero` is too specific. It could also
crash on zero-height-but-non-zero-width, or
zero-width-but-non-zero-height.
- Take the `gridCache.Validate()` call out of the zero checks, because
even if the width or height are zero, not generating anything is valid
and there is no reason to validate every frame until `gridCache` gets
invalidated again.