Default Wetland

A synthetic wetland in the browser that registers the people who walk through it. Movement becomes a presence trace, sustained looking becomes attention exposure, and the traces settle into the ground like sediment, rewriting the map.

Year
2026 · interactive art research, browser prototype, in development
Type
Interactive · Web · Generative
Tools
TypeScript · three.js · WebGL2 · ComfyUI · SDXL · ControlNet · fal

What happens when a world remembers where you walked, where you stopped and what you looked at, and you come back to it?

The wetland registers its participants. Movement becomes a Presence Trace; sustained looking becomes Attention Exposure. Accumulating frame by frame, these traces settle into the environment like sediment. As they gather, the terrain grows, seals over, shifts condition or becomes water. Each wetland begins from a single seed and is gradually rewritten by the people who pass through it.

Entering the wetland

You move in first person, with the mouse and WASD. A live overlay reads the wetland's state back as you go: presence, attention and deposition, the terrain, a top-down map, and white frames marking the places that have just changed in response to you. The recording at the top is one walk out and back.

Each wetland grows from one seed: rooms, lakes, huts and corridors are laid out and joined into a network, then grassed, flooded and scattered with things that do not belong in a marsh: lily pads, mushrooms, kitchen sponges, fake lawn.

What the wetland remembers

Four fields run under the map at once.

  • Presence. Walking stirs a fluid simulation laid over the map. It drifts along the corridors and fades within seconds.
  • Attention. Wherever you face, a 30° cone fills a 512² map. It fades over about a minute.
  • Deposition. Movement and stillness both accumulate and never fade. Standing still counts for more than passing through.
  • Terrain. Worn paths sink, places you dwell in get wetter, and enough moisture pools into standing water.

Once enough presence has built up, the wetland starts to change. A room can open behind an edge you keep visiting; a remote room nobody visits seals or changes type; corridors reroute. The bigger the change, the longer a place has to go unseen first. Props grow and wilt in plain sight, but rooms and corridors only ever change outside the view: you notice it when you come back. What you looked at most makes those things, and those kinds of room, more likely next. The system follows no predetermined sequence.

The slow fields, the map and its log are saved in the browser, and come back the next time the same seed opens.

Two minutes of one walk: the map, presence and attention.
Two pixel floor plans of the wetland in grey, marked with green patches where rooms grew, red where they sealed, orange where they changed type and blue where water formed
Two seeds against their start: grown, sealed, changed type, water.

The image it is reaching for

Default Wetland draws on Frutiger Aero, a visual language shaped by the technological optimism of the early 2000s. Reintroduced through internet nostalgia and AI image generation, its glossy aquatic surfaces no longer belong to the future they once promised, but continue to circulate through computational copying, compression and regeneration.

Default describes a condition that presents itself as neutral while remaining structured by control: model training, interface design, asset libraries, system rules. The wetland appears familiar but unplaceable, assembled from reflective water, plastic surfaces, soft membranes, vegetation, hardware fragments, everyday objects and generated creatures. Interior and exterior, natural and artificial, image and object remain unresolved.

AI operates as both infrastructure and material. Training compresses vast image histories into statistical structures, while inference continually resamples them. Rather than producing images from nothing, the system recomposes existing visual traces, and every new image emerges from an environment already shaped by the people who walked through it.

A glossy wetland: channels of bright blue water between pale stone ledges, tufts of grass, pink mushrooms, kitchen sponges and flesh-coloured forms wrapped in clear plastic
Target look: channels.
A clear plastic membrane draped over a grassy mound in shallow iridescent water, with small framed photographs of sky set into it
A membrane over a mound.
A large toy squirrel with glossy eyes sitting in wet grass among plastic bags, sponges and pink mushrooms, white columns behind
A specimen in the grass.
A pale green ceramic frog among pink flowers, sponges and black posts by a pond
Frog.
A duck decoy standing in tall grass between white columns and sponges
Duck.
A folded towel made of moss lying in green water with sponges around it
Moss towel.

From the view to an image

The live pipeline is not finished. What works today: press G and the current view is rendered three ways from the same camera, as colour, depth and segmentation. Segmentation is by category, not by object: eleven flat colours, one for each kind of space or surface, and one shared by every prop. The depth and segmentation maps go to an image model, one image per press. So far that is a local ComfyUI server running SDXL with a ControlNet reading both maps, or fal's Flux depth model reading depth alone.

The prototype's view of a water channel between grass banks, with white architecture in the distance
View
The same view as a depth map, near surfaces white and the sky black
Depth
The same view as flat colour regions: blue water, green wetland, dark green grass, red props, grey path, light blue sky
Segmentation
A glossy blue wetland under streaked sky: green posts, kitchen sponges, pink mushrooms and plastic-wrapped forms in the grass, a white pavilion on the horizon
Target look, in process (not from this view)

The tests so far keep the layout of the view but are still rough. The last image is where the look is headed; closing that gap is the next step, with a model trained on the project's own visual language. Jingge Zhang has trained a first Flux LoRA toward it.

Tools for watching it

Most of the technical work went into seeing what the system was doing. The sidebar holds the map, every generation and lighting control, and a log of each change as it happens; a strip along the bottom previews each field live. In debug mode one press of G exports the view's colour, depth and segmentation together with every field and the change map, into one folder per capture. A chronicle records a frame for each change and exports it as a change map or a timelapse. The maps and image sets on this page are those exports.

The prototype's debug interface: a sidebar with a minimap and a list of recent changes, a strip of six field previews along the bottom, and a capture panel showing colour, depth, segmentation and a generated image
The first build: change log, field previews, capture panel.
A dark map-generator interface: layer and zone toggles on the left, a top-down map of green rooms joined by a coloured graph in the middle, and a list of landmark objects with count and scale sliders on the right
The map generator, seed 1337.
Walk, stop, look
first person, mouse and WASD
↓
position, facing
Memory fields
presence, attention, deposition, terrain
↓
pressure, bias
Living map
grow, seal, change type, reroute
↓
press G
Pass capture
colour, depth, segmentation
↓
depth + segmentation
Image model
in progress

Seven self-tests run on every development load: the same seed gives the same world, every door is reachable, both image services get the requests they expect, and the deposition field matches a hand-written copy of its shader.

Toward a room

The proposal presents the wetland as an immersive installation of physical wallpaper, an AI-generated projection and an interactive console. All four walls carry a blurred wetland image, printed as wallpaper; a large semi-transparent projection of the generated view is layered over the front wall. A low trapezoidal console in the centre carries a small screen showing the simulation, a trackball and a joystick. One participant at a time moves through the wetland, and each new participant encounters a landscape that carries the traces of those who came before.

A rendered dark room with blurred green-blue wetland wallpaper, a large projection of a glossy generated wetland on the front wall and a low grey console in the centre
Proposal visualisation. Not a built installation.
A rendered view of a visitor seated at the console, facing the projection
Proposal visualisation: one visitor at the console.

Where it stands

Default Wetland is a collaboration. Jingge Zhang leads the concept and the art direction, made the target images and trained the LoRA; I lead the technical side and built the prototype. The prototype took 7 days in July 2026: world generation, the memory fields and the living map, capture and the generation hookup, the debug tools and the survey overlay. It runs in a desktop browser with a mouse and keyboard. Not built yet: live generation at the target look, a public build, touch controls, and the room.

Role
Technical lead and developer. World generation, memory fields and living map, capture and generation, the debug and survey tools
Concept and art
Jingge Zhang: concept, art direction, the target images and the LoRA
Status
Browser prototype, in development. Live generation is in progress; the installation is a proposal
Built with
TypeScript · three.js (WebGL2) · Vite · ComfyUI · SDXL + ControlNet · fal