Highlights
Paint v2 — WYSIWYG decal preview (#549, PR #960)
The decal tool now shows the actual artwork on its quad while you place and transform it, instead of a flat translucent tint. You no longer commit a rectangle to find out what you stamped.
- Live preview on the quad — the decal image is uploaded to a GPU texture and sampled by the overlay. The upload is cached on the source image, so dragging, rotating and scaling re-draw geometry only rather than re-uploading every frame.
- Preview matches the bake — commit feathers the outer edge of the image, so a preview of the raw source showed a hard border that softened only after committing. Both paths now share one
featherSource()and one soft-edge constant, so what you see is what gets baked. - The decal follows the surface while you drag it — previously it slid along the plane it was first placed on and kept that angle across the whole model. It now re-seats onto the surface under the cursor and re-orients to lie flush, preserving the size and in-plane rotation you set (a naive re-place would reset both). Dragging off the mesh falls back to sliding along the last plane.
- Depth-aware: the artwork is occluded by geometry in front of it, while the outline and handles still draw on top so they stay grabbable.
rig is now advertised on the CLI, Docker and Action surfaces (#959)
qtmesh rig (auto-rigging, #407) has worked since it shipped but was missing from every surface that documents it — it never appeared in qtmesh --help, the GitHub Action command description, or the Docker entrypoint's explicit subcommand list. All three now list it. No behaviour change to rigging itself.
Full changelog: 3.33.0...3.34.0