bevyengine/bevy
73.6
Strong · 29 July 2026
457.4k
lines of production code
Rust
primary language
2
measurements over time
How this codebase got here
Score
- CAI 61 → 74 (+12.2)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.
Lenses
- Code Health 75 → 74 (-1.6)
- Architecture 96 → 95 (-1.5)
- Maturity 78 → 81 (+3.1)
- Readiness 82 → 82 (+0.0)
- Security 45 → 66 (+20.8)
- Domain Modelling 100 → 100 (+0.0)
- Event Sourcing 70 → 100 (+30.0)
Resolved (73)
- AssetPath.parse_internal (cyclomatic 17) (crates/bevy_asset/src/path.rs)
- AssetProcessor.initialize (cyclomatic 17) (crates/bevy_asset/src/processor/mod.rs)
- AssetProcessor.process_asset_internal (cyclomatic 16) (crates/bevy_asset/src/processor/mod.rs)
- AssetProcessor.validate_transaction_log_and_recover (cyclomatic 19) (crates/bevy_asset/src/processor/mod.rs)
- Change coupling: button.rs ↔ toggle_switch.rs (crates/bevy_feathers/src/controls/button.rs)
- Change coupling: checkbox.rs ↔ radio.rs (crates/bevy_ui_widgets/src/checkbox.rs)
- Change coupling: color_slider.rs ↔ slider.rs (crates/bevy_feathers/src/controls/color_slider.rs)
- Change coupling: radio.rs ↔ slider.rs (crates/bevy_ui_widgets/src/radio.rs)
- Dependency hygiene not measured — no supported dependency manifest was read
- EasyScreenRecordPlugin.build (cyclomatic 17) (crates/bevy_dev_tools/src/easy_screenshot.rs)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- High CVE: [GHSA redacted] (.github/start-mobile-example/package-lock.json)
- …and 53 more
New (115)
- Change coupling clique: directional_light.rs, point_light.rs, spot_light.rs (crates/bevy_light/src/directional_light.rs)
- Change coupling: adapter_system.rs ↔ combinator.rs (crates/bevy_ecs/src/system/adapter_system.rs)
- Change coupling: mod.rs ↔ mod.rs (crates/bevy_math/src/bounding/bounded2d/mod.rs)
- Change coupling: raycast2d.rs ↔ raycast3d.rs (crates/bevy_math/src/bounding/raycast2d.rs)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- FileTooLong: atmosphere/resources.rs (crates/bevy_pbr/src/atmosphere/resources.rs)
- FileTooLong: batching/gpu_preprocessing.rs (crates/bevy_render/src/batching/gpu_preprocessing.rs)
- FileTooLong: bsn/codegen.rs (crates/bevy_scene/macros/src/bsn/codegen.rs)
- FileTooLong: change_detection/params.rs (crates/bevy_ecs/src/change_detection/params.rs)
- FileTooLong: cluster/assign.rs (crates/bevy_light/src/cluster/assign.rs)
- FileTooLong: cluster/gpu.rs (crates/bevy_pbr/src/cluster/gpu.rs)
- FileTooLong: commands/mod.rs (crates/bevy_ecs/src/system/commands/mod.rs)
- FileTooLong: controls/number_input.rs (crates/bevy_feathers/src/controls/number_input.rs)
- FileTooLong: core_3d/mod.rs (crates/bevy_core_pipeline/src/core_3d/mod.rs)
- FileTooLong: cubic_splines/mod.rs (crates/bevy_math/src/cubic_splines/mod.rs)
- FileTooLong: curve/easing.rs (crates/bevy_math/src/curve/easing.rs)
- FileTooLong: diagnostic/internal.rs (crates/bevy_render/src/diagnostic/internal.rs)
- FileTooLong: dof/mod.rs (crates/bevy_post_process/src/dof/mod.rs)
- FileTooLong: entity/clone_entities.rs (crates/bevy_ecs/src/entity/clone_entities.rs)
- FileTooLong: entity/index_map.rs (crates/bevy_ecs/src/entity/index_map.rs)
- …and 95 more
Changes since last survey
- 87 commits — 74 feature/other, 13 fixes
By area
- (root) — 15 commits
- crates/bevy_ecs — 11 commits
- examples/ui — 10 commits
- crates/bevy_ui — 4 commits
- crates/bevy_ui_widgets — 4 commits
- examples/3d — 4 commits
- _release-content/migration-guides — 3 commits
- crates/bevy_render — 3 commits
- crates/bevy_solari — 3 commits
- crates/bevy_ui_render — 3 commits
- examples/state — 3 commits
- crates/bevy_core_pipeline — 2 commits
- crates/bevy_feathers — 2 commits
- crates/bevy_winit — 2 commits
- examples/usage — 2 commits
- assets/shaders — 1 commit
- benches/Cargo.toml — 1 commit
- crates/bevy_app — 1 commit
- crates/bevy_asset — 1 commit
- crates/bevy_camera — 1 commit
Notable commits
- fix: Apply suggested fix for try_update from nightly 1.99+ compiler. (#25099)
- fix: Fix Ctrl+A/C/X/V shortcuts in EditableText on non-Latin keyboard layouts (#25056)
- fix: Fix RenderDebugOverlay migration guide (#25161)
- fix: Fix incorrect samples range in the box_shadow example (#25181)
- fix: Fix missing bevy_transform traces (#25166)
- fix: Fix uninitialized-drawable pink screen on iOS (#25176)
- fix: Fix: Manually derive FromTemplate for RenderTarget (#25089)
- fix: Fix: Steam OSK shifted text input (#25068)
- fix: Scrollbars autohide, select fix for reselecting current item closing popup (#25057)
- fix: Transform Gizmo Rendering Bug: Incorect placement when rendering to a camera with custom viewport. (#25106)
- fix: custom_ui_material.wgsl fix (#25170)
- fix: bug fix: example - compute_mesh - fix type mismatch (#25093)
- fix: fix(bevy_core_pipeline): remove early return in 2d main opaque pass (#25199)
- change: Add LODs to most meshes in bevy_city (#23524)
- change: Add MeshAllocator meshes_displaced_by_slab_growthand make update_sparse_buffers pub (#25162)
- change: Add Okhwba color space (#24950)
- change: Add AlignedVec and use it to improve ShaderBuffer (#24938)
- change: Add ensure! macro for BevyError (#25061)
- change: Add a way to randomize system ordering during schedule builds. (#25094)
- change: Add deferred_raymarch example. (#25133)
- …and 67 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
bevyengine/bevy 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 29 July 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit d44e0b80872555264c3bcebbdf9ea7f1d0cf8c0c — the exact code this score is about.
- Scored under rubric-2026.08.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer latest.