I have been able to resolve this to my satisfaction.
In my editor constructor:
setSize(600, 400);
startTimer(0);
In my timer callback:
stopTimer();
setResizable(true, true);
setResizeLimits(600, 400, 1200, 800);
getConstrainer()->setFixedAspectRatio(1.5);
So basically I initially set a fixed size for my plugin, then after a brief time make the component resizable.
The use of a timer seems to be necessary. It is not sufficient to call setSize before setResizable in the constructor.
This approach fixed VST3 resizing issues for me in both Reaper and Live (macOS). I haven’t tested elsewhere yet.
