First slice of decomposing balance_tab.cpp (3449 lines). The five rendering helpers used by every balance layout — UpdateBalanceLerp, RenderCompactHero, RenderSharedAddressList (599 lines, the drag-reorderable address list), RenderSharedRecentTx, RenderSyncBar — are moved verbatim into balance_components.cpp. balance_tab.cpp is now 2680 lines. Clean extraction: the helpers' interactive statics (drag/copy/hide/show) are function-local and move WITH them; the only file-scope state they share is the balance-lerp animation values (s_dispTotal/Shielded/Transparent/Unconfirmed) and s_generating_z_address, now non-static and declared `extern` in balance_components.h (defined once in balance_tab.cpp, so both TUs share the same objects). RenderCompactHero's default arg moved to the header declaration. The layouts (still in balance_tab.cpp) call the helpers via the new header. Verified: full-node + Windows + lite build (links cleanly -> extern state resolves), tests, hygiene. This touches every layout's address list / recent-tx / hero / sync bar, so needs a hands-on pass across the balance layouts before the next slice. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
43 KiB
43 KiB