Repository: godot
Issue: [Tracker] CSG issues
Labels: tracker,topic:3d

### Tested versions

- Reproducible in Master https://github.com/godotengine/godot/commit/aa8d9b83f66488dbb2c9c918e9016ef80f821fb4
- Not reproducible in 4.3

### System information

Windows 11, Nvidia 4000 series

### Issue description

The 4.4 CSG update is crucial for projects that need help building 3D design tools in the engine and their game. This 4.4 CSG update serves the core mission of an accessible game engine, and it would be a shame to revert to the 4.3 CSG.

Previously, the 4.3 CSG feature did not handle mesh subtraction and intersection well. Mesh addition was handled decently, although it had some corrupted triangles.

In 4.4, CSG was improved so that mesh subtraction, intersection and addition work, with the requirement that all input meshes must be manifold as defined by the original CSG work https://godotengine.org/article/godot-gets-csg-support/ in 2018.

## Issues and Pull Requests

~~Summary: Crash bugs are fixed. Most of the CSGMesh3D inputs from Mesh primitives have fixes incoming. We found a workaround for topologically zero-volume (quad and plane) meshes, but not RibbonTrailMesh.~~

~~Since 2018, many other types of Mesh have been added; although they were allowed to be placed in the CSGMesh3D, applying CSG to them wasn't mathematically sound.~~

The general workflow is that developers design models using the CSG Sphere, Box, Cylinder (Cone), Torus, and Polygon (Depth, Path and Spin). If developers can create manifold 3D meshes, they can also use them in CSGMesh3D secondarily.

- [ ] CSG shapes textures are mapped different than normal meshes #19143
- [ ] CSG collision is broken #98189
- [ ] Z-fighting occurs when a CSG node is selected due to gizmo drawing #99184
- [ ] CSGPolygon3D update in Inspector does not update the visual representation in the 3D editor #100490 (estimating post 4.4)
- [x] Provide a Blender to Godot Engine manifold tutorial https://github.com/godotengine/godot-docs/issues/10417#issuecomment-2549388701
- [x] CSGMesh is topologically a quad-triangle mesh with no volume, but the user’s use case involved creating CSGMeshes from 3d paths shaping a terrain. This was solved by placing a cube under the “quad mesh.” Error "Manifold creation from mesh failed" with Plane and Quad shapes, which are not rendered. #100014 -- PointMesh, RibbonTrailMesh, PlaneMesh -- Prevent these from being used in CSGMesh3D by @Calinou. Add a warning label about non-manifoldness to the CSG root node.
- [x] Updated Godot Engine manifold csg documentation
- [x] CSGPolygon3D - Certain numbers of Spin Sides always result in empty shape #100817
- [x] Push some warnings for CSG non manifold and other errors. #100361 
- [x] #100261
- [x] Mend gaps in meshes caused by trigonometric functions. #100020 -- Improve the ability of Mesh Primitives to be used in CSGMesh3D -- Fixes BoxMesh, CapsuleMesh, CylinderMesh, PrismMesh, SphereMesh, TorusMesh, TubeTrailMesh
	- [x] TextMesh—sometimes fonts may not be 3D manifolds by design error, but it works most of the time.
- [x] 4.4dev6 crashes when loading csgshape #100131 - Fixed in master due to `CameraServer* CameraServer::_create_builtin<CameraMacOS>()` erroring.
- [x] Crash with CSGPolygon3D in Spin mode #99888 -- Fixed by  Print better manifold errors and avoid crash on non manifold csg input. #99959 
- [x] CSGPolygon3D mode Path crashes when setting path_interval #100073 - Fixed in master due to `CameraServer* CameraServer::_create_builtin<CameraMacOS>()` erroring.

## Additional

Feel free to edit the issue to add more.

### Steps to reproduce

This is a tracker.

### Minimal reproduction project (MRP)

The contained bugs have MRPs.