GGUI/Public/UIReflect.h file

Reflection of props structs: which of their fields an asset can set.

As components reflect their fields (TNX_REGISTER_FIELDS):

struct BoxProps
{
    GGSize Width;
    float Gap  = 0.0f;
    bool bWrap = false;
    GG_REGISTER_FIELDS(BoxProps, Width, Gap, bWrap)
};

The struct says which of its fields are properties, as member pointers and names. A widget registered with it (GG_REGISTER_WIDGET, UIWidgetRegistry.h) records each one in the widget registry: its file key from its name (bWrap is "wrap", MaxLines "maxLines", ZOrder "zOrder"), its kind from its type, its default from a default-made struct, and how to read and write it. Fields not listed (handlers, selection sets) are code's alone.