That immediacy is mostly thanks to OpenCSG which is essentially a magic trick to quickly fake 3d rendering of booleans between 3d objects using stencil buffer of gpu. http://opencsg.org/
In other words it renders the cylinders cubes spheres etc and their unions differences etc, to a 2d screen without actually calculating the intersection of those meshes / solids in 3d space.
This is the special thing about OpenSCAD design is they figured out how to build an abstract syntax tree that could either be sent to OpenCSG, CGAL (old engine), Manifold (new engine), or even the bare bones 'ThrownTogether' renderer (ancient engine on machines with no gpu that just draws 'negatives' as green blobs iirc).
It should be theoretically possible for any CAD program to do this. its just a lot of work.
> This is the special thing about OpenSCAD design is they figured out how to build an abstract syntax tree that could either be sent to OpenCSG, CGAL (old engine), Manifold (new engine), or even the bare bones 'ThrownTogether' renderer (ancient engine on machines with no gpu that just draws 'negatives' as green blobs iirc).
Mostly.
I've still had several instances when drawing curved solids that the OpenCSG renderer worked well with (visually) but when it came to render-time, there was something wrong. It is very hard to debug things, or at least I found it so, when it goes wrong like that.
They added it in the dev branch. There hasn't been a stable release since 2021 and there has been a lot of ongoing development in the meantime, many people use the development release since it's significantly faster.
In other words it renders the cylinders cubes spheres etc and their unions differences etc, to a 2d screen without actually calculating the intersection of those meshes / solids in 3d space.
This is the special thing about OpenSCAD design is they figured out how to build an abstract syntax tree that could either be sent to OpenCSG, CGAL (old engine), Manifold (new engine), or even the bare bones 'ThrownTogether' renderer (ancient engine on machines with no gpu that just draws 'negatives' as green blobs iirc).
It should be theoretically possible for any CAD program to do this. its just a lot of work.