Third and largest slice of decomposing mining_tab.cpp. The ~843-line "Controls" card (CPU-core grid + drag-to-select, mining start/stop button, benchmark + miner-update controls) is moved verbatim into RenderMiningControls(). mining_tab.cpp is now 839 lines (was 2628 originally). The most coupled section, so mutated state is passed BY REFERENCE — the benchmark (ThreadBenchmark&), selected thread count (int&), and drag state (bool&/int&) — with local reference aliases so the body stays byte-identical and interactions (drag, benchmark, start/stop) behave exactly as before. Read-only context is passed by value/const; the compiler verified const-correctness. Local statics inside the block moved with it. Verified: full-node + Windows + lite build, tests, hygiene, no startup crash. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
43 KiB
43 KiB