← All papers · prometheus7.com
State paper, 2026-05-04
Wander Around is a single-server substrate that turns large public corpora into walkable 3D environments. Eleven walkable surfaces run on one Hetzner CPX42 node (89.167.7.54), spatializing roughly 720,000 items across nine distinct corpora — long-tail Common Crawl (6.83M useful cards in DB, 197K placed in /world), all of English Wikipedia (~6.8M articles, 200K placed in /wiki), Project Gutenberg (~22.9K books, 17.9K placed), Internet Archive Books (33.7K placed), arXiv papers (30.7K placed), DOAB open-access books (6.6K placed), plus an interactive 3D sphere view (/4d) and a thumb-only walkable subset (/rendered, ~33K cards with real WebP screenshots).
The thesis is simple: the virtual realm is a dimension. We just never had a projection of it. SEO turned the open web into a flat ranked list optimized for clickthrough — but the web is actually a vast city of hand-built homesites, weird hobbyist pages, irregular blogs, raw HTML. Most of it is invisible to the algorithms that decide what you see. Wander Around is a different projection: a cartographic instrument that lets you walk through what the algorithms threw away.
| Surface | Corpus | Items placed | Status |
|---|---|---|---|
/world |
long-tail web (Common Crawl) | 197,512 / 6,830,239 useful | full chrome, lazy thumbs, gold real-thumb markers |
/game |
2D mandala over web | 200,000 (categories_flat) | 8 graph paradigms, Set A/B/C panels |
/rendered |
web subset with real thumbs | 33,811 placed | tighter pinwheel, populates as thumbs render |
/wiki |
English Wikipedia | 200,000 / 6,841,288 | walkable, slow thumb pipeline (0.02/s) |
/4d |
sphere of any corpus | configurable | 12 longitudinal continents, OrbitControls |
/feed |
swipeable card feed | 4M | unchanged baseline |
/library/gutenberg |
Project Gutenberg | 17,959 / 22,876 | covers fixed, 99.6% have real thumbs |
/library/ia_books |
Internet Archive Books | 33,711 placed | covers partial |
/library/arxiv |
arXiv papers | 30,674 placed | procedural facades only (papers, no covers) |
/library/doab |
Open-Access Books | 6,650 placed | covers untested |
/library |
hub default → gutenberg | redirect | dropdown switches corpora |
wander-api — FastAPI + nginx, the public entry pointwander-warc — Common Crawl parser, currently paused at 6.83M useful cardswander-thumbs — Playwright thumb renderer, 86% success at 0.80 thumbs/secwander-wkhtml — wkhtmltoimage parallel fast lane, 82% success at 0.73/secwander-wiki-thumbs — Wikipedia thumb renderer (slower, ~0.02/s)wander-refresh.timer — regenerates 4 layout JSONs every 30 minCombined web-thumb throughput: ~1.5 successful renders/sec ≈ 130,000/day. At this rate the top 200K cards by score will all have real WebP screenshots within 36 hours.
The substrate is corpus-agnostic. The same code path serves Common Crawl, Wikipedia, Gutenberg, arXiv, DOAB, and IA Books — the only difference is the source database and a small per-corpus adapter (scripts/library/library_layout.py).
The shared pipeline:
id, host/title, category, score.scripts/10_layout_ring.py produces a 12-sector pinwheel. Per-category radial arms are sized proportional to card count (personal/community arms reach 25-60K, sparse cats stop at 5-10K). Within each sector, era band widths are proportional to per-cat per-era distribution. Within each leaf cell, polar wedge fill places buildings as concentric rings with walkable streets between rows and angular alleys every 4 buildings. Slot size 28 ensures buildings (max width 16 in WORLD_JS) never overlap inside a row./api/game/region?cx=&cy=&r=).Mesh objects with real thumb textures + EdgesGeometry outlines + a gold cone marker if the card has a real screenshot. The bulk InstancedMesh holds the rest.wander-substrate/ ready to push to GitHubclaim_batch SQL bug fixed: empty-string sentinel was being re-claimed forever; success jumped from 3% to 87-94%The world’s permanent visual rule: floor and sky must never be the same color. Currently:
#7cc8ff (bright Pixar sky-blue, with #ffd890 golden-horizon fog)#88c850 (saturated cartoon grass)#fff5d0 (warm cream paving)#4a6a90 cylinder + #e06850 cone top, 100 units tall#ffe4a0 glowing sphere topsThe MeshToonMaterial + 4-step gradient ramp gives all built geometry a banded cel-shaded look. Add new props with the same material to keep the visual language consistent.
https://www.gutenberg.org/cache/epub/{id}/pg{id}.cover.medium.jpg) instead of trusting the Gutendex API’s broken cover field.expand= parameter to populate; current state ~zero coverage.The user has flagged three polish priorities for the current 3-day window:
__ia_thumb.jpg vs services/img/). DOAB needs the expand= parameter. arXiv stays procedural.--max-cards floor in library_layout.py if user wants 100%.Beyond the three priorities, deferred work includes:
The presence layer makes Wander Around inhabited rather than just navigable:
/ws/presence — clients send {type:'pos', x, y, z, facing, mode}; server broadcasts to peers in the same mode within 12000-unit radius, capped at 80 nearest. Sessions are anonymous pseudonyms (amber-rabbit-7421-style). Stale sessions auto-drop after 6s.markings table in wander.db with (mode, item_id, session_id, kind) PK. kind='novel' for now; supports future kinds without schema migration. Anonymous session IDs in wsid cookie. ★ button in every item modal.These are operational but lightly used; visible polish (walking animation, distance fade, name-tag toggle) is deferred until traffic warrants it.
C:\Users\BenHo\Desktop\ClaudeCode\wander-substrate\ is staged for public release. v0.1.0 tag prepared. Pending user actions:
git config user.email "..." (replace placeholder)git commit --amend --reset-author --no-editgit remote add origin <url>; git push -u origin main; git push origin v0.1.0category_edges precompute is heavy SQL (9.5M edges × 4M cards). Timer disabled to save load. Run manually with systemctl start wander-category-edges.service (~2 min) when load is low; chord graph type in /game then works./api/stats rendered_last_5min returns 0 because the thumb scripts update thumb_path but not rendered_at. Add rendered_at = strftime('%s', 'now') to both scripts for accurate stats.cards.id namespaces: each corpus has its own ID space. Don’t try to merge them; the JSON mode field disambiguates.script-src 'self' blocks inline scripts and importmaps. Use full /static/ URLs for all imports./library/{corpus} must be registered AFTER /library/main.js or the latter gets captured as corpus="main.js".uptime 4 days, 1:23, load avg 17.46 / 18.12 / 18.73
disk free 116 GB of 301 GB (60% used)
wander-api active
wander-thumbs active (86% success, 0.80/s)
wander-wkhtml active (82% success, 0.73/s)
wander-wiki-thumbs active (slow, 0.02/s)
wander-warc stopped (paused 2026-05-01 20:40 UTC)
wander-refresh active timer
The load average is high but stable — running for 4 days continuously with all pipelines under demand. RAM has not OOMed. The system is comfortable.
The open web has not been mapped meaningfully since the early 2000s. The page-rank graph is mapped, but the content of pages — what they look like, what era they’re from, who made them, how hand-crafted they are — has been invisible to the tools that decide what you see. Wander Around makes that visible at city scale. Walking through 197K hand-made sites in /world feels like walking through a city of vanished neighborhoods. Walking through 17K Project Gutenberg books in /library/gutenberg feels like a public-domain library you can browse with your feet. The same substrate generalizes to any corpus with (id, category, score).
If wanderaround.io launches with all four library corpora at 80%+ thumb coverage and the Toon Town aesthetic settled, the surface area for going viral is substantial. The thumbnail-on-every-building moment (“wait, this is a real site I’ve never heard of”) is the conversion vector. We’re 36 hours from full thumb coverage at current pipeline rate, three days from Toon Town being polished, and one user-action from the domain being live.
Author: psiloceyeben (Prometheus7 Institute) with Claude Code. State of the project as of 2026-05-04 08:15 UTC. All deployment lives at 89.167.7.54. The substrate template lives at wander-substrate/ ready for public release.