SYSTEM DESIGN 01

WorldStream: Building 3D Worlds
as You Explore

Streaming world generation, dynamic editing,
and persistent state.

City, farmland, forest, desert, and coast from the WorldStream demo, joined in a five-panel panorama.
01 Different landscapes, one continuous map. Frames from the WorldStream prototype.

An open world should not end at the boundary of the scene that has already been generated. A player should be able to keep exploring, change the world through language, and return to earlier places as often as they choose.

Consider a player who takes an unplanned route out of a city, asks a resident for directions, and requests a forest in the next unexplored area. Later, they return to the city and the places they changed. Supporting this experience requires more than generating each new view: the system must extend a connected environment, interpret new intent during exploration, and retain what has already happened.

Three requirements follow:

  1. Infinite exploration. Extend the world on demand without specifying the complete map or the player’s route in advance.
  2. Dynamic, language-guided interaction. Respond to open-ended requests with low latency, editing existing scenes or shaping the content of upcoming regions as exploration continues.
  3. Arbitrarily repeated revisits. Preserve spatial identity and accepted edits while keeping active rendering memory bounded.

Together, these requirements suggest a separation of responsibilities. Semantic planning determines what should exist and how it connects to its surroundings. Local generation builds the spatial detail as it becomes relevant. Persistent state retains accepted plans and changes independently of the geometry currently loaded into the renderer.

WorldStream connects streaming world generation, dynamic language-guided editing, and persistent state. Its hierarchical planner uses geographic and ecological knowledge to organize regions and local neighborhoods; procedural algorithms realize those decisions, and a movement-aware scheduler prepares content ahead of the player. Users can modify the current scene or steer future generation while exploring. This architecture can, in principle, keep extending beyond a fixed scene boundary.

The featured demo combines long-range streaming with language-guided editing and interaction. The project page also includes the complete 93 km run and focused landscape and NPC interaction demos.

02 City, farmland, forest, desert, and coast within a concise long-range, editing, and interaction demo. Browse all three demos ↗

01 / SYSTEM OVERVIEW

A planner, a generator,
and a persistent world.

WorldStream separates three questions: what should exist, how it should be built, and when it is needed. The planner answers the first through hierarchical decisions. Local procedural algorithms answer the second. A movement-aware scheduler coordinates both around the player.

PLAN

Semantic decisions

Regional layout, land use, city density, vegetation communities, and requested changes.

GENERATE

Spatial realization

Terrain, road networks, building placements, individual plants, and executable actions.

RETAIN

Persistent state

Accepted plans, object identities, generation parameters, and user edits.

All three operate on structured world state. The planner receives scene facts and returns semantic decisions; it does not need to inspect the rendered image. The renderer turns the resulting geometry and assets into pixels. This representation lets the same world support generation, interaction, and revisits.

For example, “a sparse woodland belt between a village and a forest” is a planning decision. The exact position, species, scale, and orientation of each tree are local generation decisions. Saving the accepted plan and its realization makes the woodland part of a place the player can return to.

02 / HIERARCHICAL PLANNING

Macro plans the region.
Micro resolves the neighborhood.

A coherent world needs decisions at more than one scale. A local tile should fit into a larger settlement or landscape, while still containing useful detail. The Macro Planner establishes regional structure, and the Micro Planner refines nearby tiles within that structure. The current implementation uses Jev from TypeSafe for both planning roles.

Macro Planner: regional relationships

Macro considers a region of tiles—5 × 5 in the inspected planner—and decides its broad organization. Its inputs include terrain and water evidence, neighboring regional plans, and geographical knowledge. Its output describes settlement patterns, ecological cover, major road corridors, and transitions between land uses.

WorldStream turns this hierarchy into streaming generation: as the player moves, the system plans ahead and builds a complete, continuous world with multiple landscapes entirely through code. Cities, farmland, forests, deserts, coasts, rivers, and settlements are organized as related parts of one geography, then resolved into playable local content on approach—not assembled as isolated visual clips or produced by a video-generation model.

A region might contain clustered villages linked by a main road, fields around the settlements, and woodland becoming denser toward the hills. Macro gives the local tiles a shared direction, so each tile does not independently invent an unrelated scene.

Micro Planner: local structure and density

Micro receives the parent plan, local terrain, neighboring roads and zones, and available generation capabilities. It decides what belongs in a nearby tile: the local land-use mix, building or vegetation density, streetscape, and community structure. A two-by-two subdivision allows mixed content, such as housing beside a park or farmland meeting a forest edge.

Macro · regional organizationReport illustration of a region containing mountains, a river, woodland, farmland, and a connecting road.
Micro · local organizationReport illustration of a city neighborhood with building groups, connecting streets, and open space.
03 The two planning scales, illustrated with figures from our technical report.

EXAMPLE MACRO OUTPUT

Settlement
Suburb-to-core gradient
Ecology
Woodland patches
Main connection
Coastal road corridor
Water
River corridor

EXAMPLE MICRO OUTPUT

Local content
Mixed-use city blocks
Density
Dense
Structure
Irregular blocks
Streetscape
Tree-lined avenues

Illustrative summaries of the decisions at each level. Actual requests and responses use typed fields and allowed choices.

Knowledge and capabilities are part of the input

The planner receives three complementary kinds of context. World facts describe the actual terrain, water, existing objects, and neighboring connections. Domain knowledge describes plausible settlement and ecological relationships. Capability descriptions tell the planner what the local generators and action modules can execute.

We organize geographic, hydrological, and ecological knowledge into structured planning priors. Combined with local terrain evidence, these priors guide the relationships among landforms, water, vegetation, and human settlement. They include:

  • Considering terrain suitability and road access when selecting settlement locations.
  • Aligning riparian and wetland vegetation with actual riverbanks and water margins.
  • Conditioning forest composition and structure on moisture, elevation, and slope.
  • Connecting rural areas to forests through gradual changes in tree density and canopy structure, such as a sparse woodland belt at the village edge.

Micro also chooses among compact capability cards for settlement blocks, natural landscape mosaics, and transition regions. These are descriptions of executable generation families. The model selects an appropriate family and its parameters; local code implements the result.

03 / LOCAL GENERATION

The planner sets the structure.
Local algorithms place the detail.

The planner specifies city density or vegetation-community density at a useful semantic scale. It does not enumerate every building, plant, or road segment. Procedural algorithms turn those decisions into geometry and object placements [1].

For cities, local generation connects the planned road entries, constructs a street network within the regional layout, allocates building space, and places compatible assets at the requested density and height range. For natural areas, it realizes the selected community as tree groups, clearings, edge vegetation, and ground detail.

Controlled variation

Randomness supplies variation within the plan. A forest generator can use spatially coherent fields to produce dense stands and open gaps, then sample individual trees with spacing constraints. A sparse woodland edge and a closed canopy use different distributions, even when they share the same asset library. Related spatial sampling methods provide useful background for controlling object spacing [2].

Generation uses stable seeds, so variation is repeatable for the same stored plan and compatible generator version. The player encounters a particular arrangement of trees and buildings, not a fresh random arrangement every time the renderer loads the area.

Geometric feasibility

Before content is accepted, local checks test whether it fits the actual world. Buildings need usable ground and road access. Vegetation must respect water, slope, and occupied space. Road connections must agree with neighboring tiles. Scene edits must fit their permitted region and preserve protected paths and objects.

This separates two kinds of reasoning: geographical knowledge helps the planner choose a plausible place, while local geometry checks determine whether that choice can be built at the proposed location.

04 / DYNAMIC SCHEDULING

Generate where the player
is going next.

The scheduler maintains a moving neighborhood around the player instead of treating the entire map as equally urgent. It distinguishes the required near field, a preferred buffer, and a farther prefetch region. Nearby tiles need usable geometry; more distant tiles may need only a plan.

The scheduling view uses a square tile lattice: a 3 × 3 required neighborhood sits inside a direction-biased 4 × 4 preferred window. Motion and six camera-facing samples form a longer prefetch candidate corridor. A 20-tile planning budget then admits the preferred window plus four farther tiles; the remaining candidates can be reconsidered as the player moves.

DIRECTION-AWARE PRIORITY

Near field first. Prefetch ahead.

Current policy · translated view

Moving east

  • Required · 9 tilesFill missing nearby content first
  • Preferred total / compile · 16 tilesThe dark required cells are contained in this window
  • Prefetch candidates · 20 tilesConsider the full directional corridor
  • Outlined · 4 tilesPlanning-only tiles retained after ranking

Straight travel produces a four-tile-high candidate corridor. The nearest candidate column is admitted first.

05 Square-tile scheduling cases from Figure 4 of the technical report. Northeast motion crosses north and east boundaries together, producing an L-shaped first-ETA front; outlines show the four tiles retained after ranking.

Priority follows movement and readiness

At each update, the scheduler uses player position, movement direction, speed, camera direction, and tile readiness to reprioritize work. Missing content under or immediately around the player comes first. Tiles expected to be entered soon receive higher priority than equally distant tiles behind the player. When the player turns, the predicted corridor moves with them.

Planning reaches farther ahead than compilation. Macro prepares regional context, Micro resolves local plans, and the compiler builds geometry closer to when it is needed. This ordering spreads work over time while avoiding the cost of fully constructing every distant region.

The scheduler also reuses completed plans, merges duplicate requests, and limits concurrent model calls. An area that is already planned needs construction work, not another planning request. Obsolete speculative work can be deprioritized without discarding accepted world content.

Rendering memory and world memory are separate

Distant geometry can leave the renderer while its plan, object identities, and edits remain stored. Revisiting a region reloads or reconstructs that saved state. Active rendering memory therefore follows the current neighborhood, while persistent storage grows with explored and modified content.

TILE LIFECYCLE

Persistent records, transient render resources.

Interactive schematic

World state retained

Build from the accepted plan.

The nearby tile becomes renderable. Its plan, object identities, and generation parameters are stored independently of its meshes.

06 Approach: build from saved state. Leave: release distant geometry. Return: rebuild from the same state and retained edits. The controls illustrate this lifecycle, not a live model call.

05 / INTERACTION DESIGN

The planner selects intent.
Local capabilities execute it.

The planner accepts open-ended natural-language input, allowing users to express questions, preferences, and intended changes in their own words, without following a fixed command format or including specific trigger keywords. It interprets the meaning of the request together with the current world context to identify the relevant objects, select a supported capability, and determine its parameters. This gives the world a language-based interface for understanding user intent and translating it into executable behavior.

Generation and interaction use the same division of responsibility. A request such as “where is the hospital?” requires intent understanding, but the answer must use the hospital that actually exists in the world. The planner selects the action and target; local code retrieves its position, calculates direction and distance, and presents the result.

07 Two stateful NPC interactions: asking an inhabitant for grounded hospital directions, then calling and feeding a sheep.

The same structure covers different behaviors. Feeding a sheep selects an actor and feeding action. Calling it closer invokes local movement and collision handling. A helicopter request chooses a spawn and approach plan, while the flight controller handles motion. The model is making a decision over available capabilities, rather than generating animation or physics code.

A shared capability interface over specialized execution modules
CapabilityWhat the planner decidesWhat local code does
locate_objectWhich existing target the user meansQuery position and calculate a grounded answer
interact_with_npcActor and supported actionRun animation, navigation, and state updates
spawn_and_move_entityEntity, origin, and approach behaviorLoad the asset and execute movement
set_future_region_intentUpcoming region and desired contentStore the intent for subsequent planning
edit_regionRegion, size, zones, and spatial relationshipsGenerate and attach the edited scene

The names above summarize the existing capability families at an abstract interface level. Each capability involves more detailed execution logic for target resolution, movement, animation, geometry, and validation. Scene objects carry persistent identities and mutable state. Interactions invoke the corresponding behavior functions to update that state—for example, assigning an NPC a movement target, changing its activity to feeding, or updating an entity’s position. The runtime then realizes those state changes through the appropriate controllers and rendering updates.

Editing a place versus specifying what comes next

An instruction can target either existing content or future generation. “Put a grove beside this trail” changes a local region that is already present. “Make the next area a forest” adds a semantic constraint to an upcoming region, which is then processed through normal Micro planning and local generation.

For local editing, the model selects compositional parameters: location, extent, zone types, and relationships such as adjacency or containment. Water surrounding woodland and woodland surrounding water are two assignments to the same relation, not two dedicated scene templates. The local region compiler turns that relation into terrain, water, and vegetation.

08 Two language-guided changes: specifying the next region, then transforming an existing desert area into an oasis-like forest and water landscape.

Before applying a result, the runtime checks that its target and source scene are still current. It prepares the resources and updates the visible scene only when the change is ready. The accepted edit becomes retained world state, so subsequent interaction and reconstruction can refer to it [3].

06 / RESPONSIVENESS

Low latency is a system property.

The planner supplies fast semantic decisions, but perceived latency also depends on when those decisions are requested and how much local work follows. Compact outputs avoid asking the model to place every object. Regional planning shares context across tiles. Prefetch moves work ahead of the player, and reusable assets reduce construction cost.

The useful measurement is the full path from a request to visible content: context preparation, model response, local generation, asset preparation, and rendering. These stages should be measured separately as well as together.

World context→Planner decision→Local generation→Visible update

Under warm-cache conditions, the estimated plan-to-scene latency is ~2.3 seconds: ~0.7 seconds for the planner and 1.6 seconds for post-response processing and rendering. Directional prefetch schedules this work ahead of the player to keep exploration responsive.

WorldStream’s design connects semantic flexibility with explicit execution: regional and local plans describe a coherent world, procedural algorithms realize it, and persistent state lets interaction and exploration continue beyond a single scene.

07 / OUTLOOK

Toward richer world models.

WorldStream’s streaming planner, low-latency interaction, and persistent state provide a foundation for improving visual quality along two complementary directions.

A control engine for streaming video. White-box geometry and low-poly assets could keep local compilation and rendering lightweight, leaving more compute for a streaming video decoder [4]. The engine would retain layout, object identities, and edits, while the video model adds richer appearance from consistent spatial conditioning [5]. This could combine open-ended exploration and revisits with higher-quality generated video.

A higher-fidelity explicit 3D world. The current prototype focuses on planning and interaction; its local generators and assets can be upgraded. More capable 3D generation and refinement methods [6][7], combined with prefetch and caching, could prepare detailed content ahead of arrival and reuse it across visits. This offers a path toward high-quality 3D world models with, in principle, infinite map expansion and open-ended exploration.