UNPKG

@3dsource/types-unreal

Version:

A set of types for unreal module using in 3dsource projects

2,560 lines (2,526 loc) 148 kB
/** * This file is auto-generated by the API parser * Please note that any changes in this file may be overwritten * Version: 2025-11-27 10:36:38 */ /** @description Change resolution window mode. */ declare enum EResolutionMode { Fullscreen = "Fullscreen", WindowedFullscreen = "WindowedFullscreen", Windowed = "Windowed" } /** @description Type of Asset for all PAKs. */ declare enum EAssetType { none = "none", product = "product", material = "material", environment = "environment", level = "level", camera = "camera", showcase = "showcase", screenshot = "screenshot", light = "light" } /** @description Dimension type. */ declare enum EDimensionType { none = "none", millimeter = "millimeter", centimeter = "centimeter", meter = "meter", kilometer = "kilometer", inch = "inch", foot = "foot", yard = "yard", mile = "mile" } /** @description SequenceLoopBehavior. */ declare enum ESequenceLoopBehavior { none = "none", loop = "loop", pingPong = "pingPong", loopSection = "loopSection", pingPongSection = "pingPongSection" } /** @description Measure axis position. */ declare enum EBoolState { none = "none", trueState = "trueState", falseState = "falseState" } /** @description Items types that can be placed in scene. */ declare enum ESceneItemType { products = "products", lights = "lights", pawn = "pawn" } /** @deprecated Use {@link EDimensionLineZPlacement} All deprecated properties marked as optional. Use with care! @description Placement of Z dimension line. */ declare enum EMeasureAxisZPosition { front = "front", left = "left", right = "right", leftRight = "leftRight", back = "back" } /** @description Placement of vertical (Z axis) line based on camera view. Near or front, left, right, far or back side of the bounding box */ declare enum EVerticalLinePlacement { near = "near", left = "left", right = "right", leftRightBasedOnCamera = "leftRightBasedOnCamera", far = "far" } /** @description Placement of horizontal (X, Y axis) lines along top, bottom, top-bottom face of the bounding box */ declare enum EHorizontalLinePlacement { top = "top", bottom = "bottom", topBottomBasedOnCamera = "topBottomBasedOnCamera" } /** @description Dimension line appearance. */ declare enum EDimensionLine { solid = "solid", dashed = "dashed" } /** @description Dimension line end appearance. */ declare enum EDimensionLineTerminator { none = "none", cube = "cube", sphere = "sphere", tickMark = "tickMark", arrowHead = "arrowHead" } /** @description Measure axis position. */ declare enum EMeasurementRenderMode { lit = "lit", emissive = "emissive", overlay = "overlay" } /** @description Measure axis position. */ declare enum EPaddingUnit { pixel = "pixel", cm = "cm" } /** @description Curve type. */ declare enum ECurve { linear = "linear", inSine = "inSine", outSine = "outSine", inOutSine = "inOutSine", inQuad = "inQuad", outQuad = "outQuad", inOutQuad = "inOutQuad", inCubic = "inCubic", outCubic = "outCubic", inOutCubic = "inOutCubic", inQuart = "inQuart", outQuart = "outQuart", inOutQuart = "inOutQuart", inQuint = "inQuint", outQuint = "outQuint", inOutQuint = "inOutQuint", inExpo = "inExpo", outExpo = "outExpo", inOutExpo = "inOutExpo", inCirc = "inCirc", outCirc = "outCirc", inOutCirc = "inOutCirc", inBack = "inBack", outBack = "outBack", inOutBack = "inOutBack", inElastic = "inElastic", outElastic = "outElastic", inOutElastic = "inOutElastic", inBounce = "inBounce", outBounce = "outBounce", inOutBounce = "inOutBounce" } /** @description Fit options. */ declare enum EFitMethod { none = "none", byLocation = "byLocation", byRotation = "byRotation", top = "top", bottom = "bottom", front = "front", back = "back", right = "right", left = "left" } /** @description Movement allowance along specified axis. */ declare enum EMovementAllowance { none = "none", planeYZ = "planeYZ", planeXY = "planeXY", planeXZ = "planeXZ", axisX = "axisX", axisY = "axisY", axisZ = "axisZ" } /** @description Alignment options. */ declare enum EAlignment { byBottomSide = "byBottomSide", byTopSide = "byTopSide", byFrontSide = "byFrontSide", byBackSide = "byBackSide", byRightSide = "byRightSide", byLeftSide = "byLeftSide" } /** @description Gizmo type. */ declare enum EGizmoType { translation = "translation", rotation = "rotation", scale = "scale", none = "none" } /** @description Pawn camera control mode. */ declare enum EControlMode { none = "none", select = "select", orbit = "orbit", pan = "pan", dolly = "dolly" } /** @description Pawn movement mode. */ declare enum EPawnMovementMode { none = "none", around = "around", aroundBlocking = "aroundBlocking", walk = "walk", aroundObstacles = "aroundObstacles", productsControl = "productsControl" } /** @description Light mode. */ declare enum ELightMode { NONE = "NONE", RECT = "RECT", PANEL = "PANEL" } /** @description Rectangle light type. */ declare enum ERectLightType { rect = "rect", circ = "circ", hexa = "hexa" } /** @deprecated Don't need anymore. All deprecated properties marked as optional. Use with care! @description App type. */ declare enum EAppType { none = "none", platform = "platform", metabox = "metabox", vps = "vps", abg = "abg", htmx = "htmx", proampac = "proampac" } /** @description DLSS mode. */ declare enum EDlssMode { Off = "Off", Auto = "Auto", DLAA = "DLAA", UltraQuality = "UltraQuality", Quality = "Quality", Balanced = "Balanced", Performance = "Performance" } /** @description Events to listen for frontend. */ declare enum EEvent { sceneState = "sceneState", cameraChanged = "cameraChanged" } /** @description A vector in 2-D space composed of components (X, Y) with floating point precision. */ interface FVector2DJson { /** @description Vector's X component. Default value: 0.0 (float) */ x: float; /** @description Vector's Y component. Default value: 0.0 (float) */ y: float; } /** @description Structure for integer points in 2-d space. */ interface FIntPoint2DJson { /** @description Holds the point's X-coordinate. Default value: 0 */ x: int32; /** @description Holds the point's Y-coordinate. Default value: 0 */ y: int32; } /** @description Structure for dimensions by integer points in 2-d space. */ interface FDimension2DJson { /** @description Holds the point's X-coordinate. Default value: 0 */ width: int32; /** @description Holds the point's Y-coordinate. Default value: 0 */ height: int32; } /** @description Structure for min and max values. */ interface FMinMaxJson { /** @description Holds the min value. Default value: 0 */ min: float; /** @description Holds the max value. Default value: 0 */ max: float; } /** @description All rotation values are stored in degrees. */ interface FRotatorJson { /** @description Rotation around the right axis (around Y axis), Looking up and down (0=Straight Ahead, +Up, -Down) Default value: 0.0 (float) */ pitch: float; /** @description Rotation around the up axis (around Z axis), Running in circles 0=East, +North, -South. Default value: 0.0 (float) */ yaw: float; /** @description Rotation around the forward axis (around X axis), Tilting your head, 0=Straight, +Clockwise, -CCW. Default value: 0.0 (float) */ roll: float; /** @deprecated Use {@link Yaw}, {@link Pitch}, {@link Roll} All deprecated properties marked as optional. Use with care! Default value: 0.0 (float) @optional */ x?: float; /** @deprecated Use {@link Yaw}, {@link Pitch}, {@link Roll} All deprecated properties marked as optional. Use with care! Default value: 0.0 (float) @optional */ y?: float; /** @deprecated Use {@link Yaw}, {@link Pitch}, {@link Roll} All deprecated properties marked as optional. Use with care! Default value: 0.0 (float) @optional */ z?: float; /** @deprecated Use {@link Yaw}, {@link Pitch}, {@link Roll} All deprecated properties marked as optional. Use with care! Default value: 0.0 (float) @optional */ w?: float; } /** @description All rotation values are stored in degrees. */ interface FCameraRotatorJson { /** @description Yaw. Rotation around the up axis (around Z axis), Running in circles 0=East, +North, -South. Default value: 0.0 (float) */ vertical: float; /** @description Pitch. Rotation around the right axis (around Y axis), Looking up and down (0=Straight Ahead, +Up, -Down) Default value: 0.0 (float) */ horizontal: float; } /** @description A vector in 3-D space composed of components (X, Y, Z) with floating point precision. */ interface FVectorJson { /** @description Vector's X component. Default value: 0.0 (float) */ x: float; /** @description Vector's Y component. Default value: 0.0 (float) */ y: float; /** @description Vector's Z component. Default value: 0.0 (float) */ z: float; } /** @description Structure for box. */ interface FBoxJson { /** @description Holds the min box value. */ min: FVectorJson; /** @description Holds the max box value. */ max: FVectorJson; } /** @description Transform composed of Scale, Rotation (as a rotator), and Translation. */ interface FTransformJson { /** @description Rotation of this transformation, as a rotator. */ rotation: FRotatorJson; /** @description Translation of this transformation, as a vector. */ translation: FVectorJson; /** @description 3D scale (always applied in local space) as a vector. Default value: FVectorJson(1.0f, 1.0f, 1.0f) */ scale3D: FVectorJson; } /** @description Parameter. */ interface FParameterJson { /** @description Parameter. Default value: "" */ parameterName: FString; } /** @description Scalar material parameter. */ interface FScalarJson extends FParameterJson { /** @description Value of the scalar material parameter. Default value: 1.0 (float) */ value: float; } /** @description Vector parameter. */ interface FVectorParameterJson extends FParameterJson { /** @description Value of the scalar material parameter. */ value: FVectorJson; } /** @description LinearColor RGBA(1.1.1.1). */ interface FLinearColorJson { /** @description Color's Red component. Default value: 1.0 (float) */ r: float; /** @description Color's Green component. Default value: 1.0 (float) */ g: float; /** @description Color's Blue component. Default value: 1.0 (float) */ b: float; /** @description Color's Alpha component. Default value: 1.0 (float) Meta: ClampMin: 0.0; ClampMax: 1.0 @optional */ a?: float; } /** @description Niagara. */ interface FNiagara { /** @description Niagara vector parameters. */ vectors: TArray<FVectorParameterJson>; } /** @description Material texture. */ interface FTextureJson extends FParameterJson { /** @description URL to download texture from. Default value: "" */ url: FString; /** @description Enable canvas for texture or not. Default value: true @optional */ canvas?: bool; /** @description Size of the texture. Default value: {1024, 1024} @optional */ size?: FVector2DJson; /** @description Position of the texture in relative space. Default value: {0.5, 0.5} @optional */ position?: FVector2DJson; /** @description Rotate angle in degrees. Default value: 0 @optional */ rotate?: float; /** @description Pivot of the texture in relative space. Default value: {0.5, 0.5} @optional */ pivot?: FVector2DJson; /** @description Grid position. Default value: {0, 0} @optional */ coordinatePosition?: FVector2DJson; /** @description Grid size. Default value: {1, 1} @optional */ coordinateSize?: FVector2DJson; } /** @description Material. */ interface FMaterialJson { /** @description Name of the asset relative to Content folder in project. Default value: "" */ name: FString; /** @deprecated Use {@link slotName}field. All deprecated properties marked as optional. Use with care! @description Material slot name in product to which apply material. Default value: "" */ slot_name?: FString; /** @description Material slot name in product to which apply material. Default value: "" */ slotName: FString; /** @description List of textures in the material. @optional */ textures?: TArray<FTextureJson>; /** @description List of scalars in the material. @optional */ scalars?: TArray<FScalarJson>; /** @description Relative path to material pak file. Default value: "" */ pakFilePath: FString; /** @description Color @optional */ color?: FLinearColorJson; /** @description renderTargetAspectRatio. @optional */ renderTargetAspectRatio?: FVector2DJson; } /** @description Material initial state. */ interface FAnimationInitialStateJson { /** @description Product animations. */ animations: TArray<FString>; } /** @description Material initial state. */ interface FMaterialInitialStateJson { /** @description List of materials applying to product. */ materials: TArray<FMaterialJson>; } /** @description Mesh initial state. */ interface FMeshInitialStateJson extends FMaterialInitialStateJson { /** @description Name of the asset relative to Content folder in project. Default value: "" */ meshName: FString; /** @description Product spawn transform. @optional */ transform?: FTransformJson; /** @description Product animations. @optional */ animations?: TArray<FString>; /** @description Materials slots. @optional */ slots?: TArray<FString>; /** @description Attach sockets. @optional */ sockets?: TArray<FString>; /** @description Skeletal mesh morphs, apply to all skeletal meshes @optional */ morphs?: TMap<FString, float>; } /** @description Object describes path to pak/use file. */ interface FPakJson { /** @description Relative path to pak file. Default value: "" */ pakFilePath: FString; /** @description Path to usd/usdz file overrides pak file path. Default value: "" @optional */ usdPath?: FString; } /** @description Asset pak file. */ interface FAssetPakJson extends FPakJson { /** @description Asset name. */ assetName: FString; } /** @description Animation pak file. */ interface FAnimationPakJson extends FPakJson { /** @description Animation initial state. */ initialState: FAnimationInitialStateJson; } /** @description Material pak file. */ interface FMaterialPakJson { /** @description Material initial state. */ initialState: FMaterialInitialStateJson; } /** @description Mesh pak file. */ interface FMeshPakJson extends FPakJson { /** @description Mesh initial state. */ initialState: FMeshInitialStateJson; } /** @description Attachment settings. */ interface FAttachment { /** @description Find object in scene to what attach. */ attachToObject: FString; /** @description Find socket in object in scene to what attach. If empty, then boundCenterOffset is used. @optional */ attachToSocket?: FString; /** @description Use socket as a pivot of attached object. @optional */ pivotSocket?: FString; /** @description Local distance offset. Orientation of attachToSocket is main for this local offset. Socket's forward vector is multiplied on X. If X = +5, then object will be moved out from object on 5 units. If X = -5, then object will be moved inside object on 5 units. Default value: { 0 , 0 , 0} @optional */ offset?: FVectorJson; /** @description Local distance offset from bound center of product. Orientation is relative to product. If attachToSocket is empty and boundCenterOffset is valid, then it would work. @optional */ boundCenterOffset?: FTransformJson; } /** @description Sequence section. */ interface FSequenceSection { /** @description Id of section. Default value: -1 */ id: int32; /** @description Start time of section. Default value: 0 */ startTime: float; /** @description End time of section. Default value: 0 */ endTime: float; } /** @description NULL payload. */ interface FNullJson { } /** @description Base payload structure. */ interface FPayloadBase { } /** @description Base payload with bool to enable, click, drag and etc. */ interface FBoolPayload extends FPayloadBase { /** @description This value means enable, click, drag, etc. Default value: false */ value: bool; } /** @description Base payload for float. */ interface FFloatPayload extends FPayloadBase { /** @description This value is for changing float values. Default value: 0 */ value: float; } /** @description Base payload for vector. */ interface FFVectorPayload extends FPayloadBase { /** @description This value is for changing vector values. */ value: FVectorJson; } /** @description Base payload for rotator. */ interface FFRotatorPayload extends FPayloadBase { /** @description This value is for changing rotator values. */ value: FRotatorJson; } /** @description Base payload for string. */ interface FFStringPayload extends FPayloadBase { /** @description This value could be used for ObjectName, URL and other strings. */ value: FString; } /** @description Base payload for strings. */ interface FFStringsPayload extends FPayloadBase { /** @description This value could be used for ObjectName, URL and other strings. */ values: TArray<FString>; } /** @description Add mesh pak pak */ interface FAddMeshJson extends FPakJson { /** @description Mesh name in pak. */ meshName: FString; } /** @description Unwrap/Wrap mesh pairs params */ interface FUWMeshPairParamsJson { /** @description Size. */ size: FVectorJson; /** @description Tile. Default value: {1.f, 1.f} @optional */ uvTile?: FVector2DJson; /** @description position. */ position: FVectorJson; /** @description scale. Default value: {1.f, 1.f, 1.f} @optional */ scale?: FVectorJson; } /** @description Unwrap/Wrap mesh pairs pak */ interface FUWMeshPairPakJson extends FAddMeshJson { /** @description UWMeshPair params. */ params: FUWMeshPairParamsJson; } /** @description Unwrap/Wrap mesh pairs */ interface FUWMeshPairJson { /** @description Unwrap pak info. */ unwrap: FUWMeshPairPakJson; /** @description Unwrap pak info. */ wrap: FUWMeshPairPakJson; } /** @description Material Base Payload for PakExport. */ interface FMaterialBasePayload extends FPayloadBase { /** @description Material PAK. */ materialPak: FMaterialPakJson; } /** @description Material Base Payload for PakExport. */ interface FMaterialPayload extends FMaterialBasePayload { /** @description Material name. @optional */ materialName?: FString; } /** @description This payload is used in command to load/spawn and unload/destroy products. */ interface FProductPayload extends FMaterialBasePayload { /** @description Global(static) product ID in scene (not per instance). @optional */ productName?: FString; /** @description Mesh pak file. */ meshPak: FMeshPakJson; /** @description Animations pak file. @optional */ animationsPak?: FPakJson; /** @description Object name used by frontend. @optional */ objectName?: FString; /** @description Material slots. @optional */ materialSlots?: TArray<FString>; /** @description Product transform in the world. @optional */ transform?: FTransformJson; /** @deprecated Legacy All deprecated properties marked as optional. Use with care! @description Vector parameters of product materials. @optional */ materialVectorParams?: TArray<FString>; /** @description Datasmith format file path. @optional */ datasmithFilePath?: FString; /** @description Attachment settings. @optional */ attachment?: FAttachment; /** @description Unwrap/Wrap mesh pairs @optional */ uwMeshPairs?: TArray<FUWMeshPairJson>; /** @description Additional meshes for product @optional */ addMeshes?: TArray<FAddMeshJson>; /** @description Unwrap mesh pak @optional */ unwrapPak?: FUWMeshPairPakJson; /** @description Make product like static mesh actor(no select) Default value: false @optional */ staticMeshActor?: bool; /** @description Make pan clamps for product Default value: false @optional */ clampPanToProduct?: bool; /** @description Can product collision with levels. Default value: false @optional */ collisionLevel?: bool; /** @description Can product collision with other products. Default value: false @optional */ collisionProduct?: bool; /** @description Show only meshes. @optional */ cutMeshes?: TArray<FString>; /** @description Meshes to hide from product. @optional */ hideMeshes?: TArray<FString>; /** @description Make pivot in center of bounds. Default value: false @optional */ centerPivot?: bool; /** @description Show unwrap for debug. Default value: false @optional */ showUnwrap?: bool; /** @description Layers to add product to. @optional */ layers?: TArray<FString>; /** @description Set product hidden in scene. Default value: false @optional */ hide?: bool; /** @description Is product selected. Default value: false @optional */ selected?: bool; /** @description Measurements of product. It will be used to override bound size for FLoadMeasureCommand @optional */ measurements?: FVectorJson; /** @description Dimension. Default value: EDimensionType::none @optional */ dimensionType?: EDimensionType; /** @description Niagara. @optional */ niagara?: FNiagara; } /** @description Load sublevel. */ interface FLevelPayload extends FPayloadBase { /** @description Level name. @optional */ levelName?: FString; /** @description Bool that hide all levels, after that it loads level with levelName. Default value: false @optional */ hideAllLevels?: bool; /** @description Hide last level. Default value: false @optional */ hideLastLevel?: bool; /** @description This means that parts of level with tag 'Selectable' can be selected. Default value: false @optional */ selectable?: bool; /** @description Level VRam size in mb. It is used for level streaming and managing. Default value: 0 @optional */ levelVRamSize?: int32; /** @description Location of this sublevel. @optional */ location?: FVectorJson; /** @description Rotation of this sublevel. @optional */ rotation?: FRotatorJson; /** @description Level type. @optional */ levelType?: TArray<FString>; /** @description Level PAK. */ levelPak: FAssetPakJson; /** @description Material slots of all actors in the world. @optional */ slots?: TArray<FString>; /** @description Attach sockets of all actors in the world. @optional */ sockets?: TArray<FString>; /** @description Clear products during level change. Default value: false @optional */ clearProducts?: bool; } /** */ interface FAsyncLevelPayload extends FLevelPayload { /** @description Level visibility after async loading . Default value: true @optional */ visibleOnLoad?: bool; } /** @description Camera settings. */ interface FCameraSettingsPayload extends FPayloadBase { /** @description Camera aperture. Default value: 0 @optional */ aperture?: float; /** @description Camera FocusOffset. Default value: 0 @optional */ focusOffset?: float; /** @description Camera FocalLength. If FocalLength is used, then FOV is not used. Default value: 0 @optional */ focalLength?: float; /** @description Camera FOV. If FOV is used, then FocalLength is not used. Default value: 0 @optional */ fov?: float; /** @description Turns off focusing completely. Default value: false @optional */ enableFocus?: bool; } /** @description CameraPreset with Location and Rotation. It Used in PakExportRuntime. */ interface FCameraPresetBasePayload extends FPayloadBase { /** @description Location. */ location: FVectorJson; /** @description Rotation. */ rotation: FRotatorJson; /** @description Camera object. @optional */ object?: FString; /** @deprecated Use {@link FCameraSettingsCommand} All deprecated properties marked as optional. Use with care! @description Camera aperture. Default value: 0 @optional */ aperture?: float; /** @deprecated Use {@link FCameraSettingsCommand} All deprecated properties marked as optional. Use with care! @description Camera FocusOffset. Default value: 0 @optional */ focusOffset?: float; /** @deprecated Use {@link FCameraSettingsCommand} All deprecated properties marked as optional. Use with care! @description Camera FocalLength. Default value: 0 @optional */ focalLength?: float; /** @deprecated Use {@link FCameraSettingsCommand} All deprecated properties marked as optional. Use with care! @description Camera FOV. Default value: 0 @optional */ fov?: float; /** @deprecated Use {@link FCameraSettingsCommand} All deprecated properties marked as optional. Use with care! @description Turns off focusing completely. Default value: false @optional */ enableFocus?: bool; } /** @description Settings of sequence. */ interface FSettingsSequencePayload extends FPayloadBase { /** @description Loop behavior of sequence playing. Default value: ESequenceLoopBehavior::none @optional */ loopBehavior?: ESequenceLoopBehavior; /** @description Rate-speed of sequence playing TODO: Make play rate. It could be negative, so remove bool reverse. Default value: 1.0 (float) @optional */ playRate?: float; /** @description Is reverse playing of sequence. Default value: false @optional */ reverse?: bool; /** @description Time period of responding changes for callbacks. Default value: 0.05 (float) @optional */ timeResponseChangeCallBack?: float; /** @description Sections of sequence. It is used for callback. @optional */ sections?: TArray<FSequenceSection>; } /** @description Init sequence. */ interface FInitSequencePayload extends FSettingsSequencePayload { /** @description Sequence to init if app uses CameraCuts as sections, not LevelSequences as sections. If invalid, then 0 index from paks. @optional */ sequenceName?: FString; /** @description PAKs of sequences. */ paks: TArray<FAssetPakJson>; } /** @description Enabled axis. */ interface FEnabledAxis { /** @description Enable X axis. Default value: true */ x: bool; /** @description Enable Y axis. Default value: true */ y: bool; /** @description Enable Z axis. Default value: true */ z: bool; } /** @description Measurement material spline settings. */ interface FMeasurementMaterialSplineSettings { /** @description If renderMode is emissive or lit, it changes emissive of material. While lit mode is used, emissive better to be 0. Default value: 1.f Meta: ClampMin: 0.0; ClampMax: 100 @optional */ emissive?: float; /** @description If renderMode is lit, it changes metallic of material. Default value: 0.5 (float) Meta: ClampMin: 0.0; ClampMax: 1.0 @optional */ metallic?: float; /** @description If renderMode is lit, it changes roughness of material. Default value: 0.5 (float) Meta: ClampMin: 0.0; ClampMax: 1.0 @optional */ roughness?: float; /** @description If Measurement is dashed, it changes tiling of dashes in material. Default value: 1.f Meta: ClampMin: 0.0; ClampMax: 100 @optional */ dashTiling?: float; /** @description Color. Default value: {0.f, 0.f, 0.f, 1.f} @optional */ color?: FLinearColorJson; } /** @description Labels for XYZ axis measurement. */ interface FLabels { /** @description Widget measure text X to override. */ x: FString; /** @description Widget measure text Y to override. */ y: FString; /** @description Widget measure text Z to override. */ z: FString; } /** @description Measurement spline settings. */ interface FMeasurementSpline { /** @description Render mode of splines. Default value: EMeasurementRenderMode::emissive @optional */ renderMode?: EMeasurementRenderMode; /** @description Position of the Z dimension line of measure. Default value: EVerticalLinePlacement::left @optional */ verticalLinePlacement?: EVerticalLinePlacement; /** @description Position of the XY dimension lines of measure. Default value: EHorizontalLinePlacement::bottom @optional */ horizontalLinePlacement?: EHorizontalLinePlacement; /** @description Dimension line appearance. Default value: EDimensionLine::solid @optional */ dimensionLine?: EDimensionLine; /** @description Dimension line terminator appearance. Default value: EDimensionLineTerminator::tickMark @optional */ dimensionLineTerminator?: EDimensionLineTerminator; /** @description Spline offset from bounds. Default value: {10.f, 0.f} @optional */ offset?: FVector2DJson; /** @description Spline scale. Default value: 1.0 (float) @optional */ scale?: float; /** @description Spline scale. @optional */ materialSettings?: FMeasurementMaterialSplineSettings; } /** @description Font settings. */ interface FMeasurementFont { /** @description Color. Default value: {0.f, 0.f, 0.f, 1.f} @optional */ color?: FLinearColorJson; /** @description Outline color. Default value: {1.f, 1.f, 1.f, 1.f} @optional */ outlineColor?: FLinearColorJson; /** @description Font size. Default value: 20.0 (float) @optional */ size?: float; /** @description Font outline size. Default value: 0 @optional */ outlineSize?: int32; } /** @description Background settings. */ interface FMeasurementBackground { /** @description Color. Default value: {1.f, 1.f, 1.f, 1.f} @optional */ color?: FLinearColorJson; } /** @description Measurement label box settings. */ interface FMeasurementLabelBox { /** @description Render mode of label boxes. TODO: UE crashes if 3d widget is used with translucent material with disabled depth test. So emissive is the same as lit mode. Default value: EMeasurementRenderMode::lit @optional */ renderMode?: EMeasurementRenderMode; /** @description Labels of X,Y,Z axis, to override calculated values. @optional */ labels?: FLabels; /** @description Dimension. Default value: EDimensionType::none @optional */ dimensionType?: EDimensionType; /** @description Returns a string representing this number using fixed-point notation with the specified number of decimal places. Default value: 0 @optional */ fixedPointNumber?: int32; /** @description Widget offset from spline to player camera. Default value: {10.f, 0.f, 0.f} @optional */ offset?: FVectorJson; /** @description Font settings. @optional */ font?: FMeasurementFont; /** @description Font settings. @optional */ background?: FMeasurementBackground; } /** @description Padding or offset from borders of screen. */ interface FBorderPadding { /** @description Padding or offset from left broder of screen. Default value: 0.f */ left: float; /** @description Padding or offset from right broder of screen. Default value: 0.f */ right: float; /** @description Padding or offset from top broder of screen. Default value: 0.f */ top: float; /** @description Padding or offset from bottom broder of screen. Default value: 0.f */ bottom: float; } /** @description Transition. If transition time equal 0, then no transition. */ interface FTransition { /** @description Transition time. Default value: 0.f @optional */ time?: float; /** @description Curve type or easing. Default value: ECurve::linear @optional */ curve?: ECurve; } /** @description FileName and RelativePath/Directory. */ interface FFilePathName { /** @description File name to assign. */ name: FString; /** @description Path for file. */ directory: FString; } /** @deprecated Use {@link FUnLoadProductCommand}, {@link FFStringPayload} All deprecated properties marked as optional. Use with care! @description This payload is used in comand to destroy product in scene by ObjectName. */ interface FRemoveProductInScenePayload extends FPayloadBase { /** @description ObjectName of product to destroy. */ objectName: FString; } /** @deprecated Use {@link FUnLoadLevelCommand}, {@link FFStringPayload} All deprecated properties marked as optional. Use with care! @description This payload is used in comand to unload level by LevelName. */ interface FHideLevelPayload extends FPayloadBase { /** @description LevelName to unload. */ levelName: FString; } /** @description Payload to use in FSetMaterialCommand. */ interface FSetMaterialPayload extends FMaterialPayload { /** @description ObjectName to set material. @optional */ objectName?: FString; /** @description ProductName to set material. @optional */ productName?: FString; /** @description Mesh PAK. @optional */ meshPak?: FMeshPakJson; } /** @description Payload to use in FPlayAnimationCommand. */ interface FPlayAnimationPayload extends FPayloadBase { /** @description Animations PAK file. */ animationsPak: FAnimationPakJson; } /** @description Payload to load and spawn button. */ interface FButtonPayload extends FPayloadBase { /** @description Callback message OnPressedButton event. */ callbackMessage: FString; /** @description Is button facing to camera. Default value: true @optional */ facingCamera?: bool; /** @description Does button align scale to camera. Default value: true @optional */ scaleCamera?: bool; /** @description Default Scale. Default value: 1.0 (float) @optional */ defaultScale?: float; /** @description Scale multiplier for aligning to camera. Default value: 1.0 (float) @optional */ scaleMultiplier?: float; /** @description Clamp button's scale. Default value: {0.1f, 10.0f} @optional */ scaleClamp?: FVector2DJson; /** @description PeriodTime to callback, if = 0 then no callback. Button's viewport position will be sended in 0-1 range. Default value: 0 @optional */ timeResponseCallBack?: float; /** @description Object name used by frontend. @optional */ objectName?: FString; /** @description Material slots. @optional */ materialSlots?: TArray<FString>; /** @description Vector parameters of button materials. @optional */ materialVectorParams?: TArray<FString>; /** @description Button's transform in the world. @optional */ transform?: FTransformJson; /** @description Attachment settings. @optional */ attachment?: FAttachment; /** @description Actor Button Default pak. */ actorDefaultPak: FMeshPakJson; /** @description Material Button Default pak. */ materialDefaultPak: FMaterialPakJson; /** @description Actor Button Hovered pak. */ actorHoveredPak: FMeshPakJson; /** @description Material Button Hovered pak. */ materialHoveredPak: FMaterialPakJson; /** @description Actor Button Pressed pak. */ actorPressedPak: FMeshPakJson; /** @description Material Button Pressed pak. */ materialPressedPak: FMaterialPakJson; } /** @description Request Unwrap Image Payload. */ interface FRequestUnwrapImagePayload extends FPayloadBase { /** @description MeshName. @optional */ meshName?: FString; /** @description Send image by Web RTC. Default value: false @optional */ sendByWebRTC?: bool; /** @description Image base64. @optional */ image?: FString; /** @description Unwrap size. */ unwrapSize: FVector2DJson; /** @description Unwrap size. Default value: false @optional */ defaultMaterial?: bool; /** @description Unwrap size. @optional */ scalars?: TArray<FScalarJson>; /** @description Unwrap size. */ size: FVector2DJson; } /** @description Add measures to array of objects. */ interface FMeasurePayload extends FPayloadBase { /** @description Array of object to measure. @optional */ objectNames?: TArray<FString>; /** @description Destroy all previous measures. Default value: true @optional */ destroyAllMeasures?: bool; /** @description Color of texts. Default value: { 0, 0, 0, 1 } @optional */ colorText?: FLinearColorJson; /** @description Color of splines. Default value: { 0, 0, 0, 1 } @optional */ colorSpline?: FLinearColorJson; /** @description Color of text's background. Default value: { 0.5, 0.5, 0.5, 1 } @optional */ colorBackground?: FLinearColorJson; /** @description Background visibility. Default value: false @optional */ backgroundVisibility?: bool; /** @description Color of text's outline. Default value: { 1, 1, 1, 1 } @optional */ colorFontOutline?: FLinearColorJson; /** @description Outline size of text. Default value: 1 @optional */ fontOutlineSize?: int32; /** @description Widget offset from spline to player camera. Default value: 10 @optional */ widgetOffset?: float; /** @description Widget scale. Default value: 0.2 @optional */ widgetScale?: float; /** @description Widget rendering size. Default value: {128, 64} @optional */ widgetSize?: FVector2DJson; /** @description Widget measure text X to override. @optional */ measureTextX?: FString; /** @description Widget measure text Y to override. @optional */ measureTextY?: FString; /** @description Widget measure text Z to override. @optional */ measureTextZ?: FString; /** @description Get info of bound from product (true) or get info of bound from 3d model (false). Default value: true @optional */ getBoundInfoFromProduct?: bool; /** @description Dimension. Default value: {} @optional */ dimensionType?: EDimensionType; /** @description Returns a string representing this number using fixed-point notation with the specified number of decimal places. Default value: 0 @optional */ fixedPointNumber?: int32; /** @description Position of Z Axis of measure. Default value: EMeasureAxisZPosition::left @optional */ measureAxisZPosition?: EMeasureAxisZPosition; /** @description Align XY Axis to bottom side of bounds. Default value: true @optional */ alignAxisXYToBottom?: bool; /** @description Align XY Axis to 0 of Z axis with splineOffsetZ. If false then align to bottom Z-value of bound. Default value: true @optional */ alignAxisXYToZeroZ?: bool; /** @description Spline offset from bounds. Default value: 10 @optional */ splineOffset?: float; /** @description Spline offset along Z axis. Default value: 0 @optional */ splineOffsetZ?: float; /** @description Spline scale. Default value: 0.2 @optional */ splineScale?: float; /** @description Name of MeasureObject for front callback. @optional */ measureObjectName?: FString; } /** */ interface FMeasurementPayload extends FPayloadBase { /** @description Name of MeasurementObject. @optional */ measurementObjectName?: FString; /** @description Array of object to measure. @optional */ objectNames?: TArray<FString>; /** @description Destroy all previous measures. Default value: true @optional */ destroyAllMeasures?: bool; /** @description Get info of bound from product (true) or get info of bound from 3d model (false). Default value: true @optional */ getBoundInfoFromProduct?: bool; /** @description Enabled axis. @optional */ enabledAxis?: FEnabledAxis; /** @description Measurement spline settings. @optional */ spline?: FMeasurementSpline; /** @description Measurement widget settings. @optional */ labelBox?: FMeasurementLabelBox; } /** @description Gizmo type */ interface FGizmoType { /** @description Gizmo type Default value: EGizmoType::translation */ type: EGizmoType; /** @description Sub gizmo type Default value: 0 */ subGizmoType: int32; } /** @description Get Assets In Pak payload. */ interface FGetAssetsInPakPayload extends FPayloadBase { /** @description Pak file. */ pak: FPakJson; } /** @description Gizmo type. */ interface FGizmoTypePayload extends FPayloadBase { /** @description Gizmo type. Default value: EGizmoType::translation */ gizmoType: EGizmoType; /** @description Sub gizmo type. Default value: 0 @optional */ subGizmoType?: int32; } /** @description Selection settings of post process material. All colors are emissive. */ interface FSelectionSettingsPayload extends FPayloadBase { /** @description Thickness of primary outline. It is also background of minor outline. Minor lays down on major. Default value: 2.0 (float) @optional */ primaryOutlineThickness?: float; /** @description Thickness of secondary outline. Minor lays down on major. If 0 then secondary outline is not visible. If secondary 1 and primary 2 then outline is dual. Default value: 0.0 (float) @optional */ secondaryOutlineThickness?: float; /** @description Primary selection outline color. Alpha is transparency. Default value: { 0, 1, 0, 1 } @optional */ primarySelectOutlineColor?: FLinearColorJson; /** @description Minor selection outline color. Alpha is transparency. Default value: { 0, 0, 0, 0 } @optional */ secondarySelectOutlineColor?: FLinearColorJson; /** @description Transparency of hidden surface part of product, if it is selected. Default value: 0.0 (float) Meta: ClampMin: 0.0; ClampMax: 1.0 @optional */ hiddenSurfaceSelectTransparency?: float; /** @description Selection color for overlay product. Alpha is transparency. Default value: { 0.5, 0.5, 0.5, 0 } @optional */ selectSurfaceColor?: FLinearColorJson; /** @description Primary hovering outline color. Alpha is transparency. Default value: { 1, 1, 1, 0 } @optional */ primaryHoverOutlineColor?: FLinearColorJson; /** @description Secondary hovering outline color. Alpha is transparency. Default value: { 0, 0, 0, 0 } @optional */ secondaryHoverOutlineColor?: FLinearColorJson; /** @description Transparency of hidden surface part of product, if it is hovered. Default value: 0.0 (float) Meta: ClampMin: 0.0; ClampMax: 1.0 @optional */ hiddenSurfaceHoverTransparency?: float; /** @description Hovering color for overlay product. Alpha is transparency. Default value: { 0.25, 0.25, 0.25, 0 } @optional */ hoverSurfaceColor?: FLinearColorJson; } /** @deprecated Use {@link FitToObjectsCommand} All deprecated properties marked as optional. Use with care! @description Fit to object. */ interface FFitPayload extends FPayloadBase { /** @description Product objectName fit to. @optional */ objectName?: FString; /** @description Distance multiplier. Default value: 6 @optional */ multiplier?: float; } /** @description FitToObjects payload */ interface FFitToObjectsPayload extends FPayloadBase { /** @description Fit to bounds of array of Product's objectNames. @optional */ objectNames?: TArray<FString>; /** @description Distance multiplier. Default value: 6 @optional */ multiplier?: float; /** @description Use animated transition. TODO: Work incorrect. FitMethod::Top Default value: false @optional */ transition?: bool; /** @description SpeedRate of transition. Default value: 1.0 (float) @optional */ transitionSpeedRate?: float; /** @description Fit method describes from what view camera would fit. Default value: EFitMethod::none @optional */ fitMethod?: EFitMethod; /** @description Location to detect direction from what Camera will fit . @optional */ location?: FVectorJson; /** @description Rotation aka direction to fit. @optional */ rotation?: FRotatorJson; } /** @description FitToObjectsByBoundBase payload */ interface FFitToObjectsBasePayload extends FPayloadBase { /** @description Fit to bounds of array of Product's objectNames. @optional */ objectNames?: TArray<FString>; /** @description Transition. @optional */ transition?: FTransition; /** @description Fit method describes from what view camera would fit. Default value: EFitMethod::none @optional */ fitMethod?: EFitMethod; /** @description Location to detect direction from what Camera will fit . @optional */ location?: FVectorJson; /** @description Rotation aka direction to fit. @optional */ rotation?: FRotatorJson; } /** @description FitToObjectsByBoundSphere payload */ interface FFitToObjectsByBSpherePayload extends FFitToObjectsBasePayload { /** @description Padding unit type. Default value: EPaddingUnit::cm @optional */ paddingUnit?: EPaddingUnit; /** @description Padding as additional length of radius. Default value: 0.0 (float) @optional */ paddingValue?: float; } /** @description F