Skip to content

refactor: remove dead icon_registry, orphan dirs; fix CMake drift; decompose node_graph_widget; exe-relative install data roots - #62

Merged
striderZA merged 1 commit into
masterfrom
refactor/cleanup
Aug 10, 2026
Merged

refactor: remove dead icon_registry, orphan dirs; fix CMake drift; decompose node_graph_widget; exe-relative install data roots#62
striderZA merged 1 commit into
masterfrom
refactor/cleanup

Conversation

@striderZA

Copy link
Copy Markdown
Owner

Summary

Maintainability cleanup from a comprehensive codebase review (findings M1, M2, M3, M4, M8, M9).

  • M1 — delete dead icon_registry module. IconRegistry had zero callers (widgets draw schematic symbols via drawSchematicSymbol); removed the module, its member/accessor in NodeGraphWidget, and the stb/OpenGL texture plumbing that was linked PUBLIC into every build.
  • M2 — remove orphaned dirs. extensions/device-generator (untracked binary, no manifest, never discovered) and rf-sim-generator-input/ (empty untracked scratch).
  • M4 — drop spurious engine→UI CMake link. pfb_channelizer_engine is pure DSP; removed the simulator::core PUBLIC link that dragged imgui/glfw/OpenGL into every consumer including pure-DSP tests.
  • M8 — decompose node_graph_widget.cpp (1152 → 542 lines). Extracted schematic symbols, group interaction, and tooltips into three TUs (pure move, byte-verified; public API unchanged).
  • M9 — CMake hygiene. Added missing project()/cmake_minimum_required to attenuator/logging/common; fixed attenuator's bare include path; factored tests/CMakeLists' 9 repeated standalone-test blocks into add_standalone_test(...) with a shared engine-lib variable.
  • M3 — install story. Library/extension scan roots now resolve exe-relative (<exe_dir>/component_data/library, <exe_dir>/extensions) with a source-tree fallback for dev builds; install rules ship component_data/ and extensions/ next to the exe. Installed binaries previously shipped with an empty library and no extension support.

Verification

  • Full build green; tests.exe 216 cases / 65530 assertions; test_ui 27/27 — all baseline-identical (pure refactor, no test additions).
  • Staged-install check: bin/ + bin/component_data/library/** + bin/extensions/ land as the exe-relative lookups expect; app launches cleanly.
  • ctest -N total unchanged.

Notes for merging

  • tests/CMakeLists.txt is intentionally not part of this PR — the add_standalone_test refactor and the new containment-test registration travel in fix/crash-and-containment (which owns that file).
  • The component_engine_base.h additions land in fix/dsp-accuracy and refactor/engine-unification, not here.

…compose node_graph_widget; exe-relative install data roots

M1: icon_registry module had zero callers (widgets draw schematic symbols via drawSchematicSymbol); delete it and its stb/OpenGL texture plumbing.
M2: remove orphaned extensions/device-generator (binary only, no manifest) and rf-sim-generator-input (empty untracked scratch).
M4: pfb_channelizer_engine is pure DSP; drop the spurious PUBLIC simulator::core link that dragged imgui/glfw/OpenGL into every consumer.
M9: add missing cmake_minimum_required/project() to attenuator/logging/common; fix attenuator bare include path.
M8: decompose node_graph_widget.cpp (1152 -> 542 lines) into schematic_symbols.cpp, node_graph_widget_groups.cpp, node_graph_widget_tooltips.cpp (pure move, byte-verified).
M3: library/extension scan roots now resolve exe-relative (<exe_dir>/component_data/library, <exe_dir>/extensions) with source-tree fallback for dev; install rules ship component_data/ and extensions/ next to the exe.
@striderZA
striderZA merged commit 69d9e45 into master Aug 10, 2026
2 checks passed
@striderZA
striderZA deleted the refactor/cleanup branch August 10, 2026 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant