# Changelog

## Score

- CAI 42 → 33 (-9.1)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 59 → 50 (-9.6)
- Architecture 100 → 96 (-4.5)
- Maturity 60 → 46 (-14.1)
- Readiness 32 → 19 (-13.3)
- Security 45 → 36 (-8.3)

## Resolved (184)

- AABB.raycast (cognitive 24) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/collision/AABB.java)
- AStarPathfinder.findPath (cognitive 50) (fxgl-core/src/main/java/com/almasb/fxgl/pathfinding/astar/AStarPathfinder.java)
- AStarPathfinder.findPath (cyclomatic 22) (fxgl-core/src/main/java/com/almasb/fxgl/pathfinding/astar/AStarPathfinder.java)
- Array.removeAll (cognitive 20) (fxgl-core/src/main/java/com/almasb/fxgl/core/collection/Array.java)
- BlockCollisionComponent.applyVelocityManually (cognitive 16) (fxgl-samples/src/main/java/sandbox/circlegame/BlockCollisionComponent.java)
- Collision.collideEdgeAndCircle (cognitive 18) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/collision/Collision.java)
- Collision.collidePolygonAndCircle (cognitive 18) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/collision/Collision.java)
- Contact.update (cognitive 23) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/contacts/Contact.java)
- ContactManager.addPair (cognitive 21) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/ContactManager.java)
- ContactManager.addPair (cyclomatic 17) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/ContactManager.java)
- ContactManager.collide (cognitive 17) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/ContactManager.java)
- ContactSolver.initializeVelocityConstraints (cognitive 18) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/contacts/ContactSolver.java)
- ContactSolver.solveVelocityConstraints (cognitive 34) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/contacts/ContactSolver.java)
- ContactSolver.solveVelocityConstraints (cyclomatic 16) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/contacts/ContactSolver.java)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Distance.distance (cognitive 22) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/collision/Distance.java)
- Duplicated block (10 lines × 2) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/collision/Collision.java)
- Duplicated block (10 lines × 2) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/collision/SeparationFunction.java)
- Duplicated block (10 lines × 2) (fxgl-core/src/main/java/com/almasb/fxgl/physics/box2d/dynamics/joints/PrismaticJoint.java)
- …and 164 more

## New (21)

- Coverage not measured — test suite did not build
- Dimension evaluation failed
- Duplicated block (11 lines × 2) (fxgl/src/main/kotlin/com/almasb/fxgl/app/scene/FXGLDefaultMenu.kt)
- Duplicated block (12 lines × 2) (fxgl-io/src/main/kotlin/com/almasb/fxgl/io/FileSystemAccess.kt)
- Duplicated block (12 lines × 2) (fxgl-scene/src/main/kotlin/com/almasb/fxgl/ui/FXGLDialogFactoryServiceProvider.kt)
- Duplicated block (13 lines × 2) (fxgl-samples/src/main/kotlin/sandbox/anim/ScaleAndRotateSample.kt)
- Duplicated block (13 lines × 2) (fxgl-tools/src/main/kotlin/com/almasb/fxgl/tools/dialogues/ui/NodeInspectorPane.kt)
- Duplicated block (13 lines × 2) (fxgl/src/main/kotlin/com/almasb/fxgl/app/MainWindow.kt)
- Duplicated block (13 lines × 3) (fxgl-core/src/main/kotlin/com/almasb/fxgl/entity/level/tiled/TilesetLoader.kt)
- Duplicated block (17 lines × 2) (fxgl/src/main/kotlin/com/almasb/fxgl/achievement/AchievementService.kt)
- Duplicated block (18 lines × 2) (fxgl-core/src/main/kotlin/com/almasb/fxgl/entity/level/tiled/TilesetLoader.kt)
- Duplicated block (18 lines × 2) (fxgl/src/main/kotlin/com/almasb/fxgl/app/MainWindow.kt)
- Duplicated block (20 lines × 2) (fxgl-core/src/main/kotlin/com/almasb/fxgl/entity/level/tiled/TilesetLoader.kt)
- Duplicated block (24 lines × 2) (fxgl-core/src/main/kotlin/com/almasb/fxgl/physics/BoundingShape.kt)
- Duplicated block (25 lines × 2) (fxgl-core/src/main/kotlin/com/almasb/fxgl/entity/level/tiled/TMXLevelLoader.kt)
- Duplicated block (6 lines × 2) (fxgl/src/main/kotlin/com/almasb/fxgl/scene3d/Cuboid.kt)
- No artifact signing
- No tests found
- early-stage repository — too little history to judge knowledge freshness
- single-commit history — no usable git history window to measure hotspots
- …and 1 more

## Architecture

- Containers 0 added · 0 removed · contexts 0 added · 1 removed · edges 0 added · 0 removed

## Removed bounded contexts (1)

- fxgl-framework
