<html><head></head><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px"><div>> I am interested in anything in the roadmap that aims at de-entangling the GUI stuff from the core of Pd and delegating it to the GUI, along the lines of my hack above, but in a more structured and complete way [...]</div><div id="yui_3_16_0_ym19_1_1497920873372_5246"><br></div><div id="yui_3_16_0_ym19_1_1497920873372_5366">One thing that would be very helpful here is some kind of testing framework for the <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5367">GUI. Something that fabricates messages within the GUI and then measures the <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5368">output to the GUI against what we know it should be.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5376"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5391">I think one of the more recent versions of nw.js can run in a "headless" mode <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5392">which will help streamline something like that.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5407"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5408">If there is a healthy set of tests that can run as part of the CI builds, we <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5409">can more easily move more functionality from Pd to the GUI, without as much <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5410">fear that we are breaking some undocumented feature.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5411"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5412">I have a very rudimentary set of tests for making sure external binaries <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5413">can actually instantiate objects that don't crash. They've been quite helpful <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5414">for maintaining sanity when making changes to the build system.<br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5415"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1497920873372_5416">-Jonathan<br></div></div></body></html>