v0.2.0
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+Soverwrites the open.demiurgfile
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 stallpresent()
indefinitely. Present is now uncapped — the ~60 fps frame timer already caps
GPU load — and--cpuwas added as an escape hatch (alongsideROXLAP_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.