Root-cause fix for "Failed to load module script: got text/html" on the live game. Assets are content-hash-named; the deploy used to `rm -rf` the web root before copying, so any browser/CDN holding a PREVIOUS index.html asked for chunks that no longer existed — nginx served the HTML fallback (200 text/html) and the module loader choked. Shipping 7 times in one session made stale-index clients common. - Step 3 now OVERLAYS (docker cp over the top, no rm), keeping old chunks alive as a grace window so a cached index.html still resolves. Prunes only files orphaned >7 days (current chunks get a fresh mtime every build) so /assets can't grow without bound. - Step 4 now fetches the entry chunk the LIVE index references and asserts it comes back as application/javascript — the index-only 200 check could not catch a broken chunk graph (a missing chunk IS a 200, as HTML). Verified it reports "entry chunk main-*.js -> application/javascript ✓". Note: nginx still serves index.html for any missing /assets file (masks a 404 as HTML). Fixing that (or adding Cache-Control: no-cache on index.html) touches the SHARED forum-nginx config that serves the other partly.party games, so it's left for a deliberate, John-signed-off change rather than done in passing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| assets | ||
| demos | ||
| docs | ||
| lanes | ||
| public/assets | ||
| scripts | ||
| src | ||
| tools | ||
| .gitignore | ||
| deploy.sh | ||
| editor.html | ||
| GDD.md | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
BLOBBO
Fall Guys × Splatoon × Micro Machines: wobbly blob racers on giant Rube-Goldberg courses where the paint that lands on you is your loadout — relative % coverage per colour = your buffs, weight, and size.
- GDD.md — the design document (v0.1, in review). Start here.
- docs/IDEA.md — the original raw idea capture (2026-07-17).
- tools/mb.py — MODELBEAST farm client (concept art / mesh gen
on the local render farm).
tools/concept-wave-1.json= first asset wave. assets/concepts/— generated concept art (review gate for the mesh wave).
Status: pre-production. GDD under review; next step is per-lane execution instructions (see GDD §11) once features are signed off.