<div dir="ltr">This is very cool Johan. I have some questions if you have time to answer:<br><br>Do you believe your headless platform POC would allow the use of the snapshot method for exporting visuals of a scene to a png?<br>If so do you have any early indications of performance therein? (number of snapshots per second etc)<div>Will the headless platform support the 3D Nodes/Camera etc?<br><br>Thank you for your work and your time answering in advance.<br><br>Sean</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 30, 2024 at 6:47 AM Johan Vos <<a href="mailto:johan.vos@gluonhq.com">johan.vos@gluonhq.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>I created a branch in the jfx-sandbox repository for experimenting with a headless glass platform: <a href="https://github.com/openjdk/jfx-sandbox/tree/johanvos-headless" target="_blank">https://github.com/openjdk/jfx-sandbox/tree/johanvos-headless</a></div><div><br></div><div>This addresses <a href="https://bugs.openjdk.org/browse/JDK-8324941" target="_blank">https://bugs.openjdk.org/browse/JDK-8324941</a> where I suggest a POC for a Headless platform.</div><div><br></div><div>There are a number of usecases for this, including:<br>1. applications that require JavaFX rendering without presenting this to a window (and instead send it to a printer for example)</div><div>2. running tests without requiring a window manager.</div><div><br></div><div>Regarding the second usecase, we already did some basic experiments using a modified version of TestFX where instead of the Monocle Headless subplatform, the POC Headless platform is used.</div><div><br></div><div>By using a first-class Headless glass platform instead of a Monocle subplatform, it should be easier to use by developers.</div><div>The monocle code contains very platform/os specific parts, which often don't make sense outside the target platform. This is very valuable, but it is also a very different usecase than a headless platform and it requires a much more complex build procedure.</div><div><br></div><div>I added an initial, limited HeadlessRobot to do some basic tests. That code is mainly taken from the existing Monocle implementation, but I want to be careful to avoid anything that is not applicable to the headless scenarios.</div><div><br></div><div>- Johan</div><div><br></div></div>
</blockquote></div>