{
    "connectFrom": {
        "key": "connectionType",
        "relations": {
            "integer":   [ "Node_Math", "Node_Equation", "Node_To_Text" ],
            "float":     [ "Node_Math", "Node_Equation", "Node_To_Text" ],
            "color":     [ "Node_Solid", "Node_Color_Data", "Node_Color_Mix" ],
            "surface":   [ "Node_Surface_data", "Node_Transform", "Node_Blend", "Node_Composite", "Node_Export" ],
            
            "path":      [ "Node_Line" ],
            "text":      [ "Node_Text", "Node_To_Number" ],
                                        
            "pathnode":  [ "Node_Line", "Node_Mesh_Create_Path" ],
            "struct":    [ "Node_Struct_Get" ],
            "atlas":     [ "Node_Atlas_Draw", "Node_Atlas_Get", "Node_Atlas_Set" ],
                                                                
            "gradient":  [ "Node_Gradient", "Node_Gradient_Extract" ],
            "armature":  [ "Node_Armature_Pose", "Node_Armature_Bind", "Node_Armature_Path", "Node_Armature_Sample" ],
            "buffer":    [ "Node_Surface_From_Buffer" ]
        }
    },
    "connectTo": {
        "key": "connectionType",
        "relations": {}
    },
    "context": {
        "key": "contextNode",
        "relations": {
            "Node_Group":        [ "Node_Group_Input", "Node_Group_Output", "Node_Group_Thumbnail" ],
            "Node_Iterate":      [ "Node_Iterate_Input", "Node_Iterate_Output", "Node_Group_Thumbnail", "Node_Iterator_Index", "Node_Iterator_Length" ],
            "Node_Iterate_Each": [ "Node_Group_Input", "Node_Group_Output", "Node_Group_Thumbnail", "Node_Iterator_Index", "Node_Iterator_Each_Length" ],
            "Node_Iterate_Filter": [ "Node_Group_Input", "Node_Group_Output", "Node_Group_Thumbnail" ],
            "Node_Feedback":     [ "Node_Feedback_Input", "Node_Feedback_Output", "Node_Group_Thumbnail" ],

            "Node_Fluid_Group":  [ "Node_Fluid_Add", "Node_Fluid_Apply_Velocity", "Node_Fluid_Update", "Node_Fluid_Render", "Node_Fluid_Render_Output" ],
            "Node_Rigid_Group":  [ "Node_Rigid_Object", "Node_Rigid_Force_Apply", "Node_Rigid_Render", "Node_Rigid_Render_Output" ],
            "Node_Strand_Group": [ "Node_Strand_Create", "Node_Strand_Gravity", "Node_Strand_Update", "Node_Strand_Render", "Node_Strand_Render_Texture" ],
            "Node_VFX_Group":    [ "Node_VFX_Spawner", "Node_VFX_Renderer", "Node_VFX_Renderer_Output" ]
        }
    }
}