---
title: Changelog
order: 12
---

Version history for Chisel.

## 3.0.0

The viewport renderer is rebuilt from the ground up. Per-frame tile building, primitive culling, and tape pruning now run as GPU compute passes; navigation and refinement are decoupled; and the per-chain limits double. Also new: F12 rendering, Mirror Object, an exact depth-curve primitive, and a big round of modifier and menu UX.

### New

- **F12 rendering** — render the SDF scene through the active camera to the Render Result
- **Mirror Object** — mirror a shape across any other object, not just its own origin; moving the mirror object updates the result live
- **Mirror across the active object** — mirror all selected shapes across the active one in a single step
- **Depth curves rebuilt** — the Curve primitive hugs the drawn Bezier exactly: circles are exact, sharp corners stay sharp, concave spans stay smooth
- **Pinned modifiers** — pin a modifier to keep it at the bottom of the stack; new modifiers insert above the pins
- **Boolean / Displace target picker** — a native object search field for picking the target
- **`Ctrl + D` Chisel duplicate** — duplicates a shape together with its modifier graph (group cuts stay group cuts)
- **Apply Modifiers** — convert to mesh and clean up the source shapes in one click
- **Cycle hotkeys** — `[` / `]` cycle the primitive type, `;` / `'` cycle the modifier operation (Chisel tool only)
- **RMB context menu overhaul** — Type picker, Swap Modifier, modal-adjust shortcuts, plus copy / duplicate / snap / parent / collection entries
- **Pie menu dual buttons** — click adds a primitive or modifier, `Shift` + click swaps it on everything selected
- **Show Bounds** for non-rendered SDF helpers, plus a Bounds outline mode
- **Render flag decoupled from viewport display** — hide a shape from the render without hiding it in the viewport
- **Debug preferences** — diagnostics report, pipeline-cache tools, and a Verbose Logging toggle (console is quiet by default now)
- **Tool tooltip** shows the addon version and the full hotkey list

### Performance

- **GPU compute pipeline** — tile binning, per-tile primitive masks, interval pruning, and tape compaction all happen on the GPU; the CPU no longer touches per-tile work
- **Two-state render loop** — navigation draws synchronously at adaptive resolution while the full-quality frame settles on a worker and lands when ready
- **Dynamic Resolution** — automatically scales navigation resolution to hold a target FPS (Performance panel)
- **Per-chain limits doubled** — 256 primitives and 512 instructions per chain
- Per-chain occupancy grids skip empty space (replaces the scene-wide grid)
- Clean-frame caching — camera-only frames reuse tiles, tapes, and materials; edits invalidate just the touched object or material instead of the whole scene
- Coalesced per-primitive GPU loads in the chain interpreter (~10% faster march)
- Front-to-back tile ordering and per-chain step budgets tiered by primitive count
- **Apple Silicon** — the new renderer runs natively on Metal

### Fixed

- *Convert* cutting flat faces through chamfered booleans
- *Convert* clipping chamfer-smooth blends at the mesh boundary; converted normals now match the rendered surface
- Bake producing all-black maps for boolean objects; standalone bakes rendering the wrong output map
- Twist / Bend mismatch between the viewport and the converted mesh
- Boolean-seam noise and black glitches on multi-chain scenes, especially at a distance
- Curve clipping when rotated or far from the origin, blend gaps, navigation holes, and broken normals
- Crash on `Ctrl + D` duplicate (two separate causes, both fixed)
- Crash on undo from a stale handler reference
- *Veil* no longer hides the objects you currently have selected
- The `Q` pie menu only opens inside the Chisel tool; `Alt + Q` still works everywhere
- *Convert to Mesh* from the RMB menu now opens its options dialog
- Cone / Trapezoid proxy mesh not updating on cap changes or type switches

### Compatibility

- Blender `4.5.7+` and `5.x` — wheels for Python 3.11 and 3.13, on Windows, Linux, and macOS (Apple Silicon)
- Existing 2.x scenes load unchanged
- Depth curves pick up the rebuilt SDF automatically — shapes now follow the drawn curve exactly, so loosely-drawn curves may fill out slightly at the corners
- Addon / wheel mismatch is now detected by a build-hash handshake — a stale wheel shows a "rebuild wheels" notice instead of failing silently

## 1.2.0

### New

- **Array modifier** — repeat shapes along an offset, with smooth blending between copies
- **Circle Array modifier** — repeat radially around X / Y / Z
- **Curve Tube** primitive — 3D Bezier sweep with per-point radius (`Alt + S`)
- **Curve Revolve** primitive — sweep a 2D profile around an axis
- **N-sided prism** (3, 5, 6, 8) with independent bevel and cap rounding
- **Trapezoid** with independent bevel and cap rounding
- **Five rounding / blending profiles** — Round, Sharp, Soft, Tight, Chamfer
- **Mirror Smooth** modal in the pie menu
- **SDF custom normals** option in the convert-to-mesh operator
- **Auto-expand bounding box** — replaces the old manual-padding setting
- **Built-in matcaps** with color tint
- **Custom primitive icons** in the pie and add menus
- **Modifier panel toolbar** — add, remove, and reorder modifiers without leaving the panel
- **Viewport render resolution** setting
- **Progressive settled rendering** — sharper frames once the viewport stops moving
- **Blender 4.5 / EEVEE Next** compatibility

### Performance

- Faster camera orbit and panning
- Smoother viewport rotation across dense scenes
- Static-frame matrix caching to avoid redundant work

### Fixed

- *Clean* operator works on any SDF object, not just parented children
- Curve boolean rendering and cache refreshes correctly
- Curve Revolve profile no longer creates negative-radius artifacts when crossing the axis
- Bake no longer produces black images on certain GPU drivers
- Pie menu modifier rows no longer overlap
- Prism bevel and cap match between viewport and mesh converter
- Prism chamfer blends and ray-march overshoot corrections
- First-frame rotation stutter and undo-related crashes
- Zero-rounding shapes render cleanly; cylinder rim normals are smooth
- Torus rebuilds correctly after editing minor radius
- Adaptive mesh refinement no longer leaves holes
- Flat shading after hide/unhide / undo is gone
- Broken chains are skipped instead of flat-shaded
- Gamma correction in the bake system is version-aware
- macOS / Metal compatibility

## 1.0.3

### Fixed

- macOS / Metal backend compatibility

## 1.0.2

### Fixed

- Orthographic rendering — hit condition, depth mapping, and LOD

## 1.0.1

### New

- Progressive shader initialization with UI status warnings

### Fixed

- OpenGL compatibility for boolean chain rendering

## 1.0.0

- Initial release
- 9 SDF primitives: Sphere, Box, Cylinder, Cone, Torus, Capsule, Prism, Trapezoid, Curve
- Boolean operations: Difference, Union, Intersect with 3 blend profiles
- Solidify and Mirror modifiers
- Edge rounding with Sphere, Smooth, and Linear profiles
- Ray-marching render engine with matcap shading
- Adaptive quality and BVH acceleration
- Mesh conversion: Dual Contouring, Marching Cubes
- Map baking: Normal, Height, Mask
- Pie menu for quick access to all operations
