Doop
Doop is an open-source multiplayer design canvas and design MCP for Claude Code, Codex, and any AI agent. Design side by side with agents — free in beta.
A live 3D ant colony as a Wallpaper Engine web wallpaper and a browser page: three species, procedurally generated maps, day and night, nuptial flights. No video, no assets, all simulated.
Translation pending
DesignJavaScript · HTMLGitHub @Thom-ErnstOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A live 3D ant colony as a Wallpaper Engine
web wallpaper, and as a page you can just open in a browser:
No video, no downloaded assets: the ground, the nest craters, the plants and
the ants themselves are generated when the page loads and simulated while
you watch. Ants loiter, patrol and groom around the nest entrances, foraging
trails run off-screen and come back with food, diggers dump spoil on the
mound, and every so often a nuptial flight boils out of a hole.Read the full README ↗A live 3D ant colony as a Wallpaper Engine web wallpaper, and as a page you can just open in a browser:
Live demo: https://thom-ernst.github.io/Ants-Wallpaper/
No video, no downloaded assets: the ground, the nest craters, the plants and the ants themselves are generated when the page loads and simulated while you watch. Ants loiter, patrol and groom around the nest entrances, foraging trails run off-screen and come back with food, diggers dump spoil on the mound, and every so often a nuptial flight boils out of a hole.
The folder is loaded as-is; nothing needs building on the Windows side.
we-ant-colony.zip from
Releases (or
clone this repository; only index.html, project.json, preview.jpg
and dist/bundle.js are needed at runtime) and unpack it into
...\Steam\steamapps\common\wallpaper_engine\projects\myprojects\ant-colony.project.json, or restart WE and find it under
Installed → My projects.The live demo is the same
scene with a gear button (top right, fades when the mouse is still) that
opens the same settings. Settings persist in the browser; Copy link makes
a URL that opens with them, and query parameters override stored values:
?species=atta-cephalotes&seed=42&hour=23 for instance.
It is published by the GitHub Actions workflow in .github/workflows/
on every push to main. To host it yourself, npm run pack writes
we-ant-colony-web.zip; unpack it into any static web root
(deploy/compose.yaml is an nginx example).
Needs Node 18+. See CLAUDE.md for the tooling and DESIGN.md for the
concept and architecture.
npm ci
npm run build # -> dist/bundle.js (committed: the WE machine has no toolchain)
npm run pack # build + we-ant-colony.zip (WE) + we-ant-colony-web.zip / site/ (browser)
npm run watch # rebuild on change
npm run serve # http://localhost:8000/web.html
npm test # sim / gait / layout / colony tests, no browser needed
npm run shot -- --out shots/x.png --sim 30 # headless render (software WebGL)
Query parameters for inspection: ?seed=3 (map seed; 0 = classic),
?map=daily, ?species=lasius-niger, ?activity=2, ?quality=low,
?hour=23 (pin the time of day), ?bonanza=1 (drop food at once, optionally
&bonanzaTrail=1), ?groom=1 (every idle ant grooms), ?camera=focus
(shots default to a static camera and 13:00), ?focus=165,-200 (lean in on a
point), ?vantage=2 (start at a vantage point), ?lookant=major,loiter
(frame one ant of that caste and state, with &camh=6&campitch=20&camfov=26),
?debugbite=1 (bite every source blade at once), ?flight=1 (start a nuptial
flight, &flightEntrance=0 to choose the hole), and camera overrides
?camh=45&campitch=24&camfov=30&lookx=-70&lookz=0.
1.0 is feature-complete. None of these are needed:
src/render/antRig.js is designed for it).