feat(web): derive faction palettes from MegaMek's camo art master
Twenty-one faction palettes, measured off MegaMek's own camo files rather than written by hand. scripts/megamek-camo.mjs does the measuring and copies the art it measured into public/megamek-camo/; the comment above each palette names the file it came from, so the numbers are reproducible and a palette that reads wrong is fixed by pointing its entry at a better file. The derivation is paletteFromImage with two changes that only make sense for shipped art. It clusters at twelve rather than four and keeps clusters down to 0.4% of the image, so a thin stripe of a second colour survives the pick; taking four at once instead spends every slot on the body colour. And where the art genuinely has no second colour it rescues the darkest slot into a shadow tone — ComStar's Com Guards.jpg runs 208 to 244 luma with not one dark pixel in 6048, and clustering cannot find what is not there. The script prints the palettes rather than writing them. Which file reads as a faction is a judgement, and four entries here are on their second or third source file because the first was flat or the wrong colour entirely. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>