# Changelog

## Score

- CAI 31 → 35 (+4.2)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 34 → 53 (+19.0)
- Architecture 62 → 60 (-1.7)
- Maturity 62 → 62 (+0.6)
- Readiness 51 → 28 (-23.6)
- Security 21 → 43 (+21.8)
- Accessibility 33 → 31 (-1.7)
- Performance 60 (new)

## Resolved (306)

- BoundingSphere.fromEncodedCartesianVertices (cognitive 25) (packages/engine/Source/Core/BoundingSphere.js)
- BoundingSphere.fromEncodedCartesianVertices (cyclomatic 19) (packages/engine/Source/Core/BoundingSphere.js)
- BoundingSphere.fromPoints (cognitive 25) (packages/engine/Source/Core/BoundingSphere.js)
- BoundingSphere.fromPoints (cyclomatic 17) (packages/engine/Source/Core/BoundingSphere.js)
- Cesium3DTile (cognitive 32) (packages/engine/Source/Scene/Cesium3DTile.js)
- Change coupling: Matrix2.js ↔ Matrix3.js (packages/engine/Source/Core/Matrix2.js)
- Change coupling: Matrix2.js ↔ Matrix4.js (packages/engine/Source/Core/Matrix2.js)
- ClassTooLong: BoundingSphere (packages/engine/Source/Core/BoundingSphere.js)
- ClassTooLong: Cartesian3 (packages/engine/Source/Core/Cartesian3.js)
- ClassTooLong: Matrix4 (packages/engine/Source/Core/Matrix4.js)
- ClassTooLong: Rectangle (packages/engine/Source/Core/Rectangle.js)
- CoplanarPolygonGeometry.createGeometryFromPolygon (cognitive 33) (packages/engine/Source/Core/CoplanarPolygonGeometry.js)
- CoplanarPolygonGeometry.createGeometryFromPolygon (cyclomatic 23) (packages/engine/Source/Core/CoplanarPolygonGeometry.js)
- CorridorGeometry.combine (cognitive 59) (packages/engine/Source/Core/CorridorGeometry.js)
- CorridorGeometry.combine (cyclomatic 31) (packages/engine/Source/Core/CorridorGeometry.js)
- CorridorGeometry.computePositionsExtruded (cognitive 16) (packages/engine/Source/Core/CorridorGeometry.js)
- CorridorGeometry.extrudedAttributes (cognitive 46) (packages/engine/Source/Core/CorridorGeometry.js)
- CorridorGeometry.extrudedAttributes (cyclomatic 26) (packages/engine/Source/Core/CorridorGeometry.js)
- CorridorOutlineGeometry.combine (cognitive 32) (packages/engine/Source/Core/CorridorOutlineGeometry.js)
- CorridorOutlineGeometry.combine (cyclomatic 17) (packages/engine/Source/Core/CorridorOutlineGeometry.js)
- …and 286 more

## New (446)

- ArcGisMapServerImageryProvider.ArcGisMapServerImageryProvider.pickFeatures (cognitive 19) (packages/engine/Source/Scene/ArcGisMapServerImageryProvider.js)
- BillboardCollection.BillboardCollection.update (cyclomatic 109) (packages/engine/Source/Scene/BillboardCollection.js)
- BillboardVisualizer.BillboardVisualizer.update (cognitive 16) (packages/engine/Source/DataSources/BillboardVisualizer.js)
- BoundingSphere.fromEncodedCartesianVertices (cognitive 25) (packages/core/Source/BoundingSphere.js)
- BoundingSphere.fromEncodedCartesianVertices (cyclomatic 19) (packages/core/Source/BoundingSphere.js)
- BoundingSphere.fromPoints (cognitive 25) (packages/core/Source/BoundingSphere.js)
- BoundingSphere.fromPoints (cyclomatic 17) (packages/core/Source/BoundingSphere.js)
- BoxGeometry.BoxGeometry.createGeometry (cognitive 18) (packages/core/Source/BoxGeometry.js)
- Buffer.Buffer.copyFromBuffer (cognitive 17) (packages/engine/Source/Renderer/Buffer.js)
- Buffer.Buffer.copyFromBuffer (cyclomatic 20) (packages/engine/Source/Renderer/Buffer.js)
- Buffer.Buffer.getBufferData (cognitive 16) (packages/engine/Source/Renderer/Buffer.js)
- Camera.Camera._updateCameraChanged (cyclomatic 23) (packages/engine/Source/Scene/Camera.js)
- CameraFlightPath.CameraFlightPath.createTween (cognitive 23) (packages/engine/Source/Scene/CameraFlightPath.js)
- CameraFlightPath.CameraFlightPath.createTween (cyclomatic 22) (packages/engine/Source/Scene/CameraFlightPath.js)
- CartographicGeocoderService.CartographicGeocoderService.geocode (cognitive 24) (packages/engine/Source/Core/CartographicGeocoderService.js)
- CartographicGeocoderService.CartographicGeocoderService.geocode (cyclomatic 16) (packages/engine/Source/Core/CartographicGeocoderService.js)
- Cesium3DTile (cognitive 34) (packages/engine/Source/Scene/Cesium3DTile.js)
- Cesium3DTile.Cesium3DTile.createBoundingVolume (cognitive 16) (packages/engine/Source/Scene/Cesium3DTile.js)
- Cesium3DTileBatchTable.Cesium3DTileBatchTable.addDerivedCommands (cognitive 56) (packages/engine/Source/Scene/Cesium3DTileBatchTable.js)
- Cesium3DTileBatchTable.Cesium3DTileBatchTable.addDerivedCommands (cyclomatic 24) (packages/engine/Source/Scene/Cesium3DTileBatchTable.js)
- …and 426 more

## Changes since last survey

- 87 commits — 75 feature/other, 12 fixes

## By area

- (repo) — 26 commits
- (root) — 26 commits
- packages/engine — 20 commits
- packages/core — 4 commits
- packages/sandcastle — 4 commits
- .github/workflows — 3 commits
- Documentation/Contributors — 1 commit
- scripts/applyCoreOtherFixes.js — 1 commit
- scripts/build-utilities.js — 1 commit
- scripts/updateIonToken.js — 1 commit

## Notable commits

- fix: CI: Fix multi-line script syntax
- fix: ESLint: Pin to v10.10.x until regression fixed
- fix: Fix doc errors in Billboard and QuadtreeTile
- fix: Fix handling of Math.js and WebGLConstants.js
- fix: Fix import path in gulpfile.apps.js
- fix: Fix missing Sandcastle ambient types
- fix: Fix optional-then-required parameter in arrayRemoveDuplicates
- fix: Fix script issues affecting post-move builds
- fix: Merge pull request #13741 from TianHengZhuang/docs/fix-feature-id-label-types
- fix: Merge pull request #13858 from CesiumGS/fix-bounding-sphere-state
- fix: fix
- fix: fix
- change: Add scripts to move files to core package
- change: Adjust deprecation messaging for symbols moved to core package
- change: BufferPrimitive: Add .pickObject accessors
- change: BufferPrimitiveCollection: Add .setPositions() and ._dirtyFlags for fast position-only updates
- change: CI: Tidy up steps for linting types and JSDoc
- change: Clean up duplicated build code
- change: Don't build widgets to run engine specs
- change: Expose interfaces and typedefs for cross-package TypeScript imports
- …and 67 more
