## What does this PR do?

## Checklist
- [ ] Tests pass (`pytest tests/`)
- [ ] Lint passes (`ruff check src/`)
- [ ] Docstrings added for new public functions
- [ ] CHANGELOG.md updated (if user-facing change)
