statumen 0.3.0

Statumen whole-slide image reader
Documentation
<!-- SPDX-License-Identifier: Apache-2.0 -->

# Contributing to statumen

Thanks for taking the time to contribute. This document describes the
expectations for patches, tests, and review on this crate.

## Code of Conduct

Participation in this project is governed by the
[Code of Conduct](CODE_OF_CONDUCT.md). By participating you agree to abide
by its terms.

## Development setup

```bash
# Install the toolchain pinned by the MSRV declared in `Cargo.toml`.
rustup show

# Run the same gates that CI runs.
cargo xtask fmt
cargo xtask clippy
cargo xtask test
cargo xtask doc
```

`cargo xtask ci` runs the full sequence (`fmt`, `clippy`, `test`, `doc`,
`package`).

## Branching and commits

- The default branch is `main`. Direct commits to `main` are accepted for
  small, focused changes; larger work goes through a PR.
- Commit messages should be imperative and short. Use prefixes when useful
  (`feat:`, `fix:`, `chore:`, `ci:`, `docs:`).
- Keep each commit self-contained: building / formatting / linting / tests
  should pass at every commit, not only at the tip.

## Tests

- Unit tests live next to the code they cover.
- Integration tests live under `tests/`.
- Behavior-focused tests are preferred over implementation-coupled ones.
- Aim for ≥ 80% changed-path coverage. If something is genuinely
  hard to cover, document the gap in the PR description.

## Reporting issues

Please include:

1. statumen version (`cargo pkgid`).
2. Rust toolchain (`rustc --version`).
3. Operating system and architecture.
4. The smallest reproducer you can share, including the WSI container
   format if relevant.

## Security

If you believe you have found a security vulnerability, please **do not**
open a public issue. Email the maintainers privately and we will
coordinate a fix and disclosure.

## License

By contributing, you agree that your contributions will be licensed under
the Apache License, Version 2.0, as declared in `LICENSE`.