Guarantee redraw delivery for on-demand GL rendering
openglfx's requestRepaint is an unconditional notify with no pending flag, so a
repaint() arriving while a frame is mid-render is dropped. When a scene was
built, the setScene repaint rendered an index-less (empty) frame and the
following setIndexSet repaint was lost, so the scene only appeared after the
next rotate/zoom. Route all repaints through requestRender(), which re-delivers
via a small AnimationTimer pump until a frame consumes the request, then stops
itself (idle stays allocation-free).
Co-Authored-By:
Claude Opus 4.8 <noreply@anthropic.com>
Please register or sign in to comment