CanineCC/ROF
45.1
Weak · 2 November 2026
51.3k
lines of production code
C#
with GDScript
1
measurement over time
How this codebase got here
Score
- CAI 47 → 45 (-2.0)
- Rubric changed (rubric-2026.08.12 → rubric-2026.11.1) — scores are not directly comparable.
Lenses
- Code Health 61 → 55 (-6.4)
- Architecture 76 → 55 (-20.5)
- Maturity 31 → 33 (+2.0)
- Readiness 58 → 50 (-8.4)
- Security 63 → 78 (+15.0)
- Performance 63 → 77 (+14.8)
Resolved (284)
- AnimationIdMapping.GetAnimationTypeForState (cyclomatic 27) (Canine/Canine.TacticalBattleEngine/Animation/AnimationIdMapping.cs)
- AnimationStateSystem.GetMovementAnimation (cyclomatic 17) (Canine/Canine.TacticalBattleEngine/Animation/AnimationStateSystem.cs)
- BDD tests
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/Managers/BattlefieldManager.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/Managers/POINode.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/Managers/ProceduralForestManager.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/Managers/ProceduralForestManager.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/AchievementUIController.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/AnimationBrowser/AnimationBrowser.Model.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/AnimationBrowser/AnimationBrowser.Preview.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/DefenceEditDialog/DefenceEditDialog.DragDrop.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/DefenceEditDialog/DefenceEditDialog.DragDrop.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/UnitEditDialog/UnitEditDialog.Animation.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/UnitEditDialog/UnitEditDialog.DragDrop.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/UnitEditDialog/UnitEditDialog.DragDrop.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/UnitEditDialog/UnitEditDialog.DragDrop.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/UnitEditDialog/UnitEditDialog.DragDrop.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/UnitEditDialog/UnitEditDialog.Scene.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/UnitEditDialog/UnitEditDialog.Scene.cs)
- BarePragmaDisable (RevivalOfForest/ROF.Game/Scripts/UI/ModdingTools/Utilities/GltfAnimationExtractor.cs)
- …and 264 more
New (645)
- BarePragmaDisable repeated across 11 files (RevivalOfForest/ROF.Game/Scripts/Managers/POINode.cs)
- Change coupling: Program.cs ↔ WaypointMovementSystem.cs (Canine/Canine.TacticalBattleEngine.Benchmarks/Program.cs)
- Change-coupling hub: NextTurnButton.cs → UnitSelectButton.cs, CameraController.cs, BattlefieldManager.cs (RevivalOfForest/ROF.Game/Scripts/UI/NextTurnButton.cs)
- CommentedOutCode (Canine/Canine.TacticalBattleEngine.Tests/UnitTests/DirectCombatSystemRangeTest.cs)
- CommentedOutCode (Canine/Canine.TacticalBattleEngine.Tests/UnitTests/DirectCombatSystemRangeTest.cs)
- CommentedOutCode (Canine/Canine.TacticalBattleEngine.Tests/UnitTests/DirectCombatSystemRangeTest.cs)
- CommentedOutCode (Canine/Canine.TacticalBattleEngine.Tests/UnitTests/DirectCombatSystemRangeTest.cs)
- CommentedOutCode (Canine/Canine.TacticalBattleEngine.Tests/UnitTests/DirectCombatSystemRangeTest.cs)
- CommentedOutCode (RevivalOfForest/ROF.Game/Assets/Trees/Big white oak/The packed scene/BigWhiteOak.cs)
- CommentedOutCode (RevivalOfForest/ROF.Game/Scripts/UnitLogicRenderer.cs)
- Dead code: CalculateIntermediateHash (Canine/Canine.TacticalBattleEngine.Benchmarks/Infrastructure/HashValidator.cs)
- Dead code: CalculatePath (Canine/Canine.TacticalBattleEngine/Interfaces/ITerrainProvider.cs)
- Dead code: CanUnitsInteract (Canine/Canine.TacticalBattleEngine.Tests/Testing/TestGameConfiguration.cs)
- Dead code: ClearNonHumanUnits (Canine/Canine.TacticalBattleEngine/Simulation/SpawnManager.cs)
- Dead code: CreateUnitsOnly (Canine/Canine.TacticalBattleEngine.Benchmarks/Infrastructure/BenchmarkScenarios.cs)
- Dead code: DespawnEffectData (Canine/Canine.TacticalBattleEngine/Resources/DespawnEffectData.cs)
- Dead code: FindHierarchicalPath (Canine/Canine.TacticalBattleEngine/Navigation/HierarchicalPathfindingGrid.cs)
- Dead code: ForTeams (Canine/Canine.TacticalBattleEngine/AI/AIConfiguration.cs)
- Dead code: GameSettingsData (Canine/Canine.TacticalBattleEngine/Resources/GameSettingsData.cs)
- Dead code: GetAliveCount (Canine/Canine.TacticalBattleEngine/Simulation/SimulationState.cs)
- …and 625 more
Architecture
- 0 containers · 2 bounded contexts · 1 dependency edges (baseline)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
CanineCC/ROF was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 November 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit afcbb332ebfc2b91334d4c818900b7fa8c29d3b1 — the exact code this score is about.
- Scored under rubric-2026.11.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer measure-2026.11.1+preprod-2cc7d3782551.
The project's source repositorygithub.com/CanineCC/ROFThe full report by WatchdogEvery finding behind the 2 November 2026 measurement, as Watchdog published itMeasured by WatchdogThe engine that produced the evidence behind this scoreHow this project comparesEvery measured codebase read together — the same rubric, the same instrumentVerify this score yourselfReproduce the number from the published evidence