# Changelog

## Score

- CAI 63 → 66 (+3.1)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 89 → 89 (+0.0)
- Architecture 100 → 97 (-3.0)
- Maturity 61 → 61 (+0.0)
- Readiness 47 → 54 (+7.0)
- Security 89 → 89 (+0.0)
- Event Sourcing 100 → 100 (+0.0)
- Performance 100 (new)

## Resolved (4)

- Documentation: no architecture or design documentation (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Off-boarding risk: anonymized user #1

## New (8)

- Dependency hygiene PARTLY measured — Cargo dependencies read, no committed lock to grade for currency
- Documentation: no contributor guidance (README.md)
- Inconsistent return types for dimension queries. `Image` returns `usize` (integer counts), while `Texture2D` returns `f32` (floating point coordinates/pixels). This forces users to cast or handle type mismatches when working with both types generically. Additionally, `Texture2D` provides `size()` returning `Vec2`, while `Image` does not.
- Low cohesion: Stage (LCOM4 15) (src/lib.rs)
- Low cohesion: Style (LCOM4 4) (src/ui/style.rs)
- Off-boarding risk: anonymized user #1
- Projects may be oversized for their cohesion
- Semantic ambiguity of 'point'. In Circle, this likely returns the center or a sample point, but the name is generic. In Rect, it is unclear if it returns the top-left corner, center, or something else. Given that Rect has explicit `center()`, `left()`, `right()`, etc., `point()` on Rect is redundant or confusingly named compared to the explicit getters available on the same type.
