QuartzUISceneBackdrop: 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/QuartzUISceneBackdrop.h) · integration recipe · practical guide
FQuartzUISceneBackdropRegion
Advanced type. One validated browser-local scene-backdrop region, normalized to the web view.
Prerequisites / integration: Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials. Use the QuartzUISceneBackdrop recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Mark HTML data-quartzui-backdrop=frost; set exact player. Per-view snapshots feed render-owned textures; teardown removes regions.
Avoid: Expecting arbitrary CSS filters or cross-browser blur. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUISceneBackdrop.h#L9)
FQuartzUISceneBackdropSnapshot
Advanced type. Immutable result of one bounded DOM layout snapshot.
Prerequisites / integration: Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials. Use the QuartzUISceneBackdrop recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Mark HTML data-quartzui-backdrop=frost; set exact player. Per-view snapshots feed render-owned textures; teardown removes regions.
Avoid: Expecting arbitrary CSS filters or cross-browser blur. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUISceneBackdrop.h#L17)
FQuartzUISceneBackdropBlurPlan
Advanced type. Bounded render plan for the shared quarter-resolution scene blur.
Prerequisites / integration: Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials. Use the QuartzUISceneBackdrop recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Mark HTML data-quartzui-backdrop=frost; set exact player. Per-view snapshots feed render-owned textures; teardown removes regions.
Avoid: Expecting arbitrary CSS filters or cross-browser blur. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUISceneBackdrop.h#L27)
FQuartzUISceneBackdropRenderPolicy
Internal type. Pure policy separated from RDG submission so its cost bounds stay testable.
Prerequisites / integration: Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials. Use the QuartzUISceneBackdrop recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Mark HTML data-quartzui-backdrop=frost; set exact player. Per-view snapshots feed render-owned textures; teardown removes regions.
Avoid: Expecting arbitrary CSS filters or cross-browser blur. This named helper is runtime-owned; inspect/use it through the owner above rather than constructing it in gameplay.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUISceneBackdrop.h#L36)
FQuartzUISceneBackdropContract
Advanced type. Parsing and browser bootstrap contract for scene-aware backdrop regions.
Prerequisites / integration: Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials. Use the QuartzUISceneBackdrop recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Mark HTML data-quartzui-backdrop=frost; set exact player. Per-view snapshots feed render-owned textures; teardown removes regions.
Avoid: Expecting arbitrary CSS filters or cross-browser blur. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUISceneBackdrop.h#L44)
FQuartzUISceneBackdropRenderer
Advanced type. Internal render integration used by each SQuartzUIBrowser.
Prerequisites / integration: Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials. Use the QuartzUISceneBackdrop recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Mark HTML data-quartzui-backdrop=frost; set exact player. Per-view snapshots feed render-owned textures; teardown removes regions.
Avoid: Expecting arbitrary CSS filters or cross-browser blur. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUISceneBackdrop.h#L61)
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 "Layout/Geometry.h"
class ULocalPlayer;
/** One validated browser-local scene-backdrop region, normalized to the web view. */
struct QUARTZUIRUNTIME_API FQuartzUISceneBackdropRegion
{
FVector4f NormalizedRect = FVector4f(0.0f, 0.0f, 0.0f, 0.0f);
float BlurRadius = 0.0f;
float CornerRadius = 0.0f;
};
/** Immutable result of one bounded DOM layout snapshot. */
struct QUARTZUIRUNTIME_API FQuartzUISceneBackdropSnapshot
{
int32 Revision = 0;
int32 CssViewportWidth = 0;
int32 CssViewportHeight = 0;
float DevicePixelRatio = 1.0f;
TArray<FQuartzUISceneBackdropRegion> Regions;
};
/** Bounded render plan for the shared quarter-resolution scene blur. */
struct QUARTZUIRUNTIME_API FQuartzUISceneBackdropBlurPlan
{
int32 DownsampleFactor = 4;
int32 BlurPassCount = 0;
float MinimumBlurRadius = 0.0f;
float MaximumBlurRadius = 0.0f;
};
/** Pure policy separated from RDG submission so its cost bounds stay testable. */
class QUARTZUIRUNTIME_API FQuartzUISceneBackdropRenderPolicy
{
public:
static constexpr int32 DownsampleFactor = 4;
static FQuartzUISceneBackdropBlurPlan BuildBlurPlan(TConstArrayView<float> PhysicalBlurRadii);
};
/** Parsing and browser bootstrap contract for scene-aware backdrop regions. */
class QUARTZUIRUNTIME_API FQuartzUISceneBackdropContract
{
public:
static constexpr int32 MaxRegions = 8;
static constexpr int32 MaxPayloadCharacters = 32 * 1024;
/** Parses untrusted page JSON into a strictly bounded, normalized snapshot. */
static bool TryParseSnapshot(
const FString& PayloadJson,
FQuartzUISceneBackdropSnapshot& OutSnapshot,
FString& OutError);
/** Installs the data-quartzui-backdrop observer used by normal packaged pages. */
static FString MakeInitializationScript();
};
/** Internal render integration used by each SQuartzUIBrowser. */
class QUARTZUIRUNTIME_API FQuartzUISceneBackdropRenderer
{
public:
static void Startup();
static void Shutdown();
static void UpdateView(
const void* ViewKey,
const FGeometry& Geometry,
const FQuartzUISceneBackdropSnapshot& Snapshot,
bool bEnabled, ULocalPlayer* LocalPlayer = nullptr);
static void RemoveView(const void* ViewKey);
};