I have been working on data inheritance recently. The kind of stuff that you usually see with prefabs, but I believe that all the assets should support data inheritance.

I just released an article how to do that on property and container level. It tries to cover both the low level bits and the UI. It's one of those problems that have to be worked as a whole.

https://github.com/memononen/data_inheritance

@MikkoMononen Thanks for the article, this kind of stuff is super-valuable!

I tried to build the project out of curiosity but got an error referring to a local path on your computer I believe. I'm a bit scared of CMake so I didn't dig deeper, but I thought I'd let you know!

@seb_degraff You're welcome :)

There's note at the end of the readme.md on how to fix that. Omar fixed a thing about how the dear bindings are packaged (now also includes the backends), but there was no download link at the time.

Looks like there's a new Dear ImGui being released today, which should allow me to fix that.

@MikkoMononen Oh sorry, shame on me for not RTFM!
Configuration worked, but I had a bunch of compilation errors I didn't manage to fix. Maybe due to my somewhat old macos version and apple clang. I'll try on linux sometime!
@seb_degraff Feel free to dump the errors on an issue. Could be that the cmake setup is borked on osx (have not tested it).
@MikkoMononen
Got this first, which I could solve by adding set(CMAKE_CXX_STANDARD 23) in CMakeLists.txt
```
In file included from /Users/seb/dev/data_inheritance/build/_deps/imgui_external-src/imgui_tables.cpp:198:
/Users/seb/dev/data_inheritance/build/_deps/imgui_external-src/imgui.h:303:5: error: unknown type name 'constexpr'
constexpr ImVec2() : x(0.0f), y(0.0f) { }
```
@MikkoMononen and then this one which I didn't look into:
```
In file included from /Users/seb/dev/data_inheritance/src/edit_gradient.c:4:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:66:
[...]
MacOSX.sdk/usr/include/sys/_types/_uid_t.h:31:31: error: typedef redefinition with different types ('__darwin_uid_t' (aka 'unsigned int') vs 'int32_t' (aka 'int'))
typedef __darwin_uid_t uid_t;
```
@MikkoMononen data_inheritance/src/utils.h:5:17: note: previous definition is here
typedef int32_t uid_t;
@seb_degraff Looks like the uid_t is type conflict with some darwin code, and the first one seems to be that it tries to compile the c++ imgui code as c.
@MikkoMononen Indeed, replacing uid_t by something else gets it to compile. (Even though *_t identifiers are technically reserved, not cool of apple squat uid_t when you include stdlib.h!)
The example runs and seems to work fine, thanks
@seb_degraff I fixed the uid_t issue, and added some hints for the compiler to deal c++ better, and also included dear bindings. If you have time, I would be curious if it fixes the issues you had. If you dont have time, that's fine.