More slo
. Mostly fits.
1,253 pages, 328 artworks and 37 games across 16 sites, all of it AI-made. Counted at every commit, against every ceiling we know about. Two are already over, and two more are close. That’s what this page is for.
- Fresh slop artworks
- 328
- Pages
- 1,253
- Games
- 37
- Codex entries
- 254
- GeoCities homepages
- 120
Size
Counted at each of 66 commits, plus the work not committed yet, from the files themselves. The first commit was on 12 October 2026; what was made between commits arrives with the next one, so the lines climb in steps.
The numbers, by day
| At the end of | 12 Oct | 14 Oct | 15 Oct (including uncommitted work)* |
|---|---|---|---|
| Fresh slop artworks | 36 | 328 | 328 |
| Pages | 4 | 1,246 | 1,253 |
| Games | 6 | 37 | 37 |
| Codex entries | 0 | 252 | 254 |
| GeoCities homepages | 0 | 120 | 120 |
| Jungle specimens | 0 | 328 | 328 |
| Bad UI exhibits | 0 | 44 | 44 |
| Fractal families | 0 | 26 | 26 |
| CSS outfits | 0 | 34 | 34 |
| Curriculum modules | 0 | 39 | 39 |
| Lineage trees | 0 | 7 | 7 |
| Secrets | 0 | 25 | 25 |
| Sources cited | 0 | 81 | 87 |
| Skills | 10 | 76 | 78 |
| Workers | 3 | 14 | 16 |
| Files in git | 111 | 4,265 | 4,489 |
| Weight in git | 6.1 MB | 186.4 MB | 189.5 MB |
* Includes work not committed yet.
How much more fits
Every ceiling we know about, nearest first: the free plan we run on, the specs the browsers promise, and limits our own code sets. Measured from the repo, not estimated, except where it says “worst case”. The ticks are at 75% (we start planning) and 95% (we stop adding).
-
KV writes a day
OverKV writes learn’s labs could make in a UTC day before the neuron meter closes them (two per attempt, on the cheapest lab).
1,600 writes a day of 1,000 writes a day160%- At the ceiling
- KV writes fail for the rest of the UTC day: lab attempts error out before the neuron meter closes the labs, and badges can’t be claimed.
- The plan
- Make it one write per attempt (keep the visitor counts inside the day record), or close the labs at 450 attempts a day, or move the counters to a Durable Object.
Limit from Limits (Workers KV) (Cloudflare Developers)
-
Workers AI neurons a day
OverNeurons a UTC day our own caps allow: learn’s labs plus Lineage’s generator, which share one free allowance.
12,000 neurons a day of 10,000 neurons a day120%- At the ceiling
- Past 10,000 a day the free allowance is gone: model calls fail (or are billed), so a lab can fail halfway through an attempt.
- The plan
- Have Lineage’s generator read learn’s neurons:<today> before it plans, and stop at what’s left; or lower its cap to 2,000.
Limit from Pricing (Workers AI) (Cloudflare Developers)
-
Backrooms sign atlas
Full, on purposeSigns, tags and plaques in the first sign atlas (8 × 16 slots of 256 × 128 on a 2048 px texture, the WebGL 2 minimum).
128 slots of 128 slots100%- At the ceiling
- A 129th sign has no slot: gen.js refuses to load rather than draw it nowhere.
- The plan
- Drop or merge a sign first. For more room, redraw the atlas with 256 × 102 slots (160), never past 2048 px a side (backrooms skill).
Set in our own code:
backrooms/public/js/textures.js, sized to glGet (OpenGL ES 3.0 reference pages) (Khronos Group) -
Backrooms staff memos
CloseStaff memos pinned in the world, each a 256 × 256 slot under the second atlas (8 × 4).
29 slots of 32 slots91%- At the ceiling
- A 33rd memo would draw off the texture: gen.js refuses to load instead.
- The plan
- Memos are quarter-size signs: a third atlas for memos alone gives 64 more. Or retire a memo to the codex.
Set in our own code:
backrooms/public/js/textures.js -
Scroll’s shader uniforms
RoomUniform vectors Scroll’s fragment shader declares; each artwork adds a quarter of one (uAspect).
167 vectors of 224 vectors75%That’s about 228 more artworks.
- At the ceiling
- The shader fails to link on phones that have only the WebGL 2 minimum, and Scroll shows nothing on them.
- The plan
- Before 600 artworks, move the aspect ratios into a small texture (one texel per artwork), or send only the twelve the texture ring holds, as uResident does.
Limit from glGet (OpenGL ES 3.0 reference pages) (Khronos Group)
-
Backrooms second atlas
RoomNavigation signs, floor arrows, bay digits and car park signs in the second atlas (8 × 8 slots).
46 slots of 64 slots72%- At the ceiling
- gen.js throws “second sign atlas is full”, and the game doesn’t start.
- The plan
- Same as the first atlas: merge, or smaller slots.
Set in our own code:
backrooms/public/js/gen.js -
Durable Object rows written a day
RoomRows the counters may write in a UTC day if every cap is reached: GeoCities visits × 2 + top saves × 3.
70,000 rows a day of 100,000 rows a day70%- At the ceiling
- Durable Object writes fail for the rest of the UTC day, for every counter on the account.
- The plan
- The caps are set so their sum stays under the allowance. A new counter takes its share from these caps (lower one first); this ledger adds them up.
Limit from Pricing (Durable Objects) (Cloudflare Developers)
-
Size of the repository
RoomGit’s packed history plus loose objects.
226.8 MB of 1 GB24%- At the ceiling
- Nothing locally. On GitHub, past 1 GB clones slow down, and past 5 GB GitHub may ask for it to shrink.
- The plan
- Keep reference/ (the originals) out of git, as now; make big media (covers, captures) once and never re-commit them; if it nears 1 GB, move videos to Git LFS or R2.
Limit from About large files on GitHub (GitHub Docs)
-
Workers on the account
RoomWorkers this repo deploys (one per site).
16 Workers of 100 Workers16%That’s room for 84 more sites.
- At the ceiling
- A new site can’t be created on the Free plan.
- The plan
- Past about 75 sites, fold the small static ones into one Worker with path routing (slopped.site/growth/ instead of growth.slopped.site), or move to the Paid plan’s 500.
Limit from Limits (Workers): Account plan limits (Cloudflare Developers)
-
The secrets cookie
RoomThe secrets cookie with every secret found (two letters each).
160 bytes of 1 KB16%- At the ceiling
- The audit refuses a cookie over 1 KB: it rides on every request to every slopped.site page.
- The plan
- Pack found secrets as bits instead of letters (each secret then costs under a byte).
Set in our own code:
world/audit.mjs -
Pages on the map
RoomPages across every sitemap, all drawn on slopped.site/map/.
1,236 pages of 12,320 pages10%- At the ceiling
- Nothing at once. Past what has been measured, the first load and the filters slow down: 4–6 s to ready at ten times.
- The plan
- Load each site’s sidecar only when its district is in view, past about thirty times today’s size (site-map skill); re-run the 10× proof as the world grows.
Set in our own code:
.claude/skills/site-map/SKILL.md -
Files per site
RoomFiles one site uploads as static assets, on the fullest site.
1,602 files of 20,000 files8%That’s 18,398 more files on the fullest site.
- At the ceiling
- Wrangler refuses the upload, so that site can’t deploy at all.
- The plan
- The bulk is artwork copied into several sites (main, Scroll, the games, the jungle). Serve the pictures from slopped.site alone and point the others at it before any site passes 15,000; the Paid plan allows 100,000.
Limit from Limits (Workers): Static Assets (Cloudflare Developers)
-
Biggest single file
RoomThe largest file any site uploads.
804 KB of 25 MB3%- At the ceiling
- That one file can’t be uploaded, and the deploy fails.
- The plan
- The biggest files are the cover videos. Keep each under a megabyte (capture-covers); anything that has to be bigger goes to R2 or a video host, not the assets folder.
Limit from Limits (Workers): Static Assets (Cloudflare Developers)
-
_headers rules per site
RoomRules in one site’s _headers file, on the busiest site.
2 rules of 100 rules2%- At the ceiling
- Cloudflare takes at most 100 rules in a _headers file; the sitemaps’ cross-origin rules are among them.
- The plan
- Match paths with wildcards instead of one rule per path, as the sitemap block already does.
Limit from Limits (Workers): Static Assets (Cloudflare Developers)
-
Pictures per sitemap URL
RoomThe most image entries on any one URL in any sitemap.
16 images of 1,000 images2%- At the ceiling
- Google ignores image entries past 1,000 on one URL. world/sitemap.mjs already stops at 1,000.
- The plan
- Nothing to do: index pages list their pictures on their own pages, one each.
Limit from Image sitemaps (Google Search Central)
-
Biggest Worker script
RoomThe bundled size of the largest Worker that runs code (learn carries the compact knowledge graph).
1,008 KB of 64 MB2%- At the ceiling
- Wrangler refuses the deploy. Well before that, startup time (1 second) bites: the learn Worker parses its whole bundle, the graph included, on a cold start.
- The plan
- When learn passes 10 MB, move the graph out of the bundle into a static asset fetched on the first world_graph call.
Limit from Limits (Workers): Account plan limits (Cloudflare Developers)
-
Biggest file in git
RoomThe largest file in the committed tree.
1.1 MB of 100 MB1%- At the ceiling
- GitHub refuses a push with a file over 100 MB.
- The plan
- Anything that big belongs in R2 or Git LFS, not the tree.
Limit from About large files on GitHub (GitHub Docs)
-
URLs in one sitemap
RoomURLs in the largest site’s sitemap.xml.
332 URLs of 50,000 URLs1%- At the ceiling
- Search engines stop reading the sitemap past 50,000 URLs.
- The plan
- Split that site’s sitemap into several under the sitemap index (world/sitemap.mjs already writes the index).
Limit from Sitemaps XML format (sitemaps.org)
-
Size of one sitemap
RoomThe largest sitemap.xml, uncompressed.
83 KB of 50 MB0%- At the ceiling
- Search engines reject a sitemap over 50 MB.
- The plan
- The same split as for URLs; it comes first only if pages carry many pictures each.
Limit from Sitemaps XML format (sitemaps.org)
-
Worker requests a day
Can’t see it from hereRequests that run Worker code (learn’s API and MCP, the two counters); static pages are free and don’t count.
ceiling 100,000 requests a dayLive traffic: only Cloudflare’s dashboard knows. Nothing in the repo can count it.
- At the ceiling
- Error 1027 on the routes that run code for the rest of the UTC day; the static pages keep working.
- The plan
- Keep every page static and only the counters and labs dynamic. If the dashboard shows 50,000 a day, cache the counters’ reads.
Limit from Limits (Workers) (Cloudflare Developers) and Pricing (Workers) (Cloudflare Developers)
-
GeoCities visits counted a day
Can’t see it from hereVisits the hit counter counts in a UTC day before it stops.
ceiling 20,000 visits a dayLive traffic, kept in the Durable Object: the repo can’t see it.
- At the ceiling
- The counter stops counting until midnight UTC and only shows its number.
- The plan
- Its share of the Durable Object allowance (see the rows-a-day limit) is what bounds it: raise it only by lowering another.
Set in our own code:
geocities/src/worker.js -
Saves counted a day
Can’t see it from hereSaves top.slopped.site counts in a UTC day before it refuses.
ceiling 10,000 saves a dayLive traffic, kept in the Durable Object: the repo can’t see it.
- At the ceiling
- Saves still work in each browser, but stop being counted until midnight UTC.
- The plan
- As for the hit counter: one shared allowance, so a raise here is a cut elsewhere.
Set in our own code:
top/src/worker.js
Budgets nobody has decided
Not ceilings: numbers we think are sensible, waiting for someone to agree.
-
Games on one shelf
CloseCards on the fullest shelf of the games directory.
15 games of 16 games94%- At the ceiling
- Nothing fails: the shelf gets too long to browse, and new games get lost at its end.
- The plan
- Split the shelf by a second genre (integrate.mjs makes a shelf from a card’s data-genre).
A budget we’ve proposed, not decided: on a phone each shelf is a sideways row with about 1.3 cards in view; past 16 nobody reaches the end.
-
MCP tools
RoomTools the slopped.site MCP server lists.
12 tools of 20 tools60%- At the ceiling
- Nothing fails: assistants pick the wrong tool more often.
- The plan
- Fold related tools together (world_graph already answers most “where is” questions).
A budget we’ve proposed, not decided: every tool’s name, description and schema goes to the assistant on every tools/list; fewer, broader tools are easier to choose between.
-
The artwork list
Roompublic/artwork.js, which every visitor to slopped.site downloads whole before the gallery can filter.
97 KB of 500 KB19%That’s about 1,363 more artworks.
- At the ceiling
- Nothing fails: the main page just gets heavier for everyone, and so do Scroll and the games, which load the same list.
- The plan
- Split it: the newest 48 inline for the first screen, the rest fetched when someone scrolls, searches or filters.
A budget we’ve proposed, not decided: about half a second on a slow phone connection; beyond that the gallery’s first filter waits on it.
-
The codex search index
Roomcodex/public/index.json, which the codex’s search downloads whole.
52 KB of 1 MB5%- At the ceiling
- Nothing fails: search takes longer to wake up.
- The plan
- Split the index by kind, or search on the server (the MCP server already has search_codex).
A budget we’ve proposed, not decided: search should answer on the first keystroke on a phone.
Checked, and not growing
- Scroll’s texture ring: 12 layers. A ring of twelve near the current depth, whatever the collection’s size (scroll-engine).
- The wall on slopped.site: 5 per column. A fixed number of columns for the screen, five thumbnails each, picked from the whole list.
Newest
The latest chapters of the workshop’s history, the newest pieces on the wall and the newest games.
- growth.slopped.site
How much more fits
With this much slop about, somebody had to check the shelves would hold. The workshop now counts itself at every commit and measures every ceiling it knows of: the free plan it runs on, the smallest phone a shader has to fit, the slots in the…
- desktop.slopped.site
Every window at once
By then there were more sites than anyone could keep open, so the workshop built a desk to put them on. Every site is an icon, the thirty-seven games sit in one folder and the Fresh slop in another, and the whole world is a filing cabinet whose files…
- css.slopped.site
One page, many outfits
The Slopwright wrote a manual for the workshop, and the machine kept dressing it: thirty-four outfits for one document, the same words byte for byte every time, from a 1998 homepage to the inside of a sardine tin. Next door, seventeen things usually…
- top.slopped.site
The top of the slops
Eventually somebody had to say which of it was any good. The workshop keeps two lists: a few dozen picks from every site, one line each, and the things people save most with the ♡, counted without knowing who anyone is. The first picks were drafted…
On the wall
Zebra stripes slip to the groundComing undone on the savanna.
Wrong side of the hemSewing in safety pins.
Upside down flamingos on the ceilingStanding on one leg, the other way.
Thunderstorms in the spare bulbsBright ideas, bad weather.
The other argumentThe mirror disagrees.
The longer goodbyeLeaving a trail.
In the games
Site by site
What each site serves: its pages (as its sitemap lists them), the files it uploads and their weight, and the last time one of its pages changed.
| Site | Since | Pages | Files | Weight | Last change |
|---|---|---|---|---|---|
| slopped.site | 12 Oct | 331 | 1,602 | 130.5 MB | 15 Oct |
| Meinong’s jungle | 14 Oct | 332 | 1,109 | 53.8 MB | 15 Oct |
| Games | 12 Oct | 22 | 971 | 53.2 MB | 15 Oct |
| Codex | 14 Oct | 279 | 564 | 8.8 MB | 15 Oct |
| Scroll | 12 Oct | 1 | 450 | 46.8 MB | 15 Oct |
| GeoCities | 14 Oct | 152 | 217 | 4 MB | 15 Oct |
| CSS | 14 Oct | 54 | 201 | 2.9 MB | 15 Oct |
| The Slop Curriculum | 13 Oct | 1 | 182 | 6.2 MB | 14 Oct |
| Desktop | 15 Oct | 1 | 172 | 2.4 MB | 15 Oct |
| Bad UI | 14 Oct | 47 | 162 | 1 MB | 14 Oct |
| Lineage | 14 Oct | 8 | 92 | 7.5 MB | 14 Oct |
| Top | 14 Oct | 1 | 68 | 1.8 MB | 15 Oct |
| The Slopwright | 13 Oct | 4 | 42 | 2.3 MB | 15 Oct |
| Fractals | 14 Oct | 1 | 36 | 840 KB | 15 Oct |
| Backrooms | 13 Oct | 1 | 33 | 1.3 MB | 14 Oct |
| Growth | 15 Oct | 1 | 24 | 359 KB | 15 Oct |
How it grows
Everything new arrives by a routine, and a few rules keep it from turning into a heap.
The rules
- Ids are forever. Artwork, secret, game and entry ids are links and saved keys; a rename breaks them. New art never takes an existing id (fresh-slop-intake); retired secret ids are never reused (secrets).
- Nothing is deleted from reference/. decision keep-reference; the audit fails if it goes.
- Retired is not deleted. A renamed game keeps its old names as keywords and codex aliases (slopped-games); SK8 moved onto the bench in the lore instead of leaving (world/history.js).
- Every derived file is declared. world/derive.js names every build output, its inputs and its site;
npm run refreshrebuilds only what is stale (data-lifecycle). - Ship order.
npm run ship: subsites first, the codex after what it reads, slopped.site last, then live-check. - Work in progress never ships. world/guard-wip.mjs refuses a site with uncommitted hand-made files; ship refuses one whose build reads them.
- The live sites agree with the repo.
npm run live-checkcompares mirrors, sitemaps, graph versions and stamps after every ship. - The codex is always current. decision codex-current: every new game, site, character or fact lands in the codex in the same change; the audit and canon prove it.
- Stay within the free tier. decision free-tier: every cap is read from the code (world/storage.js BUDGETS) and summed here.
- Headroom is checked. world/audit.mjs warns at 75% of any limit in world/limits.js and fails at 95%, with the plan.
Still to decide
- The proposed budgets below (the artwork list, the games shelf, the codex search index, the MCP tools): keep, change or drop each. Kept ones become house limits and a decision.
- Archiving cadence: does anything ever leave the live sites (old packs to an archive page, retired games to a shelf of their own), or does everything stay forever?
- Per-site caps: should any site stop at a size of its own choosing (GeoCities homepages, Bad UI exhibits, picks on top), before the platform stops it?
- When a site splits: at what size does a shelf of games, or the main gallery, become a site of its own?
- One art host: serve every picture from slopped.site and stop copying the art into Scroll, the games and the jungle (it is most of each site’s file count).
- Learn’s KV writes and the shared neurons are over their ceilings in the worst case: which of the plans in the table to take is a change to how the labs behave, so it is yours to pick.
- Guarded limits (a check in the code already refuses the next one) count as full, not failed, in the audit. Keep that, or fail them too?
Everything here was made by machines, including this page. The numbers are real anyway.
See every page on the map



