# Changelog

## Score

- CAI 60 → 60 (+0.1)
- Rubric changed (rubric-2026.09.8 → rubric-2026.09.17) — scores are not directly comparable.

## Lenses

- Code Health 81 → 81 (+0.0)
- Architecture 97 → 95 (-1.7)
- Maturity 62 → 63 (+0.3)
- Readiness 64 → 65 (+0.5)
- Security 80 → 80 (+0.0)
- Event Sourcing 49 → 49 (+0.0)
- Performance 100 (new)

## Resolved (25)

- Change coupling: mod.rs ↔ selection.rs (editor/src/audio/mod.rs)
- Change-coupling hub: selection.rs → mod.rs, selection.rs, selection.rs (editor/src/world/selection.rs)
- Duplicated block (10 lines × 2) (editor/src/world/create.rs)
- Duplicated block (11 lines × 2) (editor/src/world/create.rs)
- Duplicated block (12 lines × 2) (editor/src/scene/commands/effect.rs)
- Duplicated block (7 lines × 2) (editor/src/scene/commands/effect.rs)
- Duplicated block (8 lines × 2) (fyrox-core-derive/src/reflect.rs)
- Hotspot: editor/src/plugins/absm/state_graph/mod.rs (editor/src/plugins/absm/state_graph/mod.rs)
- Hotspot: editor/src/ui_scene/menu.rs (editor/src/ui_scene/menu.rs)
- Hotspot: editor/src/world/menu.rs (editor/src/world/menu.rs)
- Hotspot: editor/src/world/mod.rs (editor/src/world/mod.rs)
- Hotspot: fyrox-animation/src/lib.rs (fyrox-animation/src/lib.rs)
- Hotspot: fyrox-graph/src/lib.rs (fyrox-graph/src/lib.rs)
- Hotspot: fyrox-impl/src/engine/mod.rs (fyrox-impl/src/engine/mod.rs)
- Hotspot: fyrox-impl/src/renderer/bundle.rs (fyrox-impl/src/renderer/bundle.rs)
- Hotspot: fyrox-impl/src/scene/dim2/physics/mod.rs (fyrox-impl/src/scene/dim2/physics/mod.rs)
- Hotspot: fyrox-impl/src/scene/graph/mod.rs (fyrox-impl/src/scene/graph/mod.rs)
- Hotspot: fyrox-impl/src/scene/graph/physics/mod.rs (fyrox-impl/src/scene/graph/physics/mod.rs)
- Hotspot: fyrox-resource/src/lib.rs (fyrox-resource/src/lib.rs)
- Hotspot: fyrox-texture/src/lib.rs (fyrox-texture/src/lib.rs)
- …and 5 more

## New (21)

- Change coupling: selection.rs ↔ selection.rs (editor/src/interaction/navmesh/selection.rs)
- Change coupling: selection.rs ↔ selection.rs (editor/src/ui_scene/selection.rs)
- Change-coupling hub: mod.rs → selection.rs, selection.rs, selection.rs (editor/src/audio/mod.rs)
- Dependency hygiene PARTLY measured — Cargo dependencies read, no committed lock to grade for currency
- Documentation: contradicts the code (template-core/src/android/README.md)
- Duplicated block (7 lines × 2) (fyrox-ui/src/formatted_text/textwrapper.rs)
- Hotspot: fyrox-ui/src/formatted_text.rs (fyrox-ui/src/formatted_text.rs)
- Inconsistent method signatures for UI message handling. The parameters vary significantly: some include 'engine', some 'sender', some 'editor_selection', some 'entry', and some none. This makes it difficult to implement a unified message dispatch system or understand the required context for each component.
- Inconsistent naming for setting a path. AssetItemBuilder uses 'with_path', while the AssetSelector builders use 'with_selected_asset_path'. Given that AssetItem represents a file/resource and the selector selects one, 'with_path' is the more generic and consistent term for setting a location.
- Inconsistent removal API. 'remove' takes an ID and returns a boxed trait object, while 'remove_typed' takes no arguments (implying it removes the specific type T) and returns the concrete type. This splits the removal logic between ID-based and Type-based removal without a clear pattern (e.g., 'remove_by_id' vs 'remove_by_type').
- Members sharing a duplicated core (4 members, 50+ identical tokens) (editor/src/asset/creator.rs)
- MethodTooLong: FormattedText.arrange (fyrox-ui/src/formatted_text.rs)
- Off the main sequence: fyrox-autotile
- Off the main sequence: fyrox-math
- Redundant methods with overlapping intent. 'push' and 'push_command' both add a command to the group. One likely accepts a generic type C and the other a concrete Command, but this creates confusion for users on which to use.
- Repeated repair: fyrox-core-derive/src/reflect.rs (fyrox-core-derive/src/reflect.rs)
- SceneViewer::sync_to_model (cognitive 20) (editor/src/scene_viewer/mod.rs)
- Split editor
- Split fyrox-impl
- Unstable project fyrox-impl
- …and 1 more

## Changes since last survey

- 33 commits — 24 feature/other, 9 fixes

## By area

- editor/src — 17 commits
- fyrox-ui/src — 13 commits
- fyrox-core-derive/src — 2 commits
- fyrox-graph/src — 1 commit

## Notable commits

- fix: fixed `field_direct_ref/mut` for structs with hidden fields
- fix: fixed alignment of inline text elements
- fix: fixed crash when adding/removing audio bus + fixed crashes in undo/redo
- fix: fixed crash when running standalone editor without startup data
- fix: fixed doc provider
- fix: fixed incorrect arrangement of text inline elements
- fix: fixed incorrect line height calculation for inline text elements
- fix: fixed inline widgets position in markdown
- fix: fixed mutex timeout crash when using text as inline widget of some text
- change: GraphNodeConstructor api improvements
- change: add placeholder for inspector search bar
- change: do not format doc comments in reflection
- change: docs for inline text elements
- change: expand collapsed tree items when searching in entity creator
- change: experimental ability to insert inline elements in text
- change: experimental markdown support
- change: expose some of the hidden fields of `Widget` in inspector
- change: hide unused toolbar items for ui scenes
- change: highlight "create" button in entity creator
- change: highlight scene title for startup scenes
- …and 13 more
