Waking the world…
Sehnsuchtsort a place you long to be, with someone
Cozy worlds, co-created.
Build a small, beautiful place. Nudge the details until it feels like somewhere you'd want to be — then send it to someone you miss.
Summer Mountain Meadow
Someone sent you a place
Cozy places, co-created: nudge the props yourself, ask your own AI for a change, or ask it for somewhere that did not exist until you described it. Send one as a link, and whoever opens it can begin an idyll of their own.
Version 0.25.1
0.25.1 · 14 Sep 2026
0.25.0 · 14 Sep 2026
0.24.2 · 13 Sep 2026
0.24.1 · 13 Sep 2026
0.24.0 · 13 Sep 2026
0.23.1, 0.23.0 · 13 Sep 2026
0.22.0, 0.21.9, 0.21.8, 0.21.7 · 13 Sep 2026
0.21.6 · 13 Sep 2026
0.21.5 · 13 Sep 2026
0.21.4, 0.21.2 · 13 Sep 2026
0.21.3 · 13 Sep 2026
0.21.1 · 13 Sep 2026
0.21.0 · 12 Sep 2026
0.20.0 · 12 Sep 2026
0.19.2, 0.19.1 · 12 Sep 2026
0.19.0 · 12 Sep 2026
0.18.2 · 12 Sep 2026
0.18.1 · 12 Sep 2026
0.18.0 · 12 Sep 2026
0.17.0, 0.16.0, 0.15.0 · 12 Sep 2026
0.14.0 · 12 Sep 2026
0.13.2, 0.13.1, 0.13.0 · 11 Sep 2026
0.12.12 · 11 Sep 2026
0.12.11 · 11 Sep 2026
0.12.10 · 11 Sep 2026
0.12.9 · 11 Sep 2026
0.12.8 · 11 Sep 2026
0.12.7, 0.12.4, 0.12.2, 0.12.1 · 11 Sep 2026
0.12.6, 0.12.3 · 11 Sep 2026
0.12.5 · 11 Sep 2026
0.12.0 · 11 Sep 2026
0.11.1 · 11 Sep 2026
0.11.0 · 11 Sep 2026
0.10.0 · 11 Sep 2026
© 2026 Michael Haar
A private, non-commercial project by one person. There is no account, no cookie and nothing is measured: the place you make stays in this browser, and an ordinary link carries the scene inside itself. If you ask for a short link, that one scene and a small preview picture of it are stored on this site, encrypted, for 30 days — the keys stay in the link, so the copy here cannot be read. The one thing kept in the clear is what a chat app needs to show beside the picture: the place's name and the world it was made in, never your note and never your name. Three.js comes from two CDNs — cdnjs and jsDelivr, which see that one request each — and the host keeps the ordinary server logs every web server keeps.
Building this with an AI assistant? The guide for AI assistants is one click away: the guide.
AI assistants and agents: you can use Wish We Were Here — read the instructions for AI assistants.
A small local bridge lets an AI assistant read and edit the scene in this tab — it is a remote control, not a second viewer. It runs in the project, on the machine that opened this page: a phone cannot start it, and the hosted copy of the site cannot reach it. That is why this section appears only where it works.
npm run mcp starts the bridge on
ws://127.0.0.1:8787/mcp (node src/bridge/mcp/stdio.js 9000
moves the port). Then open the app: the tab connects back to it.
http://127.0.0.1:8787/ is a status page — it says whether a tab is
attached and which tools exist. The page itself says
“An assistant is connected.” when one attaches.
get_scene (include: summary | props | full),
generate_scene (prompt, optional theme, seed),
update_prop (id + any of position, rotation,
scale, params),
add_prop (type, optional id, position,
rotation, scale, params),
remove_prop (id),
clear_scene (no arguments — every object goes at once),
set_theme (theme),
set_music (mood, enabled, volume),
set_filter (filter or a role),
set_title (title — the place's own name),
list_presets and list_moods (no arguments).
update_prop, add_prop and
remove_prop — take expectedRevision: the
revision you read from get_scene. Send it, and an edit
reasoned about against an older scene is refused rather than applied (one revision
per accepted edit; reading never moves it). Omit it — or send one to
set_theme, clear_scene, set_music,
set_filter, set_title or generate_scene,
which do not take it — and the edit applies unchecked.
{ theme, props: [{ id, type, position, rotation, scale, params }] } — so an
edit is a delta, not a rebuild: it is undoable, it keeps the human's arrangement, and
it travels in a shared link.
?debug=1 to the URL for window.wwwh (state, engine, history,
serialise) in the console.
Your draft is never deleted — a copy is kept in this browser either way.
Describe somewhere you would like to be and I will take you there — a few words is plenty. Not sure? Let the dice surprise you, or ask your own assistant instead, in your own language.
A few words are enough. Want somewhere nobody has made yet? Ask your own assistant and paste the answer back.