Integrating with the gmic-qt plugin needs the following components:
- a host_krita.cpp that implements QApplication. It links to the gmic-qt plugin, and is shipped by dtschump. It cannot link to any Krita functionality, but can link to any Qt functionality. It is started by the krita gmic-qt plugin, and communicates with krita through shared memory and ipc. See http://doc.qt.io/qt-5/qsharedmemory.html and https://cgit.kde.org/krita.git/tree/libs/ui/qtsingleapplication/qtlocalpeer.h for inspiration.
- a krita gmic-qt plugin that is loaded into Krita, adds a config page to the settings dialog where the user can indicate where the gmic-qt-krita plugin can be found. host_krita then communicates with this plugin to ask for layers, and to indicate that new layer data has been written to shared memory.
Pixels are exchanged as RGBA float values.