// changelog

Changelog

Meld is the orchestrator and UI. It drives a custom Arnis fork to generate each cell.

Every version below links to its release on GitHub, where you can download that exact build. All releases: Meld and the Arnis fork.

Meld (orchestrator)

v1.8.1 · Height 2026-08-06 current Minecraft version selector, terrain-fitted build height

Pick the Minecraft version you are building for, and let a world’s vertical range follow its terrain instead of vanilla’s −64 to 319. Mountains keep their peaks, and for the first time terrain can go below vanilla’s floor. Bundles the Arnis fork 3.0.5. Defaults are untouched: a project that never opens these settings emits no new flags and builds exactly as 1.8 did. Read the guide →

Version-aware generation
  • Minecraft version selector. Decides the DataVersion written into every chunk, whether extended height can be declared at all, and the shape of the datapack. Only versions whose constants were read out of a real world or a real pack are offered, nothing is written from memory, and an unrecognised version is refused with the list of known ones rather than approximated.
  • A pre-1.17 target disables extended height with the reason inline, not hidden: that is the release the feature arrived in.
Terrain-fitted height
  • The smallest legal world that fits. The range is derived from the region’s real elevation, never a fixed 4064-block preset, every extra 16 blocks is another chunk section in every column. If the terrain fits vanilla anyway you get vanilla geometry and no datapack at all: no experimental-features prompt and no permanent pack for nothing gained.
  • Headroom and underroom sliders. Room reserved above the peak for trees and buildings, and below the floor for caves and water carving. Push underroom past 8 and the world floor drops below vanilla’s −64 with solid rock filled down to it, verified at Y −160.
  • World floor / ceiling boxes to state the range outright. Checked, not clamped: a value that would cut into the terrain is refused and says what it would have cost.
  • Compression is reported, never silent. If a region cannot fit even at the engine maximum, the vertical scale is squashed and the ratio is stated, the alternative is a world that looks 1:1 and is not.
Fixed
  • The master world lost its datapack. The merge copied region files and level.dat but not the datapacks/ folder that level.dat referenced, so a merged extended world asked for a pack that was not there, and Minecraft loaded it at vanilla height, discarding every block above Y 319. Packs now travel with level.dat, and worlds merged before the fix are backfilled.
  • A Y-cliff along coastlines. The datum reserves room beneath the terrain for the deepest water carve, and that was measured from each cell’s own land cover. A cell holding deep water placed its terrain about 5 blocks above an inland neighbour (measured: Y −62 against Y −57) and the shared border became a visible step. Every cell now reserves the same clearance.
  • Two datapack bugs only the game could find. The pack was written in the 1.21.x metadata schema, which 26.x rejects outright, and an intermediate change restamped level.dat’s version so Minecraft skipped the migration pass and the world failed even in Safe Mode. Neither was visible to any file-level check, the files were internally consistent and said exactly what was intended.
  • OSM cache expiry. The 30-day tile TTL became 365 days (with a setting, 0 = never). A mass expiry re-downloaded a whole country through the public Overpass rate limit, hours of “Fetch OSM” on an area already sitting on disk.
Verified in game
  • Yosemite, 4096×4096 blocks, four cells. Generated at 1:4 as four independent processes and merged: all four declared the same world (Y −80 to 831), chose the same datum and stamped the same DataVersion, every section landed inside the declared world, and terrain reached Y 559, 240 blocks above vanilla’s ceiling. The merged world opens in Minecraft 26.1.2 with the height datapack active.
Worth knowing
  • The terrain datum moved from Y −62 to Y −56 inland. Fresh worlds are unaffected, but re-rendering cells into an existing world places them 6 blocks higher, do not mix old and new cells in one world.
  • Extended height on 26.2 is refused for now: it uses the 26.x pack schema, but no pack format for it has been read out of a real pack yet, and a guessed one produces a world that will not open.
v1.8 · Farmlands 2026-07-26 Field parcels, crop plots, wildflower meadows, rocks & bushes

The countryside comes alive. Farmland, grassland, and the plains OSM never mapped turn into real agricultural land: rotated field parcels that follow the road network, monoculture crop plots at different growth stages, wildflower meadows, dirt tracks, hay bales, and scattered rocks and bushes, with live pattern previews and a mix panel per land kind. Bundles the Arnis fork 3.0.4. Everything is additive and seam-safe: a project that never opens the Farmland drawer builds exactly as before.

Field parcels
  • Real plot layout. Fields split into rectangular parcels, long strips and blocky plots at multiple angles, separated by dirt tracks, with noise-textured interiors. Field systems change orientation along organically wandering borders, and each area aligns its grid to the dominant nearby road, the way real cadastre follows its access roads.
  • Sized like the real world. Parcel sizes are defined in real metres and track the map scale; a Pattern size slider (25–400%) zooms the whole layout. Farmland polygons feather into the surrounding grassland instead of hard-cutting at the OSM boundary.
Real crop plots
  • One crop per field. Wheat, potato, carrot, beetroot, sunflower rows, pumpkin patches on a grass mosaic, or resting fallow ground, weighted by a new Farm plots slider group. Neighbouring fields ripen at different growth stages, bird-sown stray patches break up the monoculture, and wheat and fallow plots carry hay-bale bundles.
  • Terrain-aware sunflowers. Sunflower fields cluster in the low, open plains and thin out uphill.
Three land profiles
  • Farmland / Grassland / Untagged land. A Profile picker gives each land kind its own five-way mix (Coarse dirt / Plains / Flowers / Farmland / Moss). Grassland defaults grassy; the huge satellite-classified plains OSM leaves blank default to open fields instead of endless crops; villages get grassy ground instead of wheat.
  • Vanilla-density cover everywhere. Short grass, ferns, two-block large ferns, tall grass, ten wildflower species, sunflowers, dead bushes and moss, at the density a vanilla plains biome would have.
Rocks, bushes and the preview
  • 68 bundled schematics. Eight andesite/tuff rock formations and sixty bushes across ten species scatter at random rotations over farm, grass and untagged land, bushes in about 5% of chunks, the much rarer rocks in about 2%, never on rivers, lakes, roads or tilled fields.
  • Live pattern preview. The preview canvas mirrors the generator, angled parcels, strips, domain borders, per-crop plot tints, vegetation speckle, scatter dots, and follows the selected profile.
  • Fixes. Flat lowland farmland no longer gets stray snow speckle, and nothing floats over water any more.
v1.7 · Meld Compass 2026-07-19 Guided UI, projects & folders, a render queue, one-click startup

A big usability pass focused on guiding people to run and build everything easily. The right rail becomes one three-step flow with a settings search and a single Generate button; the Projects gallery gains folders and a render queue that builds worlds one after another; borders can be built from any drawn shape; and a one-click launcher installs and starts Meld on Windows, macOS and Linux. Bundles the Arnis fork 3.0.3 (the 1.6 water and cave rendering fixes: uniform water colour, no thin land or road lines across water, no cave lava seams, and organic climate boundaries).

Guided flow
  • Three numbered steps. The rail is 1 Settings, 2 Prepare data, 3 Generate; Project & world, Selection and Edit & retry live inside Generate, and every section opens one at a time.
  • Settings search. Type any setting, toggle or button at the top of the rail; Enter cycles the matches, opens the section and scrolls to it.
  • One Generate button. Prepare, build and resume collapse into a single Generate world that does the right thing for the current stage, including resuming after a stop or crash.
Projects, folders and a render queue
  • Gallery with folders. Keep many worlds side by side: clone, rename, locate on the map, drag to reorder, and group into folders. Click a folder to focus the map on only its areas.
  • Render queue. Queue a folder or any set of projects to build one after another, with pause, stop and kill, plus per-project and combined output-size estimates that react to the export format.
  • Smarter clone. Cloning copies the settings, pre-plans the cells so the preview shows on open, and drops the copy next to its source.
Borders and server
  • Borders from any shape. A zone can use the rectangle or polygon you drew as its boundary instead of a country; the rings, WorldGuard regions and border.sk build for the custom shape.
  • Server in place. Server setup can run a Leaf server on the world's real files, with no copy and no doubled disk.
One-click on every OS
  • Double-click to run. meld.bat on Windows, meld.command on macOS, meld.sh on Linux: the launcher makes a private environment, installs the dependencies, fetches or builds the generator, and starts Meld in your browser. Run python meld_launch.py --check to see what is installed or missing without changing anything.
  • Polish. A darker glass skin, tidier drawers, a stronger hillshade preview, and the page is served no-store so UI updates always show on a plain refresh.
v1.6 · Above & Beyond 2026-07-12 Props, chest loot editor, world settings, richer facades

An above ground release to match the underground one. The bundled Arnis fork jumps to 3.0.1, matching upstream Arnis 3.0.0 feature for feature, and Meld puts the new world shaping options in front of you: bundled props placed at real map features, a visual chest loot editor, per world game mode and time of day, an in world map item, richer building facades, and a new global elevation source that replaces the old broken tile cliffs. Multi cell worlds still merge seamlessly: the shared origin grid and the position based rendering did not change.

Things placed in the world
  • Props at map features. A Props menu turns on families of bundled models placed where they belong: boats on water, cars in car parks, cranes and excavators on construction sites, tractors on farmland, wind turbines at wind generators, lighthouses, fountains, playgrounds and cemetery headstones. A family that is off costs nothing in time or memory.
  • Chest loot you can edit. Set what interior chests contain, per theme, with item sprites and a searchable picker. 56 presets copy real structures (trial chambers, stronghold, buried treasure and more), and there is a raw JSON box for anything else. Every item is checked against the block registry, so a typo cannot reach generation.
  • World settings. Game mode and time of day are written into the world, and a World map item option drops a locked map of the whole build into your inventory. The map is made in one pass after the merge, so a region built from many cells still gets a single correct map.
Buildings and surroundings
  • Richer facades. Downtown towers pick from six styles based on real OSM material and historic tags, with stone bases, glass shopfronts, cornice lines and matching window frames. Each building also gets its own window offset, so neighbours stop sharing one city wide grid.
  • More detail everywhere. Sport pitch markings, furnished bedrooms, rail catenary wires, street lamps, road tunnels, modular bridges, helipads, more surface materials, climate driven biomes with warm, cold and frozen water, and street trees on plazas. Trees no longer grow through bridge decks, and canopies drape over low roofs.
Changed
  • Better elevation by default. Terrain now comes from Mapterhorn, a global source with holes filled in. Regional high resolution data still wins where it covers your area, and the old AWS source stays available as a fallback. Offline builds serve from cache and fall back to flat ground rather than reaching for the network.
Fixed
  • Large exports could truncate saved chunk data when streaming to disk.
  • Players could spawn buried or in mid air when the output path was nested.
  • Farmland irrigation washed crops out on slopes; water is now kept to real basins.
v1.5 · Meld Depths 2026-07-04 Caves, export & compression, one-click server

The long-awaited underground release, and it is live. Worlds are no longer solid rock below the surface: one Caves toggle carves a full vanilla-style cave system into every cell at generation time, caverns, tunnels, rivers, lakes, ores, geodes and eight themed cave biomes, deterministic and seam-safe across tiles. Around it: an Export & compression suite that shrinks a finished world up to ~4.9×, a one-click Leaf server builder that turns the world into a running localhost server with the border plugins pre-staged, and the Border & zones Skript completing its real particle wall.

Caves
  • Vanilla-style cave worldgen, one toggle. The Arnis fork ports Minecraft 1.21.8 cave generation to Rust and carves it into the filled ground during generation: cheese caverns, spaghetti tunnels and noodle worms from the vanilla noise density field (with vanilla's own cell interpolation), plus the random-walk tunnel and ravine carvers. On top of the vanilla base: pool caves, long snake rivers that pour into caves only while descending, a contained deep lava sea at the very bottom, the vanilla ore table plus stone-variety patches, and amethyst geodes.
  • Eight cave biomes. Lush, dripstone, deep dark, mushroom, ice under mountains, amethyst, volcanic at the world floor, and coral in water pools, covering about half the underground, with plain-rock buffers between zones so themes read as places, not noise.
  • Seam-safe by construction. Every cave pass is a pure function of seed and position, so adjacent cells generated independently carve the same caves at their shared seam, the same guarantee the surface already had.
  • Formation packs. A cave-pack folder of schematic formations (ice spikes, dripstone columns, crystal clusters) decorates floors and ceilings when present; caves generate fully without it.
  • Your mix, previewed honestly. A Cave biomes panel gives every theme its own slider (0–200% of its default share, 0 = off; type an exact % or double-click to reset), and a Preview renders the real zone layout for your world's seed, patches in their noise shapes over gray rock, upper and deep cave layers, measured percentages, and hover a biome to light up just its patches. Untouched sliders keep the world byte-identical to the default.
  • Vanilla stone variety, fixed for real-world terrain. Deep dark now lives only below the deepslate line like vanilla, and diorite/granite/andesite/dirt patches are placed relative to the local surface (not absolute Y), so they fill the rock under every column at any terrain height.
Export & compression
  • Zip / tar.zst, universal archives that extract back to a vanilla single-player world (~1.85× smaller; Anvil chunks are already compressed, which is the honest ceiling for archives).
  • Linear, per-region .linear for Leaf/Folia servers, ~4.85× smaller at level 9, written next to the .mca or as a separate [Linear] sibling world with the original untouched.
  • B_Linear, a [BLinear] sibling world for Leaf's B_LINEAR via a bundled cross-platform Rust converter, with keep-modes (keep both / B_Linear only / archive the .mca first). The .mca is only ever removed after everything verifies.
  • meldconvert CLI, standalone mca ↔ linear ↔ blinear conversion with the same verified codecs.
One-click Leaf server
  • World to server in five steps. Pick any Leaf version (1.21.4 to latest, fetched live), mount the world as the main world or a Multiverse sub-world, then Plan (a dry run listing the exact jar build and plugin versions with hashes), Stage, Download (hash-verified, confirmation required), accept the EULA as its own deliberate step, and Start, with a live console in the app.
  • Format-correct every time. Choose which world files feed the server (auto, .mca, [Linear] or [BLinear]); the server's region-format config always matches the files actually staged.
  • Borders pre-staged. WorldGuard, WorldEdit, Skript and the addons the border system needs install automatically, and the exported border files are pushed and loaded on first start.
  • Voxy option. Installs Voxy Server Side so players with the Voxy client see the whole map as distant terrain the moment they join, streamed straight from the world files, any region format.
  • Localhost by design. Servers are set up for 127.0.0.1:25565, offline mode, with a crash watchdog and an optional automatic first-start world backup (toggle it off for big worlds). Anything beyond local play is your own server.properties edit.
  • Tuned to your machine. RAM and CPU sliders sized from your actual hardware (heap capped below your total RAM, CPU % mapped to the JVM's real processor count) with live readouts, a pop-out live console window with a command input, and every choice, version, world files, folder, extras, remembered per project.
Borders
  • The particle wall is real. The generated border Skript now embeds its wall geometry and draws per-player dust curtains, hard wall yellow, safe edge orange, country borders aqua, scanning only the segments near each player. No point files, no extra addons.
v1.4 2026-06-22 Region trees, terrain shaping, border & zones

Real trees, shape the land, and bound a world to a country. Meld places a region-aware schematic tree pack instead of procedural trees: 1,959 hand-made models across 448 species and 10 world regions, chosen by location, scattered into natural groves, in five size tiers, anchored reliably on slopes and at water edges. Two terrain knobs make mountains as tall as you want without widening the map and put snow exactly where you want it. And Border & zones turns one or more countries into ready WorldGuard regions, point files, and a generated Skript that fences a server to that border.

  • Region trees. A bundled region-aware schematic tree pack (1,959 models, 448 species, 10 world regions, 172 communities): the region comes from your selection, a community from the terrain, then a weighted species, with familiar vanilla trees mixed in. Five size tiers with toggles; a disabled tier falls back to a smaller one, never a gap. Models by the artist paleozoey.
  • Terrain height ×. Vertical exaggeration multiplies terrain height only, not the map footprint, so mountains get taller at the same map size and auto-compress to the build height.
  • Snow modes. Off, realistic (the real latitude snow line), peaks (the top N% of the world's height), or manual (above a Y you pick).
  • Border & zones. Pick one country or several, set the band sizes, preview the rings on the map, and export WorldGuard regions, per-ring point files and a generated Skript (country titles, an escalating kill-zone, a fling-back wall). An optional trim limits generation to the border so the void hides behind the wall.
  • Float fix. Trees anchor on slopes and at water edges; no floating trunks.
v1.3 2026-06-19 Guided start, live tuning, benchmark report

Guided start, live tuning, and a benchmark report. Same engine (the Arnis fork is unchanged from 1.2.0), much easier to drive and to understand. The right rail is one numbered, guided flow, you can retune a run while it runs (workers, threads and CPU budget apply to the next cells), and every finished or stopped run drops a benchmark report into the world: machine specs, CPU/RAM and activity graphs, a per-worker timeline, and a Save-as-PDF. New projects start with fast first-build defaults, cell size is a free 1 to 64 fill-in, and the live CPU/RAM gauges read accurately now. Existing worlds and settings are untouched; the new defaults apply to new projects only.

Measure every run
  • Benchmark report. When a run finishes (or you stop it), Meld writes meld-report.html and meld-report.json next to the world. The page shows the time and cells, your machine (CPU model, physical cores and logical threads, RAM type and speed, drive type), the exact run settings, CPU and RAM over the run, activity over the run, and a per-worker cell timeline you can replay. Save as PDF turns it into a tidy two-pager. Open it from Benchmark report in the Build card.
  • Tune it while it runs. Change workers, threads per worker or CPU budget mid-run and the next cells use the new numbers, no restart, no re-plan. The world's origin, seed, elevation and scale stay locked, so a live tweak never desyncs the build.
  • Explore the map. A new Explore mode toggle in the Build card turns the map into a coordinate picker: turn it on, click anywhere, and get the Minecraft teleport command for that spot (/tp @s X ~ Z), computed from the origin and scale, with a Copy button. It hides the cell preview, shows the world border, has a search box to find and zoom to a place, and works before you build.
Easier to start
  • One guided rail. The right rail is a single top-to-bottom flow, steps 1 to 6, with the advanced cards collapsed at the bottom. One Prepare and build button runs the prep then generates. No Simplified/Advanced switch; every control is there.
  • Fast first build, readable scale. New projects start at 1:10 scale with buildings off and solid ground; the scale field shows the ratio (one block is 10 m, a 1 km city is 100 blocks); cell size is a free 1 to 64 fill-in with presets.
Accurate and snappy
  • Gauges read correctly. CPU% now comes from a background sampler (it was reading near zero), and RAM shows the in-use figure Task Manager reports. Recommend suggests both a worker count and a threads-per-worker so workers times threads fits your logical CPUs.
  • A UI that responds. No more once-a-second tick: polling kicks on your actions and idles when nothing runs, Stop reacts instantly, folder pickers are one Browse, and Prepare no longer nests dropdowns. Generation is mostly CPU bound, so keep workers times threads at or under your cores; stream to disk carries the big cells.
v1.2 2026-06-18 Offline OSM, much faster cells, cleaner water

Offline, faster, cleaner. Bake a whole region's OSM once from local Geofabrik .pbf files and generate with zero Overpass calls, with the OSM cache keyed to a fixed map grid so overlapping selections reuse tiles. The biggest per cell cost was a supplementary building fetch that ran even with buildings off; it is now skipped for roads only builds (a measured cell dropped from about 29s to 4s) and caches to disk when buildings are on. Your drawn area is remembered per world across a restart, and the diagonal water and sand wedges are fixed.

Build offline
  • OSM data packs. Drop Geofabrik .osm.pbf files in a folder and bake them once into the shared cache, so generation needs no Overpass. The OSM data pack card has Check coverage, Bake from .pbf, Scan folder and live progress; baked tiles share the same grid as the live fetch. Needs an optional osmium dependency.
  • OSM cache that reuses. Map data is cached on a fixed web mercator grid keyed only by tile, independent of scale and selection, so a 90 percent overlapping selection downloads only the new edge and an identical re run downloads nothing.
  • Empty tiles and retry. Sea and no data tiles are baked as valid empty tiles so coverage reads a true 100 percent, and rate limited fetches retry with backoff and cache instead of re fetching every run.
Faster cells
  • Overture gate. The fork's supplementary Overture Maps building fetch, measured at about 93 percent of a cell's time, now runs only when buildings are enabled. A roads only cell dropped from 28.8s to 4.2s.
  • Overture cache. With buildings on, the index and partition files cache to disk and download once instead of once per cell.
  • No merge step. Each cell reads its own grid tiles straight from the shared cache (the fork takes a tile directory and computes the covering tiles from the bbox), so there is no per cell or per group OSM file to assemble before a build.
  • Skip the terrain warm when elevation is already cached, removing minutes from every run on a complete pack.
Cleaner and remembered
  • Water wedge fix. A water polygon that crosses a cell edge could leave an open outline that the bbox clip closed with a straight chord, flooding a triangle of water and a band of sand across correct land. A broken outline is now dropped instead of closed with a fake edge, so the wedge is gone and real water is preserved.
  • Selection persistence. The drawn area, its polygon and the planned cells save into each project and redraw on a server restart, per world.
  • Detail and reliability. Road detail clean and compact modes, a custom Overpass URL, sub world operations, and disk recovery of orphaned patches.
v1.1 2026-06-16 Bigger builds, region data packs, one shared cache

Go bigger, see more, waste nothing. The fork picked up an in process multi core engine and stream to disk, so a single cell can be huge. Map data now lives in one shared, visible folder reused by every world, and a per spawn cache walk that was quietly adding seconds to every cell is gone. Build a small area first to confirm your scale, elevation detail and save location before you commit a whole country.

Bigger builds
  • In process multi core generation. A cell spanning three or more region tiles now builds its tiles in parallel inside one Arnis process, on top of Meld's existing cross process parallelism. Small cells keep the unchanged sequential path; big cells go wide.
  • Stream to disk. Big cells evict finished regions to disk during generation instead of holding the whole world in RAM, so 8x8 and 16x16 cells complete without running out of memory.
  • Cell sizes 1, 2, 4, 8 and 16 (powers of two, default 4; 8 and 16 marked as testing). The cap is raised from 6 to 16.
  • Spiral generation order. Cells build center out in concentric rings instead of edge first.
See more
  • Region data packs. Bulk download a whole region's elevation once into the shared cache, so generation runs offline and is never rate limited. The Data pack card has Check coverage, Download elevation, a re fetch this view button, a packs list, and Import folder (drop in a folder of tiles to use them with no download).
  • Height preview. A grayscale or hillshade overlay of the cached elevation on the map, so you can see the terrain before you build. Red means a tile is not cached yet. Zoom out for a regional view or in for full detail, and click a tile for its height range, size and status.
  • No data hole repair. The terrain source has real gaps that served all black tiles, showing up as dark bands in the preview and flat dips in game. Meld now rebuilds each hole by upsampling the deepest zoom that does have data, baked into the cache so both the preview and Arnis read real terrain.
  • Selectable elevation detail. An Elevation detail dropdown picks the terrain zoom used for download and generation. Auto matches the zoom to your scale, so you get the right detail with no waste; a lower zoom is far fewer tiles, dodges the no data holes, and stays lossless against the roughly 30 m source.
  • Left status rail. A second thin panel mirrors the right: a live System card (CPU, RAM, save disk free with a low disk warning), the Build estimate, Workers, and the Log. A Cache card shows where the shared cache lives plus per type size with Clear buttons.
  • No buildings mode. A Buildings toggle in the Meld settings and the Arnis GUI for a roads and land cover only world; building footprints are emptied so land cover fills in cleanly with no building shaped holes.
Waste nothing
  • One shared cache. OSM, terrain and land cover caches now live under one folder in the Meld project (override with MELD_CACHE_DIR), reused by every world instead of being hidden in AppData and re downloaded per project.
  • Paint tool. In Edit mode, click and drag across the map to add or remove cells; the whole drag persists in one atomic write.
  • Select to retry. Drag to mark a clump of cells with a distinct blue dashed ring, then re run them with one button.
  • CPU controls. A CPU budget slider, a threads per task floor, a stagger toggle and step, and adaptive pacing that spaces worker starts from the measured average cell time so cores stay busy without all 16 launching at once.
  • Failed cells say why (out of memory, disk full, rate limit, network timeout, or crash), and a cell that fails for a transient reason is auto retried up to twice; deterministic failures are not.
Fixes
  • Floating vegetation over water and roads on big and streamed exports; the cleanup now runs per tile instead of post merge after regions were already evicted.
  • Duplicate banners, signs and chests on the parallel path are now deduped by coordinate on the Java write path.
  • A worker thread crash on the parallel path from the fork's wider block IDs meeting an undersized palette array.
  • Cross tile seams and water artifacts settled by the 2.9.0 engine bump; editing the plan during a run no longer desyncs the worker pool (cell and plan edit routes refuse while a run or prefetch is active).
v1.0 2026-06-13 First release
Pipeline
  • OSM Leaflet selection, then a region aligned cell grid, then parallel Arnis workers, then a canonical region merge.
  • Global elevation lock plus a tile invariant seed for seamless adjacent cells.
  • Origin anchored coordinate convention shared by the orchestrator, merge, JS and the fork, plus a merge time drift guard.
  • Shared OSM prefetch. Meld downloads the selection's OpenStreetMap data once (one request, split into quarters only if the endpoint rejects it), caches it, and feeds every cell via --file, so parallel runs never hit the Overpass per IP rate limit. A cyan dashed overlay shows the download footprint.
Workers and performance
  • Worker pool, default 4 and cell size 4 (the safe sweet spot), up to 16, with a warning above 8. Generation is mostly CPU bound, so keep workers times threads at or under your cores; RAM and save disk are secondary caps. Worker count can be changed live during a run.
  • Recommend reads your CPU, RAM and disk speed and suggests the best cell size and worker count.
  • LOD ready. Chunk lighting is baked by default, so distant chunks render lit in Distant Horizons and Voxy without flying the whole world first.
Experience
  • One detailed panel, auto center origin on selection, live mouse coordinates, themed in app dialogs (no browser popups).
  • Estimated size, a live elapsed timer, a live per worker panel, and a finished run stats popup (actual time, on disk size, region file count).
  • Resume unfinished, and Generate skips already merged cells (crash and overnight safe). Click a cell to regenerate it.
  • New world keeps the finished world, then resets for the next (Meld World 2, and so on) in the same saves folder, with a gold world title in Minecraft's world list.
  • Editable Arnis settings (terrain, roofs, interiors, land cover, fill ground, height limit, bake lighting) in the panel, plus a 3D models toggle.
  • Cell size from 1 to 16 (default 4), remembered across refreshes and new worlds.

Arnis fork (releases)

The generator Meld runs for each cell. These are the changes that make adjacent cells line up.

v3.0.5 2026-08-06 latest Configurable, version-aware build height

The generator behind Meld 1.8.1 “Height”. A world’s vertical range is derived from the terrain it holds and declared by a generated datapack instead of a fixed 4064-block preset, and the target Minecraft version becomes a real input rather than a hardcoded constant. Every flag is additive: without them the generator behaves exactly as 3.0.4 did.

Verified in Minecraft 26.1.2: a four-cell, 4096×4096-block Yosemite build merges into a world that opens in game with terrain 240 blocks above vanilla’s ceiling. 342 unit tests pass.

v3.0.4 2026-07-26 Farmlands: field parcels, crop plots, land coverage, scatter

The generator behind Meld 1.8 “Farmlands”, on top of the 3.0.x line (the upstream Arnis 3.0 merge and the 3.0.1–3.0.3 water, cave and climate fixes, see the GitHub releases). Every flag is additive and every decision is a pure function of world coordinates, so adjacent cells agree at their seams and default runs stay byte-identical.

v2.9.3 2026-07-04 The cave engine (Meld Depths)

Underground update: one cave system, done right. The experimental cave engine is gone; --caves now runs a from-scratch Rust port of Minecraft 1.21.8 cave worldgen, carved directly into the filled ground at generation time. This is the engine behind Meld 1.5 "Meld Depths". Measured against 2.9.2: 31 files, +6,178 / −169 lines.

v2.9.2 2026-06-22 Tree packs, terrain shaping

Load your own tree models, and shape the terrain. A pack-agnostic schematic tree system and two terrain knobs on top of the 2.9.1 generator. It ships no tree art; it places whatever pack directory you point it at.

v2.9.1 2026-06-18 Direct tile reads, water wedge fix

A maintenance release on top of 2.9.0. A cell can read its own slice of a shared OSM tile cache directly, with no per cell merge step, and a water rendering artifact that could flood a triangle of a cell is fixed.

v2.9.0 2026-06-16 Upstream 2.9.0 engine, seam preserved

Pulls the fork up to the upstream 2.9.0 line (53 merged commits, in process tile parallelization, stream to disk region eviction, the mimalloc allocator) while keeping the cross tile seam intact. Two independently generated overlapping cells agree block for block (0 of 1024 boundary chunks differ).

v2.8.6 2026-06-13 Download only fetch

Lets an external scheduler pre-fetch a region's OSM once and feed it to many cells, instead of every cell querying Overpass.

v2.8.5 2026-06-11 Seamless multi tile rendering

Makes adjacent tiles agree at their shared borders, so the merge is visually seamless (~97% of rendered surface). All gated to --seed; single world output is byte identical.

v2.8.4 2026-06-09 Coordinate seam fix
v2.8.3 2026-06-02 Meld water update
v2.8.1 earlier

The Arnis fork tracks louis-e/arnis, merged up to the v2.9.0 line; 2.9.1–2.9.3 are fork releases on top of it.