More slop. 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.

Pages, every site1,253
2,000 14 Oct15 Oct 12 Oct
Fresh slop artworks328+292 since 12 Oct
400 14 Oct15 Oct 12 Oct
Games37+31 since 12 Oct
40 14 Oct15 Oct 12 Oct
Codex entries254+254 since 12 Oct
300 14 Oct15 Oct 12 Oct
GeoCities homepages120+120 since 12 Oct
200 14 Oct15 Oct 12 Oct
Bad UI exhibits44+44 since 12 Oct
50 14 Oct15 Oct 12 Oct
Curriculum modules39+39 since 12 Oct
50 14 Oct15 Oct 12 Oct
Fractal families26+26 since 12 Oct
30 14 Oct15 Oct 12 Oct
CSS outfits34+34 since 12 Oct
40 14 Oct15 Oct 12 Oct
Skills78+68 since 12 Oct
90 14 Oct15 Oct 12 Oct
Sources cited87+87 since 12 Oct
100 14 Oct15 Oct 12 Oct
Workers16+13 since 12 Oct
20 14 Oct15 Oct 12 Oct
Weight in git189.5 MB+183.4 MB since 12 Oct
286.1 MB 14 Oct15 Oct 12 Oct
The numbers, by day
At the end of12 Oct14 Oct15 Oct (including uncommitted work)*
Fresh slop artworks36328328
Pages41,2461,253
Games63737
Codex entries0252254
GeoCities homepages0120120
Jungle specimens0328328
Bad UI exhibits04444
Fractal families02626
CSS outfits03434
Curriculum modules03939
Lineage trees077
Secrets02525
Sources cited08187
Skills107678
Workers31416
Files in git1114,2654,489
Weight in git6.1 MB186.4 MB189.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).

  1. KV writes a day

    Over

    KV 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)

  2. Workers AI neurons a day

    Over

    Neurons 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)

  3. Backrooms sign atlas

    Full, on purpose

    Signs, 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)

  4. Backrooms staff memos

    Close

    Staff 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

  5. Scroll’s shader uniforms

    Room

    Uniform 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)

  6. Backrooms second atlas

    Room

    Navigation 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

  7. Durable Object rows written a day

    Room

    Rows 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)

  8. Size of the repository

    Room

    Git’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)

  9. Workers on the account

    Room

    Workers 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)

  10. Pages on the map

    Room

    Pages 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

  11. Files per site

    Room

    Files 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)

  12. Biggest single file

    Room

    The 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)

  13. _headers rules per site

    Room

    Rules 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)

  14. Pictures per sitemap URL

    Room

    The 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)

  15. Biggest Worker script

    Room

    The 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)

  16. Biggest file in git

    Room

    The 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)

  17. URLs in one sitemap

    Room

    URLs 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)

  18. Size of one sitemap

    Room

    The 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)

  19. Worker requests a day

    Can’t see it from here

    Requests 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 day

    Live 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)

  20. GeoCities visits counted a day

    Can’t see it from here

    Visits the hit counter counts in a UTC day before it stops.

    ceiling 20,000 visits a day

    Live 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

  21. Saves counted a day

    Can’t see it from here

    Saves top.slopped.site counts in a UTC day before it refuses.

    ceiling 10,000 saves a day

    Live 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.

  1. Games on one shelf

    Close

    Cards 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.

  2. MCP tools

    Room

    Tools 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.

  3. The artwork list

    Room

    public/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.

  4. The codex search index

    Room

    codex/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.

  1. 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…

  2. 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…

  3. 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…

  4. 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

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.

SiteSincePagesFilesWeightLast 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 refresh rebuilds 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-check compares 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