BlenderMalt is a Malt Host for Blender.
It handles all the Scene data loading and syncronization and exposes a minimal UI suitable for a code-centric workflow.
BlenderMalt communicates with Malt through a Bridge instance. It takes care of generating a Malt Scene from the Blender DepsGraph, send it to Bridge for rendering and pass the result back to Blender. MaltPipeline.py handles Bridge instances, makes sure all Blender objects have their respective Pipeline Parameters registered as MaltPropertyGroups, and handles Meshes and Textures updates. MaltPropertyGroups store Malt Pipeline Parameters as native Blender PropertyGroups and convert them to Malt Scene parameters on request. They also can handle their own UI rendering automatically, all that is needed is to pass a Blender UI Layout to their draw_ui method. MaltMaterial.py handles the compilation (including automatic hot-reloading), UI rendering and storage as native Blender materials of Malt Pipeline materials. MaltMeshes.py retrieves any Blender geometry as vertex and index buffers and sends it to Bridge.
This module is highly optimized to allow real-time mesh editing and (when possible) retrieves vertex data directly from Blender internal C data through the CBlenderMalt library.