refactor(source): move every implementation into its module directory
- 36 files move into the module whose AGENTS.md already claimed them: Engine/, Synth/, Modulation/, Params/, Plugin/, GUI/, EffectUnits/, Resources/ - Source/engine, modulation, params, plugin and synth become Engine, Modulation, Params, Plugin and Synth, matching the directories that already hold code - ExactCompare.h stays at the Source/ root as the one shared header - SERUMALT_INCLUDE_DIRS adds one include directory per module, so the 31 parent-relative includes become plain names with no path prefix - the module AGENTS.md files list owned files instead of describing a move that had not happened, and README.md and AGENTS.md describe the real tree Verified: the harness passes CTest, the Linux VST3 and Standalone link, the Windows cross-build passes its module checks, each configure exposes only its own targets, no first-party warning line appears, and the generated Windows manifest is unchanged.
This commit is contained in:
1 parent
facd5c5b5e
commit
4b0db50271
70 files changed
+115
-111
No files matched your search
@@ -83,23 +83,31 @@ extra files. Never edit generated CMakeCache.txt files. The checked-in
|
||||
|
||||
## Current source layout
|
||||
|
||||
`CMakeLists.txt` owns the explicit `SERUMALT_SOURCES` list and shared target setup.
|
||||
`cmake/Plugin.cmake` owns production formats and MinGW link flags;
|
||||
`cmake/Harness.cmake` owns the console harness and CTest registration.
|
||||
The harness compiles the same processor/editor sources independently of the plugin.
|
||||
`CMakeLists.txt` owns the explicit `SERUMALT_SOURCES` list, the module include
|
||||
directories and shared target setup. `cmake/Plugin.cmake` owns production formats
|
||||
and MinGW link flags; `cmake/Harness.cmake` owns the console harness and CTest
|
||||
registration. The harness compiles the same processor/editor sources independently
|
||||
of the plugin.
|
||||
|
||||
Most C++ files still live directly under `Source/`. Existing implementation
|
||||
subdirectories are `EffectUnits/`, `GUI/`, `Presets/`, `Resources/`, and `Tests/`.
|
||||
`FXProcessor`, `PluginEditor`, `Resources`, and `RAVEButton` remain at the source root.
|
||||
`RAVEButton.{h,cpp}` defines `RaveController`.
|
||||
Every implementation lives in a module directory under `Source/`, and the
|
||||
`AGENTS.md` in that directory owns its rules:
|
||||
|
||||
The lowercase `Source/engine`, `modulation`, `params`, `plugin`, and `synth`
|
||||
directories currently hold guidance, not relocated implementations. Consult their
|
||||
`AGENTS.md` files when editing the related root-level sources. Consult the matching
|
||||
`AGENTS.md` when editing an existing implementation subdirectory.
|
||||
`docs/AUDIT_REPORT.md` is a historical audit and proposed refactor, not a pending
|
||||
instruction to move files. Update the explicit source list and includes only when
|
||||
an actual source move is part of the requested task.
|
||||
- `Engine/` the voice pool, LFOs, wavetable library, FX rack, matrix and macros.
|
||||
- `Synth/` wavetables, oscillators, filters, envelopes, LFOs and the voice.
|
||||
- `Modulation/` the modulation matrix, macros, and `RAVEButton`, which defines
|
||||
`RaveController`.
|
||||
- `Params/` parameter IDs, indexed groups, enums and unit mappings.
|
||||
- `Plugin/` the JUCE `AudioProcessor` boundary.
|
||||
- `GUI/` the editor with its controls and previews.
|
||||
- `EffectUnits/` the effect rack and the effect units.
|
||||
- `Presets/`, `Resources/` and `Tests/`, as their names suggest.
|
||||
|
||||
`Source/ExactCompare.h` is the one shared header, and several modules include it.
|
||||
`SERUMALT_INCLUDE_DIRS` lists one include directory per module, so a source names a
|
||||
header without a path prefix. No two headers share a basename; check that before
|
||||
adding one. `docs/AUDIT_REPORT.md` is a historical audit and proposed refactor, not
|
||||
a pending instruction. Update `SERUMALT_SOURCES` and `SERUMALT_INCLUDE_DIRS` when
|
||||
files move.
|
||||
|
||||
## Style and ownership
|
||||
|
||||
|
||||
Reference in new issue
Block a user