Classify some handlers as half-baked

This commit is contained in:
2026-03-15 17:47:42 -04:00
parent acf6bd3335
commit 4b811cd7ee
50 changed files with 75 additions and 67 deletions

View File

@@ -18,7 +18,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_AnimBlueprint_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_AnimBlueprint_ListSlotNames : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_AnimBlueprint_ListSyncGroups : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -29,7 +29,7 @@ struct FBlendSpaceSampleEntry
float Y = 0.0f;
};
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_AnimBlueprint_SetBlendSpaceSamples : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -16,7 +16,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Asset_Delete : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -13,7 +13,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Asset_FindReferences : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Asset_Rename : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_BlendSpace_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -18,7 +18,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_BlueprintGraph_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_BlueprintGraph_Delete : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_BlueprintGraph_Rename : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -16,7 +16,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_AddComponent : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -31,7 +31,7 @@ struct FDispatcherParamEntry
FString Type;
};
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_AddEventDispatcher : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -20,7 +20,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_AddFunctionParameter : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_AddInterface : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_AddVariable : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -20,7 +20,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_ChangeFunctionParameterType : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -17,7 +17,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_ChangeVariableType : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_Compile : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -16,7 +16,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_Diff : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -18,7 +18,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_Dump : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_ListComponents : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -19,7 +19,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_ListEventDispatchers : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -13,7 +13,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_ListInterfaces : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -17,7 +17,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_RefreshAllNodes : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_RemoveComponent : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -16,7 +16,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_RemoveFunctionParameter : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_RemoveInterface : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_RemoveVariable : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_Reparent : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_Search : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -22,7 +22,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Blueprint_SearchContents : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -16,7 +16,7 @@
// HandleListClasses — discover available UClasses
// ============================================================
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Class_Search : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -12,7 +12,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Class_ShowProperties : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Enum_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -14,7 +14,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_MaterialFunction_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -13,7 +13,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Material_Compile : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -15,7 +15,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Material_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -13,7 +13,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Material_DumpParameters : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -19,7 +19,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_StateMachine_AddState : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -17,7 +17,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_StateMachine_AddTransition : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -17,7 +17,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_StateMachine_RemoveState : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -20,7 +20,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_StateMachine_SetAnimation : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -23,7 +23,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_StateMachine_SetBlendSpace : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -16,7 +16,7 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_StateMachine_SetTransitionRule : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -29,7 +29,7 @@ struct FStructPropertyEntry
FString Type;
};
UCLASS()
UCLASS(meta=(HalfBaked))
class UMCP_Struct_Create : public UObject, public IMCPHandler
{
GENERATED_BODY()

View File

@@ -25,13 +25,36 @@ public:
return TEXT("List all available commands with their descriptions.");
}
void EmitCommandList()
void EmitCommand(UClass* Class)
{
if (Verbose)
{
MCPUtils::FormatCommandHelp(Class);
return;
}
UMCPServer::Print(MCPUtils::GetHandlerName(Class));
UMCPServer::Print(TEXT("("));
bool bFirst = true;
for (TFieldIterator<FProperty> PropIt(Class, EFieldIterationFlags::None); PropIt; ++PropIt)
{
if (!bFirst) UMCPServer::Print(TEXT(","));
bFirst = false;
if (PropIt->HasMetaData(TEXT("Optional"))) UMCPServer::Print(TEXT("?"));
UMCPServer::Print(MCPUtils::PropertyNameToJsonKey(PropIt->GetName()));
}
UMCPServer::Print(TEXT(")\n"));
}
void EmitCommandList(bool bHalfBaked)
{
FString QueryLower = Query.ToLower();
FString PrevGroup;
for (UClass* Class : MCPUtils::CollectHandlerClasses())
{
if (Class->HasMetaData(TEXT("HalfBaked")) != bHalfBaked)
continue;
FString ToolName = MCPUtils::GetHandlerName(Class);
if (!ToolName.ToLower().Contains(QueryLower))
continue;
@@ -45,31 +68,16 @@ public:
PrevGroup = Group;
}
if (Verbose)
{
MCPUtils::FormatCommandHelp(Class);
continue;
}
UMCPServer::Print(ToolName);
UMCPServer::Print(TEXT("("));
bool bFirst = true;
for (TFieldIterator<FProperty> PropIt(Class, EFieldIterationFlags::None); PropIt; ++PropIt)
{
if (!bFirst) UMCPServer::Print(TEXT(","));
bFirst = false;
if (PropIt->HasMetaData(TEXT("Optional"))) UMCPServer::Print(TEXT("?"));
UMCPServer::Print(UMCPTypes::TypeToText(*PropIt));
UMCPServer::Print(TEXT(" "));
UMCPServer::Print(MCPUtils::PropertyNameToJsonKey(PropIt->GetName()));
}
UMCPServer::Print(TEXT(")\n"));
EmitCommand(Class);
}
}
virtual void Handle() override
{
UMCPServer::Printf(TEXT("\n"));
EmitCommandList();
EmitCommandList(false);
UMCPServer::Print(TEXT("\n--- Half-Baked (may have issues) ---\n\n"));
EmitCommandList(true);
UMCPServer::Printf(TEXT("\n"));
MCPFetcher::PrintDocs();
}