Class Gallery
Limn, once in Limn Light)
and writes gallery.json beside the PNGs.
The site renders its component pages from that manifest, so adding a scene to
GalleryScenes.entries() adds it to the site and nobody maintains a list twice.
One process and one window for the whole set. The obvious shape (one JVM per
capture, the way --screenshot is used by hand) costs a backend start, a GL
context and a font load every time; measured on a headless Linux runner that is around
fifteen seconds each, so forty captures would be ten minutes of process startup. Here the
event loop advances a cursor: render the current entry, capture it, build the next, ask
for another frame, and close when the list runs out.
Both palettes are one manifest entry with two image paths, not two entries: they are the same component, and the page swaps the image with the theme toggle.
Run: ./gradlew :limn-demo:captureGallery (adds -XstartOnFirstThread on
macOS and never anywhere else). Needs a GL context; on a headless Linux machine run it
under xvfb-run -a with LIBGL_ALWAYS_SOFTWARE=1.
-
Method Summary
-
Method Details
-
main
- Throws:
IOException
-