Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 15 Jun 15:09
38ebb37

Editing and save quality-of-life: voxel-edge readability, a proper Save / Save
As flow, non-blocking file I/O, and crash-recovery autosave.

Added

  • Voxel-edge overlay (View ▸ Voxel edges, on by default): a light wireframe on
    exposed voxel faces so boundaries read even on flat-shaded faces in shadow,
    where coplanar voxels would otherwise blend into one patch (there is no
    ambient occlusion / light baking).
  • Save / Save As for the project: Ctrl+S overwrites the open .demiurg file
    without a dialog once its path is known; Save As picks a new path. The kv6 and
    vxl menu entries are now labelled Export.
  • File I/O no longer freezes the window (which the OS would flag as hung and
    offer to kill, losing the model): the open/save dialogs run on a worker
    thread off the event loop, and saves serialize/write on a worker thread
    too, with a "Saving…" spinner.
  • Background autosave: while there are unsaved changes the project is snapshotted
    to the OS temp dir every 20 s; on the next launch a surviving autosave (after a
    crash) is loaded automatically with a "Recovered work" banner. A clean exit
    removes it.

Fixed

  • Startup could open a white, frozen window on some Windows GPUs/drivers/remote
    sessions: the forced Fifo (vsync) present mode could stall present()
    indefinitely. Present is now uncapped — the ~60 fps frame timer already caps
    GPU load — and --cpu was added as an escape hatch (alongside ROXLAP_GPU=0)
    when GPU device creation itself hangs.
  • Place tool: when the cursor ray hits no voxel it now falls back to the model's
    floor (the volume's bottom face), so you can seed voxels — and rebuild a model
    emptied of its last voxel — instead of having nothing to click.