itempool 0.1.0

A simple trait for managing pools of reusable items with discard/recycle support.
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0] - 2025-11-18

### Added

- Initial release of `itempool`
- `PoolItem` trait for type-safe pool items requiring `Hash + Eq + Sync`
- `ItemPool<T>` trait for managing pools of reusable items
  - `pool()` - Access to main item storage
  - `put()` - Add items to the pool
  - `remove_one()` - Remove and return a single random item
  - `remove_many()` - Remove multiple items (duplicates possible)
  - `remove_set()` - Remove a set of unique items without duplicates
- `RecyclingItemPool<T>` trait extending `ItemPool` with discard/recycle functionality
  - `get_discard_pool()` - Access to discard storage
  - `discard_one()` - Move items to discard pool temporarily
  - `recycle_discarded()` - Return all discarded items to main pool
  - `get_set()` - Get unique items with automatic recycling
- WebAssembly support via `wasm32-unknown-unknown` target
- Comprehensive documentation with examples
- Full test coverage (unit tests and doc tests)
- Example implementation (`examples/enemy_example.rs`)

### Dependencies

- `rand` ^0.9.0 for random item selection
- `getrandom` ^0.3.4 with WASM support

[0.1.0]: https://github.com/caniko/itempool/releases/tag/v0.1.0