START HERE

What Dayside is

Dayside renders invented planets the way a mapping satellite sees Earth. Here is the whole workflow and the ideas it rests on.

Dayside takes a heightmap and a climate layer and renders them as satellite imagery: coastlines, drainage, snow line and biome colour, all at true physical scale. You rough a world in, a diffusion model turns that rough guide into real ground, you art-direct the satellite image, and you export heightmaps, colour plates and masks for Blender, Unreal, a virtual tabletop or a plotter.

Everything runs on your machine. Your worlds sit in a folder on your own disk, nothing is uploaded, and no part of a render needs an internet connection.

The shape of the workflow#

  1. Start a world. Import a heightmap, start blank, or start a blank globe. This is where you set the physical scale, and the scale is the one choice you cannot change later without rebuilding.
  2. Author the rough terrain. Paint height in metres, stamp measured landforms, trace coastlines, paint Köppen classes onto the biome layer. All of this is live and cheap.
  3. Generate. The terrain model re-synthesises the section at true physical scale, conditioned on your coastline, your bathymetry and your rainfall layer. This is the first expensive step.
  4. Acquire. The colour render paints the resulting ground: climate, rivers, lakes, snow, sea optics, hillshade. This is the second expensive step, and it previews progressively.
  5. Export. Pick a destination, pick layers, and a background pass writes them all at one matched resolution.

On a whole-world project, steps 2 to 5 happen per section. Each region card tracks them as three stages: Rough terrain, Terrain detail (the Generate pass) and Section colour (the colour render). Finished sections and tiles fold back onto the sphere with Re-compose globe, and the globe exports on its own with Export globe.

Flat maps and whole worlds#

The first question the setup wizard asks is the only one that changes the workflow.

ChoiceWhat you supplyWhat you get
A flat mapMap width (km), default 200A single rectangle. You land straight in the section editor.
A whole worldPlanet radius (km), default 6371. The equatorial circumference follows from it, up to 100 000 km.A globe workspace. You draw regions on the sphere and edit each one as its own section.

Both ask for Height at white (m), default 4000: the land elevation that pure white in your heightmap means. A blank globe starts as a 4096 x 2048 equirectangular ocean planet with no continents on it.

You paint in kilometres#

Nothing in Dayside is denominated in pixels if it can be denominated in ground.

The height brush reads its diameter as a real distance, and its range scales with the section you are in: from about 50 m up to half the section's width, never more than 500 km. It starts at roughly 3 % of the section's short edge. A landform stamp carries its own true ground extent, so placing one at 1x puts a real mountain range down at the size that range actually is. A coastline outline stamped at 7.6x is honest about what it has become: the shape still behaves like a coast because coastlines repeat at every scale, but the size is yours.

The colour render works the same way: every distance setting is in kilometres. Two consequences are worth holding on to:

  • A feature narrower than one pixel cannot be drawn. The 1 km beach ring is about half a pixel wide on a 1000 km section in the first preview pass, so it fades out there. That is expected.
  • Rivers are sized by the area they drain, so the network is the same at every preview step and every section size. Raising the resolution makes more tributaries appear rather than making the existing rivers fatter.

A section that records no ground scale sizes its brushes in texels instead and says so on screen.

The heightmap is signed and ocean-relative#

There is one elevation representation and it is signed: land positive, ocean negative, sea level exactly 0 m by definition. Bathymetry is authored terrain, not an afterthought. You can shape the shelf, the slope and the trenches, and the model conditions on them.

Each section records how its 16-bit heightmap converts to metres, and a heightmap export carries that conversion with it, so the file is never ambiguous.

Two exports say two different things about water, and they are not interchangeable. Sea / land mask marks everything at or below 0 m. Water mask marks where water actually stands: ocean, lakes, and river channels with soft edges. A dry playa pan is land in the water mask.

Sea level is set at import with Waterline and Height at white (default 4000 m). One caution the editor repeats: changing sea level after a Generate reclassifies land and ocean the model authored, so set it before you generate rather than after.

Sections are low-distortion cuts#

A focus area is a crop carved off the globe in an oblique Hammer projection, centred on what you selected. That is what keeps a 3000 km region free of the stretching an equirectangular crop would give it at latitude, and it is why you edit regions one at a time instead of editing the whole sphere.

Practical limits:

  • A section crop caps at 8192 px on an edge and 32 megapixels.
  • The region composer's Advanced controls set Output long side, default 2048 px, up to 8192 px.
  • A selection whose farthest corner sits more than 100 degrees from its centre cannot be cut as one section.

Every region is stored with a feathered margin around it, so the stored image covers about 20 % more ground than the selection you drew. The region card and the editor footer quote the size you drew.

The two heavy steps#

Two operations cost real time. Both are explicit, both report progress and both can be cancelled. A cancelled job keeps everything it had already finished: a colour render cancels from the canvas overlay, an export from the Acquisitions drawer, and the whole-world passes from the Job Dock. A running section Generate shows a Cancel button beside it in the top bar, and a cancelled generation leaves the section on its current terrain.

Generate#

Generate in the section header runs terrain diffusion on your GPU. It re-synthesises the section's heightmap at true physical scale and leaves your climate layer alone.

ModelCoarse cellRoughlyUse it for
90 m23 km90 m/pxContinental sections. The default.
30 m7.7 km30 m/pxPlayable ground. Needs more VRAM.
Base-lite23.6 kmabout 1.18 km/pxContinental sweeps, its own fixed recipe.

The model you pick sets the coarse cell size, which is the scale contract. Pick the wrong one and you get correct-looking terrain at the wrong feature size.

The control most worth knowing is Elevation SNR (default 0.20, range 0.05 to 1.0). It runs the way the underlying model defines it: small values stick closer to the terrain you drew, and only above the model's coarse cell scale; below roughly 1.5 cells the model invents everything at any setting. Do not read it as a strength slider.

For most of the run the progress bar is estimated from elapsed time, so it slows as it nears 85 % rather than tracking real work. A finished Generate does start one colour pass automatically, because the ground changed and you need to see it.

Acquire#

Acquire runs the colour render on the CPU. It is a progressive ladder: 512 px, then 1024 px, then 2048 px, writing a frame after each pass, so you see the composition almost immediately and the detail arrives as it lands. The 2048 px pass has the most pixels, so it takes most of the bar.

The render works at two resolutions on purpose. Slope, wetness, climate, palettes, snow and lakes are worked out on a coarser analysis grid (4096 px on the long side by default). The coastline, relief shading, sea, river channels and final image are drawn at the section's full size. The broad look comes from kilometre-scale structure, and coastlines and relief stay crisp because they are drawn at full size.

Why neither fires on its own#

Editing a slider marks the preview stale and stops there. The canvas says PREVIEW STALE with a count of what changed, and the primary button becomes Re-render. That is deliberate: a render is a costed job, and a tool that re-renders on every drag of a slider is a tool you cannot use.

The same discipline applies elsewhere. Baking a working-resolution proxy back to native is a button, never automatic. Placing a landform stamp previews without committing. One job of each kind runs per world at a time; a second one is refused rather than queued behind the first.

GPU and CPU#

Terrain synthesis needs an NVIDIA GPU with CUDA. Two optional colour bakes, Simulate water and Wind streaks, run on the graphics card. Everything else is CPU work, which means a machine with no CUDA card can still import terrain and get the whole colour, art-direction and export loop.

StepRuns on
Painting height and biome, stamps, coastline lassoCPU, live
Generate (section terrain diffusion)NVIDIA GPU, CUDA
Enhance world terrain (whole-planet sweep)NVIDIA GPU, CUDA
Simulate water and Wind streaks bakes (optional)Graphics card
Erode (section landscape evolution)CPU
Acquire and Re-render (colour)CPU
Colour globe and Re-compose globeCPU
Export and Export globeCPU

When something is missing#

The render falls back rather than failing, and every fallback lands in the job's warnings:

  1. A section with no recorded ground scale renders in the hypsometric style (colour by elevation).
  2. A section with no climate layer derives its climate classes from temperature alone. That fallback cannot place arid or Mediterranean climates at all, and it reads any ground at or above 18 degC as tropical, which means 2000 mm/yr of precipitation for the snow and lake models. Authoring a climate layer is the intended path.

What else it does#

  • Seasons and sea ice: monthly climate on worlds that carry it, seasonal playback, and sea ice from maps or paint.
  • Settlement and night lights: a settlement scenario for the land, and the night-side lights baked from it.
  • Maps and projections: globe exports in several map projections, and the paper map style.
  • Alien worlds: mineral, vegetation and ocean colour for planets that are not Earth.
  • Ranges and drainage: whole-world terrain models that turn vague mountain belts into connected ranges, with drainage that stays organised.
  • Erode, in the section editor: a landscape-evolution pass that carves drainage into a section. See Painting terrain.

Where to go next#