Full release notes · 2026-09-27

CartoVox Delta V2

A world with history: realm relations, campaign player views, new projections, scenes and writing tools.

The application was called Atlas Studio until version 0.8.2. Builds are shared with invited testers on the Discord server; these notes are also readable offline inside the app.

Browse releases

Delta V2 is the second Delta release, shared with invited testers on 27 September 2026. Your Delta access code keeps working. The licence moves to version 2.1 (it now names screen size and the graphics card among what the usage report may carry), so the app asks you to accept it once. Everything below is new or fixed since Delta V1.

Delta

  • Unlocking opens the app. After a first unlock, after accepting a new licence, and after the 21-day check-in, the window said "CartoVox runs in its own window" instead of opening, until CartoVox was quit and opened again. The unlock screen is a page of its own, so the webview treated its move to the app as coming from another site and withheld the cookie that lets the window in. The cookie now travels with that move, and the app opens straight after the code is accepted.
  • Delta V2 is the version you see. About, the release notes, the reference pages, the page shown when the app cannot open, the copied build details and Windows' list of installed apps name the release rather than a number, and the installers are named for it: Cartovox-Delta-V2-macOS-arm64.dmg, Cartovox-Delta-V2-Windows-Setup.exe, Cartovox-Delta-V2-Linux-x64.deb and Cartovox-Delta-V2-Linux-x64-glibc2.28-portable.tar.gz. The number stays inside the packages, where macOS, Windows and Debian need one, and in what a world records about the build that made it.

Maps and the Create sheet

  • Butterfly maps for sea charts. Two new projections, in Map appearance → Projection, the Create sheet and Export. The Cahill butterfly lays the globe on the eight faces of an octahedron and unfolds it round the North Pole into four wings; the Waterman butterfly cuts the octahedron's corners, so the cuts fall at sea and continents and oceans keep their shapes better still. Within each face a great circle, a ship's shortest course, is a straight line, and the oceans stay whole. The map grid bends with every face and breaks at the folds, a hex grid stays inside the faces, and overlays, hover readings and the Sculptor land where the butterfly puts them.
  • Mercator that looks like a world map. Mercator was a Web Mercator square reaching 85° north and south, so the swollen polar ground took up much of the sheet. It is now a 3:2 landscape sheet that stops at about 76°, the shape wall-chart Mercators use; compass bearings are still straight lines. The Mercator PNG export and the map tiles keep the standard Web Mercator square, which is what other tools expect.
  • A grid you can trust on two hemispheres. On the two-hemisphere sheet the square grid is the projection's own: meridians fan out from each pole and parallels are circles. It also redraws the moment the projection changes, so it can no longer be left behind as a flat rectangle laid over the disks, and a hex grid is clipped to the two disks.
  • Find the highest peak and the deepest trench. In the Planet panel, Tallest peak and Deepest trench now have Show on map: the map zooms to the spot, marks it and opens its details. Both are also in the gazetteer: search "highest peak" or "deepest trench". Each entry gives the height or depth, the range the summit belongs to or the nearest named sea, and the climate there. Where many cells share the extreme (a clamped imported heightmap, or a sea floor at its limit), the entry says how many, and the mark goes at the heart of the largest patch. Show on map in the gazetteer now marks every place it takes you to.
  • Species & varieties: a map for each crop, herd animal, wild animal and plant. A new map under Life & settlement shows where each of forty species would thrive on this world: crops (wheat, rice, maize, potato, coffee, tea, cacao, sugarcane, cotton, olive, grape vine, citrus, banana, date palm), livestock (cattle, sheep, goats, pigs, horses, camels, yaks, llamas, reindeer, water buffalo), wild animals (deer, wolves, bears, bison, elephants, great cats, beavers, ibex, crocodiles) and wild plants (oak, pine, birch, palms, bamboo, cacti, mangroves). Pick one from the grouped Species list; the key names what it needs and how much of the land it thrives on. Each is drawn from the world's temperature (the year, the coldest and the warmest month), rain, altitude, forest, slope, soil and real rivers: coffee keeps to frost-free tropical highlands, the date palm to desert rivers, mangroves to warm shores, ibex to steep high ground. It is habitat, not history: whether anyone brought cattle to a continent is yours to decide. The Export menu's Mercator, Equal Earth, Mollweide, Robinson and two-hemisphere PNGs draw the species you chose (and any other map drawn on request with the choices on screen); they used to refuse these maps.
  • Key on the image. Maps drawn on request (Species & varieties, Biomes, Soils, the agricultural calendar and the rest) offer Key on the image beside their download: the saved PNG gains a band beneath it with the map's title, the choices it was drawn with, its colour scale or a swatch for each class shown, and a line saying what it is. The map on screen does not change, and the file is named for its choices (species_ranges_coffee_key.png).
  • The map grid lies on the map. The square grid is drawn through the map's projection, so on Equal Earth, Robinson, Mollweide, Mercator and the two-hemisphere sheet its meridians curve with the world and stop at its edge (a hex grid is clipped to the oval), and on a turned map it turns with it. It fits the picture where the picture is really drawn, and waits for a new map to load instead of showing on a guessed box: that was the grid that stopped short of the map's edges until another view refitted it. Composite sheets such as Four globe views get no grid, and the grid's card says why. The card moved to the top centre, where the Planet panel no longer hides it.
  • The Time strip is no longer covered. While it is open, the scale, the coordinates and the View/Export dock stand above it instead of over it.
  • Removing land removes its cover. In Draw your world, forest, ice or any other cover painted on land now goes when that land becomes water (the Water brush, Cut water, a deleted range); it used to stay tinted over the sea and was sent with the drawing. Undo brings both back.
  • Draw your world: islands that merge, roughen and stay on the page. Overlapping Islands strokes grow into one island instead of stacking as patchy domes, and Rough edge now frays island coasts (it was never passed to the Islands tool, and was hidden while it was chosen). Brushes stop at the canvas's left and right edges instead of carrying on at the other side; turn on Wrap east–west to paint across the seam. The brush controls wrap to a second row rather than scrolling out of sight, and the City card no longer lets its fields spill past its edge.
  • No bright ring round every coast. The map's View menu gains Shallows, beside Map look: Shelf glow as before, Soft shallows, or Flat sea. An imported map has no continental shelf of its own, so its first ocean cells sit a few metres deep, and the sea is palest there: every coastline drew a thin pale seam, whatever the projection. Soft shallows keeps the open sea's depths without it; Flat sea paints every sea one colour, for a political map. The choice is saved with the world and applies to the relief map and every filtered map; no saved depth changes.
  • Create's actions follow its five steps. Setup, Advanced settings, Preview this seed and Create now sit under step 5 of the brief, pinned to its foot so they never scroll away, instead of in a bar above the previews where they read as a second set of steps.
  • The Hotspot tool has its icon. In the map's Tools grid it showed a plain white square.
  • The map says how to change it. The dock gains Edit map, beside Focus map: it opens the Sculptor, where the ground is reshaped, settlements placed and regions described. The Tools menu is in three named groups, Change the world, Look closer and Simulate, check and draw, instead of one grid of fifteen instruments in which the only one that changes the world sat twelfth. The tool tour's first step says which is which.
  • "A single continent with an inland sea" is not a clash. The thesis read both as the world's silhouette and reported the second phrase as disagreeing with the first. Now the continent takes the silhouette and the inland sea becomes a Must-have check, Add check, which every candidate world is measured against (an enclosed sea of at least 0.35 M km²). An inland sea on its own still sets the Inland Sea silhouette. Tried first and dropped: flooding more interior basins moved a single continent's interior water by about 6% across eight seeds, and the wrong way in other settings, because the land total is held.
  • Click a thesis phrase to see what it does. Each phrase the reading quotes, and each phrase in Which words does it know?, opens a card with the same seed built twice, once from the default brief and once with only that phrase, and lists the settings it moves. About a third of the phrases change the shape of the land; for the rest (climate, rivers, peoples, magic, story) the card says the shape preview cannot show them and lists what they change. A card takes about three seconds.
  • Deep Time says where plates are placed. The drawing editor's heading and its help name Place plates: click to put a plate down, drag to set which way it moves, and a plate placed on drawn crust carries a continent.
  • Memory for atlas plates. Settings, Creation defaults, has a Memory for atlas plates allowance for computers with memory to spare. On Automatic the atlas draws one plate at a time, as before. With an allowance it draws plates side by side while their estimated memory fits in it together, and plans every plate against the allowance rather than the memory free at that moment, so a world draws the same plates whatever else is open. On a Sketch world's 11 plates a 36 GB allowance took the atlas from 224 s to 102 s, with every plate the same file as drawn one at a time and the process peaking at 20 GB. Map stamps (mountains, forests, towns) now take their own random streams, so every plate's stamps look slightly different from before; they no longer depend on which plates were drawn first.
  • The atlas zooms past Fit. Zooming in on an atlas plate, a settlement plan included, changed the percentage but not the picture, which stayed the width of the window. It now grows and scrolls, and every edge can be reached.
  • Inspecting a cell no longer fails on an unchanged world. "The world changed while reading cell data" could come back on every click although nothing had changed: the check also compared the file's change time, which macOS and Linux move for metadata alone (a permission, an extended attribute, a sync client marking the file). The file's content and the world's revision decide now. Retries run for up to three seconds rather than a quarter of a second, and when a read is still refused the message says which check failed.

Lore

  • Coats of arms for every realm. Each realm now bears arms drawn from its own world. The main tincture is the colour the realm map gives it (a red realm bears gules, a blue one azure); the charges come from what the realm is (an anchor or a fish for a coast, a trimount or a tower for the mountains, a tree for the forest, a sun for the desert, a wavy fess or bend for a river realm, a crown for a kingdom, keys for merchant estates); and the shield's shape is its culture's. The arms keep heraldry's rule of tincture, and each comes with its blazon written the way heralds write it ("Gules, a fess wavy argent between three suns or"), ready to quote in a book. They appear in the realm's dossier, first among its figures and with the blazon among its facts, on its Codex page, and in the Obsidian vault and the player vault. The lore editor has Arms of the chosen realm: change the shield, the field, an ordinary and the charges, see them drawn as you go, and Keep these arms. A design that breaks the rule of tincture is refused with the reason. Kept arms are an ordinary lore edit, so they survive rebuilds and undo, and Use the world's arms goes back. Each realm's arms are also drawn as a picture, so Insert figure on the dossier puts them in a chapter, and Word, Markdown and Scrivener exports carry them. The chapter figure picker lists them too.
  • Relations between realms. Every pair of realms now has a stance: allied, friendly, neutral, suspicious, rivals, at war or no contact. A realm can also be another's vassal. The world starts them from its own map and peoples: realms that share a border are rivals, the alliance the lore found is kept, and two realms of one people are friendly. The lore editor's Relations of the chosen realm sets its stance toward each realm and its overlord, marks your choices, and Use the world's relations takes them back. A loop of overlords is refused. Relations are an ordinary lore edit. Each realm's allies and rivals follow them, and they show on its dossier and Codex page, as does a new Codex Diplomacy page listing every alliance, war, rivalry and vassalage.
  • The web of relations. The Codex has a new Web of relations page that draws every relation the world records as one graph: each realm's stance toward the others and its vassals, the people each realm belongs to, the families written on character pages, and the relationships you drew between imported notes. An imported note merged with a realm is that realm in the graph. Each kind can be turned off. Friendly ties between realms of one people wait until you ask for them. Click a name to open its dossier.
  • Relations on the map. Landmarks → Relations of picks a realm, and every other realm on the map is tinted by its stance toward it: allied in green, at war in red, rivals in orange, and so on, with a key beneath. The chosen realm is outlined. The tints follow the world's own borders and work in every map projection.
  • Provinces. A realm with the towns and the ground for it is now divided into provinces. Each province is seated at one of its towns, the capital always among them, and grown from its seat the way the realms were grown, so its borders fall on ridges and great rivers. It is named for its seat in the realm's own word for a province: "County of Tholazoth", "Kurahara Province", "Hold of Aghrond". Provinces show:
    • on the realm's dossier and Codex page, with their seats, towns and area;
    • on each town's dossier and Codex page, which say what province it is in;
    • on the map, as dotted borders and names under Landmarks → Provinces.
    The lore editor's Provinces of the chosen realm renames a province and says what it is, and Every realm chooses fewer, larger provinces or more, smaller ones. Names and descriptions are ordinary lore edits and survive rebuilds. A world made before this has its provinces from Divide every realm in the same place.
  • Armies and fleets. Every realm now keeps regiments at its capital and its provincial seats, and a fleet at its greatest port (two, if it has many ports). The world sizes them as suggestions: about one in a hundred of the realm's people under arms, more under a warlord and fewer under merchants. Open grassland and desert give it more horsemen, and forest and mountain more bowmen and foot. So do the words in its culture's military: horse, bow, pike or siege. They show:
    • in the realm's dossier (Armies and fleets, with the number under arms);
    • on its Codex page;
    • on the dossier of each town that holds a garrison or a fleet;
    • on the map under Landmarks → Armies and fleets.
    The lore editor's Armies of the chosen realm renames them, moves them to another town, sets their foot, archers, horse and siege (or warships, transports and marines), takes notes, disbands them and raises new ones. Your changes are ordinary lore edits, so they survive rebuilds, and Use the world's armies goes back. Armies stay out of the player vault.
  • Goods and markets. Every place now makes the goods of its ground:
    • its biome: wine and oil from Mediterranean woodland, furs from the taiga;
    • its way of life: a river valley grows grain and flax, a steppe margin breeds horses;
    • the rock beneath it, where the prospect is good: iron, copper, silver and gold, salt;
    • fish, where it has a harbour.
    Capitals and regional centres are markets, and every town sells at the nearest market of its own realm. A market sells what its towns make and buys the dearest goods it can reach. Each good's price follows how far it must travel from the nearest market that sells it, half as far by sea between two ports. Markets show:
    • on the town's dossier (sells, buys with where from, famous for; a town says which market it trades at);
    • on the realm's dossier, as its exports and imports;
    • on the Codex Trade and Economy page;
    • on the map under Landmarks → Markets.
    The lore editor's Markets of the chosen realm adds and strikes goods, says what a market is famous for and takes notes. A good you add to one market is cheaper at its neighbours too. Use the world's markets goes back.
  • Bring your own lore. A world can now write no lore of its own. The brief's Peoples & magic panel gains Generated lore: Suggest lore for me, as before, or None: I bring my own, and a thesis that says "I already have my own lore" chooses it. Realm and culture names, capitals, territories, borders and measured trade are still made, because the maps, the atlas and the gazetteer are built from them; the invented histories, faiths, governments, rulers, customs, legends and story hooks are not, and the Codex asks you for them instead. An existing world takes its generated lore out from Write → Codex → Lore editor → Remove generated lore: the story is rebuilt from the saved simulation, so the terrain, climate and places stay exactly as they are and your own lore edits are applied again on top. Suggest lore again puts it back.
  • A name means what you say it means. Renaming a place used to leave the old name's meaning behind in the Codex, the gazetteer and the handbooks. Now a suggested name from the Naming studio brings the meaning it was offered with, and Write my own & lock asks what your name means (optional). Every card in the Naming studio has Edit meaning (or Add meaning), so you can change a meaning without renaming. In Rename everything the Meaning column is editable, and a changed name starts with an empty meaning for you to fill in. A renamed place with no meaning says "not recorded", no longer shows the old word's roots or pronunciation, and its gazetteer entry lists the name it was generated as.
  • A renamed sea or lake is renamed everywhere. Renaming an ocean, a bay or a lake changed its name in the Codex, but its gazetteer entry, the gazetteer search and the atlas labels still used the old name. They now follow the rename. A world renamed earlier catches up the next time any name or lore edit is saved.
  • Write about a place from the map. Click a town or a place of power on the map, and its card now has Write about it. It opens a drawer beside the map with the same boxes as Describe everything: in a phrase, known for, who runs it, history, trouble, worth seeing and notes for a town; the entries of a place of power. It starts with what the world already says. Keep it saves what you wrote as your own lore, so the place's dossier and Codex page say it and it survives rebuilds. Open its dossier goes to the town's page.
  • Name a place by what it should mean. Every card in the Naming studio has Name it by meaning, and so does the map's Write about it drawer for a town. Say it in plain words ("black harbour", "iron ford", "wolf") and the place's own tongue offers names built from its roots for those words, each shown with how it is said. Every name says which root carries which word. When the tongue has no root for a word, it uses the nearest in sense and says so, and a word with nothing near it is left out and named. A name another place already has, or one that sounds like it, is marked. Use this name locks it with that meaning, and the map's wording for the place is kept ("The Reach of …"). Your own tongues work too.

Exports

  • A reader's companion. The Codex's Reader's companion makes a folder of linked pages for your readers, for a wiki, an appendix or an Obsidian vault. Tick the realms, peoples, characters, places and lands to include; every realm, people and character, and the capitals, start ticked. Each becomes its dossier page, without story material, your notes or the armies. Add the map, Saying the names (how each name you chose is said, and what it means), and the history as the Chronicle dates it (canon only, never a branch or an unaccepted proposal). Nothing you did not tick is in it, and links run only between pages that are.
  • Exports save again in the desktop app. SVG, GeoJSON, GeoPackage, KML, STL, OBJ, glTF, the projected PNGs (Mercator, Equal Earth, Mollweide, Robinson, two hemispheres), the hexcrawl sheet, the interactive map, MBTiles, the vector and scientific zips, the codex and handbook zips and the worldbook all did nothing: they were opened as a new window, which the desktop app hands to the system browser, and that browser has no CartoVox session. They are fetched and saved from CartoVox's own window now, with a "Preparing your export…" notice while a large one is made, a "Saved …" notice naming the file, and the server's reason when one cannot be made.
  • A bound atlas a print shop can take. The bound atlas setup gains Page edges: White margins, for printing at home as before, or Full bleed and crop marks, for a print shop. The second runs the atlas's parchment 3 mm past every trim edge, puts crop marks outside that, and writes each page's TrimBox and BleedBox so the press knows where to cut. Plates and text keep exactly the margins layout inside the trim, so a plate prints at the same size and density either way; pushing a 2:1 world to the edge of an A4 page would have lost a third of it and cut its frame line wherever the knife wandered. The file is atlas-<paper>-print.pdf, and the colophon says what it is: trimmed, bled, marked, and still sRGB with no CMYK separation or ICC profile.
  • Map features for GIS, in layers. The Export menu adds Map features for GIS, in layers (GeoPackage): one file that QGIS and ArcGIS open as a layer per kind — land, capitals, places of power, roads, sea lanes, river reaches, lake nodes — each with typed columns. Its coordinates are this world's own degrees on a sphere of its own radius, declared in the file, so a GIS measures distances on this planet rather than on Earth. Written without GDAL; GDAL reads it back with every layer, field and the custom coordinate system intact.
  • Terrain for 3D tools, textured. The Export menu adds Terrain for 3D tools, textured (glTF): the same grid and metres as the STL and OBJ surfaces as one binary glTF that Blender, game engines and web viewers open directly, turned to glTF's axes (Y up), centred, and wearing the world's relief sheet as its texture. The Khronos validator reports no errors or warnings.

Importing

  • Imported notes join the world's own places. An imported page has Find it in the world. It lists the world's places, realms and characters named by the page's title or its aliases ("Kingdom of Eastmark" finds Eastmark), and only those of a fitting kind: a place record is offered places, a faction realms and peoples. Pick one to merge them. The world's dossier then leads with Your imported notes and links the page, and a merged note with no pin of its own sits on the map where its place is. Undo merge separates them again. Neither the page nor the generated place is changed.
  • Guide layers: a heightmap and a biome map beside your main map. Under Guide layers in the import review, add a Heightmap (a grey image, white high, or a grid in metres) and a Biome or colour map of the same area. The main map keeps the coastline; the heightmap sets the heights inside it instead of simulating them (their order is kept exactly, then scaled like any heightmap import), and the biome map's forest, grassland, desert, wetland, tundra and ice become those biomes, the kind chosen by the climate — painted forest is taiga in the cold and rainforest in the tropics. Turn Follow the biome map off and its colours only lean the rainfall and warmth, as a colour map's always have. A guide is stretched to the main map's sheet and given the same crop, turns, flips and seam roll, and a guide that cannot be read says why without losing the preview. The guides are kept in the world folder and travel with recipes and reseeds. Measured on one sandbox world: the heights' order matched the heightmap at 0.999 (0.05 without it), and every painted forest, desert and grassland cell came out as that biome (10–74% without the guide).
  • An Azgaar map brings its world, not only its heights. Import an Azgaar Fantasy Map Generator "Export to JSON (full)" file and its towns, states, rivers and roads come with it: capitals and the largest towns are seated where they stood, each state becomes a realm seeded inside its own border with its capital and name locked, rivers are cut into the ground under their own names, and roads are drawn as the author's. A world holds up to 24 realms, 160 towns, 64 rivers and 64 roads; the import report says how many of each were left out. On a test map with two states, three towns, a river and a road, both realms were satisfied and held their borders, every town stood where it was drawn and the river was followed along its whole length. The heights of a file exported by the current Fantasy Map Generator were refused as "not a Fantasy Map Generator export", because they are stored per grid cell rather than as one list; both shapes are read now. Each realm also brings what its state says about itself: its culture as the realm's theme, its culture's naming language read to the nearest of CartoVox's six families (English and German names to the northern family, Japanese and Chinese to the eastern, Arabic and Persian to the southern, and so on) so its places are named in a tongue that fits, a naval, nomadic or river culture as a way of life the brief checks against the ground, and its neighbours, allies and rivals among the realms that came through. The rest of what the author wrote in FMG comes in through Import lore, which now reads the same file (or FMG's smaller "Minimal" JSON export): states and religions become factions, cultures become notes, and provinces become places pinned at their seats, each page carrying what FMG recorded -- full name, form, capital, deity, naming language, allies and rivals -- for review before anything is saved. The new world opens in the map look nearest the map's FMG style (Watercolor as Illustrated, Ancient as Old paper, Night or Gloom as Dusk, Atlas as Classic), one click to change.

Render Studio

  • Doors and line of sight in scenes. A scene has a Door stamp: place it across an opening you leave in a wall and choose whether it is closed, open, locked or secret. The tabletop exports carry it -- Universal VTT as a portal, Foundry as a door wall in that state -- so a scene's doors now open at the table; before, a scene exported no doors at all. Check line of sight (a canvas tool) shades everything that cannot be seen from a point you click, as a tabletop will read the scene: shapes at least 1.5 m tall and every door that is not open block sight. A shape that is not a freeform drawing now stands along its own lines (a straight wall along itself, a house along its outline) in both, where it used to be exported as the square around it. The Keep interior layout has standing walls and a door in its dividing wall.
  • Floors in a scene. A scene can hold several floors: each drawing layer says which floor it is on (0 the ground, 1 the floor above, -1 the cellar), Add a floor above starts one, and Floor shown chooses the floor the canvas edits, the sheet renders, the shadows fall on, line of sight is checked on and a tabletop export carries -- one floor per export, as tabletops expect. The floor below shows faintly under the one you are drawing, so walls and stairs line up, and cannot be selected by mistake. A scene without floors is one ground floor, as before.
  • Step inside a building. A scene made from a settlement has Step inside a building among its hotspots: click a house, temple or hall on the preview and it becomes a scene of its own, a child of the settlement scene, with a pin on the building that opens it. The interior is drawn at tabletop scale on five-foot squares from the building's own outline: the floor, walls ten feet tall and a door in the side facing the nearest road. A house long or deep enough is parted into rooms, with doors placed so every room can be reached from the entrance without a door in every wall. Temples, halls, markets, mills and towers stay one open space. It is all ordinary scene drawing, so every wall and door can be moved or deleted, and they reach a tabletop export like any others.
  • Fog of war. A scene has a Fog of war panel for running it at the table. Fog covers the saved map and you reveal it as the party explores: Reveal what a point sees clears everything that can be seen from where you click, stopped by walls at least 1.5 m tall and doors that are not open (the same rule as Check line of sight and the tabletop exports). Reveal an area and Cover an area work by dragging, and there is undo, Reveal everything and Cover everything. Open the players' view opens the map in its own window with only the revealed parts showing, for a second screen; it follows every change as you make it. Download the players' picture saves the preview as the players see it. Each saved map and each floor keeps its own fog.
  • Locked features stay through a new plan. In the Settlement Studio a locked building, street or area (Locked: kept through a new plan in the feature's details) now stays exactly where it is when you generate again or ask for a New variation. New buildings, props and streets that would stand on it give way; fields, woods, water and the town wall stay. Streets are joined up again so a kept building still has a way in. The status says how many features were kept and how many gave way. Before, a new plan replaced every edit.
  • Bread and water. A generated settlement now has granaries, mills and, in a dry land, irrigation:
    • Granaries hold half a year's grain for the whole town. They stand beside a road at the town's edge, where the carts come in.
    • A river turns a watermill on the bank. Otherwise windmills stand between the town and its fields.
    • Where rain is scarce, farms near a river, lake or pond get a channel running beside their lane out to the fields.
    A line under the land budget says how many months of bread the granaries hold, how many mills grind it, and how many farms are watered. Irrigation channels, granaries and mills can be drawn or edited by hand like anything else. Everything else in a plan is exactly as it was. Settlements under 100 people have none.
  • How the town grew. Under the Settlement Studio's review map, How the town grew steps back through four stages: the first settlement at the market crossroads, the early town along the main roads, the growing town with its lanes filled in and its first poor quarters, and the town today with its walls. Each stage says how many buildings stood. It is read from the plan, not simulated: the town is taken to have grown out from its market, along the main roads first, and the fields and woods are drawn as they are today. Looking back never changes the draft. Make this stage the plan turns an earlier stage into the plan, to edit and save as its own scene.
  • Settlement plans without overlaps. In the Settlement Studio, generated houses and shanties could stand on a landmark (a village's temple) or on a well, and planned buildings could overlap each other. Civic buildings, landmarks and wells are now sited first and houses give way to them. Buildings no longer cross streets on curved blocks, spill out of their lots or sit where a block's inset folded over itself, and a block's edge follows the street it actually runs along. Across 85 test settlements the overlapping pairs went from 334 to none. The same seed now gives a different layout, and a few settlements fall a little shorter of their building target.
  • Line ends and corners. A drawn path or shape now has Line ends (round, flat or square) and Corners (round, sharp or bevelled), so a wall or a road meets itself square instead of rounded. Sharp corners follow SVG's own rule: a corner more than four stroke-widths long is bevelled. The SVG export and the preview carry the same ends and corners as the rendered sheet, and a closed outline turns its last corner too. Objects keep drawing exactly as before until one is changed.
  • Editable terrain follows a rebuilt world. Mountains, hills and trees made editable from saved terrain now remember the world revision they came from. After the world is rebuilt, the Editable terrain panel says how many were made before it and offers Follow the rebuilt world: the ones you have not touched are replaced by what the same conversion makes from the rebuilt ground, and every one you moved, resized, restyled or grouped stays exactly as you left it, as do those on hidden or locked layers. Undo puts the old ones back in one step.
  • A reference image keeps what it says about itself. Importing a PNG or JPEG reference now keeps the file's own title, author, description, copyright, software, date and print density — from PNG text chunks and pHYs, or from JPEG EXIF and JFIF — beside its pixels. The reference panel says what was kept ("Kept from the file: “Coast of Veyra” · by Ada Mercer · made with Inkarnate · 300 dpi"), and it travels into recipes, backups and the SVG of exported artwork. Editable source layers still are not imported: the tools people trace from export no layered format anyone can read.
  • A group can be translucent or blended, as one picture. A selected artwork group gains Group opacity and Group blend (normal, multiply, screen) beside Hide and Lock. The group is drawn whole and then laid down, the way a drawing layer is, so a translucent group of overlapping shapes is one even veil rather than darker where its members overlap; nested groups compose in turn. The editor, the raster export and the SVG (one <g> per group) agree, whole or in tiles, and a group left at full opacity and normal blending draws exactly as before. Undo takes either back.

Campaigns

  • Campaign templates. The campaign desk's Templates keeps a campaign's setup to start another from, in any world. It keeps what the players are called and told, which maps and lore they see, whether the fog is on, the season the clock starts in, the tokens (by name, kind, colour and sight) and the quests, opened again. Places stay with their world: a campaign started from a template has no tracks, fog or territory yet, and its tokens wait at the world's first capital to be moved. Start a campaign from it and Delete sit beside each template.
  • A Codex for the players. A campaign gains Download player vault beside the player handout: an Obsidian vault of what the party knows. The world's lands, seas, ranges, rivers, lakes, deserts, continents, realms, cultures and tongues are in it as public geography; a town only when the campaign shows it on the map, and a place of power only once it has been revealed. Each page is the place's dossier without its story material, and without any line that names a place the players have not been shown; author notes, imported lore and manuscripts stay out. Pages link to each other only where both are in the vault, so no link leads to a page the players do not have. It is written in seconds: every page reads the world from one opening of it rather than its own, which took a Sketch world's 528-page vault from 44 seconds to 3 with the same pages byte for byte (and more at Full, where each page used to hash the whole archive twice).
  • At the table. The Campaign desk has an At the table section for running a campaign:
    • A clock in the world's own calendar (day, year, month and season, from its orbit and moon). Next day or Advance moves it.
    • Sessions, numbered, with notes only you see. Start the next session ends the one in play on today's date and keeps what the party knows as a discovery snapshot, so the board can be put back to the end of any session.
    • Tokens for the party, armies and fleets. Place one on the map and drag it; each day's move is kept as a dashed trail.
    • Quests that remember the day they opened and closed, with separate words for the players and notes for you.
    • Operation arrows for advances, retreats, raids and supply lines, drawn by clicking along the way.
    Each keeps back from the players until you tick it (tokens start shown, quests and arrows hidden). Player view, discovery snapshots and the player handout follow those ticks: the handout shows where each token stands now, the arrows, the quests in their player words, and the date.
  • Fog on the players' map. A campaign can put fog of war on its world map (At the table → Fog on the players' map). Players then see only what has been revealed, and no place still under the fog: not in player view, not in the player handout, not in the player vault. Reveal or cover an area by dragging, reveal a distance around a token, or reveal or cover everything, with undo. Give a token a distance it sees and it clears the fog around itself and along the way it is dragged, so the party's march uncovers the map. The fog is kept in discovery snapshots, so putting the board back to the end of a session puts the fog back too. You see the fog dimmed; players see it solid.
  • Borders that change during a campaign. At the table → Territory: draw an area, choose the realm that holds it (or no one), and it holds from the campaign's current day, in that realm's colour on the map. It ends today closes it. The map always shows the borders in force on the day the clock is on, so advancing the clock brings conquests and losses in and out. Each change lists the towns inside it. Players learn of a change once you tick it: then it is on their map, in discovery snapshots, and in the handout, which says who holds what since which day.

Writing

  • Checks for the dead and the destroyed. A Chronicle event can name the places it ends (Places it ends, for a town it sacks or a bridge it breaks). The book's checks now flag a scene set after that year that is in such a place or links it ("which The Sack of Eastmere ended in year 30"). They also flag a scene set after its viewpoint character, or a character it links, died (from the character page's died), beside the check for scenes before a character was born.
  • Characters named in a tongue. A tongue's gazetteer entry now offers eight given names in that tongue, built from its own roots the way the world names its people, each with how it is said and what it means. Add as character makes a character page with that name and its tongue set, and opens its dossier. It works in the Codex gazetteer and in the Write tab's World panel. A name that a page or a place already has is not offered.
  • Watch the realms grow. Read the Chronicle by year and turn on The realms grow from their seats, then give the years they grew over. The Chronicle map then shows each realm as it stood in the chosen year: only the ground within so many kilometres of its seat, taken in the order the simulation's own realms took it, nearest ground first. The ground no realm holds yet is shaded. From the last year on, the realms stand at their borders. A world made before this release shows nothing until it is rebuilt; the rebuild records how far each realm reached, and changes nothing else.
  • Names before their time. A Chronicle event can also record the names it changes (Names it changes, such as "Westhaven → Saltmere"). The book's checks flag a scene set before that year that already uses the new name ("says Saltmere, a name Westhaven took only in year 30").
  • Where each place and person appears. Every dossier now ends with In your books: each chapter that names the place or person, and how often (whole words, as written; a character's aliases count). It also lists the scenes set there, and, for a character, the scenes told from their point of view. It is read from your books each time, so it is always current. Player vaults and readers' companions leave it out.
  • Old names in your books. Renaming a place changes it everywhere in the world at once, but a chapter you wrote earlier still says the old name. The Codex's Old names in your books lists every name this world was made with and has since changed, wherever a book still uses it (whole words, as written). Each entry shows the chapters, how often the name appears, and a line or two of context. Change them in <book> replaces it in those chapters through the book's own Replace, so each chapter keeps its previous text in history. Leave one alone where a character still says the old name on purpose.
  • The Chronicle reads by year. Eras have From year and To year (an era labelled "Year 300" is dated for you), and events have a Year and an Until. Set Read by → Year above the map and the slider crosses the years. The map and the list then show what holds in the chosen year:
    • a war from its first year to its last;
    • an event with no end, for the rest of its era;
    • a lasting consequence, for good.
    Put a year in Compare with year and the map marks what began since (glowing) and what ended (dashed), with the lists beneath. Playback steps through the years. Reading by era is unchanged, and undated eras still work as before.
  • Histories that never were. The Chronicle's History picker holds the canon history and your branches. Branch from here copies the history you are reading (from the year you are on) into a branch you name, and everything you then change stays in that branch. Compare a year with another history (Compare with year … in) to see what happens only in one, only in the other, and in both. Make this canon swaps a branch in and keeps the old canon as a branch. Delete branch never touches the canon history. The map annotations, search and Codex read the canon history only.
  • Family trees. A character page can name the character's parents (two at most) and spouses, its house, and when it died (beside born). Its dossier gains a Family section: parents, spouses, children, brothers and sisters, and house. It also gains a Family tree, from grandparents to grandchildren, with each spouse beside the person they married. Click a relative to open their dossier. A name matches its character by page name or alias. A parent who has no page yet still appears, in italics. A child with no house of its own takes its first-named parent's.
  • Drag a chapter to reorder the book. Grab a chapter in the binder and drop it above or below another; a bar shows where it lands. With a chapter focused, Alt+Up and Alt+Down move it too. The open chapter's words are saved first, as with Move up/down.
  • Reading faces for dyslexic and low-vision writers. Style › Writing view gains Reading face: Atkinson Hyperlegible or OpenDyslexic, for this computer's writing view only; the book's pages, Read view and exports keep the book's font. Both are also offered as book fonts. Both ship with the app (SIL Open Font License); nothing is fetched.
  • A world name has its own menu. Right-click a name the World names lens underlines — or put the caret in it and press the context-menu key or Shift+F10 — for Open its dossier, Find every mention in the book and Make it a link, which writes it as [[Name]] (and is not offered when it already is one). Ctrl/Cmd-click still opens the dossier at once.

Sculpting and rebuilds

  • Straight lines and polygons. Every paint brush has a new Stroke choice: Freehand as before, Straight line or Polygon. A straight line is dragged from one end to the other and stays straight on the sheet you are drawing on, whatever the projection; hold Shift to snap it to 15° steps. For a polygon, click each corner, then click the first corner again or press Enter, and the brush fills the shape with a hard edge: Raise lifts a platform, Flatten levels one to its Target height, Land and Sea make an island or a harbour with corners, and Forest, Clearing, Smooth, Terrace and Mountains work inside it too. Shift squares the next edge, Backspace takes a corner back and Escape abandons the shape. Cliff keeps to lines, because a cliff rises on one side of one. Asked for by a tester building a floating city with straight walls.
  • Rivers stay off your cities. Describe a region as built ground ("a walled stone city", "a manmade city", "a stone platform", "cobbled streets", "a floating city", "a town") and no river rises there, as before. Now a river that rises elsewhere and reaches it runs under the streets in culverts: its water goes on, the river below is the same river with the same name, and no channel is drawn across your city or its walls on any map. The What is here? box gives examples of the words it acts on.
  • Select finds the town, landmark or place of power you clicked. In the Sculptor, Select only offered a town or city when the click landed in its exact saved cell, and a marker covers several of them on screen, so a click right on a town offered the road, the realm and the land but not the town; landmarks were never offered at all. Everything within the pointer's reach is offered now, nearest first whatever its kind, marked with how far away it is: settlements (three at most), places of power, your own story pins and held passes (three at most). A place of power is its magical region under the name it goes by: Rename changes that name everywhere, and Remove or resizing act on its footprint. A story pin's Remove marks it for removal exactly as the Applied edits list does. A held pass says how to move it: it follows its road and its range.
  • Land and Water brushes no longer swap. Holding Alt inverts them, and a release of Alt the window never heard — Alt+Tab, or Windows handing a lone Alt to the window menu — left them inverted: Land painted water and Water painted land until Alt was pressed again. Draw your world and the Sculptor now read Alt from every brush stroke, so it is only inverted while Alt is really held.
  • Paint forests. The Sculptor's paint shelf gains Forest (key F) and Clearing (key X). A forest stroke lets trees close in along it wherever the climate allows them (up to twice as readily at full strength); a clearing opens the ground; neither moves the terrain, and a desert stays a desert. The strokes show on the map as green or tan footprints while pending; Quick look shows the biomes they make, and Apply rebuilds them into the world, where the forests' canopy reaches every map, the illustrated trees included.
  • Cliffs. The Sculptor's paint shelf gains Cliff (key K): drag along an edge and the ground on your left rises by the Height you set into a tableland that ends in a sharp scarp on the line, easing back to the land around it behind the edge. The other side is untouched. Tick Raise the right-hand side, or hold Alt, to raise the other side instead. The live map shows it as you draw, and the rebuild applies the same shape.
  • A refused settlement says why, and stays long enough to read. The Sculptor's messages borrowed the coordinate readout, which every mouse movement rewrote and which was one clipped line wide on a small screen. They have their own panel over the map now, wrapped to fit; a refusal stays at least eight seconds, longer while the pointer rests on it, and closes with its own button.
  • Settlements can stand on the shore and at river mouths. Settlement suitability is averaged with its neighbours, and the sea counts as zero, so a coastal cell read well below the land one cell inland and was refused below 20%. A cell that touches water is now judged by the best land around it; inland cells keep their own score, and the rebuild applies the same rule as the preview.
  • Show where settlements fit. While the Settlement tool is out, the land that takes a settlement is tinted green and the land below 20% is dimmed. It is on by default and has its own switch under the rank and name.
  • A story pin no longer simulates the planet again. Placing a pin used to run the whole world again, from tectonics through climate, rivers, biomes, towns and roads, before drawing one new place into the names, lore and maps. A rebuild now keeps the simulated world it made, and the next one starts at the names when nothing the simulation reads has changed: the same edits apart from story pins, the same settings, briefs and preserved terrain, and every town still where the last rebuild put it. Renamed places and edited lore ride along. The result matches a full rebuild file for file; that was checked on worlds with atlas plates, with the fantasy layer off, with drawn regions, a nation brief and a locked rename, straight after a sculpt that renumbered towns, and on a freshly generated world. On this Mac a Full world with its atlas builds in eight to nine minutes, four to five of them simulation, which a pin now skips; on a Sketch world a pin took 7 seconds instead of 16. The atlas plates a pin does not reach are kept as they are: a plate is drawn from the names and the places of power inside it, and one whose story is unchanged, drawn to the same size and supersampling, would come out the same file. On a test world with eleven plates, a pin far from every regional sheet kept all eleven and took 7.5 seconds instead of 87; one inside a region redrew the two sheets it appears on in 24. A renamed place is lettered on every sheet, so a rename still redraws them all. The rebuild plan and review say Starts at the names when this applies, and a new world keeps its simulated world too, so its first story edit starts at the names (a Sketch world: 10.7 seconds instead of 22.6). Any rebuild that changes terrain, a setting or a brief still simulates the whole world. What is kept (about half a megabyte on a Sketch world) is a cache: it never leaves the world folder, is left out of backups and drafts, and is refused unless this installation wrote it.
  • A new world and its first rebuild agree. A new world is now built by the same pipeline that rebuilds one, so rebuilding a world without an edit gives back the same world: the same names, lore, city plans, maps and codex, file for file on the test worlds (a plain Sketch world, one with a nation brief, one without the fantasy layer, one imported from a heightfield, one with its atlas framed for later). Before, the two were separate programs and drifted: a rebuild never checked the nation brief again, never re-measured where drawn cities were placed, skipped your extensions, and dropped the aquifer, farming, natural-region and volcanic-province sections from the world summary. A new world's city plans are now drawn from the fields at the precision the world saves, as a rebuild's are, so on a test world 7 of 21 plans differ from what the old builder drew for the same seed.
  • A rebuilt world's codex shows its own maps. The codex vault copied the relief and biome maps before the rebuild had drawn them, so after a sculpt the codex showed the world as it was before the edit. It is now written once the maps are drawn.
  • Keep a settlement in place. Select a capital, regional centre or town in the Sculptor and choose Keep in place (under Through every rebuild). A rebuild that would move it moves the same kind of settlement back when one is within two cells, founds it again when none is, and gives it back its number and name; if the sea has taken its cell, the rebuild says so instead. On a test world one broad sculpt moved four chosen settlements, a capital among them; kept, all four stood where they were. It is an ordinary edit: listed, disabled and removed like the others.
  • Keep a road on its line. Select a road in the Sculptor and choose Keep on its line. Every rebuild joins the same two places, even when they are no longer each other's nearest neighbours or are further apart than roads usually run, and follows the old line over any ground raised across it: a road that was there becomes a pass. It bends only where the line now runs into the sea, and the rebuild reports how much of the old line it kept. The road belongs to the places at the ends of its line, so a kept town that a rebuild had to found again keeps its road. On a test world, with both towns kept and a 4,000 m range raised across the road between them, nothing joined them without the keep; with it, the road came back within a cell of its old line for 80% of its length, the rest cutting corners on the coarse grid roads are solved on. Sea lanes cannot be kept.
  • Keep a river in its valley. Select a river and choose Keep its valley. The river's channel and one cell either side of it keep their saved heights through every rebuild while the world changes around them, so the water that still reaches the valley runs where it ran. On a test world a 2,000 m rise across the main stem of a large river cut it: 62% of its old course stayed a river and its mouth drained 30,000 km² instead of 6.5 million. Kept, 84% stayed a river (as before the rise) and the mouth drained what it did. Cutting the old course into the ground was tried first and made the river less of a river, not more. The kept valley is a terrain edit, listed with the others, and it does not keep water that a sculpt upstream sends elsewhere.
  • Removing or rerouting a road takes the road you chose. A route edit named its two places by number, and a rebuild can renumber places: an edit that moves the hearths reorders them, and a kept town founded again takes the next number. The edit then took whichever road joined the places now carrying those numbers. On a test world, a removal staged on one capital's road took the road of another town, about 1,200 km away, that the rebuild had given the capital's number, and reported it as applied. Road and sea-lane edits now save where the route's line ended and act on the places standing there; when those two are no longer joined, the rebuild reports the edit as unmatched and leaves every other road alone.
  • Your drawn rivers survive a rebuild. A world built from the canvas or an imported map cuts the author's rivers into the ground so the water runs where they were drawn, but only the first build did it. The first sculpt or story pin rebuilt the ground without the channels, and the report of how closely the rivers followed the lines went with them; on a test world the drawn line came back 108 m higher, the whole cut gone. Every rebuild now cuts them as the first build did and reports on them again. Preserved ground keeps the channel it was saved with rather than being cut deeper each time.
  • An imported world's first rebuild no longer rearranges it. Every rebuild fits the plate mosaic to the coastline the author brought, but a new imported world was built without that fit, so its first rebuild, even for one story pin, redrew the plates and moved the geology, resources, towns and realms that sit on them: on a test world 235 of 441 towns were renumbered. The first build fits the plates now, and the first rebuild of that world changes nothing it did not ask for.
  • A city plan drawn in a rebuild is the plan a redraw gives. A rebuild drew the names, lore and maps from the terrain at full working precision, while anything drawn later from the saved world reads the float32 values the world saves. On a test world 7 of 21 city plans came out differently depending on when they were drawn. The names, lore and maps of a rebuild now read those fields at the precision the world saves, so a redraw agrees with the rebuild. Worlds rebuilt in Delta V2 may see some city plans change once; on the test world no name or lore changed and one summary figure moved in its eighth digit.
  • Replace a world with its rebuilt draft. A comparison draft could only be saved as a separate world. Replace this world now puts the rebuilt version in the world's own place: same name, same place in the Library, and every place that still matches keeps its identity, so your notes, links and manuscript mentions keep pointing where they did; only places that are new or gone, and pairs you rejected in the review, change. The world as it was is kept beside the draft, and Put the original back restores it exactly while the new one is unedited; Let the original go frees its space. A revision records the replacement, and an interruption part way is recovered rather than repeated.

Simulation

  • A planet with no ocean. The brief's Land & sea panel offers two more choices: Inland seas only, where the water sits in enclosed seas and never joins into a world ocean, so it still rains, and No oceans: a dry world. On a dry world the old ocean basins become low dry country a few hundred metres below the continents rather than chasms kilometres deep, so the continents are not raised into bare alpine plateaux; the only water is the ice caps, the rivers their meltwater feeds and the lakes those rivers end in, and most of the land is desert. The brief says so when you choose it. A thesis that says "no oceans" or "inland seas only" chooses them, and Advanced settings' land share now reaches 100% (it stopped at 90%). The Create previews follow.
  • Forests you can ask for. The brief's Climate & water panel gains Forests: Open country, As the climate grows them, or Heavily forested, and a thesis that says "heavily forested", "endless forests", "taiga" or "a grassland world" sets it. Forests still come from the climate: the setting (Advanced: Forest cover) says how readily trees close in where the climate allows them, and never turns a desert green. On a test world forest covers 16.6% of the land as the climate grows it, 35.0% heavily forested and 4.3% as open country. A region you describe can ask for it too: "forest", "woodland", "taiga" or "old-growth" inside a drawn shape grows forest there, and "clearing", "grassland" or "meadows" keeps it open.
  • A planet can spin backwards. Advanced settings → Rotation & year gains Spin direction: Prograde, as Earth, or Retrograde, against its orbit, as Venus. A retrograde world's Coriolis force turns the other way, so its trade winds blow from the west, its mid-latitude winds from the east, its ocean gyres and currents run mirror-wise and its rain shadows fall on the other side of the ranges; cyclones drift east instead of west, the lunar tide comes a little sooner each day, and the sun rises in the west. A thesis that says "retrograde" or "the sun rises in the west" sets it. On a test world the zonal winds mirror exactly (trades -4.05 m/s become +4.05 m/s); prograde worlds are unchanged.
  • Deep Time plates carry whole continents. The plates used to be laid over the drawn crust and the sea alike, at much the same size, so an ocean plate could start out holding a slice of the continent and a plate boundary ran along a third of the coastline over a run. Now the continent is split only among the plates seeded on it, into pieces of varied size, and each of those plates carries its continent and a margin of sea, as Africa and the Americas do: a coast is the middle of a plate unless the plates' motions put a boundary there. On twelve seeds at the Detailed setting, the coastline that is a plate boundary fell from 35% to 27% over a run and from 28% to 23% in the era a world is built from, and the continents are no less varied (the largest landmass holds a median 44% of the land, 48% before). Plates start less alike in size; by the era a world is kept from their sizes are as varied as before, which is the part not yet answered. The earlier layout is kept as plate_layout = "legacy". Drawing your own plates is planned.
  • Deep Time grows ice by default. The ice, isostasy and sea-level model is now on unless a run turns it off: a cold era grows ice where it is cold enough, the crust under it sinks, the sea falls by the water the ice holds and shelves are exposed, and the era handed to the world keeps that coastline. On twelve seeds of the default Deep Time run, ice covers 3–9% of the planet at its peak, the sea falls 19–93 m in the coldest era, about 1% of cells change between land and sea in the final era, and one seed gains an ice-age land bridge that joins two landmasses; runs take under 1% longer. Off reproduces the model without ice exactly.
  • One biome classifier and one hydrology model. Before 1.0 no earlier model is kept. A world saved under the first biome classifier, or under hydrology model 1 or 2, is rebuilt with the current one the next time it is re-simulated, and the load report lists the setting it raised. New worlds were already built with these models: a fresh Sketch world of seed 991 is identical in all 139 saved arrays, its features, hydrology graph, names, lore and map sheets.
  • Six Advanced settings that did nothing are gone. Lake shore depth, lake catchment, salt-pan depth, salt-pan catchment and salt-pan aridity were read only by the old lake and salt-pan solver; the lake-node solver that builds every current world decides salt pans from each basin's water balance, so moving them changed nothing. The hydrology model version goes with them, since there is one model. A world saved with any of them still opens (config schema 20).

Engineering

  • One pipeline (FUTURE-WORKS A-13). generate.build_world calls world.override.generate_world, which runs _simulate_world and _publish_world with an empty edit list and no previous world; about 1,000 lines of generate.py are gone. What only a new world does (copying its tectonic intent and deep-time foundation beside it, live previews, the build-time record, the completion line, the atlas plan from the Create screen or the command line) hangs off ctx.generation and ctx.atlas_request; the plate loop is one function for both. The checkpoint a new world saves is keyed as its next, name-keeping rebuild will read it, and _fixed_point checks that keeping names would number every town and seat as the build did. Proof on Sketch 991: every saved array identical to the old builder; the other differences are the float32 handoff (city plans, a summary figure in its eighth digit, one pixel of one style); a new world against its first rebuild differs only in the rebuild's own records (overrides, atlas source, health comparison, the seam's reason); the resumed first rebuild equals a full one file for file.
  • The rebuild is split in two: _simulate_world (tectonics through settlements, natural regions, aquifers, and the reports that describe them, health included) and _publish_world (story pins onwards). The split alone changed no output: 410 of 410 files identical on a Sketch world. world/stage_checkpoint.py keeps what the second half reads: the stage objects cut to the attributes it was measured reading, arrays already in world_data.npz read from there, the rest stored compactly, signed with a key kept outside every world folder and loaded by an unpickler that builds only the classes a checkpoint holds. Reading anything it left out raises a BaseException that no except Exception can swallow, and the rebuild starts again from tectonics. The key covers the code, the resolved settings, every edit but story pins, the preserved terrain, the briefs and import recipe, the files the settings name, and what the simulation reads back from its own last output (where each town and realm seat stood, and the map seam); a checkpoint is only written after checking that reading those back would give the same simulation.
  • A rebuild of a world with realms traced on the canvas now writes the drawn-borders report again. The rebuild named the world's folder by a variable it had not set yet at that point, and the error was swallowed.
  • fantasy_intensity is saved as float32, like every other float field in world_data.npz.
  • Drawing every realm's arms as a picture, which each new world does, takes about a third of the time and much less memory: only the painted part of the shield is touched, and the light is laid on a band of rows at a time. The pictures are the same, byte for byte.
  • The Delta service trims the admin password and its secret before comparing them, and answers "not set on this service" when no admin password exists instead of "Not authorised". Both reached cartovox.org on 24 September.
  • The retired hydrology code is gone: the Planchon–Darboux fill, D8 routing, single-season runoff, the old lake-and-pan solver and its basin helper, and the version-2 channel rule (about 180 lines).
  • world/geopackage.py writes OGC GeoPackage 1.3 with the standard library's sqlite3 (application id, the three required tables, the geometry header before little-endian WKB); the GeoJSON and GeoPackage exports share one features document.