Q-W2v: split VST god-modules — editor 8 face-axis TUs (+pure layout hoist), processor 3 TUs, component_state_io codec split (extension drops the voice engine), zone_params.h, core/wire putLE; formats frozen, 61/61 green

This commit is contained in:
2026-07-29 10:56:09 -04:00
parent 9d5783453c
commit ea86f540b8
37 changed files with 6202 additions and 5352 deletions
+21
View File
@@ -160,6 +160,26 @@ static void testFilterIndices() {
CHECK(filterNameIndices(names, "zzz").empty());
}
// --- The Browse-modal regions (Q-W2v hoist, T2-06) ---------------------------
// Title / search / content / footer partition the window top-to-bottom without gaps;
// Back right-anchors in the title band; Cancel/Load flank the footer.
static void testBrowseModalPartition() {
const BrowseModal m = computeBrowseModal(840, 620);
CHECK(m.title.y == 0 && m.title.width == 840 && m.title.height == kTitleHeight);
CHECK(m.back.right() == 840 - kPad && m.back.bottom() <= m.title.bottom());
CHECK(m.search.y == m.title.bottom());
CHECK(m.search.height == searchBoxRect(840).height);
CHECK(m.content.y == m.search.bottom());
CHECK(m.content.bottom() == 620 - 30); // the footer band (kBrowseFooterH)
CHECK(m.cancel.x == kPad);
CHECK(m.confirm.right() == 840 - kPad);
CHECK(m.cancel.y == m.content.bottom() + 3 && m.cancel.y == m.confirm.y);
// Degenerate short window: the footer clamps below the search box (no inversion).
const BrowseModal s = computeBrowseModal(840, 40);
CHECK(s.content.bottom() >= s.content.y);
}
int main() {
testContentHeight();
testMaxOffsetFitsAndOverflows();
@@ -174,6 +194,7 @@ int main() {
testSearchBoxRect();
testNameMatch();
testFilterIndices();
testBrowseModalPartition();
if (g_fail == 0) std::printf("browser_scroll: all tests passed\n");
return g_fail != 0;