I'm trying an alternative approach. Is there a convenient way to know that the current set of pixels has hit the screen so it's OK to temporarily block the UI loop again after reconfiguring the UI? I could add in manual delays before doing Platform.runLater but that's pretty hacky.
What I'm seeing is if I do a stage.show() followed by Platform.runLater() the pixels for the show don't hit the screen for quite a long time, so my splash appears only when loading is nearly finished.