[ This feature has been updated for prototype users]
A new feature coming next is 2D SDF Group which was originally proposed for a 2d sdf editor.
It allows users to combine primitives in 2D space, and then extrude the compound shape just as the basic profile shapes.
Bevel/Hole/Cone can also be applied to 2D Groups.
Some tools are redesigned for this new feature, such as:
[Please note that some operations are improved or become different after the demo videos are recorded.]
Polylines with Variable Fillets
The purple fillet gizmo for polygons can be also applied to 2D/3D polylines now.
When the constraint is U (uniform), the changes of size and radius on one control point will be applied to all control points.
Adjust the fillet radius precisely by values in Gizmo->Spline Profile->...
2025-07-19 06:36:56 +0000 UTC
View Post
You can find the download link at the homepage: https://ephtracy.github.io/
I do have some plans for some major updates of mvox, but maybe wait until finishing the first milestone of mcsg.
One issue of the current camera system is that the camera is always rotated around the global gravity direction. It's not convenient when you want to edit shapes in its own space (e.g., editing points in a rotated Bezier shape or editing strokes in a rotated object).
Therefore, I added a new camera button besides the recenter camera button to reorient the camera to the local coordinate of the selected stroke/object. Then the rotation/panning of the camera will all be op...
2025-07-06 18:45:53 +0000 UTC
View Post
In the update of this month, a simple grid snapping can be enabled for placing control points of polygons and polylines.
It becomes easier to create right-angle edges in polygons/polylines now.
The grid spacing can be modified in Gizmo->Snap->Grid.
The control points for Bezier polygons/polylines are not on the curves when grid snapping is enabled.
Grid snapping for normal moving gizmo may be added in the next u...
2025-07-05 04:16:11 +0000 UTC
View Post
In the beta update of next month, the purple fillet gizmo for polygons can be also applied to 2D/3D polylines. This feature will make it easier to create objects like pipes.
When the constraint is U (uniform), the changes of size and radius on one control point will be applied to all control points.
You can also adjust the fillet radius precisely by values in Gizmo->Spline Profile->R.
2025-06-28 00:25:13 +0000 UTC
View Post
Group Mirror
Each group has its own local coordinate for mirroring and pivoting.
Transformation tools and menus are refactored to support this feature.
This feature will also support merging/importing objects with mirrored primitives in the future. (Currently, one object can only have one global mirror plane, so it's impossible to merge two objects with different mirror planes.)
[Demo] 2025-06-21 02:48:57 +0000 UTC
View Post
You can enable Display Mirror Plane on the bottom to show the local mirror plane of a group (the mirror plane at the root level is always at the object origin).
When a set of strokes are grouped, the group pivot will be automatically set to the center of the selected strokes. If the selected strokes include mirrored strokes, the pivot center will be set at the global mirror plane.
If you want to manually set the group pivot, you can selec...
2025-06-16 00:10:31 +0000 UTC
View Post
A short demonstration about the robustness of the new Helix SDF (S/Z-Type) implementation on tall and flat profile shapes (The range of the profile size is also increased).
There are several interesting techniques involved to optimize the computation of Helix SDFs, but I don't have enough energy to write articles about the details.
The prototype version 0.6.6 will be released today (massive refactoring).
The corresponding beta version will be released in one or two weeks aft...
2025-06-14 11:36:05 +0000 UTC
View Post
This upcoming release includes many major and minor refactoring and improvement, which requires some time to test. It'll be available for prototype tier first, and available for beta users later this month.
Group Mirror
Each group has its own local coordinate for mirroring and pivoting.
Transformation tools and menus are refactored to support this feature.
Groups have all possible properties (Blend, Mirror, Round, Shell, Color) now.
2025-06-07 03:24:43 +0000 UTC
View Post
You can redownload the program from the beta download link.
Fixed some bugs for Helix-Z primitive.
Helix-Z primitives with cylinder/sphere profile have bevel/round properties now (see screenshot)
Fixed some ui bugs for displaying bevel/round properties.
Next month beta will implement Group Mirror/Smooth Mirror, which is the basis for some future updates.
There will also be some minor improvements such as adding moving gizmo for...
2025-05-30 22:00:07 +0000 UTC
View Post
I spent some time on prototyping area lighting in MagicaCSG this weekend (though I need to finish bug fixes for the last beta version, which will be released by the end of this month).
This new feature allows you to add and transform multiple rectangle light sources in the scene (similar to the background images).
You can use area lighting to cast nice hard or soft shadows (depending on the size):
2025-05-26 00:15:28 +0000 UTC
View Post
New advanced mirror features will be supported in the next prototype/beta update.
These features allow users to combine symmetric shapes more flexibly.
Smooth Mirror
Mirror Blending can blend the primitives across the mirror planes to smooth the seams.
Group Mirror
Groups also have mirror property now.
Local Mirror
Each Group has its own mirror planes and origin now.
2025-05-17 13:15:45 +0000 UTC
View Post
This beta version includes the following improvements on basic primitives and properties:
Z Profile Helix
the helix profile can be extruded either along a spiral path [S] or along the z axis [Z] now.
https://www.patreon.com/posts/magicacsg-z-sdf-128046319
Groove Intersection
groove blending can be applied to intersection Boolean to...
2025-05-11 12:08:10 +0000 UTC
View Post
In the next update of this month:
Round and Shell properties are added to Subgroups.
Hole, Shell and Cone properties are added to Character and Polygon primitives.
These improvements will allow to create more complex hard surfaces.

2025-05-09 23:31:51 +0000 UTC
View Post
A new helix type will be added in the next update.
In the previous version, the helix profile is extruded along a spiral path.
Now, the helix profile can be extruded along the z axis.
It' useful to create shapes like drills and pillars.
Notes:
this primitive is expensive to evaluate, so you may limit the number of helix primitives or use small blending factors in the scene.
the regular polygon can have up to 64 sides now (4,5,6,8-side polyg...
2025-05-03 08:48:07 +0000 UTC
View Post
In the next update, groove blending can be also applied to intersection Boolean.
You can use blending to add bevels on the top and bottom sides as well.
It's useful to create curved objects like cloths without showing the contact surface.
2025-05-02 22:01:51 +0000 UTC
View Post
I've done some preliminary work on the live SDF operations on mesh primitives recently.
It shows promising results and potentials, while also reveals some bottlenecks and unaddressed issues. Some new algorithms are under development, and some tradeoffs are made between performance and quality.
SDF can be always converted to watertight meshes, but not vice versa. Meshes with self-intersection, open holes, T-junction/dangling edges (non-manifold geometry) can cause difficulties in d...
2025-04-19 09:41:32 +0000 UTC
View Post
A new property Fillet Radius (Spline Profile->R) is added to each control point for Polygons in Line Mode (Note that all special properties are colored green in the panel now).
you can press and the drag the circle (pointing to the outside of the polygon) to change the fillet radius for each corner.
You can also select the stroke (click the stroke surface), and then change the value in Spline Profile->R. This will change the radius for ...
2025-04-05 12:48:32 +0000 UTC
View Post
A perspective helper tool for novice artists is under development...
or maybe just an experiment with the usage of homogenous coordinates:)
A simple demonstration about one-point, two-point, three-point perspectives:

2025-04-01 21:51:21 +0000 UTC
View Post
Vaughan Solo created a series of tutorial videos to demonstrate features and usages of MagicaCSG:
https://www.youtube.com/playlist?list=PLv8HciXoFYX9bmFn_Kp97RsM1s1APU7m3
I may need to write some official documents to reveal details at some point as well.
2025-03-29 17:18:52 +0000 UTC
View Post
For Polygons in Straight Line Mode, currently, you can change Bevel to add uniform fillets to all corners. This method has two issues:
Therefore, a new property Fillet Radius (Spline Profile->R) is added to each control point.
you can press and the drag the circle (pointing to the outside of the polygon) to ...
2025-03-08 02:47:43 +0000 UTC
View Post
Variable Sizes
Bezier Curves can assign variable sizes to each control point now, no more global Line Width and Taper.
The sizes are quadratically interpolated which has C1 continuity.
It has the same size constraints (V/U/L) from spline. V for variable sizes, U for uniform sizes, L for linearly tapered sizes (as the old Taper).
You can select a control point on the 2D/3D Bezier curve and then change the corresponding size by the sc...
2025-03-02 16:18:20 +0000 UTC
View Post
Since we already have a bunch of 2D graphic primitives in the toolbox, how about developing a vector graphics editor as well?
Early tests showed some promising results, though there are lots of unsolved issues (especially with soft blending and anti-aliasing), and the SDF method doesn't show too many advantages over traditional SVG methods (performance, effects, etc.).
But maybe, it's still handy to have a toy vector graphics tool, as a platform for experiments and research purpos...
2025-02-22 15:24:58 +0000 UTC
View Post
-------------------------------------
some bug fixes have been made for the prototype release.
please redownload the program from the last post.
-------------------------------------
We now have two types of curves in MagicaCSG: Bezier and Spline.
Here are some comparisons between the two:
Bezier
has 2D and 3D modes
has ...
2025-02-20 11:54:43 +0000 UTC
View Post
High-Quality Bezier curves with variable sizes come to the prototype tier!
Bezier Curves can assign variable sizes to each control point now, no more global Line Width and Taper.
The sizes are quadratically interpolated which has C1 continuity.
It has the same size constraints (V/U/L) from spline. V for variable sizes, U for uniform sizes, L for linearly tapered sizes.
You can select a control point on the 2D/3D Bezier curve and then ...
2025-02-08 00:19:43 +0000 UTC
View Post
You can enable Local Symmetry (was previously Rhombus) to create symmetric Bezier Polygon/2D/3D Polylines.
(Symmetry Y can also be applied to Triangle and Joint shapes to create Rhombus and Football shapes).
(Symmetry Z can also be applied to Extruded shapes with cone properties to create two-sided cone/beveled shapes).
The first and last control points will be fixed on the axes. You can also change their continuity to C1 to make the shape ...
2025-02-05 09:41:42 +0000 UTC
View Post
Hotkey Changes
XY Scale Constraint: ALT + X/Y Scale Gizmo
XYZ (Uniform) Scale Constraint: ALT + Z Scale Gizmo
Union/Subtract/Intersection/Replace: 1/2/3/4
Change Single Point Continuity: C
Change Entire Continuity: V
UX of Control Points
2025-02-01 03:54:39 +0000 UTC
View Post
Change to the same method used in Swept Splines to add/remove points in Polygons/Polylines:
No more P2/P3/P4/P5 options.
Maximum number of points increased to 8.
SHIFT+Drag a control point to insert a new control point next to it.
(* the hotkey was previously ALT+Drag)
Press Delete to remove the selected control point.
Can also click the...
2025-01-11 23:35:03 +0000 UTC
View Post
For Polygons and polylines shapes:
You can select Line (C0) / Bezier (C1) mode to change the continuity for all control points.
When you click a control point, the control point will be selected, and its color will turn purple. Then you can change its continuity to C0/C1 at the top bar.
Click the stroke surface to switch back to the stroke gizmo.
In this way you can create complex primitives with mixed straight lines and Bezier curves...
2025-01-11 14:02:39 +0000 UTC
View Post