Hello,
Just some follow-up information about YafaRay v4.
As I have to re-integrate YafaRay v3 intersector in v4, I need to make the fundamental YafaRay code manageable. I'm working quite hard lately on reorganizing, "cleaning" and removing unnecessary complications from the YafaRay code before I re-merge the Embree code and the rest of the improvements I've been working on over the last 12 months.
My objective is to simplify the code base as much as I can, while keeping the current v3 functionality (and even optimizing and reducing a bit render times with the YafaRay native intersector).
I'm also working on defining a better and more clearly defined "public API". In fact, the next YafaRay will be mostly a single library I will call "libyafaray4.dll" for Windows and "libyafaray4.so" for Linux, etc. In addition to that library, we will have the libraries for Qt and Python/Ruby bindings that will still be in separate files.
I managed to make all the new libyafaray4 dependencies optional. So, if all the options are disabled, we will be able to fully build and test libyafaray4 without the need for any dependency whatsoever.
As for the problem of "how to test libyafaray4" without even XML libraries, well I have made a interesting addition to YafaRay. In addition to exporting scenes in XML as until now, we will be able to export scenes from Blender to Python .py files and as C++ source .cpp files. Those exported scene files can be rendered against libyafaray4 directly. The python files will need the python dependency and binding libraries, but the C++ scene source files can now be rendered to a "barebones" libyafaray4 library without any dependency whatsoever.
This should allow barebones yafaray4 usage and testing. That should make things much easier for debugging etc, as well as focus on a better defined (and much smaller and focused) public API that also 3rd party software can use.
So, even if all these improvements are not very spectacular, they should be the foundation for a new generation yafaray, more compact but at the same time more modular and expandable.
I will keep you informed of my progress. Sorry for the extremely slow development, but this is really difficult and I have limited time to work on YafaRay. In any case I hope it's worth it when this gets released (unless there aren't any YafaRay users left by that time

Best regards!