Full release notes · 2026-08-28

CartoVox 0.6.1

App settings, saved recipes, accessibility controls, and world provenance

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

CartoVox gains a global App settings surface, a Parchment Light theme, accessibility controls, and saved recipes for combinations you tune in Advanced Settings. The World tab also gains a record of what each world was built with, and says plainly whether its illustrated atlas can still be created. Existing worlds open unchanged and no migration runs.

App settings

  • A gear beside Help & learn, or Ctrl/Cmd + comma, opens a global settings dialog. It is not a fifth author destination: the dashboard stays mounted underneath and is handed back untouched on close.
  • Six sections: Appearance, Accessibility, Workspace & layout, Creation defaults, Data & privacy, and Updates & support.
  • Changes apply immediately. There is no Save button, because a Save button can disagree with what is already on the screen.
  • Every setting is local to this browser or this installed copy. There is no account and no synchronisation; nothing about your preferences is sent anywhere.

A second theme

  • Parchment Light joins CartoVox Dark: warm paper rather than a white inversion, with the accent darkened so it reads on paper and warm, shallow shadows in place of black ones.
  • Follow system resolves to either theme and re-resolves live when the operating system changes. The choice is stored, not the resolved value, so following the system keeps following it.
  • Every text colour in both themes meets WCAG AA against every surface it can appear on. This is computed by the test suite rather than recorded as a remembered number.
  • The one deliberate change to CartoVox Dark's appearance is its error colour, which measured 4.13:1 against the lightest surface and now measures 5.25:1. Nothing else about CartoVox Dark moved; a computed-style comparison across 42 elements found that single difference.

Accessibility

  • Text size at 100%, 110% or 125%, driven by a single root scale. Dashboard type is now expressed relative to that scale, so a reader who has already enlarged their browser font is no longer overridden by fixed pixel sizes.
  • Comfortable and Compact interface density, which move chrome spacing and control height and never map detail. Touch targets stay at least 44 by 44 on phone layouts.
  • Reduced motion, honoured by the interface rather than merely stored. A system request for reduced motion always wins, whatever is chosen here.
  • The dialog is a proper modal: focus moves in, stays inside, and returns to the control that opened it. Every control has a visible label and a real form input behind it, so selection is never signalled by colour alone.

Workspace, layout and creation defaults

  • Choose where Atlas opens: the Library, Create, or the destination you were last using.
  • Choose whether Atlas remembers the section you had open in each destination. Turning it off ignores what was saved rather than erasing it, so turning it back on restores your sections.
  • Open or reset the Layout customiser from settings. The Layout drawer remains the fast route and is unchanged; existing hidden-region choices survive this release untouched.
  • Hiding the top bar hides the settings button with it, so the fixed Layout handle now also offers a way back to App settings.
  • The generation defaults from Create appear here too, editing the same record rather than a copy. Changing either surface updates the other. They are labelled as defaults for new generation runs and never alter a world you have already built.

Saved recipes and safer iteration

  • Save the current Advanced Settings sheet as a named recipe: the built-in preset plus only the settings you changed. Recipes appear under Your recipes in the World shape picker and can be exported or imported as bounded, validated JSON.
  • The World tab's build record now offers Build another like this. It loads the world's recipe into Create without copying the seed, so the next run follows the same choices without recreating the same world.
  • Atlas preserves the settings used by a run before generation begins, including failed or cancelled runs. The completion panel offers Adjust these settings as a direct route back to the sheet.
  • Draft settings and the selected recipe survive a reload or desktop restart. The Advanced settings button shows the number of active overrides so restored choices are never invisible.
  • Switching presets, loading another recipe, or clearing overrides now asks before discarding unsaved changes and states how many settings would be lost. Deleting a recipe leaves its current values on the sheet.
  • Recipes are authored work rather than app preferences, so Reset all app settings does not remove them. Up to 24 named recipes can be stored locally; export is the way to move one between installations.

Workflow and interface fixes

  • Create now gives the World Brief and candidate grid a usable minimum height and lets the page scroll on shorter displays instead of crushing the brief into a small internal viewport.
  • The Advanced Settings sheet stays intact across reloads and generation runs, and the completion panel provides a clear way back to the settings that produced the run.
  • Map inspectors and lab panels keep a readable dark-on-map palette under Parchment Light. Missing colour, background and shadow tokens were replaced with defined semantic tokens and are now guarded by tests.
  • The map-resolution notice now lives in the Render Studio bar instead of permanently covering the map. It returns to the map only while that map is fullscreen.

Custom themes

  • Create, duplicate, rename, apply, export and import themes. A theme is a small JSON file of named colours.
  • A theme cannot add styles, fonts, images, links or scripts, cannot reach the file system, and cannot change a world, a map or anything you export. Every value must be a hex colour and is applied as a single custom property, so anything that is not a colour is refused by the same rule.
  • Contrast is checked before a theme can be applied. A theme whose text cannot be read is refused, and the message names the pair and the ratio rather than saying "invalid".
  • Editing previews a draft; the dashboard keeps the theme you had until you apply. Importing a file previews it too — selecting a file never applies a theme.
  • Up to twelve themes, 64 KB per imported file. An imported id never overwrites a theme you already have, and an unreadable saved theme is dropped on load rather than applied.
  • Exporting carries the schema version, name, base and colours. No paths, no worlds, no other preferences, no tester identity.

How this world was built

  • The World tab gains a "How this world was built" disclosure: seed, preset, grid, whether the world came from an imported heightfield, a Tectonic Director intent or a saved geological history, and the settings that differ from the preset.
  • Worlds record all 336 resolved configuration fields, and almost none of them were chosen by anyone. The panel shows the short list an author is responsible for rather than the whole sheet.
  • Filesystem paths are deliberately not reported, and the grid is described as an observation rather than a recovered choice: the record stores the resolution a Quick run produced, not the fact that Quick was picked.

Creating the illustrated atlas later

  • A world built without the illustrated atlas can usually still grow one, drawn from its saved fields and plate framing without re-running terrain, climate, rivers, settlements, names or lore. That has been possible for some time; what it lacked was any sign of it from the World tab.
  • The panel now says which of three situations a world is in: plates already drawn, plates still possible with a pointer to Create publication atlas, or no saved atlas source and a re-simulation needed. Previously the last two were both silence.

Updates, support and privacy

  • Automatic update checking can be turned off. It gates only the once-a-day startup check; Check now keeps working, so declining unprompted network access does not remove your ability to ask.
  • Installed-app version, updates, folders, diagnostics and bug reporting now live in Updates & support rather than inside the Manual, which keeps a link to them. There is one support panel to fix rather than two that drift apart.
  • About reports the running version and build mode. In a browser tab that now comes from a small read-only endpoint, so the version is answerable outside the installed app for the first time.
  • Copy app info copies name, version, build mode and platform for a bug report, and never paths, keys, environment variables, world names or anything you have written.
  • Diagnostics bundles are assembled from build and system information plus redacted logs. App settings and custom themes are never read when one is built.

Themes do not change what Atlas produces

Maps, illustrated plates, vector and scientific exports, PNG products and project backups are drawn from the world, not the interface. No simulation or rendering code reads an appearance preference, and the settings surface makes exactly one network request, with no body.

This was measured. A generated world's 121 files were hashed, five theme switches and text-size and density changes were made with a map, its tools and its inspectors on screen, and the files were hashed again: byte-for-byte identical, with no network requests during the changes.

Compatibility

  • Existing worlds open unchanged. No migration runs and no saved world file is rewritten.
  • Existing Layout, collapsed-panel, remembered-section, generation and creation-guide preferences are all preserved.
  • CartoVox Dark remains the default, so an installation that never opens settings looks as it did apart from the error-colour correction described above.
  • Preferences remain local to one browser or installation, as they already were.

Known limitations

  • Display-cache usage reporting and cache clearing are not in this release. They need native file-system work whose failure mode is deleting real project data, and that belongs in its own change rather than alongside a settings shell.
  • There is no export or import of all preferences. Theme export exists; general portability is not promised until it is built and tested.
  • High-contrast theme variants are not included. Both built-in themes meet AA, but a dedicated high-contrast set is separate work.
  • Mobile layouts remain for review rather than authoring, as before.