Full release notes · 2026-09-21

CartoVox 0.9.1

The workflows meet

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

0.9.1 is the integration release after the v0.9 interface overhaul. It does not add another collection of disconnected tools. It makes the paths already on the new survey sheet agree about what they will do, show their progress in the same places, and lead to a result an author can use.

A described region now has one meaning

  • Planning, preview, review and execution now use the same terrain operations. A brief for volcanic ground, highlands, a drowned region or a cave landscape no longer looks free in review and then begins a broad rebuild after Apply. The measured cells, affected systems and cost class come from the operations that execution will actually run.
  • Lore-only descriptions stay immediate. Naming and describing a place without asking CartoVox to alter the ground does not acquire a simulation cost merely because terrain words exist elsewhere in the feature.
  • Unknown edit buckets fail closed. A future edit type cannot quietly appear as zero work simply because the planner has not learned it yet.
  • The affected footprint is shared too. Preservation masks and local regeneration records now describe the same cells shown before Apply.

One progress handoff for an example world

  • Starting the example enters the normal generation runner immediately. Progress, elapsed time and the current stage appear in the same generation dock used by an ordinary build.
  • Cancel, failure and retry are visible where the work is happening. The example button is no longer the only sign that a several-minute task is running.
  • Reloading or navigating does not lose ownership of the job. A restored session reconnects to the active build, and a completed example opens as a real saved world.

PDF export has a setup, not a guess

  • Quick PDF remains one action. It produces the familiar A4 atlas without making a routine export slower.
  • Planned PDF exposes the choices the exporter already supported: PDF or ZIP delivery, A4 or A3 paper, lettering, which sheets are included, the expected page count and effective drawing density.
  • Limitations are shown before the expensive work starts. The setup uses the real atlas plan rather than estimating again in the browser.
  • Progress ends at the named file. A successful export presents the generated download instead of leaving the author to infer whether anything happened.

The writing and scene workspaces keep the room they are given

  • Hiding chapters on a compact screen now gives the height back to the manuscript. The editor no longer remains trapped in the short first row while an empty second row occupies most of the viewport.
  • The live writing state survives the layout change. Caret, save status, panel controls and focus behavior remain available when chapters are collapsed or restored.
  • Nested controls use the surface they are actually on. Light sheets and fixed-dark map instruments now provide their own field text, selection, disabled and focus colors, fixing pale text on a pale control without flattening the intended dark instruments.
  • Scene Studio joins the saved appearance system. Theme, text scale and density apply before first paint, and the canvas and inspector arrive ahead of infrequent linking and backup details. Existing scene files, world links, hierarchy, keyboard history and backup behavior remain in place.
  • Reading-ease bands render as prose again. Manuscript insight labels no longer expose escaped markup as part of the score.

Release evidence belongs to the exact candidate

  • Full source and browser reports record their commit, Git tree and clean or dirty state. A passing report from a different checkout cannot certify a later build.
  • Native verification writes a machine-readable report beside each installer. It records the artifact size and SHA-256, the host that ran the checks, the install/start/uninstall commands, and the build record read back from the installed payload.
  • Build records now include the Git tree as well as the commit. The Linux compatibility build carries this identity into its container instead of depending on Git being installed there.
  • Local staging carries verification evidence with the artifact. Replacing an installer cannot leave an older passing report attached to new bytes.
  • release.py certify accounts for every mandatory proof. It requires the exact version, clean synchronized source, annotated tag, full source and browser runs, production-resolution science review, recovery and upgrade review, destination interoperability, distribution decisions, dependency inputs and all four verified artifacts. A partial run says it is partial.
  • Publication fails while that certificate is incomplete. Existing v0.9 packages and reports remain historical evidence; they are not silently reused for 0.9.1.
  • Destination proof opens the files it certifies. The release gate retains hashed PDF, writing, vault, map, mesh, tabletop and project/scene archive samples, then parses or re-imports each one on the exact candidate. A list of export tests alone cannot stand in for files that another tool can read.

Compatibility and boundaries

  • Existing worlds, manuscripts and scenes keep their current file formats; this release changes workflow integration and release proof rather than forcing a project migration.
  • Production science now has a fixed 1440×720 candidate gate with exact numerical-library versions, saved-field hashes, invariant results, runtime and memory. The current run restores Hack's exponent to its production-scale reference band while retaining the known branching and uphill-reach warnings. Linux now uses pywebview's supported PySide6 backend under the LGPL option, retains the binding's licence metadata, and verifies that the shared Qt libraries remain replaceable. Native Windows and both Linux artifacts still require their exact-candidate platform verification reports.
  • Installers remain local release artifacts for the controlled beta. Source, tag and release notes have their own publication boundary.

Tester fixes collected before release

  • Windows map cell inspection waits through a short, bounded replacement window when a saved-world read overlaps an edit. Only the known revision race is retried; malformed coordinates and unrelated failures return immediately. This addresses a v0.9.0 Windows report and still needs a native Windows installer check.
  • Select feature now owns its map press rather than panning the map. It inspects an existing feature; Build, Carve and Refine tools place terrain strokes. Dragging while selecting does not place a feature accidentally.
  • Sculpt controls can be minimized while a tool stays active, exposing the polar caps beneath the panel. Pending terrain and change rasters use the chosen projection, including the two-hemisphere disk, and selection highlights follow it too. Changing projection discards an old preview and requests a fresh one without moving the authored coordinates.
  • Cmd/Ctrl+Z and Shift+Cmd/Ctrl+Z undo and redo pending Sculpt edits while Sculpt is active and no text field has focus. A painted stroke is one undo step even if it placed several stamps.
  • Linux packages include the exact reviewed LGPL 3.0 and GPL 3.0 texts, verify those bytes in frozen and installed payloads, and clear the compatibility build environment before resolving pinned dependencies. A shell quoting regression is covered by a focused build-script check.