refactor: remove dead icon_registry, orphan dirs; fix CMake drift; decompose node_graph_widget; exe-relative install data roots - #62
Merged
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Maintainability cleanup from a comprehensive codebase review (findings M1, M2, M3, M4, M8, M9).
icon_registrymodule.IconRegistryhad zero callers (widgets draw schematic symbols viadrawSchematicSymbol); removed the module, its member/accessor inNodeGraphWidget, and the stb/OpenGL texture plumbing that was linked PUBLIC into every build.extensions/device-generator(untracked binary, no manifest, never discovered) andrf-sim-generator-input/(empty untracked scratch).pfb_channelizer_engineis pure DSP; removed thesimulator::corePUBLIC link that dragged imgui/glfw/OpenGL into every consumer including pure-DSP tests.node_graph_widget.cpp(1152 → 542 lines). Extracted schematic symbols, group interaction, and tooltips into three TUs (pure move, byte-verified; public API unchanged).project()/cmake_minimum_requiredto attenuator/logging/common; fixed attenuator's bare include path; factored tests/CMakeLists' 9 repeated standalone-test blocks intoadd_standalone_test(...)with a shared engine-lib variable.<exe_dir>/component_data/library,<exe_dir>/extensions) with a source-tree fallback for dev builds; install rules shipcomponent_data/andextensions/next to the exe. Installed binaries previously shipped with an empty library and no extension support.Verification
tests.exe216 cases / 65530 assertions;test_ui27/27 — all baseline-identical (pure refactor, no test additions).bin/+bin/component_data/library/**+bin/extensions/land as the exe-relative lookups expect; app launches cleanly.ctest -Ntotal unchanged.Notes for merging
tests/CMakeLists.txtis intentionally not part of this PR — theadd_standalone_testrefactor and the new containment-test registration travel infix/crash-and-containment(which owns that file).component_engine_base.hadditions land infix/dsp-accuracyandrefactor/engine-unification, not here.