Hi Martin,

Sounds really good and needed as reality showed that being GPL is not 
enough to make adding functionality easy. Looks also like all devs loose 
to much time reviewing, so c/c++ plugins are a really good solution to 
avoid so many modifiers die in the patch tracker or be limited to some 
custom builds like in past year. I hope you get some help to make it a 
reality!

Regards,
Mat

Am 01/11/2015 um 16:11 schrieb Martin Felke:
> Hi, today i was thinking a bit about possible approaches on how to
> add a C / C++ Plugin system to blender.
> This is a short (a bit unsorted) list of my thoughts and might serve as
> discussion start point perhaps.
>
> Blender Plugin System
> ---------------------
>       
> - Idea: Have a modularized approach, add C/C++ to core without
>    modifying it later
> - track presence of modules and status (OK, Not Functional, Changed)
> - store Plugin Data separately from Blend (e.g. FM simulation /
>    shard data), so core can start with basic blend only if plugin is
>    absent can try to load plugin while loading data
>      
> - dynamic compilation of module sources via Python / CFFI or LLVM,
>    as in OSL Nodes
> - access core api thru bpy or directly thru RNA or even DNA
> - source distribution of plugins is C / C++  + some py Wrapper
>    for autocompile or binary distribution in case no compiler is present
> - plugins have certain structure and versions for all OS;
>    Hash, Version, source, binaries
> - should be installable and activatable like addons
>       
> - pack CFFI and distutils to python distro of blender
> - windows fix: declspec, symbol export so linking will work
>       
> - plugin development addon: provide DNA / RNA headers
>    (and C sources or precompiled stuff) + project generators
>    for standard IDEs, to give a starting point for plugin devs
>       
> - core support: - Plugin Management system which handles plugins
>                  - modify ID and Non-ID base structures to include
>                 info about plugin origin
>                  - save,load data per plugin / chunked
>                 (and bundle differently together)
>                  - plugin crash handler
>                 (so not the entire core goes down with a
>                 failing plugin)
>
> - plugins should expose py api too, so addons can build upon them too
> - plugin repos and updating / automatic compilation system
>    (after update) ?
>
> _______________________________________________
> Bf-committers mailing list
> [email protected]
> http://lists.blender.org/mailman/listinfo/bf-committers

_______________________________________________
Bf-committers mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to