diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..b8956f6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,39 @@ +# Changelog + +All notable changes to this project will be documented here. Format follows +[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning follows +[Semantic Versioning](https://semver.org/). + +## [0.2.0] - 2026-05-12 + +### Changed (breaking) + +- Inference no longer requires PyTorch. Runtime dependencies are now + `numpy + onnxruntime` only. +- Public API additions: `MouseModel` and `ScrollModel` classes wrapping a + persistent ORT `InferenceSession`. +- Function signatures `generate()` and `generate_scroll()` are now keyword-only + past the positional `start`/`end` (or `start_scroll_y`/`target_scroll_y`). +- New parameters: `click=True` (mouse), `seed=` (both), `viewport_height=` (scroll). +- Removed `config=` parameter; use kwargs directly. +- `model_dir=` renamed to `model_path=`; accepts `str` or `pathlib.Path`. +- `start_scrollY` / `target_scrollY` renamed to `start_scroll_y` / `target_scroll_y`. +- Training, web UI, collector, eval, and data adapter code moved to repo-level + `tools/`; no longer packaged in the wheel. + +### Added + +- ONNX-format pre-trained weights bundled inside the wheel via + `importlib.resources` (~3 MB). +- `tools/export_onnx.py` script with PyTorch/ORT parity check. +- Errors namespace `ai_mouse.errors` with `AiMouseError`, `ModelLoadError`, + `GenerationError`. +- Custom ORT providers parameter for GPU / DirectML. +- Per-process `lru_cache` so `generate()` / `generate_scroll()` reuse the + default model across calls. + +### Removed + +- Legacy `JointCVAE` class. +- `ai_mouse.config.GenerateConfig` top-level export (parameters moved to kwargs). +- Source dependency on `scipy.stats.truncnorm` (replaced by numpy rejection sampling).