QuartzUICoreContract: declaration reference
0.57.0-dev · beta source documentation. Native, Blueprint, Editor and rendering examples are source-reviewed, not executed in Unreal during this scan. See validation and limits.
Pinned source (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h) · integration recipe · practical guide
FQuartzUIEmptyContract
Advanced type. Empty JSON object used by parameterless built-in requests. Wire role: result of quartzui.action (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.action', payload) with the generated exact payload; this type is its result. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L13)
FQuartzUIInputStateContract
Advanced type. Exact browser-facing input snapshot published as quartzui.input. Wire role: payload of quartzui.input (state).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.subscribeState('quartzui.input', value => { /* read this DTO */ }). Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L20)
FQuartzUIBoundActionStateContract
Advanced type. Exact browser-facing contextual action snapshot. Wire role: payload of quartzui.actions (state).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.subscribeState('quartzui.actions', value => { /* read this DTO */ }). Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L39)
FQuartzUIShellStateContract
Advanced type. Retained-document screen and Unreal-owned input intent published as quartzui.shell. Wire role: payload of quartzui.shell (state).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.subscribeState('quartzui.shell', value => { /* read this DTO */ }). Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L49)
FQuartzUINotificationEventContract
Advanced type. One bounded localized notification emitted through quartzui.notifications. Wire role: payload of quartzui.notifications (event).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.subscribeEvent('quartzui.notifications', value => { /* read this DTO */ }). Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L65)
FQuartzUIActionRequestContract
Advanced type. Strict web-to-Unreal named action request accepted only by explicit registrations. Wire role: payload of quartzui.action (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.action', payload) with the generated exact payload; this type is its payload. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L78)
FQuartzUISoundRequestContract
Advanced type. Semantic UI-audio cue selected by the page and rendered by project code. Wire role: payload of quartzui.sound.play (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.sound.play', payload) with the generated exact payload; this type is its payload. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L88)
FQuartzUISoundResultContract
Advanced type. Whether the exact player's project audio listener received the cue. Wire role: result of quartzui.sound.play (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.sound.play', payload) with the generated exact payload; this type is its result. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L98)
FQuartzUILoadingStateContract
Advanced type. Exact browser-facing loading presentation published as quartzui.loading. Wire role: payload of quartzui.loading (state).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.subscribeState('quartzui.loading', value => { /* read this DTO */ }). Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L111)
FQuartzUINavigationEventContract
Advanced type. Navigation Event Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: payload of quartzui.navigation (event).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.subscribeEvent('quartzui.navigation', value => { /* read this DTO */ }). Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L132)
FQuartzUIBackEventContract
Advanced type. Back Event Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: payload of quartzui.back (event).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.subscribeEvent('quartzui.back', value => { /* read this DTO */ }). Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L141)
FQuartzUIBackResultContract
Advanced type. Request and echoed result for web-first Back ownership. Wire role: payload of quartzui.back.resolve (request), result of quartzui.back.resolve (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.back.resolve', payload) with the generated exact payload; this type is its payload. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L151)
FQuartzUIPingRequestContract
Advanced type. Ping Request Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: payload of quartzui.ping (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.ping', payload) with the generated exact payload; this type is its payload. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L163)
FQuartzUIPingResultContract
Advanced type. Ping Result Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: result of quartzui.ping (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.ping', payload) with the generated exact payload; this type is its result. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L172)
FQuartzUIAccessibilityAnnouncementRequestContract
Advanced type. Accessibility Announcement Request Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: payload of quartzui.accessibility.announce (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.accessibility.announce', payload) with the generated exact payload; this type is its payload. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L187)
FQuartzUIAccessibilityAnnouncementResultContract
Advanced type. Accessibility Announcement Result Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: result of quartzui.accessibility.announce (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.accessibility.announce', payload) with the generated exact payload; this type is its result. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L196)
FQuartzUISceneBackdropRegionContract
Advanced type. Scene Backdrop Region Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Generate -App=core; use wire-catalog.md for subscriptions/requests. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L208)
FQuartzUISceneBackdropRequestContract
Advanced type. Scene Backdrop Request Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: payload of quartzui.backdrop.update (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.backdrop.update', payload) with the generated exact payload; this type is its payload. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L235)
FQuartzUISceneBackdropResultContract
Advanced type. Scene Backdrop Result Contract: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below. Wire role: result of quartzui.backdrop.update (request).
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: client.request('quartzui.backdrop.update', payload) with the generated exact payload; this type is its result. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L256)
EQuartzUIContractMessageKind
Advanced type. Contract Message Kind: a declared type in immutable middleware wire dtos and message catalog; use its exact fields/operations below.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Generate -App=core; use wire-catalog.md for subscriptions/requests. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L271)
FQuartzUIContractMessageDeclaration
Advanced type. One explicit wire name and its reflected DTOs; no runtime class scan occurs.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Generate -App=core; use wire-catalog.md for subscriptions/requests. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L280)
FQuartzUIContractManifest
Advanced type. Native manifest accepted by the Editor generator and extensible by project C++ code.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Generate -App=core; use wire-catalog.md for subscriptions/requests. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L297)
FQuartzUICoreContract
Advanced type. C++ source of truth for the middleware-owned protocol-v1 surface.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUICoreContract recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Generate -App=core; use wire-catalog.md for subscriptions/requests. Core identity is process-stable; messages are value copies.
Avoid: Copying core fingerprint into an app with providers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUICoreContract.h#L307)
Complete header
Source snapshot, not an additional example. Unreal annotations distinguish exposed Blueprint nodes from native-only/private methods.
#pragma once
#include "CoreMinimal.h"
#include "QuartzUIActions.h"
#include "QuartzUIGASContract.h"
#include "QuartzUIInput.h"
#include "QuartzUIPresentation.h"
#include "QuartzUICoreContract.generated.h"
/** Empty JSON object used by parameterless built-in requests. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUIEmpty"))
struct QUARTZUIRUNTIME_API FQuartzUIEmptyContract
{
GENERATED_BODY()
};
/** Exact browser-facing input snapshot published as quartzui.input. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUIInputState"))
struct QUARTZUIRUNTIME_API FQuartzUIInputStateContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "modality"))
EQuartzUIInputModality Modality = EQuartzUIInputModality::MouseAndKeyboard;
UPROPERTY(meta = (QuartzUIName = "inputProfile"))
FString InputProfile;
UPROPERTY(meta = (QuartzUIName = "gamepadConnected"))
bool bGamepadConnected = false;
UPROPERTY(meta = (QuartzUIName = "glyphs"))
TMap<FString, FQuartzUIResolvedInputGlyph> Glyphs;
};
/** Exact browser-facing contextual action snapshot. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUIBoundActionState"))
struct QUARTZUIRUNTIME_API FQuartzUIBoundActionStateContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "actions"))
TArray<FQuartzUIBoundAction> Actions;
};
/** Retained-document screen and Unreal-owned input intent published as quartzui.shell. */
USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIShellState"))
struct QUARTZUIRUNTIME_API FQuartzUIShellStateContract
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Shell", meta = (QuartzUIName = "screen"))
FString Screen;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Shell", meta = (QuartzUIName = "inputMode"))
EQuartzUIInputMode InputMode = EQuartzUIInputMode::GameAndUI;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Shell", meta = (QuartzUIName = "visible"))
bool bVisible = true;
};
/** One bounded localized notification emitted through quartzui.notifications. */
USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUINotificationEvent"))
struct QUARTZUIRUNTIME_API FQuartzUINotificationEventContract
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Notifications", meta = (QuartzUIName = "id"))
FString Id;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Notifications", meta = (QuartzUIName = "message"))
FString Message;
};
/** Strict web-to-Unreal named action request accepted only by explicit registrations. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUIActionRequest"))
struct QUARTZUIRUNTIME_API FQuartzUIActionRequestContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "action"))
FString Action;
};
/** Semantic UI-audio cue selected by the page and rendered by project code. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUISoundRequest"))
struct QUARTZUIRUNTIME_API FQuartzUISoundRequestContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "sound"))
FString Sound;
};
/** Whether the exact player's project audio listener received the cue. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUISoundResult"))
struct QUARTZUIRUNTIME_API FQuartzUISoundResultContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "routed"))
bool bRouted = false;
UPROPERTY(meta = (QuartzUIName = "reason", QuartzUIOptional, QuartzUIStringValues = "unhandled|rate-limited"))
FString Reason;
};
/** Exact browser-facing loading presentation published as quartzui.loading. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUILoadingState"))
struct QUARTZUIRUNTIME_API FQuartzUILoadingStateContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "title"))
FString Title;
UPROPERTY(meta = (QuartzUIName = "detail"))
FString Detail;
UPROPERTY(meta = (QuartzUIName = "progress"))
float Progress = 0.0f;
UPROPERTY(meta = (QuartzUIName = "indeterminate"))
bool bIndeterminate = true;
UPROPERTY(meta = (QuartzUIName = "revision"))
int32 Revision = 0;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUINavigationEvent"))
struct QUARTZUIRUNTIME_API FQuartzUINavigationEventContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "action"))
EQuartzUINavigationAction Action = EQuartzUINavigationAction::Next;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUIBackEvent"))
struct QUARTZUIRUNTIME_API FQuartzUIBackEventContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "requestId"))
int64 RequestId = 0;
};
/** Request and echoed result for web-first Back ownership. */
USTRUCT(meta = (QuartzUITypeName = "QuartzUIBackResult"))
struct QUARTZUIRUNTIME_API FQuartzUIBackResultContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "requestId"))
int64 RequestId = 0;
UPROPERTY(meta = (QuartzUIName = "handled"))
bool bHandled = false;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUIPingRequest"))
struct QUARTZUIRUNTIME_API FQuartzUIPingRequestContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "contractHash"))
FString ContractHash;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUIPingResult"))
struct QUARTZUIRUNTIME_API FQuartzUIPingResultContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "protocol"))
int32 Protocol = 1;
UPROPERTY(meta = (QuartzUIName = "session"))
int64 Session = 0;
UPROPERTY(meta = (QuartzUIName = "contractHash"))
FString ContractHash;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUIAccessibilityAnnouncementRequest"))
struct QUARTZUIRUNTIME_API FQuartzUIAccessibilityAnnouncementRequestContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "message"))
FString Message;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUIAccessibilityAnnouncementResult"))
struct QUARTZUIRUNTIME_API FQuartzUIAccessibilityAnnouncementResultContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "announced"))
bool bAnnounced = false;
UPROPERTY(meta = (QuartzUIName = "reason", QuartzUIOptional, QuartzUIStringValues = "inactive|unavailable|rate-limited"))
FString Reason;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUISceneBackdropRegion"))
struct QUARTZUIRUNTIME_API FQuartzUISceneBackdropRegionContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "effect", QuartzUIStringValues = "frost"))
FString Effect;
UPROPERTY(meta = (QuartzUIName = "x"))
float X = 0.0f;
UPROPERTY(meta = (QuartzUIName = "y"))
float Y = 0.0f;
UPROPERTY(meta = (QuartzUIName = "width"))
float Width = 0.0f;
UPROPERTY(meta = (QuartzUIName = "height"))
float Height = 0.0f;
UPROPERTY(meta = (QuartzUIName = "blur"))
float Blur = 0.0f;
UPROPERTY(meta = (QuartzUIName = "radius"))
float Radius = 0.0f;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUISceneBackdropRequest"))
struct QUARTZUIRUNTIME_API FQuartzUISceneBackdropRequestContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "revision"))
int32 Revision = 0;
UPROPERTY(meta = (QuartzUIName = "viewportWidth"))
int32 ViewportWidth = 0;
UPROPERTY(meta = (QuartzUIName = "viewportHeight"))
int32 ViewportHeight = 0;
UPROPERTY(meta = (QuartzUIName = "devicePixelRatio"))
float DevicePixelRatio = 1.0f;
UPROPERTY(meta = (QuartzUIName = "regions"))
TArray<FQuartzUISceneBackdropRegionContract> Regions;
};
USTRUCT(meta = (QuartzUITypeName = "QuartzUISceneBackdropResult"))
struct QUARTZUIRUNTIME_API FQuartzUISceneBackdropResultContract
{
GENERATED_BODY()
UPROPERTY(meta = (QuartzUIName = "revision"))
int32 Revision = 0;
UPROPERTY(meta = (QuartzUIName = "regions"))
int32 Regions = 0;
UPROPERTY(meta = (QuartzUIName = "stale"))
bool bStale = false;
};
UENUM(BlueprintType)
enum class EQuartzUIContractMessageKind : uint8
{
State,
Event,
Action,
Request
};
/** One explicit wire name and its reflected DTOs; no runtime class scan occurs. */
struct QUARTZUIRUNTIME_API FQuartzUIContractMessageDeclaration
{
EQuartzUIContractMessageKind Kind = EQuartzUIContractMessageKind::State;
FString Name;
const UScriptStruct* PayloadType = nullptr;
const UScriptStruct* ResultType = nullptr;
static FQuartzUIContractMessageDeclaration State(const TCHAR* Name, const UScriptStruct* PayloadType);
static FQuartzUIContractMessageDeclaration Event(const TCHAR* Name, const UScriptStruct* PayloadType);
static FQuartzUIContractMessageDeclaration Action(const TCHAR* Name, const UScriptStruct* PayloadType);
static FQuartzUIContractMessageDeclaration Request(
const TCHAR* Name,
const UScriptStruct* PayloadType,
const UScriptStruct* ResultType);
};
/** Native manifest accepted by the Editor generator and extensible by project C++ code. */
struct QUARTZUIRUNTIME_API FQuartzUIContractManifest
{
FString ContractName = TEXT("quartzui.core");
int32 Version = 1;
TArray<FQuartzUIContractMessageDeclaration> Messages;
/** Explicit provider classes reflected by the same runtime/generator schema. */
TArray<const UClass*> Providers;
};
/** C++ source of truth for the middleware-owned protocol-v1 surface. */
class QUARTZUIRUNTIME_API FQuartzUICoreContract final
{
public:
static FQuartzUIContractManifest BuildManifest();
/** Checked-in runtime identity of the canonical generated core declarations. */
static const TCHAR* GetContractHash();
};