src/main/resources/userguide/credits.md now lists every shipped library
with its license (read from the dependencies' POMs), the recognition models
and the map and place data. CreditsView, opened from the ? in Settings,
renders it through the new MarkdownPage helper (per-language loading, links
opened in the browser), which the search help popup now shares, and the
release's distrib step copies it to distrib/CREDITS.md in the same commit
as the release note.
MarkdownToBBCode learns [text](url) links, inside bold too. URLs are quoted
in the generated BBCode: AtlantaFX's parser reads a tag ending in "/]" as
self-closing, so a URL with a trailing slash broke the whole page.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011xpLSeYKKHX6o16jzYLgZv
tools/demo/fetch-commons-photos.py builds a screenshot library from
Wikimedia Commons: geosearch around ten cities (a ring of nine points, since
each query returns at most 500 files), then only freely licensed JPEG
originals whose own EXIF has a capture date and GPS within range, skipping
placeholder "city centre" positions, at most two per author per city, with
an optional filter on Commons' Quality/Featured pictures. Writes CREDITS.md
and credits.csv, resumes interrupted runs, standard library only. Listed in
the README's useful scripts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011xpLSeYKKHX6o16jzYLgZv
The repackaged jar no longer ships the OpenJFX jars (every target runtime
provides JavaFX as modules, and they only held the build machine's
natives), Jilt (compile-time annotations, like Lombok) or the JUnit 6 and
AssertJ that devtoolsfx-connector wrongly declares at compile scope:
107 -> 89 libraries, 236.5 -> 223.4 MB. The POM version is reset to 0.0.1.
The README documents what takes space in the jar, and that the desktop
interface needs --ui.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011xpLSeYKKHX6o16jzYLgZv