Sorry for the late Response.
It just looks like CMakeSettings.json and CMakePresets.json have a lot of overlap.
I am not sure if it makes sense to use both.
In the end all I am looking for is a platform and config independent build interface. Having to call
vcvarsall.bat before running cmake --build forces me to have another buildscript that wraps the cmake call and runs vcvarsall.bat whenever there is a windows-ninja configuration. This is a bit ugly and I am looking for a way to move that code into the cmake generate step so the user only has to select a configuration file and everything works.
CMakeSettings.json can not accomplish that because it is that wrapper around the call to cmake generate but it is only used by visual studio while I would like to keep my build-setup general enough to support all generators.