Initial spike on the project (via Claude)

Make a fresh checkout self-sufficient with bootstrap.sh master

The repo committed none of its third-party dependencies, but the script to fetch them only covered two of the four. A clean clone could not build: the MegaMek *source* tarball (which the patchset applies against) and Webswing Lite itself were both fetched by hand during the spike and never scripted. Several steps after that were also undocumented tribal knowledge. fetch-deps.sh now pulls all four - JDK 21 (checksum-verified), the MegaMek release, the MegaMek source, and Webswing Lite - with clearer progress output and a note that this is the AGPL fork, not commercial Webswing. It also drops the AGPL text into webswing-dist, which ships without a LICENSE file of its own. bootstrap.sh is the new single entry point: fetch, build the harness, apply the patchset into MegaMek-patched.jar, generate the fontconfig, and prime units.cache so the first launch is not 17s slower. Every step is idempotent. start.sh no longer derives its jetty properties from the shipped webswing-dist/jetty.properties. That file defaults to https=true pointing at an ssl/keystore.jks the distribution does not contain, so a fresh extract failed to start - it only worked here because the file had been hand-edited months of commits ago, and that edit was gitignored. The properties are now generated outright. Verified by restoring the pristine jetty.properties from the zip and starting an instance: HTTP 200, both ports up. Bootstrap re-run from the existing tree applies all four patches and rebuilds cleanly. README gains a Quickstart, the host requirements (notably fontconfig, whose absence bootstrap only warns about), and a corrected patch count. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>


+156 -18
4 changed files