buddhi1980 / mandelbulber2

Official repository for Mandelbulber v2
GNU General Public License v3.0
902 stars 115 forks source link

Implement Mandelbulb API #314

Open ghost opened 7 years ago

ghost commented 7 years ago

This critical index bridges mandelbulber from mandelbulb to Mandelbrot. We need to enable other software to generate 3D Mandelbrot systems. Please consider a strong and well tested [minimal] programmer's index for this system's interoperation. API object requires standard settings file as string. API object returns image data as libpng object.

ghost commented 7 years ago

Also include interface to https://github.com/buddhi1980/mandelbulber2/issues/278 Randomize that updates both settings file [string object] and image data [libpng object]

zebastian commented 7 years ago

In a way this is already present in a scriptable manner with the CLI.

IMHO: the more deeper step to let mandelbulber be run as library requires completely separating the mandelbulber "core" code from the ui and exposing a stable class API to the outside world to incorporate the lib on other software, like zlib for example. But this will be so much work to do that i dont expect it to happen anytime soon.

ghost commented 7 years ago

I agree with your input. Much of the refactoring process can be automated using productivity tools such as Resharper. The API requires massive effort that will take time. I need help specifically defining the API in the end user manual. After we have determined where the goalpost exists, then we try reduce the API functions to maximize stability.