vrtalk-web-sdk 0.1.600 → 0.1.602
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vrtalk-web-sdk.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var a=t();for(var n in a)("object"==typeof exports?exports:e)[n]=a[n]}}(this,(()=>(()=>{"use strict";var e={d:(t,a)=>{for(var n in a)e.o(a,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:a[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{AR_BOTTOM_ICON_KEYS:()=>Nr,AR_INFO_BAR_DEFAULT:()=>Rr,AR_INFO_ICON_KEYS:()=>Pr,AR_MAIN_BAR_DEFAULT:()=>br,AiCheckImageSourceKindDefine:()=>bn,ArCommonSettings:()=>No,ArPositionXSettings:()=>Fo,CameraCaptureModeDefine:()=>On,ChromaKeySettings:()=>m,Color:()=>d,ColorBuilder:()=>l,ColorParser:()=>c,Component2dFaceToCameraModeDefine:()=>te,EXPRESSION_FUNC_NAME:()=>Jm,EaseAnimationFunctionDefine:()=>p,EaseAnimationSettings:()=>_,FreeButton:()=>T,GotoPositionMethodDefine:()=>A,HoverBorderSettings:()=>C,LanguageTypeDefine:()=>g,LogicCurrentTimeOutputTypeDefine:()=>gn,LogicRandomColorPaletteDefine:()=>yn,MediaLoopModeDefine:()=>O,MonitorPopupChangeTypeDefine:()=>La,MonitorVideoMuteChangeTypeDefine:()=>Aa,MonitorVideoPlayChangeTypeDefine:()=>Ta,MultiLanguageStr:()=>E,PROGRESS_BAR_KEYFRAMES_CSS:()=>sp,ParentComCommandAssetLabel:()=>Zc,ParentComCommandAssetPointMark:()=>ed,ParentComCommandAssetVolumeMark:()=>td,ParentComCommandAudio:()=>cd,ParentComCommandCamera:()=>sd,ParentComCommandComponent:()=>Jc,ParentComCommandCover:()=>Hc,ParentComCommandDollyPath:()=>gd,ParentComCommandFloor:()=>nd,ParentComCommandFov:()=>zc,ParentComCommandHamburgerMenu:()=>Ed,ParentComCommandInfoTemplate:()=>Wc,ParentComCommandInformation:()=>Yc,ParentComCommandLayer:()=>qc,ParentComCommandLight:()=>jc,ParentComCommandMarker:()=>rd,ParentComCommandMessageCard:()=>ud,ParentComCommandMonitor:()=>yd,ParentComCommandNavigation:()=>id,ParentComCommandObstacle:()=>ld,ParentComCommandPathDesign:()=>Td,ParentComCommandPlayer:()=>Kc,ParentComCommandRayHitter:()=>pd,ParentComCommandRenderer:()=>od,ParentComCommandSpaceFence:()=>_d,ParentComCommandSticker:()=>Qc,ParentComCommandSweep:()=>ad,ParentComCommandTarget:()=>dd,ParentComCommandTrimmer:()=>$c,ParentComCommandUi:()=>Xc,ParentComCommandWormhole:()=>md,ParentComMessageAssetLabel:()=>kd,ParentComMessageAssetPointMark:()=>Nd,ParentComMessageAssetVolumeMark:()=>Pd,ParentComMessageCamera:()=>Ad,ParentComMessageComponent:()=>Cd,ParentComMessageDollyPath:()=>Vd,ParentComMessageFloor:()=>hd,ParentComMessageFov:()=>Sd,ParentComMessageNavigation:()=>Ld,ParentComMessageObstacle:()=>bd,ParentComMessagePathDesign:()=>Ud,ParentComMessagePlayer:()=>Gc,ParentComMessageRayHitter:()=>vd,ParentComMessageRenderer:()=>Od,ParentComMessageSpaceFence:()=>Dd,ParentComMessageSticker:()=>fd,ParentComMessageSweep:()=>Id,ParentComMessageTarget:()=>Md,ParentComMessageTrimmer:()=>Rd,ParentComMessageWormhole:()=>wd,PlayerComCommand:()=>Fl,PlayerComCommandAssetLabel:()=>oc,PlayerComCommandAssetPointMark:()=>rc,PlayerComCommandAssetVolumeMark:()=>ic,PlayerComCommandAudio:()=>sc,PlayerComCommandCamera:()=>Zl,PlayerComCommandComponent:()=>Yl,PlayerComCommandCover:()=>Kl,PlayerComCommandDollyPath:()=>yc,PlayerComCommandFloor:()=>Ql,PlayerComCommandFov:()=>Jl,PlayerComCommandHamburgerMenu:()=>uc,PlayerComCommandInfoTemplate:()=>Xl,PlayerComCommandInformation:()=>Wl,PlayerComCommandLayer:()=>zl,PlayerComCommandLight:()=>ql,PlayerComCommandMarker:()=>tc,PlayerComCommandMessageCard:()=>_c,PlayerComCommandMonitor:()=>pc,PlayerComCommandNavigation:()=>ac,PlayerComCommandObstacle:()=>nc,PlayerComCommandPathDesign:()=>gc,PlayerComCommandPlayer:()=>Gl,PlayerComCommandRayHitter:()=>dc,PlayerComCommandRenderer:()=>ec,PlayerComCommandSpaceFence:()=>mc,PlayerComCommandSticker:()=>$l,PlayerComCommandSweep:()=>Fc,PlayerComCommandTarget:()=>lc,PlayerComCommandTrimmer:()=>jl,PlayerComCommandTypeDefine:()=>Bl,PlayerComCommandUi:()=>Hl,PlayerComCommandWormhole:()=>cc,PlayerComMessage:()=>Ec,PlayerComMessageAssetLabel:()=>Nc,PlayerComMessageAssetPointMark:()=>Pc,PlayerComMessageAssetVolumeMark:()=>Mc,PlayerComMessageCamera:()=>Ac,PlayerComMessageComponent:()=>Cc,PlayerComMessageDollyPath:()=>Uc,PlayerComMessageFloor:()=>hc,PlayerComMessageFov:()=>Sc,PlayerComMessageNavigation:()=>bc,PlayerComMessageObstacle:()=>Rc,PlayerComMessagePathDesign:()=>xc,PlayerComMessagePlayer:()=>Ic,PlayerComMessageRayHitter:()=>Dc,PlayerComMessageRenderer:()=>Lc,PlayerComMessageSpaceFence:()=>Vc,PlayerComMessageSticker:()=>kc,PlayerComMessageSweep:()=>Oc,PlayerComMessageTarget:()=>wc,PlayerComMessageTrimmer:()=>fc,PlayerComMessageTypeDefine:()=>Tc,PlayerComMessageWormhole:()=>vc,PlayerController:()=>Bc,PopupUserFormField:()=>mn,PositionXAbnormalHandheldSettings:()=>Mo,PositionXCorrectionSettings:()=>xo,PositionXDistanceTrigger:()=>Do,PositionXDynamicSettings:()=>Uo,PositionXInitialSettings:()=>wo,PositionXQualitySettings:()=>Po,PositionXScoreTier:()=>Vo,PositionXTimerTrigger:()=>vo,RayHitterDetectFaceDefine:()=>wr,RayHitterFaceConfig:()=>vr,RendererResolution:()=>S,TakeScreenshotVisibility:()=>h,TintableIconRef:()=>I,TtsTextModeDefine:()=>xa,UnityNavigationMode:()=>L,UnityNavigationParams:()=>b,UnityNavigationPlan:()=>R,VRTalkBaseData:()=>u,VRTalkEditablePlayer:()=>xd,VR_ACTION_PLATFORM_CAPABILITY_AR_ONLY:()=>Vn,VR_ACTION_PLATFORM_CAPABILITY_VR_AND_AR:()=>Dn,VR_ACTION_PLATFORM_CAPABILITY_VR_ONLY:()=>vn,VR_INFO_BAR_DEFAULT:()=>Lr,VR_INFO_BAR_ICON_KEYS:()=>kr,VR_MAIN_BAR_DEFAULT:()=>Or,VR_MAIN_BAR_ICON_KEYS:()=>fr,Vector2:()=>n,Vector3:()=>a,VrAction:()=>ze,VrActionAnalyticsValueModeDefine:()=>ln,VrActionCloudFormValueModeDefine:()=>an,VrActionHitAnalyticsEventFieldBinding:()=>cn,VrActionParams:()=>Ot,VrActionParams2dGeneralChangeDeformationSettings:()=>kt,VrActionParams2dImageChangeSource:()=>Pt,VrActionParams2dPanelButtonChangeEnabled:()=>xt,VrActionParams2dPanelChangeScene:()=>Ut,VrActionParams2dTextChangeSource:()=>Nt,VrActionParams2dVideoChangeMuteState:()=>vt,VrActionParams2dVideoChangePlayState:()=>wt,VrActionParams2dVideoChangeSource:()=>Mt,VrActionParams3dBoxChangeColor:()=>Dt,VrActionParams3dModelOperateAnimationClip:()=>Ht,VrActionParamsAbilityEnable:()=>ht,VrActionParamsAbilityStop:()=>It,VrActionParamsAiAgentActivate:()=>Ka,VrActionParamsAiAgentActivateAndInjectAssistantMessage:()=>qa,VrActionParamsAiAgentActivateAndInjectDialogue:()=>Ja,VrActionParamsAiAgentActivateAndSendUserMessage:()=>Ya,VrActionParamsAiAgentHide:()=>Ha,VrActionParamsAiAgentInjectHiddenStateMessage:()=>za,VrActionParamsAiAgentWake:()=>Wa,VrActionParamsAiCheckRun:()=>Rn,VrActionParamsAiCheckTakePhoto:()=>Ln,VrActionParamsAudioCenterPlayList:()=>Kt,VrActionParamsAudioCenterSetVolume:()=>Za,VrActionParamsBackgroundThread:()=>Ga,VrActionParamsCameraDollyMove:()=>Yt,VrActionParamsCameraDollyStop:()=>Jt,VrActionParamsCameraMoveTo:()=>Wt,VrActionParamsCanvasComponentChangeVisibility:()=>Ra,VrActionParamsCloudFormCollectField:()=>sn,VrActionParamsCloudFormReset:()=>rn,VrActionParamsCloudFormShowDialog:()=>nn,VrActionParamsCloudFormSubmit:()=>on,VrActionParamsComponentGeneralAudioSourceChangeLoopMode:()=>Gt,VrActionParamsComponentGeneralAudioSourcePause:()=>Bt,VrActionParamsComponentGeneralAudioSourcePlayControl:()=>Ft,VrActionParamsComponentGeneralChangeTransform:()=>Rt,VrActionParamsComponentGeneralChangeVisibility:()=>bt,VrActionParamsComponentGeneralOperateTransitionAnimation:()=>ft,VrActionParamsComponentTagSimulateClick:()=>Vt,VrActionParamsFlowEnter:()=>ia,VrActionParamsFlowExit:()=>la,VrActionParamsHamburgerMenuChangeOpenState:()=>Na,VrActionParamsHamburgerMenuGroupChangeExpanded:()=>Pa,VrActionParamsHamburgerMenuNodeChangeVisibility:()=>ka,VrActionParamsHitAnalyticsEvent:()=>dn,VrActionParamsInformationContentCardShow:()=>Zt,VrActionParamsInformationLinkOpen:()=>ea,VrActionParamsLayerChangeVisibility:()=>fa,VrActionParamsLogicCurrentTime:()=>En,VrActionParamsLogicRandomColor:()=>un,VrActionParamsLogicRandomNumber:()=>_n,VrActionParamsLogicRandomPickBoolean:()=>Cn,VrActionParamsLogicRandomPickColor:()=>Sn,VrActionParamsLogicRandomPickCssColor:()=>hn,VrActionParamsLogicRandomPickFromRecommendOptions:()=>In,VrActionParamsLogicRandomPickNumber:()=>An,VrActionParamsLogicRandomPickString:()=>Tn,VrActionParamsLogicVariableBooleanToggle:()=>ra,VrActionParamsLogicVariableModify:()=>ta,VrActionParamsLogicVariableNumberAdd:()=>aa,VrActionParamsLogicVariableStringAdvanced:()=>oa,VrActionParamsLogicVariableStringAppend:()=>na,VrActionParamsLogicVariableStringTrimEnd:()=>sa,VrActionParamsMessageCardChangeShowState:()=>wa,VrActionParamsMessageCardCreateTemporary:()=>Va,VrActionParamsMessageCardDestroyTemporary:()=>Ua,VrActionParamsMessageCardHide:()=>Da,VrActionParamsMessageCardShow:()=>va,VrActionParamsMonitorChangeBadgeStyle:()=>Ia,VrActionParamsMonitorChangeBadgeText:()=>ha,VrActionParamsMonitorChangeEnabled:()=>ua,VrActionParamsMonitorChangePopupVisible:()=>ba,VrActionParamsMonitorComponentChangeVisibility:()=>Ea,VrActionParamsMonitorSwitchActiveScene:()=>Oa,VrActionParamsMonitorSwitchActiveTab:()=>ga,VrActionParamsMonitorVideoChangeMuteState:()=>Sa,VrActionParamsMonitorVideoChangePlayState:()=>Ca,VrActionParamsNavigationStart:()=>Xt,VrActionParamsPopupUserFormShowDialog:()=>pn,VrActionParamsRayHitterActivate:()=>fn,VrActionParamsRayHitterDeactivate:()=>kn,VrActionParamsSendBroadcast:()=>da,VrActionParamsSweepChangeEnabled:()=>zt,VrActionParamsSweepChangePanorama:()=>qt,VrActionParamsSweepMarkerChangeEnabled:()=>jt,VrActionParamsSweepOnlyEnableCurrent:()=>Qt,VrActionParamsSweepResetToDefault:()=>$t,VrActionParamsSystemColorSpaceDisplayBrightness:()=>tn,VrActionParamsSystemColorSpaceSceneTint:()=>en,VrActionParamsSystemCommonWait:()=>Lt,VrActionParamsSystemOpenWebpage:()=>$a,VrActionParamsSystemSetInteractiveState:()=>Qa,VrActionParamsSystemStateScopeCreate:()=>pa,VrActionParamsSystemStateScopeDestroy:()=>ya,VrActionParamsSystemStateScopeSwitch:()=>_a,VrActionParamsSystemUiSettingsChange:()=>Ma,VrActionParamsTtsPlayVoice:()=>Fa,VrActionParamsTtsRealtimeStream:()=>Ba,VrActionParamsVisualizationControllerCloseAll:()=>Mn,VrActionParamsVisualizationControllerHide:()=>Pn,VrActionParamsVisualizationControllerPop:()=>Nn,VrActionSystemOpenWebpagePcModeDefine:()=>ja,VrActionTypeDefine:()=>St,VrAdChannel:()=>Gn,VrAdItem:()=>Kn,VrAiSettings:()=>Hn,VrAppearanceStyle:()=>K,VrAssetLabel:()=>Xn,VrAssetPointMark:()=>Wn,VrAssetVolumeMark:()=>Yn,VrAudio:()=>J,VrAudioCenter:()=>X,VrAudioList:()=>q,VrAudioLyric:()=>z,VrCameraEnterSettings:()=>Ro,VrCameraModeDefine:()=>s,VrCameraMoveTransitionTypeDefine:()=>o,VrCameraPose:()=>i,VrColorSpaceSettings:()=>as,VrComponent2dAdvertisementData:()=>zi,VrComponent2dDeformationModeDefine:()=>ne,VrComponent2dDeformationSettings:()=>se,VrComponent2dImageData:()=>qi,VrComponent2dImageSourceData:()=>ji,VrComponent2dPanelAnsweringModeSettings:()=>el,VrComponent2dPanelButtonItemData:()=>il,VrComponent2dPanelButtonTypeDefine:()=>sl,VrComponent2dPanelData:()=>Qi,VrComponent2dPanelImageItemData:()=>ol,VrComponent2dPanelItem:()=>nl,VrComponent2dPanelItemStyle:()=>dl,VrComponent2dPanelItemTypeDefine:()=>al,VrComponent2dPanelSceneData:()=>Zi,VrComponent2dPanelSceneGeneralParams:()=>ll,VrComponent2dPanelSceneModeDefine:()=>$i,VrComponent2dPanelSceneStyle:()=>cl,VrComponent2dPanelTextItemData:()=>rl,VrComponent2dPanelVariableModifierModeSettings:()=>tl,VrComponent2dTextBasicModeSettings:()=>gl,VrComponent2dTextData:()=>yl,VrComponent2dTextHorizontalAlignDefine:()=>ml,VrComponent2dTextMarqueeModeSettings:()=>El,VrComponent2dTextModeDefine:()=>_l,VrComponent2dTextSourceData:()=>ul,VrComponent2dTextVerticalAlignDefine:()=>pl,VrComponent2dVideoData:()=>Tl,VrComponent2dVideoSourceData:()=>Al,VrComponent3dBoxData:()=>Cl,VrComponent3dModelAnimationClipData:()=>Il,VrComponent3dModelAnimationData:()=>hl,VrComponent3dModelData:()=>Sl,VrComponentAudioSource:()=>Y,VrComponentAudioSourceDistanceModelDefine:()=>W,VrComponentControllerTypeDefine:()=>$,VrComponentCustomVisibilitySettings:()=>ee,VrComponentData:()=>Q,VrComponentData2d:()=>ae,VrComponentData2dCurvedSurfaceSettings:()=>oe,VrComponentData2dFoldSurfaceSettings:()=>re,VrComponentData3d:()=>ie,VrComponentNavigationSettings:()=>Z,VrComponentTagData:()=>Ll,VrComponentTagTextLocationDefine:()=>Ol,VrComponentTransitionAnimation:()=>ce,VrComponentTransitionAnimationKeyframe:()=>de,VrComponentTransitionAnimationPlayCompleteProcessTypeDefine:()=>le,VrComponentTypeDefine:()=>j,VrContentCard:()=>U,VrContentCardMedia:()=>F,VrContentCardMediaTypeDefine:()=>D,VrContentCardModule:()=>x,VrContentCardShowStyleDefine:()=>V,VrContentData:()=>Bo,VrContentDataBuilder:()=>bo,VrCoverBackgroundFitTypeDefine:()=>cs,VrCoverBackgroundTypeDefine:()=>ls,VrCoverButtonTypeDefine:()=>ds,VrCoverSettings:()=>ms,VrFloatingLayerStyle:()=>Jn,VrFloor:()=>Go,VrFloorMapSettings:()=>Ko,VrFlow:()=>qo,VrFlowBroadcastListenerEntry:()=>sr,VrFlowPositionSettings:()=>tr,VrFlowPositionTypeDefine:()=>er,VrFlowStatusDefine:()=>zo,VrFlowStep:()=>Qo,VrFlowStepArriveAction:()=>Zo,VrFlowStepBarStyleDefine:()=>$o,VrFlowStepEndpointSettings:()=>nr,VrFlowStepTypeDefine:()=>jo,VrFlowTrigger:()=>ar,VrFov:()=>or,VrInfoTemplateItemValue:()=>es,VrInfoTemplateSettings:()=>Zn,VrIntroduceItem:()=>ko,VrLayer:()=>rr,VrLight:()=>ir,VrLightAmbient:()=>lr,VrLightDirectional:()=>cr,VrLightPoint:()=>dr,VrLogoEndpointConfig:()=>jn,VrLogoObjectAlignDefine:()=>qn,VrLogoObjectFitDefine:()=>zn,VrMarker:()=>pr,VrMarkerGroup:()=>_r,VrMarkerTypeDefine:()=>mr,VrMeasureAreaUnitDefine:()=>ur,VrMeasureData:()=>gr,VrMeasureDistanceUnitDefine:()=>yr,VrMeasurePoint:()=>Er,VrNavigationAdConfig:()=>Tr,VrNavigationModeDefine:()=>k,VrNavigationPath:()=>w,VrNavigationPoint:()=>P,VrNavigationPointBuilder:()=>N,VrNavigationPointTypeDefine:()=>f,VrNavigationRequest:()=>M,VrNavigationResult:()=>v,VrObstacle:()=>Ar,VrObstacleGroup:()=>Cr,VrPathDesignModeDefine:()=>bl,VrPathDesignPoint:()=>Ml,VrPathDesignPositionXSource:()=>wl,VrPathOrientModeDefine:()=>Rl,VrPathRoundTripDefine:()=>fl,VrPathSmoothingDefine:()=>kl,VrPathStartModeDefine:()=>Nl,VrPathTurnModeDefine:()=>Pl,VrPlayerLogoConfig:()=>$n,VrPlayerModeDefine:()=>Dl,VrPlayerStatusDefine:()=>Ul,VrPlayerStatusNumMapping:()=>Vl,VrPlayerStatusValue:()=>xl,VrPlayerUiSettings:()=>Qn,VrRenderSettings:()=>ts,VrShadowStyle:()=>B,VrSignal:()=>Yo,VrSignalSourceDefine:()=>Xo,VrSignalTrigger:()=>Jo,VrSignalTypeDefine:()=>Ho,VrSignalTypeSourceMapping:()=>Wo,VrSticker:()=>Fr,VrStickerActivateTypeDefine:()=>xr,VrSweep:()=>Br,VrSweepAlignmentDefine:()=>Gr,VrSweepCameraPose:()=>r,VrSweepPanoramaBallExternalViewModeDefine:()=>Xr,VrSweepPanoramaData:()=>Wr,VrSweepPanoramaSourceData:()=>Yr,VrSweepPanoramaSourceTypeDefine:()=>Hr,VrSweepPlacementTypeDefine:()=>Kr,VrTarget:()=>ei,VrTargetGroup:()=>ti,VrTheme:()=>Jr,VrTransitionAnimationPathDesign:()=>vl,VrTrimmerData:()=>zr,VrUiIconItem:()=>hr,VrView:()=>jr,VrViewTypeDefine:()=>$r,VrWorldSizeInfo:()=>fo,VrWormhole:()=>Qr,VrWormholeGroup:()=>Zr,WorkNoteEnterTag:()=>Sr,XR_AI_AGENT_TOOL_GROUPS:()=>ki,XR_HAMBURGER_MENU_DEFAULT_COLOR:()=>ws,XrAbility:()=>Di,XrAbilityGroup:()=>vi,XrActionCategoryDefine:()=>We,XrAiAgent:()=>fi,XrAiAgentParams:()=>Li,XrAiAgentRolePromptSettings:()=>Oi,XrAiAgentSkillPrompt:()=>bi,XrAiAgentUseAbility:()=>pi,XrAiAgentUseAiCheckRule:()=>hi,XrAiAgentUseAnalyticsEvent:()=>Ei,XrAiAgentUseAssetPointMark:()=>Ci,XrAiAgentUseAssetVolumeMark:()=>Ii,XrAiAgentUseBackgroundThread:()=>di,XrAiAgentUseCameraDollyPath:()=>mi,XrAiAgentUseCloudForm:()=>ui,XrAiAgentUseComponent:()=>si,XrAiAgentUseContentCard:()=>_i,XrAiAgentUseFov:()=>yi,XrAiAgentUseKnowledgeBase:()=>gi,XrAiAgentUseMessageCard:()=>Ti,XrAiAgentUseMonitor:()=>Ai,XrAiAgentUseRayHitter:()=>Si,XrAiAgentUseSpaceFence:()=>li,XrAiAgentUseSpaceFenceGroup:()=>ci,XrAiAgentUseSticker:()=>ii,XrAiAgentUseTarget:()=>oi,XrAiAgentUseVariable:()=>ri,XrAiAgentWakePrompt:()=>Ri,XrAiAgentWakeWorkStyleDefine:()=>Xa,XrApiClassMeta:()=>zd,XrApiEntityInfo:()=>Jd,XrApiEnumOption:()=>Gd,XrApiEventMeta:()=>Wd,XrApiGroupMeta:()=>Yd,XrApiMethodMeta:()=>Xd,XrApiParamMeta:()=>Kd,XrApiReturnMeta:()=>Hd,XrApiText:()=>Fd,XrAudioCenterState:()=>Ue,XrBackgroundThread:()=>ai,XrBackgroundThreadState:()=>Le,XrBackgroundThreadStatusDefine:()=>Oe,XrBaseAction:()=>Je,XrBoundVariableControl:()=>Bn,XrBroadcastChannel:()=>ni,XrBroadcastPayloadValue:()=>ca,XrCallArg:()=>Tt,XrCallArgKindDefine:()=>gt,XrCameraDollyPath:()=>wi,XrCameraDollyPathNode:()=>Mi,XrClosureValue:()=>Et,XrComponentState2dImage:()=>Re,XrComponentState2dPanel:()=>Ne,XrComponentState2dText:()=>ke,XrComponentState2dVideo:()=>fe,XrComponentState3dBox:()=>Pe,XrComponentState3dModel:()=>Me,XrComponentStateBase:()=>be,XrComponentStateTag:()=>we,XrConditionAction:()=>lt,XrConditionArg:()=>nt,XrConditionArgKindDefine:()=>et,XrConditionArgLiteralTypeDefine:()=>tt,XrConditionArrayItem:()=>at,XrConditionCall:()=>st,XrConditionElseIfBranch:()=>it,XrConditionGroup:()=>ot,XrConditionNodeKindDefine:()=>Ze,XrConditionSubject:()=>je,XrConditionSubjectKindDefine:()=>qe,XrConditionTree:()=>rt,XrConditionValueOperand:()=>Qe,XrConditionValueOperandValueTypeDefine:()=>$e,XrConditionWatcher:()=>Ce,XrConditionWatcherTriggerModeDefine:()=>Ae,XrCountLoopAction:()=>ct,XrCustomClass:()=>Yi,XrCustomClassField:()=>Wi,XrEntityHandlerBinding:()=>Ji,XrEventRef:()=>Fi,XrExpressionLoopAction:()=>mt,XrExpressionLoopActionCheckExpressionPositionDefine:()=>dt,XrForEachLoopAction:()=>Ct,XrHamburgerCanvasComponentBase:()=>Ao,XrHamburgerCanvasComponentButton:()=>Oo,XrHamburgerCanvasComponentButtonIconPositionDefine:()=>To,XrHamburgerCanvasComponentImage:()=>Co,XrHamburgerCanvasComponentImageModeDefine:()=>_o,XrHamburgerCanvasComponentProgressBar:()=>ho,XrHamburgerCanvasComponentProgressBarDirectionDefine:()=>go,XrHamburgerCanvasComponentText:()=>So,XrHamburgerCanvasComponentTextAlignDefine:()=>yo,XrHamburgerCanvasComponentTypeDefine:()=>po,XrHamburgerCanvasComponentVariableControl:()=>Lo,XrHamburgerCanvasComponentVerticalAlignDefine:()=>uo,XrHamburgerCanvasComponentVideo:()=>Io,XrHamburgerCanvasComponentVideoObjectFitDefine:()=>Eo,XrHamburgerMenu:()=>mo,XrHamburgerMenuCanvasItem:()=>co,XrHamburgerMenuGridImageItem:()=>Zs,XrHamburgerMenuGridLastRowModeDefine:()=>js,XrHamburgerMenuGridMediaItem:()=>Qs,XrHamburgerMenuGroup:()=>ro,XrHamburgerMenuImageItem:()=>zs,XrHamburgerMenuImageItemSlide:()=>Js,XrHamburgerMenuImageObjectFitDefine:()=>$s,XrHamburgerMenuMediaCarouselItem:()=>Ys,XrHamburgerMenuMediaItem:()=>Bs,XrHamburgerMenuMediaTypeDefine:()=>Fs,XrHamburgerMenuNode:()=>Xs,XrHamburgerMenuNodeBase:()=>Hs,XrHamburgerMenuNodeTypeDefine:()=>xs,XrHamburgerMenuPcLayoutModeDefine:()=>Gs,XrHamburgerMenuRichImageSlide:()=>qs,XrHamburgerMenuRichTextItem:()=>lo,XrHamburgerMenuStyle:()=>vs,XrHamburgerMenuTextItem:()=>Ws,XrHamburgerMenuTitleOverflowModeDefine:()=>Ks,XrHamburgerMenuVideoItem:()=>so,XrHamburgerMenuVideoItemSlide:()=>no,XrHamburgerMenuWaterfallBreakpoint:()=>eo,XrHamburgerMenuWaterfallImageItem:()=>ao,XrHamburgerMenuWaterfallMediaItem:()=>to,XrHamburgerMenuWebViewItem:()=>oo,XrInteractionControlConfig:()=>Xe,XrInteractionControlDefaultVariant:()=>Ge,XrInteractionControlVariantDefine:()=>Be,XrInteractionControlVariantTier:()=>Ke,XrInteractionDataTypeDefine:()=>Fe,XrInteractionOption:()=>He,XrMessageCard:()=>H,XrMonitor:()=>Ms,XrMonitorBadgeStyleDefine:()=>hs,XrMonitorComponentBase:()=>Is,XrMonitorComponentButton:()=>fs,XrMonitorComponentButtonIconPositionDefine:()=>Ss,XrMonitorComponentImage:()=>Os,XrMonitorComponentImageModeDefine:()=>us,XrMonitorComponentProgressBar:()=>bs,XrMonitorComponentProgressBarDirectionDefine:()=>Ts,XrMonitorComponentRuntimeState:()=>ve,XrMonitorComponentText:()=>Ls,XrMonitorComponentTextAlignDefine:()=>gs,XrMonitorComponentTypeDefine:()=>ys,XrMonitorComponentVariableControl:()=>ks,XrMonitorComponentVerticalAlignDefine:()=>Es,XrMonitorComponentVideo:()=>Rs,XrMonitorComponentVideoObjectFitDefine:()=>Cs,XrMonitorDisplayModeDefine:()=>Ns,XrMonitorRuntimeState:()=>De,XrMonitorScene:()=>Ps,XrNavigationState:()=>xe,XrObjectCallAction:()=>At,XrPlatformDefine:()=>Ye,XrPrepareSettings:()=>ps,XrProgramFolder:()=>xi,XrProgramFunction:()=>Hi,XrProgramFunctionParam:()=>Gi,XrProgramListener:()=>Bi,XrProgramModule:()=>Ui,XrProgramScene:()=>Vi,XrProgramVisibilityDefine:()=>Ki,XrProgressBarStyleDefine:()=>As,XrRayHitter:()=>Dr,XrReceiverFromDefine:()=>yt,XrReceiverRef:()=>ut,XrRecommendStringOption:()=>pe,XrRuntimeState:()=>Ve,XrSpaceFence:()=>Vr,XrSpaceFenceGroup:()=>Ur,XrStateBindings:()=>Ie,XrStateBindingsSourceTypeDefine:()=>Se,XrStateBindingsTargetTypeDefine:()=>he,XrStateScopeBranchFromDefine:()=>ma,XrSubprogram:()=>Xi,XrSwitchAction:()=>_t,XrSwitchCase:()=>pt,XrTypedValue:()=>Ee,XrTypedValueModeDefine:()=>ge,XrVariable:()=>_e,XrVariablePreFill:()=>_s,XrVariableScope:()=>ue,XrVariableScopeTypeDefine:()=>ye,XrVariableTarget:()=>Te,XrVariableTypeDefine:()=>me,XrVirtualFloor:()=>qr,apiClass:()=>am,apiEntityInfo:()=>em,apiEnumOption:()=>Zd,apiEvent:()=>Qd,apiGroup:()=>tm,apiMethod:()=>$d,apiParam:()=>qd,apiReturn:()=>jd,apiText:()=>Bd,buildAddListenerMethod:()=>nm,buildComponentEntityClasses:()=>Lm,buildDomainClasses:()=>Tm,buildExpressionFromTree:()=>zm,buildKeyframesFromSampling:()=>cp,buildSpaceEntityClasses:()=>Rm,buildUiEntityClasses:()=>bm,buildValueClasses:()=>Em,composePathPoseEuler:()=>yp,composePathPoseEulerCalibrated:()=>hp,computeGroundPose:()=>Op,computeProgressBarFillStyle:()=>np,createEmptyRichTextDoc:()=>io,createMultiLanguageStr:()=>ss,defaultMainPlacementOf:()=>Mr,defaultRootHamburgerStyle:()=>Ds,ensureIconLayoutMaterialized:()=>Km,ensureLegacyVrPlayerUiSettingsInitialized:()=>Hm,extractConditionTreeDependencies:()=>ep,extractYawTwistDeg:()=>_p,findApiMethod:()=>mm,findByLegacyActionType:()=>pm,generatePathKeyframes:()=>ip,getAllApiClasses:()=>lm,getAllRegisteredVrActionPlatformCapabilities:()=>Fn,getApiClass:()=>im,getApiEventsWithInherited:()=>dm,getApiMethodsWithInherited:()=>cm,getVrActionPlatformCapability:()=>xn,isAiAgentToolEnabled:()=>Pi,isAiAgentToolResourceReady:()=>Ni,isPureQuery:()=>_m,migrateTriggersToCentralized:()=>Mm,migrateXrMonitorMultiScene:()=>Ym,migrateXrVariableTypeEnum:()=>Xm,normalizeBrowserLanguage:()=>rs,normalizeMultiLanguageStr:()=>os,pickCurrentLanguage:()=>is,pickMultiLanguageStr:()=>ns,registerAllApiCatalog:()=>km,registerApiClass:()=>om,registerApiClasses:()=>rm,resolveArBottomItems:()=>Bm,resolveArInfoItems:()=>Gm,resolveHamburgerNodeStyle:()=>Us,resolveHamburgerRootStyle:()=>Vs,resolvePathCalibration:()=>Sp,resolveVrInfoBarItems:()=>Fm,resolveVrMainBarItems:()=>xm,rotateVecAroundAxis:()=>Lp,samplePathDesign:()=>lp,shadowToCss:()=>G,simplifyPathPoints:()=>mp,suggestedPlayCompleteProcessType:()=>dp});class a{x=0;y=0;z=0;constructor(e,t,a){this.x=e,this.y=t,this.z=a}}class n{x=0;y=0;constructor(e,t){this.x=e,this.y=t}}class s{static FLOORPLAN="floorplan";static INSIDE="inside";static OUTSIDE="outside";static TRANSITIONING="transitioning";static DOLLHOUSE="dollhouse"}class o{static FLY="fly";static INSTANT="instant";static FADE="fade"}class r{sweepId="";rotation=new n(0,0)}class i{floorId="";sweepId="";position=new a(0,0,0);rotation=new n(0,0);zoom=1;mode=s.INSIDE;originalEuler=new a(0,0,0)}class l{static createColorRgb(e,t,a){let n=new d;return n.r=e,n.g=t,n.b=a,n}static createColorRgba(e,t,a,n){let s=new d;return s.r=e,s.g=t,s.b=a,s.a=n,s}static createColorByStr(e){let t=new d;if(e.startsWith("#")){let a=e.substring(1);4===a.length?(t.r=parseInt(a.substring(0,1)+a.substring(0,1),16),t.g=parseInt(a.substring(1,2)+a.substring(1,2),16),t.b=parseInt(a.substring(2,3)+a.substring(2,3),16),t.a=parseInt(a.substring(3,4)+a.substring(3,4),16)/255):8===a.length?(t.r=parseInt(a.substring(0,2),16),t.g=parseInt(a.substring(2,4),16),t.b=parseInt(a.substring(4,6),16),t.a=parseInt(a.substring(6,8),16)/255):3===a.length?(t.r=parseInt(a.substring(0,1)+a.substring(0,1),16),t.g=parseInt(a.substring(1,2)+a.substring(1,2),16),t.b=parseInt(a.substring(2,3)+a.substring(2,3),16),t.a=1):6===a.length&&(t.r=parseInt(a.substring(0,2),16),t.g=parseInt(a.substring(2,4),16),t.b=parseInt(a.substring(4,6),16),t.a=1)}else if(e.startsWith("rgba")){let a=e.substring(5,e.length-1).split(",");t.r=parseInt(a[0]),t.g=parseInt(a[1]),t.b=parseInt(a[2]),t.a=parseFloat(a[3])}else if(e.startsWith("rgb")){let a=e.substring(4,e.length-1).split(",");t.r=parseInt(a[0]),t.g=parseInt(a[1]),t.b=parseInt(a[2]),t.a=1}return t}static createRandomColor(e,t){let a=new d;return a.r=Math.floor(256*Math.random()),a.g=Math.floor(256*Math.random()),a.b=Math.floor(256*Math.random()),a.a=e?Math.random():t||1,a}}class c{static colorToRgbaString(e){return e?`rgba(${e.r}, ${e.g}, ${e.b}, ${e.a})`:"rgba(0, 0, 0, 1)"}static colorToHexString(e){const t=e=>{const t=Math.round(e).toString(16);return 1===t.length?`0${t}`:t};return`#${t(e.r)}${t(e.g)}${t(e.b)}`}static colorToTHREEColor(e){return{r:e.r/255,g:e.g/255,b:e.b/255}}}class d{r=0;g=0;b=0;a=1}class m{enabled=!1;color=l.createColorRgb(0,0,0);tolerance=20}class p{static LINEAR="linear";static EASE_IN_QUAD="easeInQuad";static EASE_OUT_QUAD="easeOutQuad";static EASE_IN_OUT_QUAD="easeInOutQuad";static EASE_OUT_IN_QUAD="easeOutInQuad";static EASE_IN_CUBIC="easeInCubic";static EASE_OUT_CUBIC="easeOutCubic";static EASE_IN_OUT_CUBIC="easeInOutCubic";static EASE_OUT_IN_CUBIC="easeOutInCubic";static EASE_IN_QUART="easeInQuart";static EASE_OUT_QUART="easeOutQuart";static EASE_IN_OUT_QUART="easeInOutQuart";static EASE_OUT_IN_QUART="easeOutInQuart";static EASE_IN_QUINT="easeInQuint";static EASE_OUT_QUINT="easeOutQuint";static EASE_IN_OUT_QUINT="easeInOutQuint";static EASE_OUT_IN_QUINT="easeOutInQuint";static EASE_IN_SINE="easeInSine";static EASE_OUT_SINE="easeOutSine";static EASE_IN_OUT_SINE="easeInOutSine";static EASE_OUT_IN_SINE="easeOutInSine";static EASE_IN_EXPO="easeInExpo";static EASE_OUT_EXPO="easeOutExpo";static EASE_IN_OUT_EXPO="easeInOutExpo";static EASE_OUT_IN_EXPO="easeOutInExpo";static EASE_IN_CIRC="easeInCirc";static EASE_OUT_CIRC="easeOutCirc";static EASE_IN_OUT_CIRC="easeInOutCirc";static EASE_OUT_IN_CIRC="easeOutInCirc";static EASE_IN_BACK="easeInBack";static EASE_OUT_BACK="easeOutBack";static EASE_IN_OUT_BACK="easeInOutBack";static EASE_OUT_IN_BACK="easeOutInBack";static EASE_IN_BOUNCE="easeInBounce";static EASE_OUT_BOUNCE="easeOutBounce";static EASE_IN_OUT_BOUNCE="easeInOutBounce";static EASE_OUT_IN_BOUNCE="easeOutInBounce";static CUBIC_BEZIER_CURVE="cubicBezierCurve";static SPRING="spring";static ELASTIC="elastic"}class _{waitTime=0;easeFunction=p.LINEAR;duration=500;cubicBezierCurveParamX1=.5;cubicBezierCurveParamY1=.05;cubicBezierCurveParamX2=.1;cubicBezierCurveParamY2=.3;springParamMass=1;springParamStiffness=80;springParamDamping=10;springParamVelocity=0;elasticParamType="easeOutElastic";elasticParamAmplitude=1;elasticParamPeriod=.6}class y{static randomUUID(e){return(e?"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx":"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx").replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}}class u{id="";constructor(){this.id=y.randomUUID(!0)}}class g{static ZH_CN="zh_cn";static ZH_TW="zh_tw";static ZH_HK="zh_hk";static EN="en";static KR="kr";static JP="jp";static TH="th";static VN="vn";static ES="es";static FR="fr";static DE="de";static ALL=["en","jp","kr","zh_cn","zh_tw","zh_hk","th","vn","es","fr","de"]}class E{original_content="";only_use_original_content=!0;zh_cn="";zh_tw="";zh_hk="";en="";kr="";jp="";th="";vn="";es="";fr="";de=""}class T extends u{name=new E;color=l.createColorByStr("#444444");textColor=l.createColorByStr("#ffffff");additionalData={};clickActionList=[];localVariableList=[]}class A{static NAVIGATION_TO_MANUAL="navigation_to_manual";static NAVIGATION_TO_AUTO="navigation_to_auto";static DIRECT_TO_FLY="direct_to_fly";static DIRECT_TO_FADE="direct_to_fade";static DIRECT_TO_INSTANT="direct_to_instant"}class C{enabled=!1;hoverBorderColor=l.createColorRgba(0,0,0,1);borderWidth=.01}class S{width=1920;height=1080;constructor(e,t){this.width=e,this.height=t}}class h{mattertags=!1;measurements;sweeps;views;components;constructor(e,t,a,n,s){this.mattertags=e,this.measurements=t,this.sweeps=a,this.views=n,this.components=s}}class I{url="";iconCategory="";iconFilename="";colorEnabled=!1;color=l.createColorRgb(255,255,255)}class O{static NO_LOOP="no_loop";static LOOP_ALL="loop_all";static LOOP_SINGLE="loop_single"}class L extends u{name="";description="";title="";code="";enabled=!1;planList=[]}class b{transformPointsGps=[];transformPointsVrSpace=[new a(0,0,0),new a(0,0,0),new a(0,0,0)];cellSize=.1;walkableHeight=1.6;characterRadius=.2;walkableClimb=1;maxSlope=45;maxEdgeLength=1;leadBotUseSameModelForDifferentAction=!0;leadBotModelSrc="";leadBotModelScale=new a(1,1,1);leadBotModelOverlayRotate=new a(0,0,0);leadBotModelSrcStand="";leadBotModelScaleStand=new a(1,1,1);leadBotModelOverlayRotateStand=new a(0,0,0);leadBotModelSrcWalk="";leadBotModelScaleWalk=new a(1,1,1);leadBotModelOverlayRotateWalk=new a(0,0,0);leadBotModelSrcRun="";leadBotModelScaleRun=new a(1,1,1);leadBotModelOverlayRotateRun=new a(0,0,0);leadBotModelSrcArrive="";leadBotModelScaleArrive=new a(1,1,1);leadBotModelOverlayRotateArrive=new a(0,0,0);leadBotAnimationNameStand="";leadBotAnimationNameWalk="";leadBotAnimationNameRun="";leadBotAnimationNameArrive="";thresholdLeadBotDistanceToPlayer=6;thresholdLeadBotDistanceToPlayerToWalk=4;thresholdLeadBotDistanceToPlayerToClimb=.4;thresholdLeadBotDistanceToPlayerToClimbToWalk=0;thresholdLeadBotDistanceToPlayerToDescend=3.5;thresholdLeadBotDistanceToPlayerToDescendToWalk=2;thresholdLeadBotDistanceToPlayerToRun=2;leadBotSpeedRun=3.5;leadBotSpeedWalk=1.35;thresholdUserDistanceToRoute=3;thresholdShowComponents=50;thresholdVideoComponentInvisibleToPause=3;thresholdDestroyComponents=10;thresholdShowComponentsWhenEnterFloor=5}class R extends u{name="";title=new E;description=new E;obstacleGroupIds=[];wormholeGroupIds=[];targetGroupIds=[];graphCacheZipFileSrc=""}class f{static sweep="sweep";static anywhere="anywhere";static teleport="teleport"}class k{static AUTO="auto";static MANUAL="manual";static MANUAL_SIMPLE="manual_simple"}class N{static createSweepPoint(e){const t=new P;return t.type=f.sweep,t.sweepId=e.id,t.position=e.position,t}static createAnywherePoint(e){const t=new P;return t.type=f.anywhere,t.position=e,t}}class P{type=f.sweep;sweepId="";position=new a(0,0,0)}class M{id="";startPoint=new P;endPoint=new P;isAutoStart=!0;navigationMode=k.MANUAL;autoRecalculate=!0;autoRecalculateDistanceThreshold=.5;pathColor=l.createColorByStr("#03b203")}class w{sweepStartPoint=new P;sweepEndPoint=new P;pathPoints=[]}class v{request=new M;result=!1;pathList=[]}class D{static VIDEO="video";static IMAGE="image";static AUDIO="audio";static D3_MODEL="3d_model";static LINK="link";static DOCUMENT="document"}class V{static BUBBLE="bubble";static DIALOG="dialog";static DRAWER="drawer"}class U extends u{id="";name="";dialogWidth="800px";dialogHeight="600px";title=new E;richText=new E;isAvailableForAi=!0;modules=[];buttonList=[]}class x{id="";name="";type=D.IMAGE;mediaList=[]}class F{id="";type=D.VIDEO;name="";src="";coverSrc="";materialSrc=""}class B{enabled=!1;offsetX=0;offsetY=1;blur=2;color=l.createColorRgba(0,0,0,.55)}function G(e,t){if(!e||!e.enabled)return"none";const a=`${e.offsetX??0}px ${e.offsetY??0}px ${e.blur??0}px ${c.colorToRgbaString(e.color)}`;return"drop"===t?`drop-shadow(${a})`:a}class K{bgColor=l.createColorRgba(255,255,255,.3);textColor=l.createColorByStr("#4e5969");iconColor=l.createColorByStr("#ffffff");accentColor=l.createColorByStr("#1677ff");blur=5;cornerRadius=16;textShadow=function(){const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.55),e}();iconShadow=function(){const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.45),e}()}class H extends u{name="";remark="";iconSrc="";title=new E;content=new E;buttonList=[];overrideAppearance=!1;appearanceOverride=new K}class X{showPlayControl=!0;showSoundControl=!0;defaultVolume=100;loopMode=O.NO_LOOP;defaultPlayAudio=[];audioListData=[]}class W{static LINEAR="linear";static INVERSE="inverse";static EXPONENTIAL="exponential"}class Y{loopMode=O.NO_LOOP;autoPlay=!1;volume=1;defaultAudioIndex=0;distanceModel=W.LINEAR;rolloffFactor=1;refDistance=1;maxDistance=10;audioDataList=[]}class J extends u{name="";description="";audioSrc="";duration=0;lyricList=[]}class z{time="00:00";content="";color=l.createColorByStr("#ffffff")}class q extends u{name="";description="";audioList=[]}class j{static TYPE_2D_TEXT="2d_text";static TYPE_2D_VIDEO="2d_video";static TYPE_2D_IMAGE="2d_image";static TYPE_2D_PANEL="2d_panel";static TYPE_2D_ADVERTISEMENT="2d_advertisement";static TYPE_3D_BOX="3d_box";static TYPE_3D_MODEL="3d_model";static TYPE_TAG="tag"}class ${static NONE="none";static TRANSLATE="translate";static ROTATE="rotate";static SCALE="scale"}class Q extends u{layerId="";name="";title=new E;description=new E;isAvailableForAi=!0;isNavigationTarget=!0;ignoreOptimizationAlwaysShow=!1;type=null;scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);originalScale=new a(1,1,1);visible=!0;opacity=1;castShadow=!0;receiveShadow=!0;isEnableAutoMoveCameraToNearWhenClick=!1;responseMouse=!0;markerList=[];showInContentMenu=!0;keywords=[];bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode="";customVisibilitySettings=new ee;transitionAnimationList=[];defaultTransitionAnimationId="";audioSource=new Y;showTransitionAnimationId="";hideTransitionAnimationId="";localVariableList=[]}class Z{allowAsDestination=!1}class ee{specialSweepVisible=!1;displayRange=0;visibleSweepList=[]}class te{static KEEP_ORIGINAL="keep-original";static FACE_TO_CAMERA_Y="face-to-camera-y";static FACE_TO_CAMERA_XYZ="face-to-camera-xyz"}class ae extends Q{onlyFrontVisible=!1;faceToCameraMode=te.KEEP_ORIGINAL;hoverBorderSettings=new C;deformationSettings=new se}class ne{static NONE="none";static CURVED_SURFACE="curved-surface";static FOLD_SURFACE="fold-surface"}class se{mode=ne.NONE;curvedSurfaceSettings=new oe;foldSurfaceSettings=new re}class oe{curveDegree=1}class re{foldPosition=.5;foldAngle=0;foldInside=!1;foldRadius=.1}class ie extends Q{}class le{static STAY_AT_LAST_FRAME="stay-at-last-frame";static JUMP_TO_ORIGINAL_STATE="jump-to-original-state";static LOOP_FROM_ORIGINAL_STATE="loop-from-original-state";static ANIMATE_TO_ORIGINAL_STATE="animate-to-original-state";static LOOP_REVERSE="loop-reverse"}class ce{id="";name="";description="";playCompleteProcessType=le.STAY_AT_LAST_FRAME;keyFrameList=[];pathDesign=null}class de{id="";name="";isTransformTranslate=!1;transformTranslate=new a(0,0,0);isTransformRotate=!1;transformRotate=new a(0,0,0);isTransformScale=!1;transformScale=new a(1,1,1);isOpacity=!1;opacity=1;modelAnimationClipId="";easingAnimationSettings=new _}class me{static STRING="string";static NUMBER="number";static BOOLEAN="boolean";static COLOR="color";static CSS_COLOR="css_color";static IMAGE="image";static ENTITY_REF="entity_ref";static LIST="list";static CUSTOM_CLASS="custom_class";static CLOSURE="closure";static LISTENER="listener";static THREAD="thread";static TIMER="timer";static STATE_SNAPSHOT="state_snapshot";static EVENT_OBJ="event_obj";static FUNC_REF="func_ref"}class pe{value="";label=new E}class _e{key="";name="";type="string";value="";stringDefaultValue="";stringRecommendOptions=[];numberDefaultValue=0;numberStep=1;numberMinValue=0;numberMaxValue=0;numberRecommendOptions=[];booleanDefaultValue=!1;colorDefaultValue=l.createColorRgba(255,255,255,1);colorRecommendOptions=[];cssColorDefaultValue="#ffffff";cssColorRecommendOptions=[];entityRefTypeKey;listElementType;listElementRefTypeKey;listElementCustomClassId;customClassId;enumOptions;enumDefaultValue}class ye{static GLOBAL="global";static SHARED="shared";static LOCAL="local";static STEP="step";static FLOW="flow";static ABILITY="ability";static AGENT="agent";static BROADCAST_MSG="broadcast_msg";static SCENE="scene";static MODULE="module";static FUNC="func";static EVENT="event"}class ue{type=ye.LOCAL;ownerId="";variableList=[]}class ge{static LITERAL="literal";static VARIABLE="variable";static CALL="call"}class Ee{mode=ge.LITERAL;literal;variableScope;variableKey;callAction}class Te{scope=ye.GLOBAL;key=""}class Ae{static RISING_EDGE_TRIGGER="rising-edge-trigger";static LEVEL_TRIGGER="level-trigger"}class Ce extends u{name="";remark="";conditionTree=new rt;triggerMode=Ae.RISING_EDGE_TRIGGER}class Se{static XR_VARIABLE_EXPRESSION="xr-variable-expression";static STICKER_ACTIVE_STATE="sticker-active-state";static SPACE_FENCE_USER_IN_STATE="space-fence-user-in-state";static SPACE_FENCE_GROUP_USER_IN_STATE="space-fence-group-user-in-state";static COMPONENT_VISIBLE_STATE="component-visible-state";static LAYER_VISIBLE_STATE="layer-visible-state";static HAMBURGER_MENU_NODE_VISIBLE_STATE="hamburger-menu-node-visible-state";static AI_AGENT_ENABLED_STATE="ai-agent-enabled-state";static AI_AGENT_ACTIVE_STATE="ai-agent-active-state";static BACKGROUND_THREAD_RUNNING="background-thread-running"}class he{static XR_VARIABLE="xr-variable";static COMPONENT_VISIBLE_STATE="component-visible-state";static LAYER_VISIBLE_STATE="layer-visible-state";static MESSAGE_CARD_SHOW_STATE="message-card-show-state";static COMPONENT_2D_PANEL_BUTTON_ENABLED_STATE="component-2d-panel-button-enabled-state";static MONITOR_COMPONENT_VISIBLE_STATE="monitor-component-visible-state";static CANVAS_COMPONENT_VISIBLE_STATE="canvas-component-visible-state";static COMPONENT_2D_PANEL_SCENE_SWITCH="component-2d-panel-scene-switch";static COMPONENT_2D_IMAGE_SOURCE_SWITCH="component-2d-image-source-switch";static COMPONENT_2D_VIDEO_SOURCE_SWITCH="component-2d-video-source-switch";static COMPONENT_3D_MODEL_ANIMATION_CLIP_SWITCH="component-3d-model-animation-clip-switch";static AI_AGENT_ENABLED_STATE="ai-agent-enabled-state";static HAMBURGER_MENU_NODE_VISIBLE_STATE="hamburger-menu-node-visible-state";static BACKGROUND_THREAD_RUNNING="background-thread-running"}class Ie{enabled=!0;name="";remark="";sourceType=Se.XR_VARIABLE_EXPRESSION;sourceExpression="";sourceConditionTree;sourceId="";reverseSource=!1;targetType=he.XR_VARIABLE;targetId="";targetOptionTrue="";targetOptionFalse=""}class Oe{static IDLE="idle";static RUNNING="running";static PAUSED="paused";static STOPPED="stopped"}class Le{threadId="";status="idle";completedCycles=0;currentActionIndex=0}class be{position=new a(0,0,0);rotation=new a(0,0,0);scale=new a(1,1,1);visible=!0;opacity=1;responseMouse=!0;playingTransitionAnimationId=null;audioPlayingId=null;audioVolume=1;audioLoopMode=O.NO_LOOP;audioPaused=!0}class Re extends be{currentSourceId="";autoChangeInterval=0}class fe extends be{currentSourceId="";playing=!1;muted=!1;loopMode=O.NO_LOOP;playbackRate=1}class ke extends be{currentSourceId=""}class Ne extends be{currentSceneId="";buttonEnabledState={}}class Pe extends be{faceColor=l.createColorRgba(0,255,0,.2);borderColor=l.createColorRgba(0,255,0,.5);hoverFaceColor=l.createColorRgba(0,255,0,.5);hoverBorderColor=l.createColorRgba(0,255,0,.8)}class Me extends be{playingAnimationClipId=null}class we extends be{}class ve{id="";type="text";name="";positionX=0;positionY=0;width=200;height=150;rotation=0;opacity=1;backgroundColor="rgba(255,255,255,0)";hoverStyleEnabled=!1;hoverBackgroundColor="rgba(255,255,255,0)";hoverOpacity=1;clickActionList=[];visible=!0;zIndex=1;radius=0;border="none";paddingX=6;paddingY=6;css={};script="";imageSrc="";imageMode="fill";textContent="";textColor="rgba(255,255,255,1)";textSize=16;textAlign="center";textBold=!1;textItalic=!1;textUnderline=!1;textVerticalAlign="middle";progressBarStyle="solid";progressBarColor="#1677ff";progressBarColorEnd="#69b1ff";progressBarTrackColor="rgba(0,0,0,0.08)";progressRange="100";progressBarDirection="horizontal";progress="50";videoSrc="";poster="";autoplay=!1;muted=!0;loop=!1;controls=!0;objectFit="cover";icon=new I;iconPosition="left";bound=null}class De{enabled=!0;currentSceneId="";popupVisible=!1;componentStates={};badgeText="";badgeStyle="corner";badgeBgColor="rgba(255,77,79,1)";badgeTextColor="rgba(255,255,255,1)"}class Ve extends u{variableValue={};activeTriggerPool=[];triggerExecuteCount={};audioCenterState=new Ue;navigationState=new xe;globalMuted=!1;componentState2dImage={};componentState2dVideo={};componentState2dText={};componentState2dPanel={};componentState3dBox={};componentState3dModel={};componentStateTag={};monitorState={};activeMonitorTab="";canvasState={};layerVisibility={};messageCardShowState={};stickerActiveState={};sweepEnabledState={};backgroundThreadState={};abilityState={};flowScopeValue={};flowStepScopeValue={};enabledAiAgentIds=[];activeAiAgentId=null;hamburgerMenuVisibility={};hamburgerMenuOpen=!1;hamburgerMenuExpanded={};playerUiSettings={}}class Ue{playingAudioListId="";playingAudioId=""}class xe{isNavigating=!1;destinationType="sweep";destinationSweepId="";destinationPosition=new a(0,0,0);navigationMode="manual";originalDestinationType="";originalDestinationId=""}class Fe{static STRING="string";static NUMBER="number";static BOOLEAN="boolean";static ENUM="enum";static COLOR="color";static CSS_COLOR="css_color"}class Be{static NUMBER_INPUT="number_input";static NUMBER_SLIDER="number_slider";static NUMBER_SLIDER_VERTICAL="number_slider_vertical";static NUMBER_STEPPER="number_stepper";static NUMBER_STAR_RATING="number_star_rating";static NUMBER_SEGMENT="number_segment";static NUMBER_EMOJI_SCALE="number_emoji_scale";static NUMBER_DIAL="number_dial";static NUMBER_PROGRESS_TAP="number_progress_tap";static NUMBER_CHIP_TILE="number_chip_tile";static STRING_INPUT="string_input";static STRING_TEXTAREA="string_textarea";static STRING_SELECT="string_select";static STRING_AUTOCOMPLETE="string_autocomplete";static STRING_SEGMENT="string_segment";static STRING_RADIO="string_radio";static STRING_TAG="string_tag";static STRING_CARD_GRID="string_card_grid";static STRING_AVATAR_LIST="string_avatar_list";static STRING_COLOR_SWATCH="string_color_swatch";static BOOLEAN_SWITCH="boolean_switch";static BOOLEAN_CHECKBOX="boolean_checkbox";static BOOLEAN_SEGMENT="boolean_segment";static BOOLEAN_THUMB="boolean_thumb";static BOOLEAN_CARD_PAIR="boolean_card_pair";static COLOR_PICKER="color_picker";static COLOR_SWATCH_PICKER="color_swatch_picker";static CSS_COLOR_INPUT="css_color_input";static CSS_COLOR_SWATCH_PICKER="css_color_swatch_picker";static CSS_COLOR_ADVANCED="css_color_advanced"}class Ge{static getDefault(e){return"number"===e?Be.NUMBER_INPUT:"boolean"===e?Be.BOOLEAN_SWITCH:"color"===e?Be.COLOR_PICKER:"css_color"===e?Be.CSS_COLOR_INPUT:Be.STRING_INPUT}}class Ke{static TIER_A=new Set(["boolean_switch","boolean_checkbox","number_stepper","boolean_segment","number_input","string_input","string_select"]);static TIER_B=new Set(["number_slider","string_segment","string_radio","string_tag","color_picker","css_color_input","color_swatch_picker","css_color_swatch_picker","string_color_swatch","number_chip_tile"]);static getTier(e){return Ke.TIER_A.has(e)?"A":Ke.TIER_B.has(e)?"B":"C"}}class He{label=new E;value="";icon=new I;imageUrl="";description=new E;badge=new E;color="";disabled=!1}class Xe{variant=Be.STRING_INPUT;min=null;max=null;step=null;precision=null;sliderShowTicks=!1;sliderActiveColor="";sliderTrackColor="";sliderShowTooltip=!0;starCount=5;starAllowHalf=!1;starIcon=new I;starActiveColor="";starInactiveColor="";starSize=32;starShowValueLabel=!1;emojiScaleEmojis=[];emojiScaleSize=36;emojiScaleAnimateOnSelect=!0;dialSize=120;dialActiveColor="";dialShowValueInCenter=!0;dialStartAngle=135;progressTapHeight=20;progressTapGradientFrom="";progressTapGradientTo="";progressTapShowMarks=!1;chipTileSize=56;chipTileColumns=5;chipTileActiveColor="";options=[];textareaRows=3;textareaMaxLength=null;textareaShowCount=!1;tagMode="pill";cardGridColumns=2;cardGridImageRatio="4:3";cardGridShowDescription=!0;avatarListShowSubtitle=!0;avatarListSize=40;colorSwatchSize=32;colorSwatchShape="square";colorSwatchColumns=6;booleanTrueLabel=new E;booleanFalseLabel=new E;booleanTrueIcon=new I;booleanFalseIcon=new I;booleanTrueColor="";booleanFalseColor="";colorSwatchOptions=[];cssColorSwatchOptions=[];borderRadius=null;accentColor=""}class We{static BASIC="basic";static CONDITION="condition";static COUNT_LOOP="count_loop";static EXPRESSION_LOOP="expression_loop";static SWITCH="switch";static OBJECT_CALL="object_call";static FOREACH_LOOP="foreach_loop"}class Ye{static VR="VR";static AR="AR"}class Je{actionCategory=We.BASIC;backgroundColorMark="rgba(255,255,255,1)"}class ze extends Je{actionCategory=We.BASIC;id="";actionType=St.COMPONENT_2D_IMAGE_CHANGE_SOURCE;params=new Ot}class qe{static VARIABLE="variable";static PLATFORM="platform";static EXPRESSION="expression"}class je{kind=qe.VARIABLE;variableScope;variableKey;rawExpression}class $e{static STRING="string";static NUMBER="number";static BOOLEAN="boolean";static PLATFORM_ENUM="platform_enum"}class Qe{valueType=$e.STRING;literal;valueRef}class Ze{static CALL="call";static GROUP="group"}class et{static LITERAL="literal";static VAR_REF="var_ref";static ARRAY_LITERAL="array_literal"}class tt{static STRING="string";static NUMBER="number";static BOOLEAN="boolean"}class at{type=tt.STRING;value=""}class nt{argKind=et.LITERAL;literalType;literalValue;variableScope;variableKey;arrayItems}class st{kind=Ze.CALL;funcName="";args=[];negate=!1}class ot{kind=Ze.GROUP;logicalOp="and";children=[];negate=!1}class rt{root=new ot}class it{ifExpression="";conditionTree;actionList=[]}class lt{actionCategory=We.CONDITION;ifExpression="";conditionTree;ifActionList=[];elseIfBranchList=[];elseActionList=[]}class ct{actionCategory=We.COUNT_LOOP;loopCount=1;loopCountRef;actionList=[]}class dt{static BEFORE_ACTION="before_action";static AFTER_ACTION="after_action"}class mt{actionCategory=We.EXPRESSION_LOOP;checkExpression="";conditionTree;checkExpressionPosition=dt.BEFORE_ACTION;actionList=[]}class pt{matchValue=new Qe;actionList=[]}class _t{actionCategory=We.SWITCH;subject=new je;caseList=[];defaultActionList=[]}class yt{static PICKER="picker";static VARIABLE="variable";static STATIC_CLASS="static_class"}class ut{from=yt.PICKER;typeKey="";entityId="";entityParentPath=[];variableScope;variableKey}class gt{static LITERAL="literal";static VAR_REF="var_ref";static CALL="call";static CLOSURE="closure"}class Et{localVariableList=[];actionList=[]}class Tt{key="";argKind=gt.LITERAL;literal;variableScope;variableKey;call;closure}class At extends Je{actionCategory=We.OBJECT_CALL;id="";receiver=new ut;method="";args=[];returnTo;runAsync=!1;onCompleteActionList=[]}class Ct{actionCategory=We.FOREACH_LOOP;collection=new Tt;itemVarKey="item";indexVarKey="index";actionList=[]}class St{static SYSTEM_COMMON_WAIT="system_common_wait";static COMPONENT_GENERAL_CHANGE_VISIBILITY="component_general_change_visibility";static COMPONENT_GENERAL_CHANGE_TRANSFORM="component_general_change_transform";static COMPONENT_GENERAL_PLAY_TRANSITION_ANIMATION="component_general_play_transition_animation";static COMPONENT_GENERAL_STOP_TRANSITION_ANIMATION="component_general_stop_transition_animation";static COMPONENT_2D_GENERAL_CHANGE_DEFORMATION_SETTINGS="component_2d_general_change_deformation_settings";static COMPONENT_GENERAL_AUDIO_SOURCE_PLAY_CONTROL="component_general_audio_source_play_control";static COMPONENT_GENERAL_AUDIO_SOURCE_PAUSE="component_general_audio_source_pause";static COMPONENT_GENERAL_AUDIO_SOURCE_CHANGE_LOOP_MODE="component_general_audio_source_change_loop_mode";static COMPONENT_2D_IMAGE_CHANGE_SOURCE="component_2d_image_change_source";static COMPONENT_2D_VIDEO_CHANGE_SOURCE="component_2d_video_change_source";static COMPONENT_2D_VIDEO_CHANGE_PLAY_STATE="component_2d_video_change_play_state";static COMPONENT_2D_VIDEO_CHANGE_MUTE_STATE="component_2d_video_change_mute_state";static COMPONENT_2D_TEXT_CHANGE_SOURCE="component_2d_text_change_source";static COMPONENT_2D_PANEL_CHANGE_SCENE="component_2d_panel_change_scene";static COMPONENT_2D_PANEL_BUTTON_CHANGE_ENABLED="component_2d_panel_button_change_enabled";static COMPONENT_TAG_SIMULATE_CLICK="component_tag_simulate_click";static COMPONENT_3D_BOX_CHANGE_COLOR="component_3d_box_change_color";static COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP="component_3d_model_play_animation_clip";static COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP="component_3d_model_stop_animation_clip";static INFORMATION_CONTENT_CARD_SHOW="information_content_card_show";static INFORMATION_CONTENT_CARD_CLOSE="information_content_card_close";static INFORMATION_LINK_OPEN="information_link_open";static INFORMATION_LINK_CLOSE="information_link_close";static AUDIO_CENTER_PLAY_LIST="audio_center_play_list";static AUDIO_CENTER_PAUSE="audio_center_pause";static SWEEP_CHANGE_ENABLED="sweep_change_enabled";static SWEEP_CHANGE_PANORAMA="sweep_change_panorama";static SWEEP_MARKER_CHANGE_ENABLED="sweep_marker_change_enabled";static SWEEP_RESET_TO_DEFAULT="sweep_reset_to_default";static SWEEP_ONLY_ENABLE_CURRENT="sweep_only_enable_current";static CAMERA_MOVE_TO="camera_move_to";static CAMERA_DOLLY_MOVE="camera_dolly_move";static CAMERA_DOLLY_STOP="camera_dolly_stop";static NAVIGATION_START="navigation_start";static NAVIGATION_STOP="navigation_stop";static LOGIC_VARIABLE_MODIFY="logic_variable_modify";static LOGIC_VARIABLE_NUMBER_ADD="logic_variable_number_add";static LOGIC_VARIABLE_NUMBER_SUBTRACT="logic_variable_number_subtract";static LOGIC_VARIABLE_STRING_APPEND="logic_variable_string_append";static LOGIC_VARIABLE_STRING_TRIM_END="logic_variable_string_trim_end";static LOGIC_VARIABLE_STRING_ADVANCED="logic_variable_string_advanced";static LOGIC_VARIABLE_BOOLEAN_TOGGLE="logic_variable_boolean_toggle";static FLOW_ENTER="flow_enter";static FLOW_EXIT="flow_exit";static SEND_BROADCAST="send_broadcast";static SYSTEM_STATE_SCOPE_CREATE="system_state_scope_create";static SYSTEM_STATE_SCOPE_SWITCH="system_state_scope_switch";static SYSTEM_STATE_SCOPE_DESTROY="system_state_scope_destroy";static MONITOR_CHANGE_ENABLED="monitor_change_enabled";static MONITOR_SWITCH_ACTIVE_TAB="monitor_switch_active_tab";static MONITOR_COMPONENT_CHANGE_VISIBILITY="monitor_component_change_visibility";static MONITOR_VIDEO_CHANGE_PLAY_STATE="monitor_video_change_play_state";static MONITOR_VIDEO_CHANGE_MUTE_STATE="monitor_video_change_mute_state";static MONITOR_CHANGE_BADGE_TEXT="monitor_change_badge_text";static MONITOR_CHANGE_BADGE_STYLE="monitor_change_badge_style";static MONITOR_SWITCH_ACTIVE_SCENE="monitor_switch_active_scene";static MONITOR_CHANGE_POPUP_VISIBLE="monitor_change_popup_visible";static LAYER_CHANGE_VISIBILITY="layer_change_visibility";static HAMBURGER_MENU_NODE_CHANGE_VISIBILITY="hamburger_menu_node_change_visibility";static HAMBURGER_MENU_CHANGE_OPEN_STATE="hamburger_menu_change_open_state";static HAMBURGER_MENU_GROUP_CHANGE_EXPANDED="hamburger_menu_group_change_expanded";static CANVAS_COMPONENT_CHANGE_VISIBILITY="canvas_component_change_visibility";static SYSTEM_UI_SETTINGS_CHANGE="system_ui_settings_change";static MESSAGE_CARD_CHANGE_SHOW_STATE="message_card_change_show_state";static MESSAGE_CARD_SHOW="message_card_show";static MESSAGE_CARD_HIDE="message_card_hide";static MESSAGE_CARD_CREATE_TEMPORARY="message_card_create_temporary";static MESSAGE_CARD_DESTROY_TEMPORARY="message_card_destroy_temporary";static TTS_PLAY_VOICE="tts_play_voice";static TTS_REALTIME_STREAM="tts_realtime_stream";static BACKGROUND_THREAD_START="background_thread_start";static BACKGROUND_THREAD_PAUSE="background_thread_pause";static BACKGROUND_THREAD_STOP="background_thread_stop";static AI_AGENT_ACTIVATE="ai_agent_activate";static AI_AGENT_HIDE="ai_agent_hide";static AI_AGENT_WAKE="ai_agent_wake";static AI_AGENT_ACTIVATE_AND_SEND_USER_MESSAGE="ai_agent_activate_and_send_user_message";static AI_AGENT_ACTIVATE_AND_INJECT_DIALOGUE="ai_agent_activate_and_inject_dialogue";static AI_AGENT_INJECT_HIDDEN_STATE_MESSAGE="ai_agent_inject_hidden_state_message";static AI_AGENT_ACTIVATE_AND_INJECT_ASSISTANT_MESSAGE="ai_agent_activate_and_inject_assistant_message";static SYSTEM_OPEN_WEBPAGE="system_open_webpage";static SYSTEM_COLOR_SPACE_SCENE_TINT="system_color_space_scene_tint";static SYSTEM_COLOR_SPACE_DISPLAY_BRIGHTNESS="system_color_space_display_brightness";static SYSTEM_SET_INTERACTIVE_STATE="system_set_interactive_state";static AUDIO_CENTER_SET_VOLUME="audio_center_set_volume";static ABILITY_ENABLE="ability_enable";static ABILITY_STOP="ability_stop";static CLOUD_FORM_SHOW_DIALOG="cloud_form_show_dialog";static CLOUD_FORM_COLLECT_FIELD="cloud_form_collect_field";static CLOUD_FORM_SUBMIT="cloud_form_submit";static CLOUD_FORM_RESET="cloud_form_reset";static HIT_ANALYTICS_EVENT="hit_analytics_event";static POPUP_USER_FORM_SHOW_DIALOG="popup_user_form_show_dialog";static LOGIC_RANDOM_NUMBER="logic_random_number";static LOGIC_RANDOM_COLOR="logic_random_color";static LOGIC_CURRENT_TIME="logic_current_time";static LOGIC_RANDOM_PICK_STRING="logic_random_pick_string";static LOGIC_RANDOM_PICK_NUMBER="logic_random_pick_number";static LOGIC_RANDOM_PICK_BOOLEAN="logic_random_pick_boolean";static LOGIC_RANDOM_PICK_COLOR="logic_random_pick_color";static LOGIC_RANDOM_PICK_CSS_COLOR="logic_random_pick_css_color";static LOGIC_RANDOM_PICK_FROM_RECOMMEND_OPTIONS="logic_random_pick_from_recommend_options";static VISUALIZATION_CONTROLLER_POP="visualization_controller_pop";static VISUALIZATION_CONTROLLER_HIDE="visualization_controller_hide";static VISUALIZATION_CONTROLLER_CLOSE_ALL="visualization_controller_close_all";static AI_CHECK_TAKE_PHOTO="ai_check_take_photo";static AI_CHECK_RUN="ai_check_run";static RAY_HITTER_ACTIVATE="ray_hitter_activate";static RAY_HITTER_DEACTIVATE="ray_hitter_deactivate"}class ht{abilityId="";contextVariableOverrides={};contextVariableOverrideRefs}class It{abilityId=""}class Ot{}class Lt{duration=1e3;durationRef}class bt{componentIdList=[];visibilityState=!0;visibilityStateRef}class Rt{componentId="";changeType="translate";value=new a(0,0,0);valueXRef;valueYRef;valueZRef}class ft{componentId="";transitionAnimationId="";waitForComplete=!1}class kt{componentId="";deformationSettings=new se}class Nt{componentId="";changeType="next";sourceId=""}class Pt{componentId="";changeType="next";sourceId=""}class Mt{componentId="";changeType="next";sourceId="";autoPlay=!1;autoPlayRef;forceUnmute=!1;forceUnmuteRef}class wt{componentId="";play=!0;playRef}class vt{componentId="";mute=!0;muteRef}class Dt{componentId="";faceColor=l.createColorRgba(0,0,0,1);faceColorRef;borderColor=l.createColorRgba(0,0,0,1);borderColorRef;hoverFaceColor=l.createColorRgba(0,0,0,1);hoverFaceColorRef;hoverBorderColor=l.createColorRgba(0,0,0,1);hoverBorderColorRef}class Vt{componentId="";overrideAutoMoveCamera;moveTransitionMs}class Ut{componentId="";sceneId=""}class xt{componentId="";sceneId="";buttonId="";enabled=!0;enabledRef}class Ft{componentId="";changeType="next";audioIndex=-1;audioId=""}class Bt{componentId=""}class Gt{componentId="";loopMode=O.NO_LOOP}class Kt{audioListId="";audioId="";interruptIfPlaying=!1}class Ht{componentId="";animationClipId="";waitForComplete=!1}class Xt{destinationType="sweep";componentId="";vrFovId="";fovLink="";fovLinkSnapshotSrc="";fovLinkCameraRotation=new n(0,0);fovLinkSweepId="";sweepId="";navigationMode=k.MANUAL;autoRecalculate=!0;autoRecalculateDistanceThreshold=.5;pathColor=l.createColorByStr("#03b203")}class Wt{destinationType="sweep";componentId="";vrFovId="";fovLink="";fovLinkSnapshotSrc="";fovLinkCameraRotation=new n(0,0);fovLinkSweepId="";sweepId="";transitionType=o.FLY;transitionTime=1e3;transitionTimeRef}class Yt{dollyPathId=""}class Jt{}class zt{sweepIdList=[];enabled=!0;enabledRef;mode="set"}class qt{sweepId="";panoramaId=""}class jt{markerIdList=[];enabled=!0;enabledRef;mode="set"}class $t{}class Qt{}class Zt{contentCardId="";showStyle=V.DRAWER}class ea{url="";urlRef;isOpenWithExternal=!1;isOpenWithExternalRef}class ta{variableKey="";variableScope;value="";valueRef}class aa{variableKey="";variableScope;value=0;valueRef}class na{variableKey="";variableScope;sourceType="fixed";content="";contentRef}class sa{variableKey="";variableScope;length=1;lengthRef}class oa{variableKey="";variableScope;expression=""}class ra{variableKey="";variableScope}class ia{flowId="";forceStopRunning=!1}class la{}class ca{fieldKey="";value=new Ee}class da{channelId="";payloadValueList=[]}class ma{static DEFAULT="default";static CURRENT="current";static SPECIFIC="specific"}class pa{scopeId="";scopeIdRef;branchFrom=ma.DEFAULT;branchFromScopeId="";branchFromScopeIdRef;activate=!0}class _a{scopeId="";scopeIdRef}class ya{scopeId="";scopeIdRef;activateAfterScopeId="default";activateAfterScopeIdRef}class ua{monitorId="";enabled=!0;enabledRef}class ga{tabId=""}class Ea{monitorId="";componentIdList=[];visible=!0;visibleRef}class Ta{static PLAY="play";static PAUSE="pause";static TOGGLE="toggle"}class Aa{static MUTE="mute";static UNMUTE="unmute";static TOGGLE="toggle"}class Ca{monitorId="";componentId="";changeType=Ta.TOGGLE;unmuteOnPlay=!1;restartFromBeginning=!1}class Sa{monitorId="";componentId="";changeType=Aa.TOGGLE}class ha{monitorId="";badgeText="";badgeTextRef}class Ia{monitorId="";badgeStyleRef;badgeBgColorRef;badgeTextColorRef}class Oa{monitorId="";sceneId="";sceneIdRef}class La{static SHOW="show";static HIDE="hide";static TOGGLE="toggle"}class ba{monitorId="";changeType=La.TOGGLE}class Ra{hamburgerMenuNodeId="";componentIdList=[];visible=!0;visibleRef}class fa{layerIdList=[];visible=!0;visibleRef}class ka{nodeIdList=[];visible=!0;visibleRef}class Na{open=!0;openRef}class Pa{groupNodeIdList=[];expanded=!0;expandedRef}class Ma{settingKey="";value=!0;valueRef}class wa{messageCardIdList=[];showState=!0;showStateRef}class va{messageCardId=""}class Da{messageCardId=""}class Va{card=new H;key="";keepOnlyLatestForKey=!1;closable=!0}class Ua{key="";destroyAll=!1}class xa{static SIMPLE="simple";static EXPRESSION="expression"}class Fa{voiceId="";textMode="simple";text=new E;textRef;textExpression="";showSubtitle=!0;waitForComplete=!0;languageCode="";speed=1;componentId=""}class Ba{voiceId="";textMode="simple";text=new E;textRef;textExpression="";showSubtitle=!0;waitForComplete=!1;languageCode="";speed=1;componentId=""}class Ga{threadId=""}class Ka{agentId=""}class Ha{agentId=""}class Xa{static AUTO="auto";static ACT_AND_REPLY="act_and_reply";static ACT_NO_REPLY="act_no_reply"}class Wa{agentId="";wakePromptId="";hasMessage=!1;message=new E;workStyle="auto"}class Ya extends Ka{userMessage=new E}class Ja extends Ka{userMessage=new E;assistantReply=new E;pseudoStreamCharIntervalMs}class za extends Ka{stateMessage=""}class qa extends Ka{assistantMessage=new E;pseudoStreamCharIntervalMs}class ja{static DIALOG="dialog";static FLOATING_DRAWER="floating-drawer";static PUSHED_DRAWER="pushed-drawer"}class $a{url="";urlRef;multiLangUrl;pcMode="dialog";width=720;height=480;mobileHeight=70;title;showTitleBar=!0;closeOnMaskClick=!0;forceExternalBrowser=!1}class Qa{interactive=!0;interactiveRef}class Za{volume=100;volumeRef}class en{color=l.createColorRgba(255,255,255,1);animated=!0;durationMs=800}class tn{brightness=1;brightnessRef;animated=!0;durationMs=800}class an{static LITERAL="LITERAL";static EXPRESSION="EXPRESSION"}class nn{cloudFormDataKey="";onSubmitSuccessActions=[];onAlreadySubmittedActions=[]}class sn{cloudFormDataKey="";fieldDataKey="";valueMode=an.LITERAL;literalValue=null;expression=""}class on{cloudFormDataKey="";onSuccessActions=[];onFailActions=[]}class rn{cloudFormDataKey=""}class ln{static LITERAL="LITERAL";static USER_VARIABLE="USER_VARIABLE";static EXPRESSION="EXPRESSION"}class cn{fieldKey="";valueMode=ln.LITERAL;literalValue=null;variableKey="";variableScope;expression=""}class dn{analyticsEventDataKey="";fieldBindings=[]}class mn{fieldKey="";label=new E;description=new E;placeholder=new E;required=!0;dataType=Fe.STRING;defaultValue=null;control=new Xe;boundVariableScope="";boundVariableKey=""}class pn{title=new E;description=new E;submitButtonText=new E;cancelButtonText=new E;showCancelButton=!0;blockInteraction=!0;closeOnOverlayClick=!1;synchronous=!0;fields=[];onSubmitSuccessActions=[];onCancelActions=[]}class _n{target=new Te;min=0;max=1;integerOnly=!1}class yn{static RANDOM="random";static COOL="cool";static WARM="warm";static PASTEL="pastel";static VIVID="vivid";static GRAY="gray"}class un{target=new Te;palette=yn.RANDOM;randomAlpha=!1;fixedAlpha=1}class gn{static ISO="iso";static UNIX_MS="unix_ms";static UNIX_S="unix_s";static DATE_STRING="date_string";static TIME_STRING="time_string"}class En{target=new Te;outputType=gn.ISO}class Tn{target=new Te;candidates=[]}class An{target=new Te;candidates=[]}class Cn{target=new Te;candidates=[]}class Sn{target=new Te;candidates=[]}class hn{target=new Te;candidates=[]}class In{target=new Te}class On{static RAW="raw";static WITH_OVERLAY="with_overlay"}class Ln{target=new Te;captureMode=On.RAW}class bn{static CAMERA="camera";static ALBUM="album";static IMAGE_VARIABLE="image_variable"}class Rn{ruleId="";imageSource=bn.CAMERA;cameraCaptureMode=On.RAW;sourceVariable=new Te;passedTarget=new Te;scoreTarget=new Te;reasonTarget=new Te}class fn{rayHitterId=""}class kn{rayHitterId=""}class Nn{controllerKey="";keepOnlyLatestForKey=!1;iconSrc="";title=new E;description=new E;buttonList=[];overrideAppearance=!1;appearanceOverride=new K;reportToAgentId}class Pn{controllerKey=""}class Mn{}function wn(e,t){return{vr:e,ar:t}}const vn=wn(!0,!1),Dn=wn(!0,!0),Vn=wn(!1,!0),Un={[St.CAMERA_MOVE_TO]:vn,[St.CAMERA_DOLLY_MOVE]:vn,[St.CAMERA_DOLLY_STOP]:vn,[St.SWEEP_CHANGE_ENABLED]:vn,[St.SWEEP_CHANGE_PANORAMA]:vn,[St.SWEEP_MARKER_CHANGE_ENABLED]:vn,[St.SWEEP_RESET_TO_DEFAULT]:vn,[St.SWEEP_ONLY_ENABLE_CURRENT]:vn,[St.COMPONENT_TAG_SIMULATE_CLICK]:vn,[St.SYSTEM_COLOR_SPACE_SCENE_TINT]:vn,[St.SYSTEM_COLOR_SPACE_DISPLAY_BRIGHTNESS]:vn};function xn(e){return e&&Un[e]||Dn}function Fn(){return Un}class Bn{boundVariableScope="";boundVariableKey="";dataType=Fe.STRING;control=new Xe;label=new E;description=new E;placeholder=new E;labelColor="";descriptionColor="";commitTextOnBlur=!0}class Gn extends u{name="";introduce="";code="";adItemList=[]}class Kn{type="image";name="";introduce="";imageSeconds=5;contentSrc="";chromaKeySettings=new m}class Hn{isAiEnabled=!0;welcomeMessage=new E}class Xn extends u{assetDataKey="";position=new a(0,0,0);rotation=new a(0,0,0);scale=new a(1,1,1);color=l.createColorRgb(20,20,20);name="";description="";snapshotSrc="";bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Wn extends u{position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;name="";description="";bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Yn extends u{name="";description="";scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Jn{bgColor=l.createColorRgba(255,255,255,.55);textColor=l.createColorByStr("#4e5969");iconColor=l.createColorByStr("#4e5969");accentColor=l.createColorByStr("#1677ff");blur=26;cornerRadius=16;textShadow=function(){const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.12),e}();iconShadow=function(){return new B}();panelShadow=function(){const e=new B;return e.enabled=!0,e.offsetX=0,e.offsetY=4,e.blur=14,e.color=l.createColorRgba(0,0,0,.16),e}();iconTintEnabled=!1}class zn{static CONTAIN="contain";static COVER="cover";static FILL="fill";static SCALE_DOWN="scale-down";static NONE="none"}class qn{static CENTER="center";static LEFT="left";static RIGHT="right"}class jn{enabled=!0;boxWidth=160;boxHeight=56;objectFit="contain";objectAlign="center"}class $n{imageSrc="";clickUrl="";backgroundColor=l.createColorRgba(0,0,0,0);pcConfig=new jn;mobileConfig=new jn;unityConfig=new jn}class Qn{enabledShare=!0;enabledFullScreen=!0;enabledSceneBtn=!0;enabledFovBtn=!0;enabledD3ModeBtn=!0;enabledFloorPlanModeBtn=!0;enabledFloorSelectBtn=!0;enabledMeasurementBtn=!0;enabledFlowBtn=!1;enabledMinimap=!0;enabledStaffLogin=!1;enabledGuestLogin=!1;enabledHamburgerMenu=!0;vrDefaultGlobalMute=!1;arDefaultGlobalMute=!1;playerAppearance=new K;floatingLayerStyle=new Jn;logoConfig=new $n;vrMainBarItems=[];vrInfoBarItems=[];arBottomItems=[];arInfoItems=[]}class Zn{enabledVrInfoTemplate=!1;vrInfoTemplateDataKey="";vrInfoTemplateItemValueList=[]}class es{templateItemDataKey="";templateItemValue=""}class ts{vrShadowEnabled=!1;vrShadowOpacity=.3;vrShadowMapSize=2048;arShadowEnabled=!1;arShadowStrength=.5;arShadowResolution="high"}class as{toneMapping="aces";toneMappingExposure=1;displayBrightness=1;sceneTint=l.createColorRgba(255,255,255,1)}function ns(e,t,a=g.EN){if(null==e)return"";if("string"==typeof e)return e;if(e.only_use_original_content)return e.original_content??"";const n=e[t];if(null!=n&&""!==n)return n;if(a!==t){const t=e[a];if(null!=t&&""!==t)return t}return e.original_content??""}function ss(e="",t=!0){const a=new E;return a.original_content=e,a.only_use_original_content=t,a}function os(e){if(null==e)return new E;if("string"==typeof e){const t=new E;return t.original_content=e,t.only_use_original_content=!0,t}return e}function rs(e){if(!e)return;const t=e.toLowerCase();return t.startsWith("zh-cn")||"zh"===t||t.startsWith("zh-hans")?"zh_cn":t.startsWith("zh-tw")||t.startsWith("zh-hant")?"zh_tw":t.startsWith("zh-hk")?"zh_hk":t.startsWith("en")?"en":t.startsWith("ko")?"kr":t.startsWith("ja")?"jp":t.startsWith("th")?"th":t.startsWith("vi")?"vn":t.startsWith("es")?"es":t.startsWith("fr")?"fr":t.startsWith("de")?"de":void 0}function is(e,t){if(!e||0===e.length)return g.EN;const a=rs(t);return a&&e.includes(a)?a:e[0]}class ls{static VIDEO="video";static IMAGE="image"}class cs{static FILL="fill";static CONTAIN="contain";static COVER="cover";static NONE="none";static SCALE_DOWN="scale-down"}class ds{static PLAY="play";static TEXT="text"}class ms{coverImageSrc="";coverVideoSrc="";coverBackgroundColor=l.createColorRgba(255,255,255,1);coverBackgroundType=ls.IMAGE;coverContentFitType=cs.CONTAIN;coverMaskColor=l.createColorRgba(255,255,255,.5);coverMaskBlur=10;coverTitle=new E;coverDescription=new E;enabledEnterVrButton=!1;enterVrButtonType=ds.PLAY;enterButtonBackgroundColor=l.createColorRgba(64,158,255,1);enterButtonForegroundColor=l.createColorRgba(255,255,255,1);enterButtonShadowColor=l.createColorRgba(64,158,255,1);textButtonContent=ss("Enter");constructor(){this.coverBackgroundColor=l.createColorRgba(0,0,0,1),this.coverBackgroundType=ls.IMAGE,this.coverContentFitType=cs.CONTAIN,this.coverMaskColor=l.createColorRgba(0,0,0,.5),this.coverMaskBlur=10,this.enabledEnterVrButton=!1,this.enterVrButtonType=ds.PLAY,this.enterButtonBackgroundColor=l.createColorRgba(64,158,255,1),this.enterButtonForegroundColor=l.createColorRgba(255,255,255,1),this.enterButtonShadowColor=l.createColorRgba(64,158,255,1),this.textButtonContent=ss("Enter")}}class ps{vrInitCompleteActionList=[];vrInitLocalVariableList=[];arInitCompleteActionList=[];arInitLocalVariableList=[];allInitCompleteActionList=[];allInitLocalVariableList=[];variablePreFillEnabled=!1;variablePreFillList=[];enterVrButtonTitle=new E;description=new E}class _s{variableKey="";defaultValue=new E;title=new E;hint=new E;required=!0}class ys{static IMAGE="image";static TEXT="text";static PROGRESS_BAR="progress-bar";static VIDEO="video";static BUTTON="button";static VARIABLE_CONTROL="variable-control"}class us{static CONTAIN="contain";static COVER="cover";static FILL="fill";static SCALE_DOWN="scale-down";static NONE="none"}class gs{static LEFT="left";static CENTER="center";static RIGHT="right"}class Es{static TOP="top";static MIDDLE="middle";static BOTTOM="bottom"}class Ts{static HORIZONTAL="horizontal";static VERTICAL="vertical"}class As{static SOLID="solid";static GRADIENT="gradient";static STRIPED="striped";static STRIPED_ANIMATED="striped-animated";static GLOW="glow"}class Cs{static CONTAIN="contain";static COVER="cover";static FILL="fill";static NONE="none"}class Ss{static LEFT="left";static RIGHT="right";static TOP="top"}class hs{static BELOW="below";static CORNER="corner"}class Is extends u{type=ys.TEXT;name="";remark="";width=200;height=150;rotation=0;opacity=1;backgroundColor="rgba(255,255,255,0)";hoverStyleEnabled=!1;hoverBackgroundColor="rgba(255,255,255,0)";hoverOpacity=1;visible=!0;zIndex=1;radius=0;border="none";paddingX=6;paddingY=6;clickActionList=[];css={};script=""}class Os extends Is{type=ys.IMAGE;imageSrc="";imageMode=us.FILL}class Ls extends Is{type=ys.TEXT;width=150;height=30;positionX=0;positionY=0;textContent=new E;textColor="rgba(255,255,255,1)";textSize=16;textVerticalAlign=Es.MIDDLE;textAlign=gs.CENTER;textBold=!1;textItalic=!1;textUnderline=!1}class bs extends Is{type=ys.PROGRESS_BAR;width=160;height=14;radius=999;progressBarStyle=As.SOLID;progressBarColor="#1677ff";progressBarColorEnd="#69b1ff";progressBarTrackColor="rgba(0,0,0,0.08)";progressRange="100";progressBarDirection=Ts.HORIZONTAL;progress="50"}class Rs extends Is{type=ys.VIDEO;width=240;height=135;backgroundColor="rgba(0,0,0,1)";videoSrc="";poster="";autoplay=!1;muted=!0;loop=!1;controls=!0;objectFit=Cs.COVER}class fs extends Is{type=ys.BUTTON;width=120;height=36;radius=999;paddingX=14;paddingY=8;backgroundColor="#1677ff";hoverBackgroundColor="#4096ff";textContent=new E;textColor="rgba(255,255,255,1)";textSize=14;textBold=!1;textItalic=!1;textUnderline=!1;icon=new I;iconPosition=Ss.LEFT;iconSize=18}class ks extends Is{type=ys.VARIABLE_CONTROL;width=200;height=60;bound=new Bn}class Ns{static FLOATING="floating";static POPUP="popup"}class Ps extends u{name="";description="";size=new n(360,270);radius=12;backgroundColor=l.createColorRgba(255,255,255,.5);backgroundBlur=10;componentList=[]}class Ms extends u{name="";remark="";title=new E;description="";icon=new I;defaultEnabled=!0;displayMode=Ns.FLOATING;sceneDataList=[];defaultSceneId="";badgeText=new E;badgeStyle=hs.CORNER;badgeBgColor="rgba(255,77,79,1)";badgeTextColor="rgba(255,255,255,1)";size=new n(360,270);radius=12;backgroundColor=l.createColorRgba(255,255,255,.5);backgroundBlur=10;componentList=[]}const ws="#262626";class vs{background=l.createColorRgba(0,0,0,0);textColor=l.createColorByStr("#ffffff");iconColor=l.createColorByStr("#ffffff");textShadow=(()=>{const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.55),e})();iconShadow=new B;iconTintEnabled=!0}function Ds(){const e=new vs;return e.background=l.createColorRgba(0,0,0,.5),e}function Vs(e,t){if(e&&e.rootStyleOverrideEnabled){const t=e.rootStyle||Ds();return{background:c.colorToRgbaString(t.background),inheritBackground:"transparent",textColor:c.colorToRgbaString(t.textColor),iconColor:c.colorToRgbaString(t.iconColor),textShadow:G(t.textShadow,"text"),iconShadow:G(t.iconShadow,"drop"),iconTintEnabled:!1!==t.iconTintEnabled}}const a=t||new Jn;return{background:c.colorToRgbaString(a.bgColor),inheritBackground:"transparent",textColor:c.colorToRgbaString(a.textColor),iconColor:c.colorToRgbaString(a.iconColor),textShadow:G(a.textShadow,"text"),iconShadow:G(a.iconShadow,"drop"),iconTintEnabled:!!a.iconTintEnabled}}function Us(e,t){const a=e&&e.style||new vs;if(e&&e.styleOverrideEnabled){const e=c.colorToRgbaString(a.background);return{background:e,inheritBackground:e,textColor:c.colorToRgbaString(a.textColor),iconColor:c.colorToRgbaString(a.iconColor),textShadow:G(a.textShadow,"text"),iconShadow:G(a.iconShadow,"drop"),iconTintEnabled:!1!==a.iconTintEnabled}}const n=t.inheritBackground||"transparent";return{background:n,inheritBackground:n,textColor:t.textColor,iconColor:t.iconColor,textShadow:t.textShadow,iconShadow:t.iconShadow,iconTintEnabled:t.iconTintEnabled}}class xs{static GROUP="group";static TEXT_ITEM="text_item";static MEDIA_CAROUSEL_ITEM="media_carousel_item";static GRID_MEDIA_ITEM="grid_media_item";static WATERFALL_MEDIA_ITEM="waterfall_media_item";static WEBVIEW_ITEM="webview_item";static RICH_TEXT_ITEM="rich_text_item";static CANVAS_ITEM="canvas_item";static IMAGE_ITEM="image_item";static GRID_IMAGE_ITEM="grid_image_item";static WATERFALL_IMAGE_ITEM="waterfall_image_item";static VIDEO_ITEM="video_item"}class Fs{static IMAGE="image";static VIDEO="video"}class Bs extends u{mediaType=Fs.IMAGE;url="";poster="";caption=new E;aspectRatio=0;buttonList=[]}class Gs{static FLOATING="floating";static PUSHED="pushed"}class Ks{static ELLIPSIS="ellipsis";static WRAP="wrap"}class Hs extends u{nodeType=xs.TEXT_ITEM;name="";color=ws;backgroundColor="";styleOverrideEnabled=!1;style=new vs;visible=!0;requireXrReady=!0}class Xs extends Hs{title=new E;icon=new I;titleOverflowMode=Ks.ELLIPSIS}class Ws extends Xs{constructor(){super(),this.nodeType=xs.TEXT_ITEM}actionList=[]}class Ys extends Xs{constructor(){super(),this.nodeType=xs.MEDIA_CAROUSEL_ITEM}description=new E;mediaList=[];autoplay=!0;intervalMs=3e3;height=0;objectFit=$s.COVER}class Js{url="";actionList=[]}class zs extends Xs{constructor(){super(),this.nodeType=xs.IMAGE_ITEM}description=new E;imageList=[];autoplay=!0;intervalMs=3e3;height=0;objectFit=$s.COVER}class qs{url="";caption=new E;actionList=[];aspectRatio=0}class js{static LEFT="left";static FILL="fill";static CENTER="center";static STRETCH="stretch"}class $s{static COVER="cover";static CONTAIN="contain";static FILL="fill"}class Qs extends Xs{constructor(){super(),this.nodeType=xs.GRID_MEDIA_ITEM}description=new E;mediaList=[];columns=3;aspectRatio=1;gap=6;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";objectFit=$s.COVER;lastRowMode=js.LEFT;enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class Zs extends Xs{constructor(){super(),this.nodeType=xs.GRID_IMAGE_ITEM}description=new E;imageList=[];columns=3;aspectRatio=1;gap=6;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";objectFit=$s.COVER;lastRowMode=js.LEFT;enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class eo{minWidth=0;columns=2}class to extends Xs{constructor(){super(),this.nodeType=xs.WATERFALL_MEDIA_ITEM}description=new E;mediaList=[];columns=2;responsiveBreakpoints=[];columnGap=8;rowGap=8;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class ao extends Xs{constructor(){super(),this.nodeType=xs.WATERFALL_IMAGE_ITEM}description=new E;imageList=[];columns=2;responsiveBreakpoints=[];columnGap=8;rowGap=8;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class no{url="";poster=""}class so extends Xs{constructor(){super(),this.nodeType=xs.VIDEO_ITEM}description=new E;videoList=[];autoplay=!1;muted=!0;loop=!1;height=0;objectFit=$s.CONTAIN}class oo extends Xs{constructor(){super(),this.nodeType=xs.WEBVIEW_ITEM}url="";height=240;allowFullscreen=!1}class ro extends Xs{constructor(){super(),this.nodeType=xs.GROUP}children=[];defaultExpanded=!0}function io(){return{type:"doc",content:[]}}class lo extends Hs{constructor(){super(),this.nodeType=xs.RICH_TEXT_ITEM}content={type:"doc",content:[]}}class co extends Xs{constructor(){super(),this.nodeType=xs.CANVAS_ITEM}designWidth=380;height=240;canvasBackgroundColor="rgba(0, 0, 0, 0.5)";componentList=[]}class mo{drawerTitle=new E;drawerTitleColor="";drawerDescription=new E;drawerDescriptionColor="";rootStyleOverrideEnabled=!1;rootStyle=Ds();nodeList=[];pcLayoutMode=Gs.FLOATING;backgroundColor="";backgroundBlur=0;edgeGap=0;pcWidth=380;openedByDefault=!1}class po{static IMAGE="image";static TEXT="text";static PROGRESS_BAR="progress-bar";static VIDEO="video";static BUTTON="button";static VARIABLE_CONTROL="variable-control"}class _o{static CONTAIN="contain";static COVER="cover";static FILL="fill";static SCALE_DOWN="scale-down";static NONE="none"}class yo{static LEFT="left";static CENTER="center";static RIGHT="right"}class uo{static TOP="top";static MIDDLE="middle";static BOTTOM="bottom"}class go{static HORIZONTAL="horizontal";static VERTICAL="vertical"}class Eo{static CONTAIN="contain";static COVER="cover";static FILL="fill";static NONE="none"}class To{static LEFT="left";static RIGHT="right";static TOP="top"}class Ao extends u{type=po.TEXT;name="";remark="";width=200;height=60;positionX=0;positionY=0;rotation=0;opacity=1;visible=!0;zIndex=1;backgroundColor="rgba(255,255,255,0)";hoverStyleEnabled=!1;hoverBackgroundColor="rgba(255,255,255,0)";hoverOpacity=1;radius=0;border="none";paddingX=6;paddingY=6;clickActionList=[];css={};script=""}class Co extends Ao{type=po.IMAGE;imageSrc="";imageMode=_o.FILL}class So extends Ao{type=po.TEXT;width=150;height=30;textContent=new E;textColor="rgba(255,255,255,1)";textSize=16;textVerticalAlign=uo.MIDDLE;textAlign=yo.CENTER;textBold=!1;textItalic=!1;textUnderline=!1}class ho extends Ao{type=po.PROGRESS_BAR;width=160;height=14;radius=999;progressBarStyle=As.SOLID;progressBarColor="#1677ff";progressBarColorEnd="#69b1ff";progressBarTrackColor="rgba(0,0,0,0.08)";progressRange="100";progressBarDirection=go.HORIZONTAL;progress="50"}class Io extends Ao{type=po.VIDEO;width=240;height=135;backgroundColor="#000000";videoSrc="";poster="";autoplay=!1;muted=!0;loop=!1;controls=!0;objectFit=Eo.COVER}class Oo extends Ao{type=po.BUTTON;width=120;height=36;radius=999;paddingX=14;paddingY=8;backgroundColor="#1677ff";hoverBackgroundColor="#4096ff";textContent=new E;textColor="rgba(255,255,255,1)";textSize=14;textAlign=yo.CENTER;textBold=!1;textItalic=!1;textUnderline=!1;icon=new I;iconPosition=To.LEFT;iconSize=18}class Lo extends Ao{type=po.VARIABLE_CONTROL;width=200;height=60;bound=new Bn}class bo{static buildVrContentData(e,t,a,n){const s=new Bo(e,t);return s.vrCoverSettings.coverTitle.original_content=a,s.vrCoverSettings.coverImageSrc=n,s}}class Ro{isDirectToInside=!1;firstSweepPose=new r;enterFovImageSrc="";enterParams=""}class fo{min=new a(0,0,0);max=new a(0,0,0);size=new a(0,0,0)}class ko{title="";description=""}class No{nearDistanceMax=35;refreshMoveThreshold=5;componentRevealIntervalMs=80}class Po{enabled=!0;blurVarThreshold=8;darkLumaThreshold=40;textureThreshold=4;maxCaptureRetries=15;blockedHintAfter=3}class Mo{enabled=!1;holdSeconds=15}class wo{capture="multi";poseGatePitchAbsDeg=45;poseGateStableSec=1;multiFrameCount=3;multiFrameIntervalMs=500;autoRetryOnFailure=!0;retryDelaySec=2;guidedCaptureEnabled=!1;guidedCaptureAskUser=!1;guidedCaptureCount=6}class vo{enabled=!0;intervalSec=30}class Do{enabled=!0;distanceMeters=3;idleTimeoutSec=60}class Vo{minScore=0;factor=1;constructor(e=0,t=1){this.minScore=e,this.factor=t}}class Uo{enabled=!0;scoreTiers=[new Vo(.9,2),new Vo(.7,1),new Vo(.45,.5),new Vo(0,.25)];driftWarnMeters=.5;driftForceMeters=1.5;limitedAction="relocate_boost"}class xo{enabled=!0;capture="single";multiFrameCount=3;multiFrameIntervalMs=500;timerTrigger=new vo;distanceTrigger=new Do;dynamic=new Uo;maxConsecutiveFailures=5;adaptiveAssistEnabled=!0;adaptiveAssistRadius=3;adaptiveAssistRadiusInitial=5;adaptiveAssistSettleSec=15;adaptiveAssistMaxAgeSec=30;smoothCorrection=!0;smoothDurationSec=.4;debugToastEnabled=!1}class Fo{apiKey="";apiBaseUrl="";requestTimeoutSec=120;retrieval="netvlad";retrievalK=20;regionRetrievalK=20;failThreshold=.2;highThreshold=.7;firstLocalizeDelaySec=1.5;jpegQuality=75;maxUploadEdge=1280;quality=new Po;abnormalHandheld=new Mo;initial=new wo;correction=new xo;schemaVersion=2}class Bo{version;vrDataKey="";mpModelId="";vrUnicode="";supportedLanguages=[g.EN,g.JP];vrCoverSettings=new ms;vrPlayerUiSettings=new Qn;hamburgerMenu=new mo;vrInfoTemplateSettings=new Zn;arCommonSettings=new No;arPositionXSettings=new Fo;vrRenderSettings=new ts;vrColorSpaceSettings=new as;cameraEnterSettings=new Ro;sweepMarkerList=[];componentMarkerList=[];worldSizeInfo=new fo;introduceItemList=[];vrFovList=[];vrContentCardList=[];vrFloorList=[];audioCenter=new X;vrLightList=[];vrLayerList=[];vrViewList=[];sweepList=[];componentList=[];trimmerList=[];spaceFenceList=[];spaceFenceGroupList=[];rayHitterList=[];abilityList=[];abilityGroupList=[];vrFlowList=[];vrStickerList=[];assetPointMarkList=[];assetVolumeMarkList=[];vrTargetList=[];vrTargetGroupList=[];vrObstacleList=[];vrObstacleGroupList=[];vrWormholeList=[];vrWormholeGroupList=[];vrAdChannelList=[];prepareSettings=new ps;vrAiSettings=new Hn;aiAgentList=[];variableList=[];sharedVariableList=[];conditionWatcherList=[];stateBindingsList=[];broadcastChannelList=[];backgroundThreadList=[];cameraDollyPathList=[];monitorList=[];messageCardList=[];triggerList=[];unityNavigationModeList=[];unityNavigationParams=new b;xrVirtualFloorList=[];navigationAdConfigList=[];programSceneList=[];customClassList=[];sharedFunctionList=[];entityHandlerBindingList=[];constructor(e,t){this.mpModelId=e,this.vrUnicode=t}}class Go extends u{name="";sequence=0;originalFloorPlanImageSrc="";mapSettings=new Ko}class Ko{floorId="";mapImageSrc="";widthScale=1;heightScale=1;horizontalOffset=0;verticalOffset=0;rotation=0}class Ho{static COMPONENT_CREATED="component_created";static COMPONENT_SHOW="component_show";static COMPONENT_HIDE="component_hide";static CLICK="click";static MOUSE_ENTER="mouse_enter";static MOUSE_LEAVE="mouse_leave";static PLAY_START="play_start";static PLAY_FINISH="play_finish";static ENTER="enter";static LEAVE="leave";static PANEL_BUTTON_CLICK="panel_button_click";static PANEL_ANSWER_CORRECT="panel_answer_correct";static PANEL_ANSWER_WRONG="panel_answer_wrong";static VARIABLE_MODIFIED="variable_modified";static CONDITION_WATCHER_TRIGGERED="expression_watcher_triggered";static MONITOR_COMPONENT_CLICK="monitor_component_click";static STICKER_ACTIVATED="sticker_activated";static STICKER_DEACTIVATED="sticker_deactivated";static VR_STARTED="vr_started";static ALL_COMPONENTS_CREATED="all_components_created";static BROADCAST_CHANNEL_MESSAGE="broadcast_channel_message";static RAY_HITTER_TOP_TRIGGERED="ray_hitter_top_triggered";static RAY_HITTER_BOTTOM_TRIGGERED="ray_hitter_bottom_triggered"}class Xo{static COMPONENT_TAG="component_tag";static COMPONENT_2D_TEXT="component_2d_text";static COMPONENT_2D_ADVERTISEMENT="component_2d_advertisement";static COMPONENT_2D_VIDEO="component_2d_video";static COMPONENT_2D_IMAGE="component_2d_image";static COMPONENT_2D_PANEL="component_2d_panel";static COMPONENT_3D_BOX="component_3d_box";static COMPONENT_3D_MODEL="component_3d_model";static RAY_HITTER="ray_hitter";static LOGIC_VARIABLE="logic_variable";static LOGIC_CONDITION_WATCHER="logic_expression_watcher";static SPACE_FENCE="space_fence";static SPACE_FENCE_GROUP="space_fence_group";static MONITOR_COMPONENT="monitor_component";static STICKER="sticker";static BROADCAST="broadcast";static AI_AGENT="ai_agent";static SYSTEM="system"}const Wo={[Xo.COMPONENT_TAG]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Xo.COMPONENT_2D_TEXT]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Xo.COMPONENT_2D_ADVERTISEMENT]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Xo.COMPONENT_2D_VIDEO]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE,Ho.PLAY_START,Ho.PLAY_FINISH],[Xo.COMPONENT_2D_IMAGE]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Xo.COMPONENT_2D_PANEL]:[Ho.PANEL_BUTTON_CLICK,Ho.PANEL_ANSWER_CORRECT,Ho.PANEL_ANSWER_WRONG,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE],[Xo.COMPONENT_3D_BOX]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Xo.COMPONENT_3D_MODEL]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE,Ho.PLAY_START,Ho.PLAY_FINISH],[Xo.RAY_HITTER]:[Ho.RAY_HITTER_TOP_TRIGGERED,Ho.RAY_HITTER_BOTTOM_TRIGGERED],[Xo.LOGIC_VARIABLE]:[Ho.VARIABLE_MODIFIED],[Xo.LOGIC_CONDITION_WATCHER]:[Ho.CONDITION_WATCHER_TRIGGERED],[Xo.SPACE_FENCE]:[Ho.ENTER,Ho.LEAVE],[Xo.SPACE_FENCE_GROUP]:[Ho.ENTER,Ho.LEAVE],[Xo.MONITOR_COMPONENT]:[Ho.MONITOR_COMPONENT_CLICK],[Xo.STICKER]:[Ho.STICKER_ACTIVATED,Ho.STICKER_DEACTIVATED],[Xo.BROADCAST]:[Ho.BROADCAST_CHANNEL_MESSAGE],[Xo.SYSTEM]:[Ho.VR_STARTED,Ho.ALL_COMPONENTS_CREATED]};class Yo{source=Xo.COMPONENT_TAG;sourceId="";type=Ho.ENTER;editorParams={}}class Jo extends u{createSourceType=Xo.COMPONENT_2D_IMAGE;createSourceId="";name="";signal=new Yo;actionList=[];triggerTimesLimit=-1;localVariableList=[];constructor(){super()}}class zo{static DRAFT="draft";static PUBLISHED="published"}class qo{id="";name="";description="";keywords=[];status=zo.DRAFT;startStepId="";stepList=[];canvasData="";flagImageSrc="";flagImageSize=new n(1,1);flowScopeVariableList=[]}class jo{static START="start";static FINISH="finish";static GENERAL="general";static CONDITION="condition";static GLOBAL_BROADCAST_LISTENER="global_broadcast_listener"}class $o{static NORMAL="normal";static BUTTONS_ONLY="buttons_only";static NONE="none"}class Qo{id="";type=jo.GENERAL;name="";title=new E;description=new E;showArriveDescription=!1;arriveDescription=new E;note="";flagImageSrc="";flagImageSize=new n(1,1);iconSrc="";stepBarStyle=$o.NORMAL;showStepBarDelay=0;buttonList=[];enterActionList=[];positionSettings=new tr;arriveRadius=5;arriveActionList=[];triggerList=[];finishInjectTriggerList=[];startCardNextStepEndpointSettings=new nr;conditionExpression="";conditionTrueEndpointSettings=new nr;conditionFalseEndpointSettings=new nr;enterActionCompleteEndpointSettings=new nr;arriveActionCompleteEndpointSettings=new nr;stepScopeVariableList=[];broadcastListenerEntryList=[];overrideAppearance=!1;appearanceOverride=new K}class Zo{actionList=[];onlyFirstArrive=!1;action}class er{static NONE="none";static SWEEP="sweep";static COMPONENT="component";static FOV_LINK="fov_link";static VR_FOV="vr_fov"}class tr{type=er.NONE;componentId="";fovLink="";fovLinkDataKey="";fovLinkSnapshotSrc="";sweepId="";rotationX=0;rotationY=0;enableDirectLocate=!1;enableNavigateAgain=!1;gotoPositionMethod=A.NAVIGATION_TO_MANUAL;vrFovId="";moveSpeed=0;pauseInterval=0}class ar{destroyTriggerOnLeaveCurrenStep=!0;trigger=new Jo;nextStepEndpointSettings=new nr}class nr{id="";enabled=!1;nextStepId="";lineColor=l.createColorByStr("#888888")}class sr{id="";channelId="";actionList=[];nextStepEndpointSettings=new nr}class or extends u{name="";description="";isAvailableForAi=!0;src="";showInContentMenu=!0;cameraMode=s.INSIDE;cameraPose=new i;aiGenerateIntroduceUserPrompt=""}class rr extends u{name="";description="";keywords=[];visible=!0;children=[]}class ir extends u{type;color=l.createColorRgb(255,255,255);enabled=!0;name="";intensity=1;floorIdList=[]}class lr extends ir{type="ambient"}class cr extends ir{type="directional";position=new a(0,1,0);target=new a(0,0,0)}class dr extends ir{type="point";position=new a(0,1,0);distance=0;decay=1}class mr{static COMPONENT_MARKER="component_marker";static SWEEP_MARKER="sweep_marker"}class pr extends u{name="";description="";keywords=[];color=l.createColorRgba(0,0,0,1);type=mr.COMPONENT_MARKER}class _r{id="";name="";description="";keywords=[];color=l.createColorRgba(0,0,0,1);markerType=mr.COMPONENT_MARKER;markers=[]}class yr{static M="m";static CM="cm";static MM="mm"}class ur{static M2="m2";static CM2="cm2"}class gr extends u{name="";description="";visible=!0;enabledArea=!0;pointList=[];appearanceThemeColor=l.createColorRgba(255,255,255,1);area=0;distanceUnit=yr.M;areaUnit=ur.M2}class Er{id="";position=new a(0,0,0);normal=new a(0,0,0);distance=0}class Tr extends u{name="";introduce="";targetArrowImageSrc="";targetArrowImageSize=new n(1,1);targetArrowImageYOffset=.6;targetArrowImageYOffsetDynamic=.4;targetArrowAdPositionOffsetY=1.5;targetArrowAdSize=new n(1,.75);targetArrowShowAdDistance=20;targetArrowAdChannelId="";leadBotAdPositionOffset=new a(0,1.5,0);leadBotAdSize=new n(1,.75);leadBotAdChannelId=""}class Ar extends u{groupId="default";name="";description="";scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);originalScale=new a(1,1,1);bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Cr extends u{name="";enabled=!0;description=""}class Sr extends u{dataKey="";position=new a(0,0,0);rotation=new a(0,0,0);noteDataKey="";noteType="";noteIssueState=""}class hr{key="";placement="left"}function Ir(e,t){const a=new hr;return a.key=e,a.placement=t,a}const Or=[Ir("fov","capsule"),Ir("d3","capsule"),Ir("floorplan","capsule"),Ir("floor","left"),Ir("flow","left"),Ir("measure","left"),Ir("mute","right"),Ir("share","more"),Ir("account","more")],Lr=[Ir("minimap","surface"),Ir("monitors","surface"),Ir("fullscreen","surface"),Ir("audio","hidden"),Ir("hamburger","surface")],br=[Ir("graffiti","left"),Ir("decoration","left"),Ir("discover","left"),Ir("capture","left"),Ir("monitors","left"),Ir("ai","left")],Rr=[Ir("minimap","surface"),Ir("audio","surface"),Ir("mute","surface"),Ir("hamburger","surface"),Ir("account","surface")],fr=Or.map((e=>e.key)),kr=Lr.map((e=>e.key)),Nr=br.map((e=>e.key)),Pr=Rr.map((e=>e.key));function Mr(e,t){const a=t.find((t=>t.key===e));return a?a.placement:"left"}class wr{static TOP="top";static BOTTOM="bottom";static BOTH="both"}class vr{distanceMin=0;distanceMax=0;maxTiltDeg=0;iconUrl=""}class Dr extends u{name="";description="";position=new a(0,0,0);rotation=new a(0,0,0);radius=.5;height=.05;detectFace=wr.TOP;dwellTriggerMs=1e3;color=l.createColorRgba(0,255,0,.35);topFace=new vr;bottomFace=new vr}class Vr extends u{groupId="default";name="";description="";scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode="";enterKeepSeconds=0;leaveKeepSeconds=0}class Ur extends u{name="";description="";cubeFaceColor=l.createColorRgba(255,255,0,.3)}class xr{static DISTANCE="distance";static VISIBLE="visible";static VISIBLE_AND_DISTANCE="visible_and_distance"}class Fr extends u{position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;color=l.createColorRgb(20,20,20);name="";snapshotSrc="";activateType=xr.VISIBLE_AND_DISTANCE;activateDistance=5;activeNeedStaySeconds=0;inactiveNeedStaySeconds=0;bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Br extends u{no=1;name="";description="";isAvailableForAi=!0;isVirtual=!1;alignmentType=Gr.ALIGNED;enabled=!0;disabledInMatterport=!1;floorId="";neighbors=[];placementType=Kr.AUTO;position=new a(0,0,0);rotation=new a(0,0,0);pointerPosition=new a(0,0,0);markerList=[];keywords=[];panoramaData=new Wr;contentCardList=[]}class Gr{static ALIGNED="aligned";static UNALIGNED="unaligned"}class Kr{static AUTO="auto";static MANUAL="manual";static UNPLACED="unplaced"}class Hr{static IMAGE="image";static VIDEO="video"}class Xr{static NONE="none";static SAME_TO_INSIDE="same_to_inside"}class Wr{default="original";sourceList=[];ballExternalViewMode=Xr.NONE}class Yr{id="";type=Hr.IMAGE;name="";description="";keywords=[];imageSrc="";videoSrc="";muted=!0;loop=!0;opacity=1;zoomLevel=1;rotationCorrection=new a(0,0,0);allowSeeSweep=!0;allowSeeComponents=!0}class Jr{primaryColor=new d;secondaryColor=new d;maskColor=new d;barMaskColor=new d}class zr extends u{name="";position=new a(0,0,0);scale=new a(1,1,1);rotation=new a(0,0,0);enabledTrimSpace=!0;enabledTrimComponent=!1;discardContents=!0;activeInPanoMode=!0}class qr extends u{startY=-99999;endY=99999;name="";floorPlanImageSrc="";floorCode="";floorPlanPointList=[new n(0,0),new n(0,0),new n(0,0)];vrSpacePointList=[new a(0,0,0),new a(0,0,0),new a(0,0,0)]}class jr extends u{name="";description="";type=$r.BASIC;bindLayerIdList=[]}class $r{static GENERAL="general";static BASIC="basic"}class Qr extends u{groupId="default";position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;color=l.createColorRgb(205,133,63);name="";title=new E;bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Zr extends u{name="";enabled=!0;description=""}class ei extends u{groupId="default";position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;color=l.createColorRgb(34,139,34);name="";code="";title=new E;description=new E;showToUser=!0;importable=!1;destinationToAnotherTarget=!1;destinationTargetId="";bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class ti extends u{name="";enabled=!0;description="";useNavigationAdConfigId=""}class ai extends u{name="";remark="";autoExecuteOnBoot=!1;executeCount=0;actionList=[];interval=1e3;localVariableList=[]}class ni extends u{name="";remark="";payloadFieldList=[];constructor(){super()}}class si{componentId="";description=""}class oi{targetId="";description=""}class ri{variableKey="";variableScope;description=""}class ii{stickerId="";autoDeliverActivationToAi=!0;description=""}class li{spaceFenceId="";autoDeliverActivationToAi=!0;description=""}class ci{spaceFenceGroupId="";autoDeliverActivationToAi=!0;description=""}class di{backgroundThreadId="";description=""}class mi{cameraDollyPathId="";description=""}class pi{abilityId="";description=""}class _i{contentCardId="";description=""}class yi{vrFovId="";description=""}class ui{cloudFormDataKey="";description="";autoPromptToFill=!1}class gi{knowledgeBaseDataKey="";description=""}class Ei{analyticsEventDataKey="";description=""}class Ti{messageCardId="";description=""}class Ai{monitorId="";description=""}class Ci{assetPointMarkId="";description=""}class Si{rayHitterId="";description=""}class hi{aiCheckRuleDataKey="";description=""}class Ii{assetVolumeMarkId="";description=""}class Oi{rolePrompt="";tonePrompt="";taskPrompt="";abilityPrompt="";limitPrompt="";behaviorRulePrompt=""}class Li{reasoning_effort;temperature;max_output_tokens}class bi extends u{name="";description="";promptContent=""}class Ri extends u{name="";description="";wakePrompt=""}class fi extends u{name="";autoActivate=!1;enableVoiceOutput=!1;voiceOutputComponentId="";enableVoiceInput=!1;enableScreenRecognition=!1;remark="";roleName="";avatarSrc="";rolePromptSettings=new Oi;skillPromptList=[];wakePromptList=[];localVariableList=[];toolSettings={};modelDataKey="";contextTokens=0;params=new Li;useComponentList=[];useTargetList=[];useVariableList=[];useStickerList=[];useSpaceFenceList=[];useSpaceFenceGroupList=[];useBackgroundThreadList=[];useCameraDollyPathList=[];useAbilityList=[];useKnowledgeBaseList=[];useFovList=[];useContentCardList=[];useCloudFormList=[];useAnalyticsEventList=[];useMessageCardList=[];useMonitorList=[];useAssetPointMarkList=[];useAssetVolumeMarkList=[];useRayHitterList=[];useAiCheckRuleList=[];associateAllAssetPointMarks=!1;associateAllAssetVolumeMarks=!1}const ki=[{key:"component",toolList:[{key:"query_components",requires:["useComponentList"],readOnlyInspect:!0},{key:"query_component_state",requires:["useComponentList"],readOnlyInspect:!0},{key:"change_component_visibility",requires:["useComponentList"]},{key:"component_transition_animation",requires:["useComponentList"]},{key:"change_component_transform",requires:["useComponentList"]},{key:"component_audio_source",requires:["useComponentList"]},{key:"change_component_audio_loop_mode",requires:["useComponentList"]}]},{key:"navigation",toolList:[{key:"query_targets",requires:["useTargetList"],readOnlyInspect:!0},{key:"query_navigation_state",requires:["useTargetList","useFovList"],readOnlyInspect:!0},{key:"navigation_control",requires:["useTargetList","useFovList"]}]},{key:"position_x",toolList:[{key:"query_spatial_distances_from_camera",requires:["positionXConnected"],readOnlyInspect:!0},{key:"query_spatial_distances_from_point",requires:["positionXConnected"],readOnlyInspect:!0}]},{key:"visible_assets",toolList:[{key:"query_visible_assets",readOnlyInspect:!0,requires:["useComponentList","useAssetPointMarkList","useAssetVolumeMarkList","associateAllAssetPointMarks","associateAllAssetVolumeMarks"]}]},{key:"ray_hitter",toolList:[{key:"ray_hitter_activate",requires:["useRayHitterList"]},{key:"ray_hitter_deactivate",requires:["useRayHitterList"]}]},{key:"ai_check",toolList:[{key:"ai_check_run",requires:["useAiCheckRuleList"]}]},{key:"camera_fov",toolList:[{key:"query_vr_fovs",requires:["useFovList"],readOnlyInspect:!0},{key:"camera_move_to_vr_fov",requires:["useFovList"]}]},{key:"sticker",toolList:[{key:"query_stickers",requires:["useStickerList"],readOnlyInspect:!0}]},{key:"space_fence",toolList:[{key:"query_space_fences",requires:["useSpaceFenceList"],readOnlyInspect:!0}]},{key:"space_fence_group",toolList:[{key:"query_space_fence_groups",requires:["useSpaceFenceGroupList"],readOnlyInspect:!0}]},{key:"variable",toolList:[{key:"query_variables",requires:["useVariableList"],readOnlyInspect:!0},{key:"set_variable",requires:["useVariableList"]},{key:"change_number_variable",requires:["useVariableList"]},{key:"append_to_string_variable",requires:["useVariableList"]},{key:"toggle_boolean_variable",requires:["useVariableList"]}]},{key:"camera_dolly",toolList:[{key:"query_camera_dolly_paths",requires:["useCameraDollyPathList"],readOnlyInspect:!0},{key:"camera_dolly_control",requires:["useCameraDollyPathList"]}]},{key:"background_thread",toolList:[{key:"query_background_threads",requires:["useBackgroundThreadList"],readOnlyInspect:!0},{key:"background_thread_control",requires:["useBackgroundThreadList"]}]},{key:"ability",toolList:[{key:"query_abilities",requires:["useAbilityList"],readOnlyInspect:!0},{key:"ability_control",requires:["useAbilityList"]}]},{key:"information_display",toolList:[{key:"query_content_cards",requires:["useContentCardList"],readOnlyInspect:!0},{key:"show_information_content_card",requires:["useContentCardList"]},{key:"close_information_content_card"},{key:"open_webpage"},{key:"close_information_link"}]},{key:"message_card",toolList:[{key:"query_message_cards",requires:["useMessageCardList"],readOnlyInspect:!0},{key:"query_message_card_detail",requires:["useMessageCardList"],readOnlyInspect:!0},{key:"change_message_card_show_state",requires:["useMessageCardList"]}]},{key:"monitor",toolList:[{key:"query_monitors",requires:["useMonitorList"],readOnlyInspect:!0},{key:"query_monitor_detail",requires:["useMonitorList"],readOnlyInspect:!0},{key:"monitor_change_enabled",requires:["useMonitorList"]},{key:"monitor_switch_active_tab",requires:["useMonitorList"]},{key:"monitor_component_change_visibility",requires:["useMonitorList"]},{key:"monitor_change_badge",requires:["useMonitorList"]}]},{key:"skill_prompt",toolList:[{key:"list_skill_prompts",requires:["skillPromptList"],readOnlyInspect:!0},{key:"search_skill_prompts",requires:["skillPromptList"],readOnlyInspect:!0},{key:"get_skill_prompt_detail",requires:["skillPromptList"],readOnlyInspect:!0}]},{key:"knowledge_base",toolList:[{key:"query_knowledge_base_records",requires:["useKnowledgeBaseList"],readOnlyInspect:!0},{key:"get_knowledge_base_record",requires:["useKnowledgeBaseList"],readOnlyInspect:!0}]},{key:"cloud_form",toolList:[{key:"query_cloud_form_submitted",requires:["useCloudFormList"],readOnlyInspect:!0},{key:"query_cloud_form_collected",requires:["useCloudFormList"],readOnlyInspect:!0},{key:"cloud_form_set_field",requires:["useCloudFormList"]},{key:"cloud_form_submit",requires:["useCloudFormList"]},{key:"cloud_form_reset",requires:["useCloudFormList"]},{key:"cloud_form_show_dialog",requires:["useCloudFormList"]}]},{key:"ui_control",toolList:[{key:"visualization_controller_pop"},{key:"visualization_controller_hide"},{key:"visualization_controller_close_all"},{key:"set_interactive_state"},{key:"change_layer_visibility"},{key:"audio_center_player_change_display_mode"},{key:"change_system_ui_setting"}]},{key:"hamburger_menu",toolList:[{key:"toggle_hamburger_menu_open_state"},{key:"change_hamburger_menu_node_visibility"},{key:"change_hamburger_menu_group_expanded"}]},{key:"audio",toolList:[{key:"audio_center_set_volume"},{key:"audio_center_pause"}]},{key:"temp_message_card",toolList:[{key:"create_temporary_message_card"},{key:"destroy_temporary_message_card"}]},{key:"logic_random",toolList:[{key:"wait_seconds"},{key:"query_current_time",readOnlyInspect:!0},{key:"logic_random_number"},{key:"logic_random_color"},{key:"logic_current_time",readOnlyInspect:!0},{key:"logic_random_pick"},{key:"logic_random_pick_from_recommend_options"},{key:"trim_end_string_variable"}]},{key:"tts",toolList:[{key:"tts_play_voice",requires:["enableVoiceOutput"]}]}];function Ni(e,t,a){const n=t.requires||[];return 0===n.length||n.some((t=>{if("enableVoiceOutput"===t)return!(!e||!e.enableVoiceOutput);if("positionXConnected"===t)return!(!a||!a.positionXConnected);if("associateAllAssetPointMarks"===t||"associateAllAssetVolumeMarks"===t)return!(!e||!e[t]);const n=e?e[t]:void 0;return Array.isArray(n)&&n.length>0}))}function Pi(e,t,a){if(!Ni(e,t,a))return!1;const n=e&&e.toolSettings;return!(n&&!1===n[t.key])}class Mi{sweepId="";needCustomRotation=!1;customRotationX=0;customRotationY=0;moveTime=1e3;stayTime=500}class wi extends u{name="";nodeList=[];destinationType="custom";vrFovId="";fovLinkDataKey="";fovLinkSweepId="";fovLinkCameraRotationX=0;fovLinkCameraRotationY=0;fovLinkSnapshotSrc="";destinationSweepId="";destinationRotationX=0;destinationRotationY=0;destinationSnapshotSrc="";finalMoveSpeed=700;disableVrControl=!0;runningPromptText=""}class vi extends u{name="";remark=""}class Di extends u{abilityGroupId="";autoExecuteOnBoot=!1;name="";remark="";description="";contextVariableList=[];activeActionList=[];activeActionListLocalVariableList=[];keeping=!1;triggerList=[];stopActionList=[];stopActionListLocalVariableList=[]}class Vi extends u{name=new E;remark="";autoStart=!1;sceneVariableList=[];onStartActionList=[];onStopActionList=[];onPauseActionList=[];onResumeActionList=[];moduleList=[]}class Ui extends u{name=new E;remark="";moduleVariableList=[];listenerList=[];functionList=[];subprogramList=[];folderList=[];sortMode="by-type"}class xi extends u{name="";parentFolderId=""}class Fi{from="picker";typeKey="";entityId="";entityParentPath=[];variableScope="";variableKey="";eventName=""}class Bi extends u{name=new E;remark="";folderId="";event=new Fi;localVariableList=[];bodyActionList=[]}class Gi{key="";name=new E;type="string";entityRefTypeKey;listElementType;listElementRefTypeKey;listElementCustomClassId;customClassId}class Ki{static SHARED="shared";static SCENE="scene";static MODULE="module"}class Hi extends u{name=new E;remark="";folderId="";visibility=Ki.MODULE;paramList=[];localVariableList=[];bodyActionList=[];returnType;returnEntityRefTypeKey;returnCustomClassId}class Xi extends u{name=new E;remark="";folderId="";autoStart=!1;paramList=[];localVariableList=[];onStartActionList=[];onStopActionList=[];onPauseActionList=[];onResumeActionList=[]}class Wi{key="";name=new E;type="string";entityRefTypeKey;listElementType;listElementRefTypeKey;listElementCustomClassId;customClassId;defaultValue}class Yi extends u{name=new E;remark="";extendsCustomClassId="";isSingleton=!1;fieldList=[];instanceMethodList=[];staticMethodList=[]}class Ji extends u{entityTypeKey="";entityId="";entityParentPath=[];eventName="";handlerFunctionId="";sceneId=""}class zi extends ae{type=j.TYPE_2D_ADVERTISEMENT;adChannelId=""}class qi extends ae{type=j.TYPE_2D_IMAGE;sourceList=[];autoChangeInterval=0;currentImageIndex=0}class ji{id="";src="";name="";description="";aspectRatio=1;chromaKeySettings=new m}class $i{static MENU="menu";static ANSWERING="answering";static VARIABLE_MODIFIER="variable-modifier"}class Qi extends ae{type=j.TYPE_2D_PANEL;sceneDataList=[];defaultSceneId=""}class Zi{id="";mode=$i.MENU;name="";description="";buttonDataList=[];textDataList=[];imageDataList=[];answeringModeSettings=new el;variableModifierModeSettings=new tl;enumModifierModeSettings;style=new cl;snapshotImageSrc=""}class el{confirmButton=new il;correctButtonIdList=[];answerType="multiple"}class tl{variableKey="";variableType}class al{static TEXT="text";static IMAGE="image";static BUTTON="button"}class nl{id="";name="";type=al.TEXT;style=new dl}class sl{static TEXT="text";static IMAGE="image";static TEXT_LEFT_IMAGE_RIGHT="text_left_image_right";static IMAGE_LEFT_TEXT_RIGHT="image_left_text_right";static IMAGE_TOP_TEXT_BOTTOM="image_top_text_bottom";static TEXT_TOP_IMAGE_BOTTOM="text_top_image_bottom"}class ol extends nl{type=al.IMAGE;src="";imageMode="fill"}class rl extends nl{type=al.TEXT;richText=""}class il extends nl{type=al.BUTTON;name="";optionValue="";optionLabel=new E;enumOptionValue;enabled=!0;buttonType=sl.TEXT;buttonText="";buttonImageSrc="";buttonImageWidth=40;buttonImageHeight=40;buttonImageTextSpacing=10;hoverMaskColor=l.createColorRgba(255,255,255,.5);hoverBorderColor=l.createColorRgba(255,255,255,1);hoverBorderWidth=1;selectedMaskColor=l.createColorRgba(0,255,0,.2);selectedBorderColor=l.createColorRgba(50,205,50,.7);selectedBorderWidth=3;disabledMaskColor=l.createColorRgba(0,0,0,.65);disabledBorderColor=l.createColorRgba(100,100,100,.5);disabledBorderWidth=2;disabledClickTip=new E}class ll{width=640;height=480;borderRadius=10;opacity=1;backgroundColor=l.createColorRgba(0,0,0,0);borderColor=l.createColorRgba(0,0,0,1);borderWidth=0;borderStyle="solid"}class cl extends ll{paddingX=10;paddingY=10}class dl extends ll{x=0;y=0;zIndex=10}class ml{static LEFT="left";static CENTER="center";static RIGHT="right"}class pl{static TOP="top";static CENTER="center";static BOTTOM="bottom"}class _l{static BASIC="basic";static MARQUEE="marquee"}class yl extends ae{type=j.TYPE_2D_TEXT;sourceList=[];mode=_l.BASIC;backgroundColor=l.createColorRgba(0,0,0,.2);fontFamily="";textColor=l.createColorRgba(255,255,255,1);paddingX=8;paddingY=4;borderRadius=5;fontSize=20;horizontalAlign="left";verticalAlign="top";currentSourceIndex=0;basicModeSettings=new gl;marqueeModeSettings=new El}class ul{id="";textContent=ss("2D Text");description=""}class gl{changeInterval=0}class El{autoChange=!0;speed=50;interval=1;width=15}class Tl extends ae{type=j.TYPE_2D_VIDEO;sourceList=[];autoPlay=!1;defaultLoopMode=O.NO_LOOP;defaultMute=!0;showControl=!0;showMute=!0;customControlButtonSize=!1;controlButtonDiameter=.3;additionalControlButtonDiameter=.1;currentSourceIndex=0}class Al{id="";videoSrc="";name="";description="";coverSrc="";aspectRatio=1;duration=0;chromaKeySettings=new m;playbackRate=1}class Cl extends ie{type=j.TYPE_3D_BOX;faceColor=l.createColorRgba(0,255,0,.2);borderColor=l.createColorRgba(0,255,0,.5);hoverFaceColor=l.createColorRgba(0,255,0,.5);hoverBorderColor=l.createColorRgba(0,255,0,.8);borderWidth=.005;hoverBorderSettings=new C}class Sl extends ie{type=j.TYPE_3D_MODEL;modelFormat="glb";modelSrc="";materialSrc="";coverSrc="";originalSize=new a(-1,-1,-1);innerScale=new a(-1,-1,-1);animationList=[];animationClipList=[];ignoreLighting=!1}class hl{id="";name="";alias="";duration=0}class Il{id="";animationId="";name="";description="";speed=1;timeRange=[0,1];loop=!1;stayAtLastFrame=!1}class Ol{static NONE="none";static TOP="top";static BOTTOM="bottom"}class Ll extends Q{type=j.TYPE_TAG;tagNonPerspective=!1;enabledDrag=!1;size=.2;enabledBackground=!0;backgroundColor=l.createColorRgb(90,156,248);enabledCustomIcon=!1;icon=new I;constructor(){super(),this.icon.colorEnabled=!0}enabledStem=!0;stemColor=l.createColorRgb(255,255,255);stemLength=.5;stemVector=new a(0,1,0);bindContentCardId="";isHoverShowContentCardBubble=!0;isClickShowContentCard=!0;clickShowContentCardStyle=V.BUBBLE;triggerButtonTitle=new E;tipTextLocation=Ol.NONE;tipTextContent=new E;tipTextColor=l.createColorRgba(255,255,255,1);tipTextBackgroundColor=l.createColorRgba(0,0,0,.4);tipTextFontSize=18;tipTextNonPerspective=!1}class bl{static GROUND="ground";static AIR="air"}class Rl{static YAW="yaw";static FULL="full";static NONE="none"}class fl{static NONE="none";static BACK_ONCE="back-once";static BACK_LOOP="back-loop"}class kl{static LINEAR="linear";static SMOOTH="smooth"}class Nl{static TELEPORT="teleport";static WALK_IN="walk-in"}class Pl{static WHILE_MOVING="while-moving";static TURN_THEN_GO="turn-then-go"}class Ml{id="";position=new a(0,0,0);hoverMs=0;speedOverrideMps=null;turnMode=Pl.WHILE_MOVING;turnSpeedDegPerSec=120}class wl{planId="";start=new a(0,0,0);end=new a(0,0,0)}class vl{mode=bl.GROUND;source="manual";points=[];speedMps=1.2;orientMode=Rl.YAW;forwardYawOffsetDeg=0;forwardLocal=null;upLocal=null;upAdjustDeg=0;forwardAdjustDeg=0;autoGroundOffset=!0;groundOffset=0;smoothing=kl.SMOOTH;sampleStepM=1;closed=!1;roundTrip=fl.NONE;turnDurationMs=800;startMode=Nl.TELEPORT;positionx=null}class Dl{static NORMAL="NORMAL";static EDIT_SCENE="EDIT_SCENE";static EDIT_COVER="EDIT_COVER"}const Vl={uninitialized:1,waiting:2,loading:3,starting:4,playing:5,error:6};class Ul{static UNINITIALIZED="uninitialized";static WAITING="waiting";static LOADING="loading";static STARTING="starting";static PLAYING="playing";static ERROR="error"}class xl{status=Ul.UNINITIALIZED;progress=0;get statusNum(){return Vl[this.status]}}class Fl{type="";data={};constructor(e,t){this.type=e,this.data=t}}class Bl{static PLAYER_START="vrtalk_cmd_player_start";static PLAYER_MODE_UPDATE="vrtalk_cmd_player_mode_update";static PLAYER_XR_PREPARE_PREVIEW="vrtalk_cmd_player_xr_prepare_preview";static PLAYER_PREPARE_SETTINGS_UPDATE="vrtalk_cmd_player_prepare_settings_update";static COVER_SETTINGS_UPDATE="vrtalk_cmd_cover_settings_update";static UI_SETTINGS_UPDATE="vrtalk_cmd_ui_settings_update";static INFO_TEMPLATE_SETTINGS_UPDATE="vrtalk_cmd_info_template_settings_update";static COMPONENT_CREATE="vrtalk_cmd_component_create";static COMPONENT_UPDATE="vrtalk_cmd_component_update";static COMPONENT_DELETE="vrtalk_cmd_component_delete";static COMPONENT_FOLLOW_MOUSE="vrtalk_cmd_component_follow_mouse";static COMPONENT_CONTROLLER_MODIFY="vrtalk_cmd_component_controller";static COMPONENT_PLAY_TRANSITION_ANIMATION="vrtalk_cmd_component_play_transition_animation";static COMPONENT_STOP_TRANSITION_ANIMATION="vrtalk_cmd_component_stop_transition_animation";static COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP="vrtalk_cmd_component_3d_model_play_animation_clip";static COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP="vrtalk_cmd_component_3d_model_stop_animation_clip";static COMPONENT_2D_TEXT_AUTO_FIT="vrtalk_cmd_component_2d_text_auto_fit";static FOV_ENTER_SHOT_MODE="vrtalk_cmd_fov_enter_shot_mode";static FOV_EXIT_SHOT_MODE="vrtalk_cmd_fov_exit_shot_mode";static FOV_UPDATE="vrtalk_cmd_fov_update";static FOV_DELETE="vrtalk_cmd_fov_delete";static LAYER_UPDATE="vrtalk_cmd_layer_update";static LAYER_DELETE="vrtalk_cmd_layer_delete";static LAYER_VISIBLE="vrtalk_cmd_layer_visible";static SWEEP_UPDATE_ALL="vrtalk_cmd_sweep_update_all";static SWEEP_UPDATE="vrtalk_cmd_sweep_update";static SWEEP_DELETE_VIRTUAL="vrtalk_cmd_sweep_delete_virtual";static SWEEP_UPDATE_RENDER_FLAG_VISIBLE="vrtalk_cmd_sweep_update_render_flag_visible";static LIGHT_CREATE="vrtalk_cmd_light_create";static LIGHT_UPDATE="vrtalk_cmd_light_update";static LIGHT_DELETE="vrtalk_cmd_light_delete";static TRIMMER_CREATE="vrtalk_cmd_trimmer_create";static TRIMMER_UPDATE="vrtalk_cmd_trimmer_update";static TRIMMER_DELETE="vrtalk_cmd_trimmer_delete";static TRIMMER_CONTROLLER_MODIFY="vrtalk_cmd_trimmer_controller";static TRIMMER_EDITING_STATE_UPDATE="vrtalk_cmd_trimmer_editing_state_update";static STICKER_CREATE="vrtalk_cmd_sticker_create";static STICKER_UPDATE="vrtalk_cmd_sticker_update";static STICKER_DELETE="vrtalk_cmd_sticker_delete";static STICKER_CONTROLLER_MODIFY="vrtalk_cmd_sticker_controller";static STICKER_EDITING_STATE_UPDATE="vrtalk_cmd_sticker_editing_state_update";static TARGET_CREATE="vrtalk_cmd_target_create";static TARGET_UPDATE="vrtalk_cmd_target_update";static TARGET_DELETE="vrtalk_cmd_target_delete";static TARGET_CONTROLLER_MODIFY="vrtalk_cmd_target_controller";static TARGET_EDITING_STATE_UPDATE="vrtalk_cmd_target_editing_state_update";static TARGET_GROUP_VISIBLE_UPDATE="vrtalk_cmd_target_group_visible_update";static OBSTACLE_CREATE="vrtalk_cmd_obstacle_create";static OBSTACLE_UPDATE="vrtalk_cmd_obstacle_update";static OBSTACLE_DELETE="vrtalk_cmd_obstacle_delete";static OBSTACLE_CONTROLLER_MODIFY="vrtalk_cmd_obstacle_controller";static OBSTACLE_EDITING_STATE_UPDATE="vrtalk_cmd_obstacle_editing_state_update";static OBSTACLE_GROUP_VISIBLE_UPDATE="vrtalk_cmd_obstacle_group_visible_update";static SPACE_FENCE_CREATE="vrtalk_cmd_space_fence_create";static SPACE_FENCE_UPDATE="vrtalk_cmd_space_fence_update";static SPACE_FENCE_DELETE="vrtalk_cmd_space_fence_delete";static SPACE_FENCE_CONTROLLER_MODIFY="vrtalk_cmd_space_fence_controller";static SPACE_FENCE_EDITING_STATE_UPDATE="vrtalk_cmd_space_fence_editing_state_update";static SPACE_FENCE_GROUP_VISIBLE_UPDATE="vrtalk_cmd_space_fence_group_visible_update";static SPACE_FENCE_GROUP_COLOR_UPDATE="vrtalk_cmd_space_fence_group_color_update";static RAY_HITTER_CREATE="vrtalk_cmd_ray_hitter_create";static RAY_HITTER_UPDATE="vrtalk_cmd_ray_hitter_update";static RAY_HITTER_DELETE="vrtalk_cmd_ray_hitter_delete";static RAY_HITTER_CONTROLLER_MODIFY="vrtalk_cmd_ray_hitter_controller";static RAY_HITTER_EDITING_STATE_UPDATE="vrtalk_cmd_ray_hitter_editing_state_update";static WORMHOLE_CREATE="vrtalk_cmd_wormhole_create";static WORMHOLE_UPDATE="vrtalk_cmd_wormhole_update";static WORMHOLE_DELETE="vrtalk_cmd_wormhole_delete";static WORMHOLE_CONTROLLER_MODIFY="vrtalk_cmd_wormhole_controller";static WORMHOLE_EDITING_STATE_UPDATE="vrtalk_cmd_wormhole_editing_state_update";static WORMHOLE_GROUP_VISIBLE_UPDATE="vrtalk_cmd_wormhole_group_visible_update";static ASSET_LABEL_CREATE="vrtalk_cmd_asset_label_create";static ASSET_LABEL_UPDATE="vrtalk_cmd_asset_label_update";static ASSET_LABEL_DELETE="vrtalk_cmd_asset_label_delete";static ASSET_LABEL_CONTROLLER_MODIFY="vrtalk_cmd_asset_label_controller";static ASSET_LABEL_EDITING_STATE_UPDATE="vrtalk_cmd_asset_label_editing_state_update";static ASSET_POINT_MARK_CREATE="vrtalk_cmd_asset_point_mark_create";static ASSET_POINT_MARK_UPDATE="vrtalk_cmd_asset_point_mark_update";static ASSET_POINT_MARK_DELETE="vrtalk_cmd_asset_point_mark_delete";static ASSET_POINT_MARK_CONTROLLER_MODIFY="vrtalk_cmd_asset_point_mark_controller";static ASSET_POINT_MARK_EDITING_STATE_UPDATE="vrtalk_cmd_asset_point_mark_editing_state_update";static ASSET_VOLUME_MARK_CREATE="vrtalk_cmd_asset_volume_mark_create";static ASSET_VOLUME_MARK_UPDATE="vrtalk_cmd_asset_volume_mark_update";static ASSET_VOLUME_MARK_DELETE="vrtalk_cmd_asset_volume_mark_delete";static ASSET_VOLUME_MARK_CONTROLLER_MODIFY="vrtalk_cmd_asset_volume_mark_controller";static ASSET_VOLUME_MARK_EDITING_STATE_UPDATE="vrtalk_cmd_asset_volume_mark_editing_state_update";static FLOOR_UPDATE="vrtalk_cmd_floor_update";static INFORMATION_CONTENT_CARD_UPDATE="vrtalk_cmd_information_content_card_update";static INFORMATION_CONTENT_CARD_DELETE="vrtalk_cmd_information_content_card_delete";static MARKER_UPDATE="vrtalk_cmd_marker_update";static MARKER_DELETE="vrtalk_cmd_marker_delete";static CAMERA_MOVE_TO="vrtalk_cmd_camera_move_to";static CAMERA_MOVE_TO_INSIDE="vrtalk_cmd_camera_move_to_inside";static CAMERA_MOVE_TO_VR_FOV="vrtalk_cmd_camera_move_to_vr_fov";static CAMERA_MOVE_TO_NEAR_COMPONENT="vrtalk_cmd_camera_move_to_near_component";static CAMERA_MOVE_TO_WATCH_POSITION="vrtalk_cmd_camera_move_to_watch_position";static CAMERA_REQUEST_DEEPLINK_PARAMS="vrtalk_cmd_camera_request_deeplink_params";static RENDERER_TAKE_SCREENSHOT="vrtalk_cmd_renderer_take_screenshot";static RENDERER_GET_PANORAMA_IMAGE="vrtalk_cmd_renderer_get_panorama_image";static RENDERER_SETTINGS_UPDATE="vrtalk_cmd_renderer_settings_update";static RENDERER_COLOR_SPACE_SETTINGS_UPDATE="vrtalk_cmd_renderer_color_space_settings_update";static NAVIGATION_REQUEST="vrtalk_cmd_navigation_request";static NAVIGATION_START="vrtalk_cmd_navigation_start";static NAVIGATION_CANCEL="vrtalk_cmd_navigation_cancel";static AUDIO_UPDATE="vrtalk_cmd_audio_update";static AUDIO_DELETE="vrtalk_cmd_audio_delete";static AUDIO_LIST_UPDATE="vrtalk_cmd_audio_list_update";static AUDIO_LIST_DELETE="vrtalk_cmd_audio_list_delete";static AUDIO_CENTER_PLAYER_SHOW_PLAY_CONTROL_UPDATE="vrtalk_cmd_audio_center_player_show_play_control_update";static AUDIO_CENTER_PLAYER_SHOW_VOLUME_CONTROL_UPDATE="vrtalk_cmd_audio_center_player_show_volume_control_update";static AUDIO_CENTER_PLAYER_VOLUME_UPDATE="vrtalk_cmd_audio_center_player_volume_update";static MONITOR_LIST_UPDATE="vrtalk_cmd_monitor_list_update";static DOLLY_PATH_CAPTURE_DESTINATION="vrtalk_cmd_dolly_path_capture_destination";static DOLLY_PATH_PREVIEW="vrtalk_cmd_dolly_path_preview";static DOLLY_PATH_STOP_PREVIEW="vrtalk_cmd_dolly_path_stop_preview";static PATH_DESIGN_ENTER="vrtalk_cmd_path_design_enter";static PATH_DESIGN_EXIT="vrtalk_cmd_path_design_exit";static PATH_DESIGN_UPDATE="vrtalk_cmd_path_design_update";static PATH_DESIGN_SET_TOOL="vrtalk_cmd_path_design_set_tool";static PATH_DESIGN_SET_VIEW="vrtalk_cmd_path_design_set_view";static PATH_DESIGN_SELECT_POINT="vrtalk_cmd_path_design_select_point";static PATH_DESIGN_SCRUB="vrtalk_cmd_path_design_scrub";static PATH_DESIGN_PREVIEW_PLAY="vrtalk_cmd_path_design_preview_play";static PATH_DESIGN_PREVIEW_STOP="vrtalk_cmd_path_design_preview_stop";static PATH_DESIGN_GENERATE="vrtalk_cmd_path_design_generate";static PATH_DESIGN_GENERATE_ONESHOT="vrtalk_cmd_path_design_generate_oneshot";static PATH_DESIGN_MOVE_COMPONENT_TO_START="vrtalk_cmd_path_design_move_component_to_start";static MESSAGE_CARD_PREVIEW="vrtalk_cmd_message_card_preview";static HAMBURGER_MENU_UPDATE="vrtalk_cmd_hamburger_menu_update"}class Gl{onStart(e){Bc.registerCommandListener(Bl.PLAYER_START,(t=>{e(t.data.vrContentData,t.data.isForceIgnoreEnterBtn)}))}onModeUpdate(e){Bc.registerCommandListener(Bl.PLAYER_MODE_UPDATE,(t=>{e(t.data)}))}onXrPreparePreview(e){Bc.registerCommandListener(Bl.PLAYER_XR_PREPARE_PREVIEW,(t=>{e(!!t.data)}))}onPrepareSettingsUpdate(e){Bc.registerCommandListener(Bl.PLAYER_PREPARE_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Kl{onCoverSettingsUpdate(e){Bc.registerCommandListener(Bl.COVER_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Hl{onUiSettingsUpdate(e){Bc.registerCommandListener(Bl.UI_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Xl{onInfoTemplateSettingsUpdate(e){Bc.registerCommandListener(Bl.INFO_TEMPLATE_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Wl{onContentCardUpdate(e){Bc.registerCommandListener(Bl.INFORMATION_CONTENT_CARD_UPDATE,(t=>{e(t.data)}))}onContentCardDelete(e){Bc.registerCommandListener(Bl.INFORMATION_CONTENT_CARD_DELETE,(t=>{e(t.data)}))}}class Yl{onCreate(e){Bc.registerCommandListener(Bl.COMPONENT_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.COMPONENT_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.COMPONENT_DELETE,(t=>{e(t.data)}))}onFollowMouse(e){Bc.registerCommandListener(Bl.COMPONENT_FOLLOW_MOUSE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.COMPONENT_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.componentId)}))}onPlayTransitionAnimation(e){Bc.registerCommandListener(Bl.COMPONENT_PLAY_TRANSITION_ANIMATION,(t=>{e(t.data.componentId,t.data.animationId)}))}onStopTransitionAnimation(e){Bc.registerCommandListener(Bl.COMPONENT_STOP_TRANSITION_ANIMATION,(t=>{e(t.data.componentId)}))}on3dModelPlayAnimationClip(e){Bc.registerCommandListener(Bl.COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP,(t=>{e(t.data.modelComponentId,t.data.animationClipId)}))}on3dModelStopAnimationClip(e){Bc.registerCommandListener(Bl.COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP,(t=>{e(t.data.modelComponentId)}))}on2dTextAutoFit(e){Bc.registerCommandListener(Bl.COMPONENT_2D_TEXT_AUTO_FIT,(t=>{e(t.data)}))}}class Jl{onEnterFovShotMode(e){Bc.registerCommandListener(Bl.FOV_ENTER_SHOT_MODE,(t=>{e(t.data)}))}onExitFovShotMode(e){Bc.registerCommandListener(Bl.FOV_EXIT_SHOT_MODE,(t=>{e()}))}onUpdate(e){Bc.registerCommandListener(Bl.FOV_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.FOV_DELETE,(t=>{e(t.data)}))}}class zl{onUpdate(e){Bc.registerCommandListener(Bl.LAYER_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.LAYER_DELETE,(t=>{e(t.data.layerId,t.data.deleteComponents)}))}onVisible(e){Bc.registerCommandListener(Bl.LAYER_VISIBLE,(t=>{e(t.data.layerId,t.data.visible)}))}}class ql{onCreate(e){Bc.registerCommandListener(Bl.LIGHT_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.LIGHT_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.LIGHT_DELETE,(t=>{e(t.data)}))}}class jl{onCreate(e){Bc.registerCommandListener(Bl.TRIMMER_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.TRIMMER_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.TRIMMER_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.TRIMMER_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.trimmerId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.TRIMMER_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class $l{onCreate(e){Bc.registerCommandListener(Bl.STICKER_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.STICKER_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.STICKER_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.STICKER_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.stickerId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.STICKER_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class Ql{onUpdate(e){Bc.registerCommandListener(Bl.FLOOR_UPDATE,(t=>{e(t.data)}))}}class Zl{onMoveTo(e){Bc.registerCommandListener(Bl.CAMERA_MOVE_TO,(t=>{e(t.data.transition,t.data.cameraPose)}))}onMoveToInside(e){Bc.registerCommandListener(Bl.CAMERA_MOVE_TO_INSIDE,(t=>{e(t.data.transition,t.data.transitionTime,t.data.cameraPose)}))}onMoveToVrFov(e){Bc.registerCommandListener(Bl.CAMERA_MOVE_TO_VR_FOV,(t=>{e(t.data.transition,t.data.transitionTime,t.data.fovId)}))}onMoveToNearComponent(e){Bc.registerCommandListener(Bl.CAMERA_MOVE_TO_NEAR_COMPONENT,(t=>{e(t.data.transition,t.data.transitionTime,t.data.componentId)}))}onMoveToWatchPosition(e){Bc.registerCommandListener(Bl.CAMERA_MOVE_TO_WATCH_POSITION,(t=>{e(t.data.transition,t.data.transitionTime,t.data.position)}))}onRequestDeeplinkParams(e){Bc.registerCommandListener(Bl.CAMERA_REQUEST_DEEPLINK_PARAMS,(()=>{e()}))}}class ec{onTakeScreen(e){Bc.registerCommandListener(Bl.RENDERER_TAKE_SCREENSHOT,(t=>{e(t.data.resolution,t.data.visibility)}))}onGetPanoramaImage(e){Bc.registerCommandListener(Bl.RENDERER_GET_PANORAMA_IMAGE,(()=>{e()}))}onSettingsUpdate(e){Bc.registerCommandListener(Bl.RENDERER_SETTINGS_UPDATE,(t=>{e(t.data)}))}onColorSpaceSettingsUpdate(e){Bc.registerCommandListener(Bl.RENDERER_COLOR_SPACE_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class tc{onMarkerUpdate(e){Bc.registerCommandListener(Bl.MARKER_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.MARKER_DELETE,(t=>{e(t.data)}))}}class ac{onNavigationRequest(e){Bc.registerCommandListener(Bl.NAVIGATION_REQUEST,(t=>{e(t.data)}))}onNavigationStart(e){Bc.registerCommandListener(Bl.NAVIGATION_START,(t=>{e(t.data)}))}onNavigationCancel(e){Bc.registerCommandListener(Bl.NAVIGATION_CANCEL,(t=>{e()}))}}class nc{onCreate(e){Bc.registerCommandListener(Bl.OBSTACLE_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.OBSTACLE_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.OBSTACLE_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.OBSTACLE_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.obstacleId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.OBSTACLE_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){Bc.registerCommandListener(Bl.OBSTACLE_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}}class sc{onAudioListUpdate(e){Bc.registerCommandListener(Bl.AUDIO_LIST_UPDATE,(t=>{e(t.data)}))}onAudioListDelete(e){Bc.registerCommandListener(Bl.AUDIO_LIST_DELETE,(t=>{e(t.data)}))}onAudioUpdate(e){Bc.registerCommandListener(Bl.AUDIO_UPDATE,(t=>{e(t.data)}))}onAudioDelete(e){Bc.registerCommandListener(Bl.AUDIO_DELETE,(t=>{e(t.data)}))}onAudioCenterPlayerShowPlayControlUpdate(e){Bc.registerCommandListener(Bl.AUDIO_CENTER_PLAYER_SHOW_PLAY_CONTROL_UPDATE,(t=>{e(t.data)}))}onAudioCenterPlayerShowVolumeControlUpdate(e){Bc.registerCommandListener(Bl.AUDIO_CENTER_PLAYER_SHOW_VOLUME_CONTROL_UPDATE,(t=>{e(t.data)}))}onAudioCenterPlayerVolumeUpdate(e){Bc.registerCommandListener(Bl.AUDIO_CENTER_PLAYER_VOLUME_UPDATE,(t=>{e(t.data)}))}}class oc{onCreate(e){Bc.registerCommandListener(Bl.ASSET_LABEL_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.ASSET_LABEL_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.ASSET_LABEL_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.ASSET_LABEL_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.assetLabelId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.ASSET_LABEL_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class rc{onCreate(e){Bc.registerCommandListener(Bl.ASSET_POINT_MARK_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.ASSET_POINT_MARK_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.ASSET_POINT_MARK_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.ASSET_POINT_MARK_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.assetPointMarkId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.ASSET_POINT_MARK_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class ic{onCreate(e){Bc.registerCommandListener(Bl.ASSET_VOLUME_MARK_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.ASSET_VOLUME_MARK_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.ASSET_VOLUME_MARK_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.ASSET_VOLUME_MARK_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.assetVolumeMarkId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.ASSET_VOLUME_MARK_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class lc{onCreate(e){Bc.registerCommandListener(Bl.TARGET_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.TARGET_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.TARGET_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.TARGET_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.targetId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.TARGET_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){Bc.registerCommandListener(Bl.TARGET_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}}class cc{onCreate(e){Bc.registerCommandListener(Bl.WORMHOLE_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.WORMHOLE_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.WORMHOLE_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.WORMHOLE_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.wormholeId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.WORMHOLE_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){Bc.registerCommandListener(Bl.WORMHOLE_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}}class dc{onCreate(e){Bc.registerCommandListener(Bl.RAY_HITTER_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.RAY_HITTER_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.RAY_HITTER_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.RAY_HITTER_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.rayHitterId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.RAY_HITTER_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class mc{onCreate(e){Bc.registerCommandListener(Bl.SPACE_FENCE_CREATE,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.SPACE_FENCE_UPDATE,(t=>{e(t.data)}))}onDelete(e){Bc.registerCommandListener(Bl.SPACE_FENCE_DELETE,(t=>{e(t.data)}))}onControllerModify(e){Bc.registerCommandListener(Bl.SPACE_FENCE_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.spaceFenceId)}))}onEditingStateUpdate(e){Bc.registerCommandListener(Bl.SPACE_FENCE_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){Bc.registerCommandListener(Bl.SPACE_FENCE_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}onGroupColorUpdate(e){Bc.registerCommandListener(Bl.SPACE_FENCE_GROUP_COLOR_UPDATE,(t=>{e(t.data.groupId,t.data.cubeFaceColor)}))}}class pc{onMonitorListUpdate(e){Bc.registerCommandListener(Bl.MONITOR_LIST_UPDATE,(t=>{e(t.data)}))}}class _c{onMessageCardPreview(e){Bc.registerCommandListener(Bl.MESSAGE_CARD_PREVIEW,(t=>{e(t.data)}))}}class yc{onCaptureDestination(e){Bc.registerCommandListener(Bl.DOLLY_PATH_CAPTURE_DESTINATION,(t=>{e()}))}onPreview(e){Bc.registerCommandListener(Bl.DOLLY_PATH_PREVIEW,(t=>{e(t.data)}))}onStopPreview(e){Bc.registerCommandListener(Bl.DOLLY_PATH_STOP_PREVIEW,(t=>{e()}))}}class uc{onHamburgerMenuUpdate(e){Bc.registerCommandListener(Bl.HAMBURGER_MENU_UPDATE,(t=>{e(t.data)}))}}class gc{onEnter(e){Bc.registerCommandListener(Bl.PATH_DESIGN_ENTER,(t=>{e(t.data.componentId,t.data.animationId,t.data.pathDesign)}))}onExit(e){Bc.registerCommandListener(Bl.PATH_DESIGN_EXIT,(()=>{e()}))}onUpdate(e){Bc.registerCommandListener(Bl.PATH_DESIGN_UPDATE,(t=>{e(t.data.pathDesign,!!t.data.resnapPoints)}))}onSetTool(e){Bc.registerCommandListener(Bl.PATH_DESIGN_SET_TOOL,(t=>{e(t.data.tool)}))}onSetView(e){Bc.registerCommandListener(Bl.PATH_DESIGN_SET_VIEW,(t=>{e(t.data.view)}))}onSelectPoint(e){Bc.registerCommandListener(Bl.PATH_DESIGN_SELECT_POINT,(t=>{e(t.data.pointId??null)}))}onScrub(e){Bc.registerCommandListener(Bl.PATH_DESIGN_SCRUB,(t=>{e(t.data.progress??0)}))}onPreviewPlay(e){Bc.registerCommandListener(Bl.PATH_DESIGN_PREVIEW_PLAY,(()=>{e()}))}onPreviewStop(e){Bc.registerCommandListener(Bl.PATH_DESIGN_PREVIEW_STOP,(()=>{e()}))}onGenerate(e){Bc.registerCommandListener(Bl.PATH_DESIGN_GENERATE,(()=>{e()}))}onGenerateOneshot(e){Bc.registerCommandListener(Bl.PATH_DESIGN_GENERATE_ONESHOT,(t=>{e(t.data.requestId,t.data.componentId,t.data.pathDesign)}))}onMoveComponentToStart(e){Bc.registerCommandListener(Bl.PATH_DESIGN_MOVE_COMPONENT_TO_START,(()=>{e()}))}}class Ec{type="";data={};constructor(e,t){this.type=e,this.data=t}}class Tc{static PLAYER_READY="vrtalk_msg_player_ready";static PLAYER_STATUS_UPDATE="vrtalk_msg_player_status_update";static COMPONENT_UPDATE="vrtalk_msg_component_update";static COMPONENT_ON_CLICK="vrtalk_msg_component_on_click";static COMPONENT_TRANSITION_ANIMATION_FINISHED="vrtalk_msg_component_transition_animation_finished";static FOV_SHOT_RESULT="vrtalk_msg_fov_shot_result";static TRIMMER_UPDATE="vrtalk_msg_trimmer_update";static TRIMMER_ON_CLICK="vrtalk_msg_trimmer_on_click";static STICKER_UPDATE="vrtalk_msg_sticker_update";static STICKER_ON_CLICK="vrtalk_msg_sticker_on_click";static TARGET_UPDATE="vrtalk_msg_target_update";static TARGET_ON_CLICK="vrtalk_msg_target_on_click";static OBSTACLE_UPDATE="vrtalk_msg_obstacle_update";static OBSTACLE_ON_CLICK="vrtalk_msg_obstacle_on_click";static SPACE_FENCE_UPDATE="vrtalk_msg_space_fence_update";static SPACE_FENCE_ON_CLICK="vrtalk_msg_space_fence_on_click";static RAY_HITTER_UPDATE="vrtalk_msg_ray_hitter_update";static RAY_HITTER_ON_CLICK="vrtalk_msg_ray_hitter_on_click";static WORMHOLE_UPDATE="vrtalk_msg_wormhole_update";static WORMHOLE_ON_CLICK="vrtalk_msg_wormhole_on_click";static ASSET_LABEL_UPDATE="vrtalk_msg_asset_label_update";static ASSET_LABEL_ON_CLICK="vrtalk_msg_asset_label_on_click";static ASSET_POINT_MARK_UPDATE="vrtalk_msg_asset_point_mark_update";static ASSET_POINT_MARK_ON_CLICK="vrtalk_msg_asset_point_mark_on_click";static ASSET_VOLUME_MARK_UPDATE="vrtalk_msg_asset_volume_mark_update";static ASSET_VOLUME_MARK_ON_CLICK="vrtalk_msg_asset_volume_mark_on_click";static SWEEP_IMPORT_FROM_MATTERPORT="vrtalk_msg_sweep_import_from_matterport";static SWEEP_SYNC_MATTERPORT_ENABLED_STATE="vrtalk_msg_sweep_sync_matterport_enabled_state";static SWEEP_REQUEST_MODIFY_ENABLED="vrtalk_msg_sweep_request_modify_enabled";static FLOOR_IMPORT_FROM_MATTERPORT="vrtalk_msg_floor_import_from_matterport";static FLOOR_ENTER="vrtalk_msg_floor_enter";static FLOOR_LEAVE="vrtalk_msg_floor_leave";static CAMERA_POSE_UPDATE="vrtalk_msg_camera_pose_update";static CAMERA_DEEPLINK_PARAMS_READY="vrtalk_msg_camera_deeplink_params_ready";static RENDERER_SCREENSHOT_READY="vrtalk_msg_renderer_screenshot_ready";static RENDERER_PANORAMA_IMAGE_READY="vrtalk_msg_renderer_panorama_image_ready";static RENDERER_WORLD_SIZE_READY="vrtalk_msg_renderer_world_size_ready";static DOLLY_PATH_DESTINATION_CAPTURED="vrtalk_msg_dolly_path_destination_captured";static PATH_DESIGN_POINTS_UPDATE="vrtalk_msg_path_design_points_update";static PATH_DESIGN_SELECTION_UPDATE="vrtalk_msg_path_design_selection_update";static PATH_DESIGN_BOUNDS="vrtalk_msg_path_design_bounds";static PATH_DESIGN_STATS="vrtalk_msg_path_design_stats";static PATH_DESIGN_KEYFRAMES="vrtalk_msg_path_design_keyframes";static PATH_DESIGN_PICK_RESULT="vrtalk_msg_path_design_pick_result";static PATH_DESIGN_UNDO_REQUEST="vrtalk_msg_path_design_undo_request";static PATH_DESIGN_PREVIEW_STATE="vrtalk_msg_path_design_preview_state";static PATH_DESIGN_PARAM_UPDATE="vrtalk_msg_path_design_param_update";static NAVIGATION_RESULT_READY="vrtalk_msg_navigation_result_ready";static NAVIGATION_START="vrtalk_msg_navigation_start";static NAVIGATION_END="vrtalk_msg_navigation_end";static NAVIGATION_CANCEL="vrtalk_msg_navigation_cancel"}class Ac{sendCameraPoseUpdate(e){window.parent.postMessage(new Ec(Tc.CAMERA_POSE_UPDATE,e),"*")}sendDeeplinkParamsReady(e){window.parent.postMessage(new Ec(Tc.CAMERA_DEEPLINK_PARAMS_READY,e),"*")}}class Cc{sendUpdate(e,t="default"){window.parent.postMessage(new Ec(Tc.COMPONENT_UPDATE,{componentData:JSON.parse(JSON.stringify(e)),source:t}),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.COMPONENT_ON_CLICK,e),"*")}sendTransitionAnimationFinished(e,t){window.parent.postMessage(new Ec(Tc.COMPONENT_TRANSITION_ANIMATION_FINISHED,{componentId:e,animationId:t}),"*")}}class Sc{sendShotResult(e){window.parent.postMessage(new Ec(Tc.FOV_SHOT_RESULT,JSON.parse(JSON.stringify(e))),"*")}}class hc{sendImportFromMatterport(e){window.parent.postMessage(new Ec(Tc.FLOOR_IMPORT_FROM_MATTERPORT,e),"*")}sendEnter(e){window.parent.postMessage(new Ec(Tc.FLOOR_ENTER,e),"*")}sendLeave(e){window.parent.postMessage(new Ec(Tc.FLOOR_LEAVE,e),"*")}}class Ic{sendReady(){window.parent.postMessage(new Ec(Tc.PLAYER_READY,{}),"*")}sendStatusUpdate(e){window.parent.postMessage(new Ec(Tc.PLAYER_STATUS_UPDATE,e),"*")}}class Oc{sendImportFromMatterport(e){window.parent.postMessage(new Ec(Tc.SWEEP_IMPORT_FROM_MATTERPORT,e),"*")}sendSyncMatterportEnabledState(e){window.parent.postMessage(new Ec(Tc.SWEEP_SYNC_MATTERPORT_ENABLED_STATE,e),"*")}sendRequestModifyEnabled(e,t){window.parent.postMessage(new Ec(Tc.SWEEP_REQUEST_MODIFY_ENABLED,{sweepId:e,enabled:t}),"*")}}class Lc{sendScreenshotReady(e){window.parent.postMessage(new Ec(Tc.RENDERER_SCREENSHOT_READY,e),"*")}sendPanoramaImageReady(e){window.parent.postMessage(new Ec(Tc.RENDERER_PANORAMA_IMAGE_READY,e),"*")}sendWorldSizeReady(e){window.parent.postMessage(new Ec(Tc.RENDERER_WORLD_SIZE_READY,JSON.parse(JSON.stringify(e))),"*")}}class bc{sendNavigationResultReady(e){window.parent.postMessage(new Ec(Tc.NAVIGATION_RESULT_READY,JSON.parse(JSON.stringify(e))),"*")}sendNavigationStart(e){window.parent.postMessage(new Ec(Tc.NAVIGATION_START,JSON.parse(JSON.stringify(e))),"*")}sendNavigationEnd(e){window.parent.postMessage(new Ec(Tc.NAVIGATION_END,JSON.parse(JSON.stringify(e))),"*")}sendNavigationCancel(e){window.parent.postMessage(new Ec(Tc.NAVIGATION_CANCEL,JSON.parse(JSON.stringify(e))),"*")}}class Rc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.OBSTACLE_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.OBSTACLE_ON_CLICK,e),"*")}}class fc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.TRIMMER_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.TRIMMER_ON_CLICK,e),"*")}}class kc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.STICKER_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.STICKER_ON_CLICK,e),"*")}}class Nc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.ASSET_LABEL_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.ASSET_LABEL_ON_CLICK,e),"*")}}class Pc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.ASSET_POINT_MARK_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.ASSET_POINT_MARK_ON_CLICK,e),"*")}}class Mc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.ASSET_VOLUME_MARK_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.ASSET_VOLUME_MARK_ON_CLICK,e),"*")}}class wc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.TARGET_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.TARGET_ON_CLICK,e),"*")}}class vc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.WORMHOLE_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.WORMHOLE_ON_CLICK,e),"*")}}class Dc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.RAY_HITTER_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.RAY_HITTER_ON_CLICK,e),"*")}}class Vc{sendUpdate(e){window.parent.postMessage(new Ec(Tc.SPACE_FENCE_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new Ec(Tc.SPACE_FENCE_ON_CLICK,e),"*")}}class Uc{sendDestinationCaptured(e){window.parent.postMessage(new Ec(Tc.DOLLY_PATH_DESTINATION_CAPTURED,JSON.parse(JSON.stringify(e))),"*")}}class xc{sendPointsUpdate(e){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_POINTS_UPDATE,JSON.parse(JSON.stringify({points:e}))),"*")}sendSelectionUpdate(e){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_SELECTION_UPDATE,{pointId:e}),"*")}sendBounds(e,t){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_BOUNDS,{bottomToPivot:e,size:t}),"*")}sendStats(e){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_STATS,{stats:e}),"*")}sendKeyframes(e,t,a){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_KEYFRAMES,JSON.parse(JSON.stringify({keyFrameList:e,stats:t,requestId:a||null}))),"*")}sendPickResult(e,t){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_PICK_RESULT,{tool:e,position:{x:t.x,y:t.y,z:t.z}}),"*")}sendUndoRequest(e){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_UNDO_REQUEST,{redo:e}),"*")}sendPreviewState(e,t){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_PREVIEW_STATE,{playing:e,progress:t}),"*")}sendParamUpdate(e){window.parent.postMessage(new Ec(Tc.PATH_DESIGN_PARAM_UPDATE,JSON.parse(JSON.stringify({patch:e}))),"*")}}class Fc{onUpdateAll(e){Bc.registerCommandListener(Bl.SWEEP_UPDATE_ALL,(t=>{e(t.data)}))}onUpdate(e){Bc.registerCommandListener(Bl.SWEEP_UPDATE,(t=>{e(t.data)}))}onDeleteVirtual(e){Bc.registerCommandListener(Bl.SWEEP_DELETE_VIRTUAL,(t=>{e(t.data)}))}onUpdateRenderFlagVisible(e){Bc.registerCommandListener(Bl.SWEEP_UPDATE_RENDER_FLAG_VISIBLE,(t=>{e(t.data)}))}}class Bc{static commandListenerPool=new Map;static commandPlayer=new Gl;static commandCover=new Kl;static commandUi=new Hl;static commandInfoTemplate=new Xl;static commandInformation=new Wl;static commandComponent=new Yl;static commandFov=new Jl;static commandLayer=new zl;static commandLight=new ql;static commandTrimmer=new jl;static commandSticker=new $l;static commandSweep=new Fc;static commandFloor=new Ql;static commandCamera=new Zl;static commandRenderer=new ec;static commandMarker=new tc;static commandNavigation=new ac;static commandObstacle=new nc;static commandAudio=new sc;static commandAssetLabel=new oc;static commandAssetPointMark=new rc;static commandAssetVolumeMark=new ic;static commandTarget=new lc;static commandWormhole=new cc;static commandRayHitter=new dc;static commandSpaceFence=new mc;static commandMonitor=new pc;static commandMessageCard=new _c;static commandDollyPath=new yc;static commandHamburgerMenu=new uc;static commandPathDesign=new gc;static messageCamera=new Ac;static messageComponent=new Cc;static messageFov=new Sc;static messageFloor=new hc;static messagePlayer=new Ic;static messageSweep=new Oc;static messageRenderer=new Lc;static messageNavigation=new bc;static messageObstacle=new Rc;static messageTrimmer=new fc;static messageSticker=new kc;static messageAssetLabel=new Nc;static messageAssetPointMark=new Pc;static messageAssetVolumeMark=new Mc;static messageTarget=new wc;static messageWormhole=new vc;static messageRayHitter=new Dc;static messageSpaceFence=new Vc;static messageDollyPath=new Uc;static messagePathDesign=new xc;static registerCommandListener(e,t){Bc.commandListenerPool.has(e)||Bc.commandListenerPool.set(e,[]),Bc.commandListenerPool.get(e).push(t)}static unRegisterCommandListener(e,t){if(!Bc.commandListenerPool.has(e))return;const a=Bc.commandListenerPool.get(e).indexOf(t);a>=0&&Bc.commandListenerPool.get(e).splice(a,1)}static init(){window.addEventListener("message",(e=>{if(e.data.type&&0===e.data.type.indexOf("vrtalk_cmd_")){const t=e.data;Bc.commandListenerPool.has(t.type)&&Bc.commandListenerPool.get(t.type).forEach((e=>{e(t)}))}}))}}class Gc{player;constructor(e){this.player=e}onReady(e){this.player.registerMessageListener(Tc.PLAYER_READY,(t=>{e()}))}onStatusUpdate(e){this.player.registerMessageListener(Tc.PLAYER_STATUS_UPDATE,(t=>{e(t.data)}))}}class Kc{player;constructor(e){this.player=e}sendStart(e,t){this.player.sendCommand(new Fl(Bl.PLAYER_START,JSON.parse(JSON.stringify({vrContentData:e,isForceIgnoreEnterBtn:t}))))}sendModeUpdate(e){this.player.sendCommand(new Fl(Bl.PLAYER_MODE_UPDATE,e))}sendXrPreparePreview(e){this.player.sendCommand(new Fl(Bl.PLAYER_XR_PREPARE_PREVIEW,e))}sendPrepareSettingsUpdate(e){this.player.sendCommand(new Fl(Bl.PLAYER_PREPARE_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Hc{player;constructor(e){this.player=e}sendCoverSettingsUpdate(e){this.player.sendCommand(new Fl(Bl.COVER_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Xc{player;constructor(e){this.player=e}sendUiSettingsUpdate(e){this.player.sendCommand(new Fl(Bl.UI_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Wc{player;constructor(e){this.player=e}sendInfoTemplateSettingsUpdate(e){this.player.sendCommand(new Fl(Bl.INFO_TEMPLATE_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Yc{player;constructor(e){this.player=e}sendUpdateContentCard(e){this.player.sendCommand(new Fl(Bl.INFORMATION_CONTENT_CARD_UPDATE,JSON.parse(JSON.stringify(e))))}sendDeleteContentCard(e){this.player.sendCommand(new Fl(Bl.INFORMATION_CONTENT_CARD_DELETE,e))}}class Jc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.COMPONENT_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.COMPONENT_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.COMPONENT_DELETE,e))}sendFollowMouse(e){this.player.sendCommand(new Fl(Bl.COMPONENT_FOLLOW_MOUSE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.COMPONENT_CONTROLLER_MODIFY,{componentId:t,controllerType:e}))}sendPlayTransitionAnimation(e,t){this.player.sendCommand(new Fl(Bl.COMPONENT_PLAY_TRANSITION_ANIMATION,{componentId:e,animationId:t}))}sendStopTransitionAnimation(e){this.player.sendCommand(new Fl(Bl.COMPONENT_STOP_TRANSITION_ANIMATION,{componentId:e}))}send3dModelPlayAnimationClip(e,t){this.player.sendCommand(new Fl(Bl.COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP,{modelComponentId:e,animationClipId:t}))}send3dModelStopAnimationClip(e){this.player.sendCommand(new Fl(Bl.COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP,{modelComponentId:e}))}send2dTextAutoFit(e){this.player.sendCommand(new Fl(Bl.COMPONENT_2D_TEXT_AUTO_FIT,e))}}class zc{player;constructor(e){this.player=e}enterFovShotMode(e){this.player.sendCommand(new Fl(Bl.FOV_ENTER_SHOT_MODE,JSON.parse(JSON.stringify(e))))}exitFovShotMode(){this.player.sendCommand(new Fl(Bl.FOV_EXIT_SHOT_MODE,{}))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.FOV_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.FOV_DELETE,e))}}class qc{player;constructor(e){this.player=e}sendUpdate(e){this.player.sendCommand(new Fl(Bl.LAYER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e,t){this.player.sendCommand(new Fl(Bl.LAYER_DELETE,{layerId:e,deleteComponents:t}))}sendVisible(e,t){this.player.sendCommand(new Fl(Bl.LAYER_VISIBLE,{layerId:e,visible:t}))}}class jc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.LIGHT_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.LIGHT_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.LIGHT_DELETE,e))}}class $c{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.TRIMMER_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.TRIMMER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.TRIMMER_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.TRIMMER_CONTROLLER_MODIFY,{controllerType:e,trimmerId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.TRIMMER_EDITING_STATE_UPDATE,e))}}class Qc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.STICKER_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.STICKER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.STICKER_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.STICKER_CONTROLLER_MODIFY,{controllerType:e,stickerId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.STICKER_EDITING_STATE_UPDATE,e))}}class Zc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.ASSET_LABEL_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.ASSET_LABEL_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.ASSET_LABEL_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.ASSET_LABEL_CONTROLLER_MODIFY,{controllerType:e,assetLabelId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.ASSET_LABEL_EDITING_STATE_UPDATE,e))}}class ed{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.ASSET_POINT_MARK_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.ASSET_POINT_MARK_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.ASSET_POINT_MARK_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.ASSET_POINT_MARK_CONTROLLER_MODIFY,{controllerType:e,assetPointMarkId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.ASSET_POINT_MARK_EDITING_STATE_UPDATE,e))}}class td{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.ASSET_VOLUME_MARK_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.ASSET_VOLUME_MARK_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.ASSET_VOLUME_MARK_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.ASSET_VOLUME_MARK_CONTROLLER_MODIFY,{controllerType:e,assetVolumeMarkId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.ASSET_VOLUME_MARK_EDITING_STATE_UPDATE,e))}}class ad{player;constructor(e){this.player=e}sendUpdateAll(e){this.player.sendCommand(new Fl(Bl.SWEEP_UPDATE_ALL,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.SWEEP_UPDATE,JSON.parse(JSON.stringify(e))))}sendDeleteVirtual(e){this.player.sendCommand(new Fl(Bl.SWEEP_DELETE_VIRTUAL,e))}sendUpdateRenderFlagVisible(e){this.player.sendCommand(new Fl(Bl.SWEEP_UPDATE_RENDER_FLAG_VISIBLE,e))}}class nd{player;constructor(e){this.player=e}sendUpdate(e){this.player.sendCommand(new Fl(Bl.FLOOR_UPDATE,JSON.parse(JSON.stringify(e))))}}class sd{player;constructor(e){this.player=e}sendMoveTo(e,t){this.player.sendCommand(new Fl(Bl.CAMERA_MOVE_TO,JSON.parse(JSON.stringify({transition:e,cameraMode:t}))))}sendMoveToInside(e,t,a){this.player.sendCommand(new Fl(Bl.CAMERA_MOVE_TO_INSIDE,JSON.parse(JSON.stringify({transition:e,transitionTime:t,cameraPose:a}))))}sendMoveToVrFov(e,t,a){this.player.sendCommand(new Fl(Bl.CAMERA_MOVE_TO_VR_FOV,JSON.parse(JSON.stringify({transition:e,transitionTime:t,fovId:a}))))}sendMoveToNearComponent(e,t,a){this.player.sendCommand(new Fl(Bl.CAMERA_MOVE_TO_NEAR_COMPONENT,JSON.parse(JSON.stringify({transition:e,transitionTime:t,componentId:a}))))}sendMoveToWatchPosition(e,t,a){this.player.sendCommand(new Fl(Bl.CAMERA_MOVE_TO_WATCH_POSITION,JSON.parse(JSON.stringify({transition:e,transitionTime:t,position:a}))))}sendRequestDeeplinkParams(){this.player.sendCommand(new Fl(Bl.CAMERA_REQUEST_DEEPLINK_PARAMS,{}))}}class od{player;constructor(e){this.player=e}sendTakeScreenshot(e,t){this.player.sendCommand(new Fl(Bl.RENDERER_TAKE_SCREENSHOT,{resolution:e,visibility:t}))}sendGetPanoramaImage(){this.player.sendCommand(new Fl(Bl.RENDERER_GET_PANORAMA_IMAGE,{}))}sendSettingsUpdate(e){this.player.sendCommand(new Fl(Bl.RENDERER_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}sendColorSpaceSettingsUpdate(e){this.player.sendCommand(new Fl(Bl.RENDERER_COLOR_SPACE_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class rd{player;constructor(e){this.player=e}sendMarkerUpdate(e){this.player.sendCommand(new Fl(Bl.MARKER_UPDATE,JSON.parse(JSON.stringify(e))))}sendMarkerDelete(e){this.player.sendCommand(new Fl(Bl.MARKER_DELETE,e))}}class id{player;constructor(e){this.player=e}sendNavigationRequest(e){this.player.sendCommand(new Fl(Bl.NAVIGATION_REQUEST,JSON.parse(JSON.stringify(e))))}sendNavigationStart(e){this.player.sendCommand(new Fl(Bl.NAVIGATION_START,JSON.parse(JSON.stringify(e))))}sendNavigationCancel(){this.player.sendCommand(new Fl(Bl.NAVIGATION_CANCEL,{}))}}class ld{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.OBSTACLE_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.OBSTACLE_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.OBSTACLE_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.OBSTACLE_CONTROLLER_MODIFY,{controllerType:e,obstacleId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.OBSTACLE_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Fl(Bl.OBSTACLE_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}}class cd{player;constructor(e){this.player=e}sendAudioListUpdate(e){this.player.sendCommand(new Fl(Bl.AUDIO_LIST_UPDATE,JSON.parse(JSON.stringify(e))))}sendAudioListDelete(e){this.player.sendCommand(new Fl(Bl.AUDIO_LIST_DELETE,{audioListId:e}))}sendAudioUpdate(e){this.player.sendCommand(new Fl(Bl.AUDIO_UPDATE,JSON.parse(JSON.stringify(e))))}sendAudioDelete(e,t){this.player.sendCommand(new Fl(Bl.AUDIO_DELETE,{audioListId:e,audioId:t}))}sendAudioCenterPlayerShowPlayControlUpdate(e){this.player.sendCommand(new Fl(Bl.AUDIO_CENTER_PLAYER_SHOW_PLAY_CONTROL_UPDATE,{show:e}))}sendAudioCenterPlayerShowMuteControlUpdate(e){this.player.sendCommand(new Fl(Bl.AUDIO_CENTER_PLAYER_SHOW_VOLUME_CONTROL_UPDATE,{show:e}))}sendAudioCenterPlayerVolumeUpdate(e){this.player.sendCommand(new Fl(Bl.AUDIO_CENTER_PLAYER_VOLUME_UPDATE,{volume:e}))}}class dd{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.TARGET_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.TARGET_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.TARGET_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.TARGET_CONTROLLER_MODIFY,{controllerType:e,targetId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.TARGET_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Fl(Bl.TARGET_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}}class md{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.WORMHOLE_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.WORMHOLE_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.WORMHOLE_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.WORMHOLE_CONTROLLER_MODIFY,{controllerType:e,wormholeId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.WORMHOLE_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Fl(Bl.WORMHOLE_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}}class pd{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.RAY_HITTER_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.RAY_HITTER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.RAY_HITTER_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.RAY_HITTER_CONTROLLER_MODIFY,{controllerType:e,rayHitterId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.RAY_HITTER_EDITING_STATE_UPDATE,e))}}class _d{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Fl(Bl.SPACE_FENCE_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Fl(Bl.SPACE_FENCE_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Fl(Bl.SPACE_FENCE_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Fl(Bl.SPACE_FENCE_CONTROLLER_MODIFY,{controllerType:e,spaceFenceId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Fl(Bl.SPACE_FENCE_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Fl(Bl.SPACE_FENCE_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}sendGroupColorUpdate(e,t){this.player.sendCommand(new Fl(Bl.SPACE_FENCE_GROUP_COLOR_UPDATE,{groupId:e,cubeFaceColor:JSON.parse(JSON.stringify(t))}))}}class yd{player;constructor(e){this.player=e}sendMonitorListUpdate(e){this.player.sendCommand(new Fl(Bl.MONITOR_LIST_UPDATE,JSON.parse(JSON.stringify(e))))}}class ud{player;constructor(e){this.player=e}sendPreview(e,t){this.player.sendCommand(new Fl(Bl.MESSAGE_CARD_PREVIEW,{card:e?JSON.parse(JSON.stringify(e)):null,show:t}))}}class gd{player;constructor(e){this.player=e}captureDestination(){this.player.sendCommand(new Fl(Bl.DOLLY_PATH_CAPTURE_DESTINATION,{}))}preview(e){this.player.sendCommand(new Fl(Bl.DOLLY_PATH_PREVIEW,JSON.parse(JSON.stringify(e))))}stopPreview(){this.player.sendCommand(new Fl(Bl.DOLLY_PATH_STOP_PREVIEW,{}))}}class Ed{player;constructor(e){this.player=e}sendHamburgerMenuUpdate(e){this.player.sendCommand(new Fl(Bl.HAMBURGER_MENU_UPDATE,JSON.parse(JSON.stringify(e))))}}class Td{player;constructor(e){this.player=e}enter(e,t,a){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_ENTER,{componentId:e,animationId:t,pathDesign:JSON.parse(JSON.stringify(a))}))}exit(){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_EXIT,{}))}update(e,t=!1){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_UPDATE,{pathDesign:JSON.parse(JSON.stringify(e)),resnapPoints:t}))}setTool(e){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_SET_TOOL,{tool:e}))}setView(e){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_SET_VIEW,{view:e}))}selectPoint(e){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_SELECT_POINT,{pointId:e}))}scrub(e){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_SCRUB,{progress:e}))}previewPlay(){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_PREVIEW_PLAY,{}))}previewStop(){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_PREVIEW_STOP,{}))}generate(){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_GENERATE,{}))}generateOneshot(e,t,a){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_GENERATE_ONESHOT,{requestId:e,componentId:t,pathDesign:JSON.parse(JSON.stringify(a))}))}moveComponentToStart(){this.player.sendCommand(new Fl(Bl.PATH_DESIGN_MOVE_COMPONENT_TO_START,{}))}}class Ad{player;constructor(e){this.player=e}onCameraPoseUpdate(e){this.player.registerMessageListener(Tc.CAMERA_POSE_UPDATE,(t=>{e(t.data)}))}onDeeplinkParamsReady(e){this.player.registerMessageListener(Tc.CAMERA_DEEPLINK_PARAMS_READY,(t=>{e(t.data)}))}}class Cd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.COMPONENT_UPDATE,(t=>{const a=t.data;a&&"object"==typeof a&&"componentData"in a&&a.componentData?e(a.componentData,a.source??"default"):e(a,"default")}))}onClick(e){this.player.registerMessageListener(Tc.COMPONENT_ON_CLICK,(t=>{e(t.data)}))}onTransitionAnimationFinished(e){this.player.registerMessageListener(Tc.COMPONENT_TRANSITION_ANIMATION_FINISHED,(t=>{e(t.data.componentId,t.data.animationId)}))}}class Sd{player;constructor(e){this.player=e}onShotResult(e){this.player.registerMessageListener(Tc.FOV_SHOT_RESULT,(t=>{e(t.data)}))}}class hd{player;constructor(e){this.player=e}onImportFromMatterport(e){this.player.registerMessageListener(Tc.FLOOR_IMPORT_FROM_MATTERPORT,(t=>{e(t.data)}))}onEnterFloor(e){this.player.registerMessageListener(Tc.FLOOR_ENTER,(t=>{e(t.data)}))}onLeaveFloor(e){this.player.registerMessageListener(Tc.FLOOR_LEAVE,(t=>{e(t.data)}))}}class Id{player;constructor(e){this.player=e}onImportFromMatterport(e){this.player.registerMessageListener(Tc.SWEEP_IMPORT_FROM_MATTERPORT,(t=>{e(t.data)}))}onSyncMatterportEnabledState(e){this.player.registerMessageListener(Tc.SWEEP_SYNC_MATTERPORT_ENABLED_STATE,(t=>{e(t.data)}))}onRequestModifyEnabled(e){this.player.registerMessageListener(Tc.SWEEP_REQUEST_MODIFY_ENABLED,(t=>{e(t.data.sweepId,t.data.enabled)}))}}class Od{player;constructor(e){this.player=e}onScreenshotReady(e){this.player.registerMessageListener(Tc.RENDERER_SCREENSHOT_READY,(t=>{e(t.data)}))}onPanoramaImageReady(e){this.player.registerMessageListener(Tc.RENDERER_PANORAMA_IMAGE_READY,(t=>{e(t.data)}))}onWorldSizeReady(e){this.player.registerMessageListener(Tc.RENDERER_WORLD_SIZE_READY,(t=>{e(t.data)}))}}class Ld{player;constructor(e){this.player=e}onNavigationResultReady(e){this.player.registerMessageListener(Tc.NAVIGATION_RESULT_READY,(t=>{e(t.data)}))}onNavigationStart(e){this.player.registerMessageListener(Tc.NAVIGATION_START,(t=>{e(t.data)}))}onNavigationEnd(e){this.player.registerMessageListener(Tc.NAVIGATION_END,(t=>{e(t.data)}))}onNavigationCancel(e){this.player.registerMessageListener(Tc.NAVIGATION_CANCEL,(t=>{e(t.data)}))}}class bd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.OBSTACLE_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.OBSTACLE_ON_CLICK,(t=>{e(t.data)}))}}class Rd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.TRIMMER_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.TRIMMER_ON_CLICK,(t=>{e(t.data)}))}}class fd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.STICKER_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.STICKER_ON_CLICK,(t=>{e(t.data)}))}}class kd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.ASSET_LABEL_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.ASSET_LABEL_ON_CLICK,(t=>{e(t.data)}))}}class Nd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.ASSET_POINT_MARK_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.ASSET_POINT_MARK_ON_CLICK,(t=>{e(t.data)}))}}class Pd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.ASSET_VOLUME_MARK_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.ASSET_VOLUME_MARK_ON_CLICK,(t=>{e(t.data)}))}}class Md{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.TARGET_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.TARGET_ON_CLICK,(t=>{e(t.data)}))}}class wd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.WORMHOLE_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.WORMHOLE_ON_CLICK,(t=>{e(t.data)}))}}class vd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.RAY_HITTER_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.RAY_HITTER_ON_CLICK,(t=>{e(t.data)}))}}class Dd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(Tc.SPACE_FENCE_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(Tc.SPACE_FENCE_ON_CLICK,(t=>{e(t.data)}))}}class Vd{player;constructor(e){this.player=e}onDestinationCaptured(e){this.player.registerMessageListener(Tc.DOLLY_PATH_DESTINATION_CAPTURED,(t=>{e(t.data)}))}}class Ud{player;constructor(e){this.player=e}onPointsUpdate(e){this.player.registerMessageListener(Tc.PATH_DESIGN_POINTS_UPDATE,(t=>{e(t.data.points||[])}))}onSelectionUpdate(e){this.player.registerMessageListener(Tc.PATH_DESIGN_SELECTION_UPDATE,(t=>{e(t.data.pointId??null)}))}onBounds(e){this.player.registerMessageListener(Tc.PATH_DESIGN_BOUNDS,(t=>{e(t.data)}))}onStats(e){this.player.registerMessageListener(Tc.PATH_DESIGN_STATS,(t=>{e(t.data.stats)}))}onKeyframes(e){this.player.registerMessageListener(Tc.PATH_DESIGN_KEYFRAMES,(t=>{e(t.data.keyFrameList||[],t.data.stats,t.data.requestId??null)}))}onPickResult(e){this.player.registerMessageListener(Tc.PATH_DESIGN_PICK_RESULT,(t=>{e(t.data.tool,t.data.position)}))}onUndoRequest(e){this.player.registerMessageListener(Tc.PATH_DESIGN_UNDO_REQUEST,(t=>{e(!!t.data.redo)}))}onPreviewState(e){this.player.registerMessageListener(Tc.PATH_DESIGN_PREVIEW_STATE,(t=>{e(!!t.data.playing,t.data.progress??0)}))}onParamUpdate(e){this.player.registerMessageListener(Tc.PATH_DESIGN_PARAM_UPDATE,(t=>{e(t.data.patch||{})}))}}class xd{serviceRegion;iframeElement=null;messageListenerPool=new Map;messageCamera;messageComponent;messageFov;messageFloor;messagePlayer;messageSweep;messageRenderer;messageNavigation;messageObstacle;messageTrimmer;messageSticker;messageAssetLabel;messageAssetPointMark;messageAssetVolumeMark;messageTarget;messageWormhole;messageRayHitter;messageSpaceFence;messageDollyPath;messagePathDesign;commandPlayer;commandCover;commandUi;commandInfoTemplate;commandInformation;commandComponent;commandFov;commandLayer;commandLight;commandTrimmer;commandSticker;commandAssetLabel;commandAssetPointMark;commandAssetVolumeMark;commandSweep;commandFloor;commandCamera;commandRenderer;commandMarker;commandNavigation;commandObstacle;commandAudio;commandTarget;commandWormhole;commandRayHitter;commandSpaceFence;commandMonitor;commandMessageCard;commandDollyPath;commandHamburgerMenu;commandPathDesign;constructor(e,t){this.serviceRegion=e,this.iframeElement=t,this.messageCamera=new Ad(this),this.messageComponent=new Cd(this),this.messageFov=new Sd(this),this.messageFloor=new hd(this),this.messagePlayer=new Gc(this),this.messageSweep=new Id(this),this.messageRenderer=new Od(this),this.messageNavigation=new Ld(this),this.messageObstacle=new bd(this),this.messageTrimmer=new Rd(this),this.messageSticker=new fd(this),this.messageAssetLabel=new kd(this),this.messageAssetPointMark=new Nd(this),this.messageAssetVolumeMark=new Pd(this),this.messageTarget=new Md(this),this.messageWormhole=new wd(this),this.messageRayHitter=new vd(this),this.messageSpaceFence=new Dd(this),this.messageDollyPath=new Vd(this),this.messagePathDesign=new Ud(this),this.commandPlayer=new Kc(this),this.commandCover=new Hc(this),this.commandUi=new Xc(this),this.commandInfoTemplate=new Wc(this),this.commandInformation=new Yc(this),this.commandComponent=new Jc(this),this.commandFov=new zc(this),this.commandLayer=new qc(this),this.commandLight=new jc(this),this.commandTrimmer=new $c(this),this.commandSticker=new Qc(this),this.commandAssetLabel=new Zc(this),this.commandAssetPointMark=new ed(this),this.commandAssetVolumeMark=new td(this),this.commandSweep=new ad(this),this.commandFloor=new nd(this),this.commandCamera=new sd(this),this.commandRenderer=new od(this),this.commandMarker=new rd(this),this.commandNavigation=new id(this),this.commandObstacle=new ld(this),this.commandAudio=new cd(this),this.commandTarget=new dd(this),this.commandWormhole=new md(this),this.commandRayHitter=new pd(this),this.commandSpaceFence=new _d(this),this.commandMonitor=new yd(this),this.commandMessageCard=new ud(this),this.commandDollyPath=new gd(this),this.commandHamburgerMenu=new Ed(this),this.commandPathDesign=new Td(this),this.iframeElement.addEventListener("load",(()=>{console.debug("[VRTalk Web SDK] player iframe loaded, add event listener"),window.addEventListener("message",(e=>{if(e.data.type&&0===e.data.type.indexOf("vrtalk_msg_")){const t=e.data;this.messageListenerPool.has(t.type)&&this.messageListenerPool.get(t.type).forEach((e=>{e(t)}))}}))}))}registerMessageListener(e,t){console.debug(`[VRTalk Web SDK]VRTalkEditablePlayer.registerMessageListener: ${e}`),this.messageListenerPool.get(e)||this.messageListenerPool.set(e,[]),this.messageListenerPool.get(e).push(t)}unRegisterMessageListener(e,t){if(console.debug(`[VRTalk Web SDK]VRTalkEditablePlayer.unRegisterMessageListener: ${e}`),!this.messageListenerPool.has(e))return;const a=this.messageListenerPool.get(e).indexOf(t);a>=0&&this.messageListenerPool.get(e).splice(a,1)}clearAllMessageListener(){console.debug("[VRTalk Web SDK] VRTalkEditablePlayer.clearAllMessageListener"),this.messageListenerPool.clear()}sendCommand(e){console.debug(`[VRTalk Web SDK]VRTalkEditablePlayer.sendCommand: ${e}`);const t=this.iframeElement?.contentWindow;t?t.postMessage(e,"*"):console.warn("[VRTalk Web SDK] sendCommand: player iframe 尚未就绪,命令被跳过",e)}play(){console.debug("[VRTalk Web SDK]VRTalkEditablePlayer.play"),this.iframeElement.src=this.serviceRegion+"/vr-editor"}}class Fd{cn="";en="";jp="";constructor(e="",t="",a=""){this.cn=e,this.en=t,this.jp=a}}function Bd(e,t,a){return new Fd(e,t,a)}class Gd{value="";name=new Fd}class Kd{key="";name=new Fd;desc;type="string";refTypeKey;listElementType;listElementRefTypeKey;enumOptions;closurePayloadFields;optional=!1;defaultValue}class Hd{type="void";refTypeKey;customClassId;listElementType;listElementRefTypeKey;desc}class Xd{key="";name=new Fd;desc;params=[];returns=new Hd;platform="vr_and_ar";supportsAsync=!1;pure=!1;groupKey="";legacyActionType;legacyConditionFunc}class Wd{key="";name=new Fd;desc;payloadFields=[];aggregate=!1;platform="vr_and_ar";legacySignalSource;legacySignalType}class Yd{key="";name=new Fd}class Jd{extendsClassKey="";isAbstract=!1;listPath="";parentPathSpec=[];selectorKey="";usableAsVariableType=!0}class zd{classKey="";name=new Fd;desc;kind="static";groupKey="";entityInfo;methods=[];events=[];methodGroups=[]}function qd(e){return Object.assign(new Kd,e)}function jd(e){return Object.assign(new Hd,e)}function $d(e){return Object.assign(new Xd,e)}function Qd(e){return Object.assign(new Wd,e)}function Zd(e,t){return Object.assign(new Gd,{value:e,name:t})}function em(e){return Object.assign(new Jd,e)}function tm(e,t){return Object.assign(new Yd,{key:e,name:t})}function am(e){return Object.assign(new zd,e)}function nm(e,t){return $d({key:"addListener",name:Bd("添加监听器","Add Listener","リスナーを追加"),desc:Bd("动态订阅本对象的一个事件;返回监听器句柄(可存入变量,供 Listener.移除监听器 使用)。回调内用 _事件.$ 读事件载荷。监听器归属创建它的作用域(场景/子程序),作用域结束自动回收。","Dynamically subscribe to an event of this object; returns a listener handle. Read event payload via _event.$ in the callback.","このオブジェクトのイベントを動的に購読し、リスナーハンドルを返します。"),params:[qd({key:"event",name:Bd("事件","Event","イベント"),type:"enum",enumOptions:t.map((e=>Zd(e.key,e.name)))}),qd({key:"callback",name:Bd("回调","Callback","コールバック"),type:"closure"})],returns:jd({type:"listener"}),pure:!1,groupKey:""})}const sm=new Map;function om(e){sm.has(e.classKey)&&console.warn(`[XrApiCatalog] classKey 重复注册,后者覆盖前者: ${e.classKey}`),sm.set(e.classKey,e)}function rm(e){for(const t of e)om(t)}function im(e){return sm.get(e)}function lm(){return Array.from(sm.values())}function cm(e){const t=[];let a=sm.get(e);const n=new Set;for(;a&&!n.has(a.classKey);){n.add(a.classKey),t.push(a);const e=a.entityInfo?.extendsClassKey;a=e?sm.get(e):void 0}const s=new Map;for(let e=t.length-1;e>=0;e--)for(const a of t[e].methods)s.set(a.key,a);return Array.from(s.values())}function dm(e){const t=[];let a=sm.get(e);const n=new Set;for(;a&&!n.has(a.classKey);){n.add(a.classKey),t.push(a);const e=a.entityInfo?.extendsClassKey;a=e?sm.get(e):void 0}const s=new Map;for(let e=t.length-1;e>=0;e--)for(const a of t[e].events)s.set(a.key,a);return Array.from(s.values())}function mm(e,t){return cm(e).find((e=>e.key===t))}function pm(e){for(const t of sm.values())for(const a of t.methods)if(a.legacyActionType===e)return{classMeta:t,method:a}}function _m(e,t){return!0===mm(e,t)?.pure}function ym(){const e=[qd({key:"item",name:Bd("当前元素","Item","現在の要素"),type:"any"}),qd({key:"index",name:Bd("序号","Index","インデックス"),desc:Bd("从 1 开始","1-based","1始まり"),type:"number"})];return am({classKey:"List",name:Bd("列表","List","リスト"),desc:Bd("列表(强类型 list<T>)操作;序号从 1 开始","List operations (typed list<T>); 1-based index","リスト操作(1始まりインデックス)"),kind:"static",groupKey:"value",methods:[$d({key:"length",name:Bd("取长度","Get Length","長さを取得"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"})],returns:jd({type:"number"}),pure:!0}),$d({key:"get",name:Bd("取第N项","Get Item","N番目を取得"),desc:Bd("序号从 1 开始;越界返回空值并记日志","1-based index; empty value on out-of-range","1始まり。範囲外は空値"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"index",name:Bd("序号","Index","インデックス"),type:"number"})],returns:jd({type:"any",desc:Bd("该位置的元素(类型=列表元素类型)","Element at index (typed by list element type)","その位置の要素")}),pure:!0}),$d({key:"set",name:Bd("设第N项","Set Item","N番目を設定"),desc:Bd("就地修改列表(有副作用);序号从 1 开始","Mutates the list in place; 1-based index","リストを直接変更(副作用あり)"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"index",name:Bd("序号","Index","インデックス"),type:"number"}),qd({key:"value",name:Bd("新值","Value","新しい値"),type:"any"})],returns:jd({type:"void"}),pure:!1}),$d({key:"append",name:Bd("追加元素","Append","要素を追加"),desc:Bd("把元素加到列表末尾(就地修改,有副作用)","Append to the end (mutates in place)","末尾に追加(副作用あり)"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"value",name:Bd("元素","Value","要素"),type:"any"})],returns:jd({type:"void"}),pure:!1}),$d({key:"removeAt",name:Bd("删除第N项","Remove At","N番目を削除"),desc:Bd("就地修改列表(有副作用);序号从 1 开始","Mutates the list in place; 1-based index","リストを直接変更(副作用あり)"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"index",name:Bd("序号","Index","インデックス"),type:"number"})],returns:jd({type:"void"}),pure:!1}),$d({key:"insert",name:Bd("插入元素","Insert","要素を挿入"),desc:Bd("在第N项之前插入(就地修改,有副作用);序号从 1 开始","Insert before index (mutates in place); 1-based","N番目の前に挿入(副作用あり)"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"index",name:Bd("序号","Index","インデックス"),type:"number"}),qd({key:"value",name:Bd("元素","Value","要素"),type:"any"})],returns:jd({type:"void"}),pure:!1}),$d({key:"contains",name:Bd("判断包含","Contains","含むか判定"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"value",name:Bd("元素","Value","要素"),type:"any"})],returns:jd({type:"boolean"}),pure:!0}),$d({key:"concat",name:Bd("拼接列表","Concat","リストを連結"),desc:Bd("返回两列表首尾相接的新列表(不改动入参)","Returns a new concatenated list (inputs untouched)","新しい連結リストを返す(入力は不変)"),params:[qd({key:"a",name:Bd("列表A","List A","リストA"),type:"list"}),qd({key:"b",name:Bd("列表B","List B","リストB"),type:"list"})],returns:jd({type:"list"}),pure:!0}),$d({key:"sum",name:Bd("求和","Sum","合計を求める"),params:[qd({key:"list",name:Bd("数字列表","Number List","数値リスト"),type:"list",listElementType:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"randomPick",name:Bd("随机取一","Random Pick","ランダムに1つ取得"),desc:Bd("随机取一个元素(非确定,不可进条件槽;同 Random.从列表随机选一)","Pick one random element (non-deterministic)","ランダムに要素を1つ取得(非決定的)"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"})],returns:jd({type:"any",desc:Bd("随机选中的元素(类型=列表元素类型)","The picked element","選ばれた要素")}),pure:!1}),$d({key:"forEach",name:Bd("遍历列表","For Each","各要素を処理"),desc:Bd("对每个元素依次执行回调;回调里用 _事件.$item / _事件.$index 取当前元素与序号","Run callback for each element; _事件.$item / _事件.$index injected","各要素に対しコールバックを実行"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"callback",name:Bd("回调","Callback","コールバック"),type:"closure",closurePayloadFields:e})],returns:jd({type:"void"}),pure:!1}),$d({key:"map",name:Bd("映射列表","Map","変換して新リストを作る"),desc:Bd("对每个元素执行回调,用回调返回值组成新列表;_事件.$item / _事件.$index 注入回调","Build a new list from callback return values","コールバックの戻り値で新リストを作る"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"callback",name:Bd("回调","Callback","コールバック"),desc:Bd("回调需返回新元素值","Callback must return the new element value","コールバックは新しい要素値を返す"),type:"closure",closurePayloadFields:e})],returns:jd({type:"list"}),pure:!1}),$d({key:"filter",name:Bd("过滤列表","Filter","絞り込み"),desc:Bd("对每个元素执行回调,保留回调返回真的元素组成新列表;_事件.$item / _事件.$index 注入回调","Keep elements for which the callback returns true","コールバックが真を返した要素だけ残す"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"}),qd({key:"callback",name:Bd("回调","Callback","コールバック"),desc:Bd("回调需返回布尔(真=保留)","Callback must return boolean (true=keep)","コールバックは真偽値を返す(真=残す)"),type:"closure",closurePayloadFields:e})],returns:jd({type:"list"}),pure:!1})]})}function um(){const e=[Zd("year",Bd("年","Year","年")),Zd("month",Bd("月","Month","月")),Zd("day",Bd("日","Day","日")),Zd("hour",Bd("时","Hour","時")),Zd("minute",Bd("分","Minute","分")),Zd("second",Bd("秒","Second","秒"))];return am({classKey:"Time",name:Bd("时间","Time","時間"),desc:Bd("时间查询与运算(全部为无副作用查询)","Time queries and arithmetic (all pure)","時間の取得と演算(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[$d({key:"now",name:Bd("取当前时间","Now","現在時刻を取得"),desc:Bd("按格式返回当前时间:iso/date_string/time_string 返回文本,unix_ms/unix_s 返回数字","Current time by format: iso/date_string/time_string → string, unix_ms/unix_s → number","形式に応じて現在時刻を返す"),params:[qd({key:"format",name:Bd("格式","Format","形式"),type:"enum",enumOptions:[Zd("iso",Bd("ISO字符串","ISO String","ISO文字列")),Zd("unix_ms",Bd("Unix毫秒","Unix Milliseconds","Unixミリ秒")),Zd("unix_s",Bd("Unix秒","Unix Seconds","Unix秒")),Zd("date_string",Bd("日期字符串","Date String","日付文字列")),Zd("time_string",Bd("时刻字符串","Time String","時刻文字列"))],optional:!0,defaultValue:"iso"})],returns:jd({type:"any",desc:Bd("当前时间(文本或数字,随格式)","Current time (string or number by format)","現在時刻(形式に従い文字列/数値)")}),pure:!0,legacyActionType:"logic_current_time"}),$d({key:"format",name:Bd("格式化时间","Format Time","時刻を書式化"),desc:Bd("按模板格式化时间(模板占位:YYYY/MM/DD/HH/mm/ss)","Format time by template (YYYY/MM/DD/HH/mm/ss)","テンプレートで時刻を書式化"),params:[qd({key:"time",name:Bd("时间","Time","時刻"),desc:Bd("ISO 字符串或 Unix 时间戳","ISO string or Unix timestamp","ISO文字列またはUnixタイムスタンプ"),type:"any"}),qd({key:"template",name:Bd("模板","Template","テンプレート"),type:"string"})],returns:jd({type:"string"}),pure:!0}),$d({key:"add",name:Bd("时间加减","Add Time","時間を加減算"),desc:Bd("给时间加上指定数量的单位(数量可为负=减);返回新时间","Add amount of unit to time (negative = subtract)","指定単位の量を加算(負数=減算)"),params:[qd({key:"time",name:Bd("时间","Time","時刻"),desc:Bd("ISO 字符串或 Unix 时间戳","ISO string or Unix timestamp","ISO文字列またはUnixタイムスタンプ"),type:"any"}),qd({key:"amount",name:Bd("数量","Amount","量"),type:"number"}),qd({key:"unit",name:Bd("单位","Unit","単位"),type:"enum",enumOptions:e})],returns:jd({type:"any",desc:Bd("新时间(表示形式与入参一致)","New time (same representation as input)","新しい時刻(入力と同じ表現)")}),pure:!0}),$d({key:"getPart",name:Bd("取时间部分","Get Time Part","時刻の要素を取得"),desc:Bd("取时间的某一部分为数字;星期:0=周日 … 6=周六","Extract a part as number; weekday: 0=Sunday … 6=Saturday","時刻の一部を数値で取得(曜日:0=日曜〜6=土曜)"),params:[qd({key:"time",name:Bd("时间","Time","時刻"),desc:Bd("ISO 字符串或 Unix 时间戳","ISO string or Unix timestamp","ISO文字列またはUnixタイムスタンプ"),type:"any"}),qd({key:"part",name:Bd("部分","Part","要素"),type:"enum",enumOptions:[...e,Zd("weekday",Bd("星期","Weekday","曜日"))]})],returns:jd({type:"number"}),pure:!0}),$d({key:"diff",name:Bd("计算时间差","Time Diff","時間差を計算"),desc:Bd("时间B 减 时间A,按单位折算(可为负)","B minus A converted to unit (may be negative)","BからAを引き単位換算(負数あり)"),params:[qd({key:"a",name:Bd("时间A","Time A","時刻A"),type:"any"}),qd({key:"b",name:Bd("时间B","Time B","時刻B"),type:"any"}),qd({key:"unit",name:Bd("单位","Unit","単位"),type:"enum",enumOptions:e})],returns:jd({type:"number"}),pure:!0}),$d({key:"isHourBetween",name:Bd("判断时段内","Hour In Range","時間帯内か判定"),desc:Bd("小时数是否在 [始, 末] 时段内(0~23);老条件写法固定取当前小时,新写法配合「取时间部分」可判任意时间","Whether hour is within [start, end] (0~23)","時(0~23)が [開始, 終了] 内かどうか"),params:[qd({key:"hour",name:Bd("时","Hour","時"),desc:Bd("0~23;判当前时段用 取时间部分(取当前时间, 时)","0~23","0~23"),type:"number"}),qd({key:"start",name:Bd("起始时","Start Hour","開始時"),type:"number"}),qd({key:"end",name:Bd("结束时","End Hour","終了時"),type:"number"})],returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"current_hour_between"})]})}function gm(){const e=()=>qd({key:"target",name:Bd("目标变量","Target Variable","対象変数"),desc:Bd("变量目标(scope+key),编辑器用变量选择器","Variable target (scope+key); editor uses variable selector","変数ターゲット(scope+key)。エディタは変数セレクタを使用"),type:"any"});return am({classKey:"Variable",name:Bd("变量","Variable","変数"),desc:Bd("直接修改变量值(承接老 逻辑-变量 动作族)","Mutate variable values (legacy logic_variable_* family)","変数値を直接変更(旧 logic_variable_* 系)"),kind:"static",groupKey:"value",methods:[$d({key:"setValue",name:Bd("设置值","Set Value","値を設定"),params:[e(),qd({key:"value",name:Bd("新值","Value","新しい値"),desc:Bd("按变量类型解释(string/number/boolean/color/css_color)","Interpreted by variable type","変数型に従って解釈"),type:"any"})],returns:jd({type:"void"}),pure:!1,legacyActionType:"logic_variable_modify"}),$d({key:"numberAdd",name:Bd("增加数值","Add Number","数値を加算"),params:[e(),qd({key:"value",name:Bd("增量","Amount","増分"),type:"number"})],returns:jd({type:"void"}),pure:!1,legacyActionType:"logic_variable_number_add"}),$d({key:"numberSubtract",name:Bd("减少数值","Subtract Number","数値を減算"),params:[e(),qd({key:"value",name:Bd("减量","Amount","減分"),type:"number"})],returns:jd({type:"void"}),pure:!1,legacyActionType:"logic_variable_number_subtract"}),$d({key:"stringAppend",name:Bd("追加文本","Append String","文字列を追加"),params:[e(),qd({key:"content",name:Bd("追加内容","Content","追加内容"),type:"string"})],returns:jd({type:"void"}),pure:!1,legacyActionType:"logic_variable_string_append"}),$d({key:"stringTrimEnd",name:Bd("截去末尾","Trim End","末尾を切り取る"),desc:Bd("从字符串变量末尾删掉指定长度的字符","Remove N characters from the end of the string variable","文字列変数の末尾からN文字削除"),params:[e(),qd({key:"length",name:Bd("删除长度","Length","削除する長さ"),type:"number",optional:!0,defaultValue:1})],returns:jd({type:"void"}),pure:!1,legacyActionType:"logic_variable_string_trim_end"}),$d({key:"stringAdvanced",name:Bd("高级处理文本","Advanced String Process","文字列を高度に処理"),desc:Bd("用 JS 表达式加工后写回变量(表达式里可用 $变量名 / _场景.$名 等引用,须返回字符串)","Process via JS expression and write back (must return a string)","JS式で加工して書き戻す(文字列を返す式)"),params:[e(),qd({key:"expression",name:Bd("JS表达式","JS Expression","JS式"),type:"string"})],returns:jd({type:"void"}),pure:!1,legacyActionType:"logic_variable_string_advanced"}),$d({key:"booleanToggle",name:Bd("切换布尔值","Toggle Boolean","真偽値を反転"),params:[e()],returns:jd({type:"void"}),pure:!1,legacyActionType:"logic_variable_boolean_toggle"})]})}function Em(){return[am({classKey:"String",name:Bd("字符串","String","文字列"),desc:Bd("字符串处理工具(全部为无副作用查询,可进条件/值槽)","String utilities (all pure, usable in condition/value slots)","文字列処理ユーティリティ(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[$d({key:"concat",name:Bd("拼接文本","Concat","テキストを連結"),desc:Bd("把多段文本按顺序拼成一段(schema 无变参,2 必填 + 3 可选槽;更多段用嵌套拼接)","Concatenate text segments in order","複数のテキストを順に連結する"),params:[qd({key:"a",name:Bd("第一段","Segment A","第1セグメント"),type:"string"}),qd({key:"b",name:Bd("第二段","Segment B","第2セグメント"),type:"string"}),qd({key:"c",name:Bd("第三段","Segment C","第3セグメント"),type:"string",optional:!0}),qd({key:"d",name:Bd("第四段","Segment D","第4セグメント"),type:"string",optional:!0}),qd({key:"e",name:Bd("第五段","Segment E","第5セグメント"),type:"string",optional:!0})],returns:jd({type:"string"}),pure:!0}),$d({key:"length",name:Bd("取长度","Get Length","長さを取得"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"})],returns:jd({type:"number"}),pure:!0}),$d({key:"substring",name:Bd("截取子串","Substring","部分文字列を取得"),desc:Bd("截取 [起, 止) 区间的子串;序号从 1 开始,止序号省略截到末尾","Substring in range [start, end); 1-based index","[開始, 終了) 範囲の部分文字列(1始まり)"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"start",name:Bd("起始序号","Start Index","開始位置"),type:"number"}),qd({key:"end",name:Bd("结束序号","End Index","終了位置"),type:"number",optional:!0})],returns:jd({type:"string"}),pure:!0}),$d({key:"replace",name:Bd("替换内容","Replace","内容を置換"),desc:Bd("把文本中出现的全部「旧内容」替换成「新内容」","Replace all occurrences","出現するすべての旧内容を新内容に置換"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"search",name:Bd("旧内容","Search","旧内容"),type:"string"}),qd({key:"replacement",name:Bd("新内容","Replacement","新内容"),type:"string"})],returns:jd({type:"string"}),pure:!0}),$d({key:"contains",name:Bd("判断包含","Contains","含むか判定"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"search",name:Bd("子串","Search","部分文字列"),type:"string"})],returns:jd({type:"boolean"}),pure:!0}),$d({key:"startsWith",name:Bd("判断开头","Starts With","先頭一致を判定"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"search",name:Bd("开头子串","Prefix","先頭の部分文字列"),type:"string"})],returns:jd({type:"boolean"}),pure:!0}),$d({key:"endsWith",name:Bd("判断结尾","Ends With","末尾一致を判定"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"search",name:Bd("结尾子串","Suffix","末尾の部分文字列"),type:"string"})],returns:jd({type:"boolean"}),pure:!0}),$d({key:"split",name:Bd("分割文本","Split","テキストを分割"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"separator",name:Bd("分隔符","Separator","区切り文字"),type:"string"})],returns:jd({type:"list",listElementType:"string"}),pure:!0}),$d({key:"toUpperCase",name:Bd("转大写","To Upper Case","大文字に変換"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"})],returns:jd({type:"string"}),pure:!0}),$d({key:"toLowerCase",name:Bd("转小写","To Lower Case","小文字に変換"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"})],returns:jd({type:"string"}),pure:!0}),$d({key:"trim",name:Bd("去空格","Trim","空白を除去"),desc:Bd("去掉文本首尾的空白字符","Remove leading/trailing whitespace","先頭と末尾の空白を除去"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"})],returns:jd({type:"string"}),pure:!0}),$d({key:"format",name:Bd("格式化文本","Format","テキストを書式化"),desc:Bd("模板里可写 $变量名 / _场景.$名 等占位符,按作用域链替换后返回(只读替换,无副作用)","Template with $variable placeholders resolved via scope chain","テンプレート内の $変数 プレースホルダをスコープチェーンで解決"),params:[qd({key:"template",name:Bd("模板","Template","テンプレート"),type:"string"})],returns:jd({type:"string"}),pure:!0}),$d({key:"toNumber",name:Bd("转数字","To Number","数値に変換"),desc:Bd("文本解析为数字;解析失败返回 0","Parse text as number; 0 on failure","数値へ変換(失敗時は 0)"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"})],returns:jd({type:"number"}),pure:!0}),$d({key:"repeat",name:Bd("重复文本","Repeat","テキストを繰り返す"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"count",name:Bd("次数","Count","回数"),type:"number"})],returns:jd({type:"string"}),pure:!0}),$d({key:"pad",name:Bd("补齐长度","Pad","埋めて長さを揃える"),desc:Bd("不足目标长度时用填充串补齐(默认补在开头,常用于数字补零)","Pad to target length (default at start, e.g. zero-padding)","目標の長さまで埋める(既定は先頭、ゼロ埋め等)"),params:[qd({key:"value",name:Bd("文本","Text","テキスト"),type:"string"}),qd({key:"targetLength",name:Bd("目标长度","Target Length","目標の長さ"),type:"number"}),qd({key:"fill",name:Bd("填充串","Fill","埋める文字"),type:"string",optional:!0,defaultValue:" "}),qd({key:"direction",name:Bd("补齐方向","Direction","埋める方向"),type:"enum",enumOptions:[Zd("start",Bd("开头","Start","先頭")),Zd("end",Bd("结尾","End","末尾"))],optional:!0,defaultValue:"start"})],returns:jd({type:"string"}),pure:!0})]}),am({classKey:"Math",name:Bd("数学","Math","数学"),desc:Bd("数学运算工具(全部为无副作用查询)","Math utilities (all pure)","数学演算ユーティリティ(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[$d({key:"add",name:Bd("相加","Add","加算"),params:[qd({key:"a",name:Bd("数A","A","数A"),type:"number"}),qd({key:"b",name:Bd("数B","B","数B"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"subtract",name:Bd("相减","Subtract","減算"),params:[qd({key:"a",name:Bd("被减数","A","被減数"),type:"number"}),qd({key:"b",name:Bd("减数","B","減数"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"multiply",name:Bd("相乘","Multiply","乗算"),params:[qd({key:"a",name:Bd("数A","A","数A"),type:"number"}),qd({key:"b",name:Bd("数B","B","数B"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"divide",name:Bd("相除","Divide","除算"),desc:Bd("除数为 0 时返回 0 并记日志(v1 无错误处理,plan §1.43)","Returns 0 and logs when dividing by zero","0除算時は0を返しログ記録"),params:[qd({key:"a",name:Bd("被除数","A","被除数"),type:"number"}),qd({key:"b",name:Bd("除数","B","除数"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"floor",name:Bd("向下取整","Floor","切り捨て"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"ceil",name:Bd("向上取整","Ceil","切り上げ"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"round",name:Bd("四舍五入","Round","四捨五入"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"abs",name:Bd("取绝对值","Absolute","絶対値を取得"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"max",name:Bd("取最大值","Max","最大値を取得"),params:[qd({key:"a",name:Bd("数A","A","数A"),type:"number"}),qd({key:"b",name:Bd("数B","B","数B"),type:"number"}),qd({key:"c",name:Bd("数C","C","数C"),type:"number",optional:!0}),qd({key:"d",name:Bd("数D","D","数D"),type:"number",optional:!0})],returns:jd({type:"number"}),pure:!0}),$d({key:"min",name:Bd("取最小值","Min","最小値を取得"),params:[qd({key:"a",name:Bd("数A","A","数A"),type:"number"}),qd({key:"b",name:Bd("数B","B","数B"),type:"number"}),qd({key:"c",name:Bd("数C","C","数C"),type:"number",optional:!0}),qd({key:"d",name:Bd("数D","D","数D"),type:"number",optional:!0})],returns:jd({type:"number"}),pure:!0}),$d({key:"clamp",name:Bd("夹紧范围","Clamp","範囲内に制限"),desc:Bd("把数值限制在 [下界, 上界] 内","Clamp value into [min, max]","値を [下限, 上限] に制限"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"}),qd({key:"min",name:Bd("下界","Min","下限"),type:"number"}),qd({key:"max",name:Bd("上界","Max","上限"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"pow",name:Bd("求幂","Power","べき乗"),params:[qd({key:"base",name:Bd("底数","Base","底"),type:"number"}),qd({key:"exponent",name:Bd("指数","Exponent","指数"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"sqrt",name:Bd("开平方","Square Root","平方根"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"mod",name:Bd("取余数","Modulo","剰余を取得"),params:[qd({key:"a",name:Bd("被除数","A","被除数"),type:"number"}),qd({key:"b",name:Bd("除数","B","除数"),type:"number"})],returns:jd({type:"number"}),pure:!0}),$d({key:"toFixed",name:Bd("转定精度文本","To Fixed","固定小数点文字列に変換"),desc:Bd('数值按指定小数位数转成文本(如 3.14159 → "3.14")',"Format number with fixed decimal places","指定した小数点以下桁数の文字列へ変換"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"}),qd({key:"digits",name:Bd("小数位数","Digits","小数点以下桁数"),type:"number"})],returns:jd({type:"string"}),pure:!0}),$d({key:"inRange",name:Bd("判断范围内","In Range","範囲内か判定"),desc:Bd("数值是否在 [下界, 上界] 闭区间内","Whether value is within [min, max]","値が [下限, 上限] 内かどうか"),params:[qd({key:"value",name:Bd("数值","Value","数値"),type:"number"}),qd({key:"min",name:Bd("下界","Min","下限"),type:"number"}),qd({key:"max",name:Bd("上界","Max","上限"),type:"number"})],returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"number_between"})]}),am({classKey:"Random",name:Bd("随机","Random","ランダム"),desc:Bd("随机值生成(非确定,不可进条件槽;结果用 returnTo 落变量)","Random value generators (non-deterministic, not usable in condition slots)","ランダム値の生成(非決定的、条件スロット不可)"),kind:"static",groupKey:"value",methods:[$d({key:"int",name:Bd("取随机整数","Random Integer","ランダム整数を生成"),desc:Bd("在 [下界, 上界] 整数闭区间内随机取一个","Random integer in [min, max]","[下限, 上限] の整数を1つランダムに取得"),params:[qd({key:"min",name:Bd("下界","Min","下限"),type:"number"}),qd({key:"max",name:Bd("上界","Max","上限"),type:"number"})],returns:jd({type:"number"}),pure:!1,legacyActionType:"logic_random_number"}),$d({key:"float",name:Bd("取随机小数","Random Float","ランダム小数を生成"),desc:Bd("在 [下界, 上界) 内随机取一个小数;缺省 [0, 1)","Random float in [min, max); defaults to [0, 1)","[下限, 上限) の小数を1つランダムに取得(既定 [0,1))"),params:[qd({key:"min",name:Bd("下界","Min","下限"),type:"number",optional:!0,defaultValue:0}),qd({key:"max",name:Bd("上界","Max","上限"),type:"number",optional:!0,defaultValue:1})],returns:jd({type:"number"}),pure:!1}),$d({key:"boolean",name:Bd("取随机布尔","Random Boolean","ランダム真偽値を生成"),params:[],returns:jd({type:"boolean"}),pure:!1}),$d({key:"pickFromList",name:Bd("从列表随机选一","Pick From List","リストからランダムに1つ選ぶ"),desc:Bd("从列表中随机取一个元素;空列表返回空值并记日志","Pick one random element from the list","リストから要素を1つランダムに選ぶ"),params:[qd({key:"list",name:Bd("列表","List","リスト"),type:"list"})],returns:jd({type:"any",desc:Bd("随机选中的元素(类型=列表元素类型)","The picked element (typed by list element type)","選ばれた要素(リスト要素型)")}),pure:!1}),$d({key:"pickFromRecommendOptions",name:Bd("从推荐项随机选一","Pick From Recommend Options","推奨候補からランダムに1つ選ぶ"),desc:Bd("从目标变量自身的「推荐选项」里随机选一个值返回;推荐选项为空时返回空值并记日志","Pick one value from the variable's recommend options","変数の推奨候補から値を1つランダムに選ぶ"),params:[qd({key:"source",name:Bd("来源变量","Source Variable","参照する変数"),desc:Bd("变量目标(scope+key),编辑器用变量选择器;读取该变量的推荐选项","Variable target (scope+key); editor uses variable selector","変数ターゲット(scope+key)"),type:"any"})],returns:jd({type:"any",desc:Bd("选中的推荐项值(类型随变量类型)","The picked option value (typed by variable type)","選ばれた候補値(変数型に従う)")}),pure:!1,legacyActionType:"logic_random_pick_from_recommend_options"}),$d({key:"color",name:Bd("取随机颜色","Random Color","ランダム色を生成"),desc:Bd("按调色板风格随机生成一个颜色(rgba)","Random color by palette style","パレットに従いランダムな色を生成"),params:[qd({key:"palette",name:Bd("调色板","Palette","パレット"),type:"enum",enumOptions:[Zd("random",Bd("任意色","Any","任意の色")),Zd("cool",Bd("冷色","Cool","寒色")),Zd("warm",Bd("暖色","Warm","暖色")),Zd("pastel",Bd("柔和色","Pastel","パステル")),Zd("vivid",Bd("明艳色","Vivid","ビビッド")),Zd("gray",Bd("灰阶","Gray","グレースケール"))],optional:!0,defaultValue:"random"}),qd({key:"randomAlpha",name:Bd("随机透明度","Random Alpha","透明度もランダム"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"fixedAlpha",name:Bd("固定透明度","Fixed Alpha","固定透明度"),desc:Bd("随机透明度=否 时使用(0~1)","Used when randomAlpha=false (0~1)","randomAlpha=false 時に使用(0~1)"),type:"number",optional:!0,defaultValue:1})],returns:jd({type:"color"}),pure:!1,legacyActionType:"logic_random_color"})]}),am({classKey:"Boolean",name:Bd("布尔","Boolean","真偽値"),desc:Bd("布尔逻辑运算(全部为无副作用查询)","Boolean logic (all pure)","論理演算(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[$d({key:"not",name:Bd("取反","Not","否定"),params:[qd({key:"value",name:Bd("布尔值","Value","真偽値"),type:"boolean"})],returns:jd({type:"boolean"}),pure:!0}),$d({key:"and",name:Bd("逻辑与","And","論理積"),desc:Bd("全部为真才为真(schema 无变参,2 必填 + 2 可选槽)","True only if all are true","すべて真のとき真"),params:[qd({key:"a",name:Bd("条件A","A","条件A"),type:"boolean"}),qd({key:"b",name:Bd("条件B","B","条件B"),type:"boolean"}),qd({key:"c",name:Bd("条件C","C","条件C"),type:"boolean",optional:!0}),qd({key:"d",name:Bd("条件D","D","条件D"),type:"boolean",optional:!0})],returns:jd({type:"boolean"}),pure:!0}),$d({key:"or",name:Bd("逻辑或","Or","論理和"),desc:Bd("任一为真即为真(schema 无变参,2 必填 + 2 可选槽)","True if any is true","いずれか真のとき真"),params:[qd({key:"a",name:Bd("条件A","A","条件A"),type:"boolean"}),qd({key:"b",name:Bd("条件B","B","条件B"),type:"boolean"}),qd({key:"c",name:Bd("条件C","C","条件C"),type:"boolean",optional:!0}),qd({key:"d",name:Bd("条件D","D","条件D"),type:"boolean",optional:!0})],returns:jd({type:"boolean"}),pure:!0})]}),ym(),um(),am({classKey:"Color",name:Bd("颜色","Color","色"),desc:Bd("颜色构造、混合与转换","Color construction, blending and conversion","色の作成・合成・変換"),kind:"static",groupKey:"value",methods:[$d({key:"rgba",name:Bd("构造颜色","RGBA","色を作成"),desc:Bd("用 红/绿/蓝(0~255) 与 透明度(0~1) 构造颜色","Build a color from R/G/B (0~255) and alpha (0~1)","RGB(0~255)とアルファ(0~1)から色を作成"),params:[qd({key:"r",name:Bd("红","Red","赤"),type:"number"}),qd({key:"g",name:Bd("绿","Green","緑"),type:"number"}),qd({key:"b",name:Bd("蓝","Blue","青"),type:"number"}),qd({key:"a",name:Bd("透明度","Alpha","透明度"),type:"number",optional:!0,defaultValue:1})],returns:jd({type:"color"}),pure:!0}),$d({key:"random",name:Bd("取随机颜色","Random Color","ランダム色を生成"),desc:Bd("同 随机.取随机颜色(非确定,不可进条件槽);legacy 映射挂在 Random 侧","Same as Random.color (non-deterministic)","Random.color と同じ(非決定的)"),params:[qd({key:"palette",name:Bd("调色板","Palette","パレット"),type:"enum",enumOptions:[Zd("random",Bd("任意色","Any","任意の色")),Zd("cool",Bd("冷色","Cool","寒色")),Zd("warm",Bd("暖色","Warm","暖色")),Zd("pastel",Bd("柔和色","Pastel","パステル")),Zd("vivid",Bd("明艳色","Vivid","ビビッド")),Zd("gray",Bd("灰阶","Gray","グレースケール"))],optional:!0,defaultValue:"random"})],returns:jd({type:"color"}),pure:!1}),$d({key:"mix",name:Bd("混合颜色","Mix","色を混合"),desc:Bd("按比例混合两色(比例 0=全为颜色A,1=全为颜色B)","Blend two colors by ratio (0=A, 1=B)","2色を比率で混合(0=A、1=B)"),params:[qd({key:"a",name:Bd("颜色A","Color A","色A"),type:"color"}),qd({key:"b",name:Bd("颜色B","Color B","色B"),type:"color"}),qd({key:"ratio",name:Bd("比例","Ratio","比率"),type:"number",optional:!0,defaultValue:.5})],returns:jd({type:"color"}),pure:!0}),$d({key:"withAlpha",name:Bd("调透明度","With Alpha","透明度を変更"),desc:Bd("返回改了透明度的新颜色(0~1;不改动入参)","New color with alpha changed (0~1)","透明度を変えた新しい色を返す"),params:[qd({key:"color",name:Bd("颜色","Color","色"),type:"color"}),qd({key:"alpha",name:Bd("透明度","Alpha","透明度"),type:"number"})],returns:jd({type:"color"}),pure:!0}),$d({key:"toCss",name:Bd("转CSS颜色","To CSS","CSS色に変換"),desc:Bd("颜色对象转 CSS 颜色字符串(如 rgba(255,0,0,1))","Convert color object to CSS color string","色オブジェクトをCSS色文字列へ変換"),params:[qd({key:"color",name:Bd("颜色","Color","色"),type:"color"})],returns:jd({type:"css_color"}),pure:!0})]}),am({classKey:"Json",name:Bd("JSON","JSON","JSON"),desc:Bd("JSON 解析与序列化(全部为无副作用查询)","JSON parse/stringify (all pure)","JSONの解析と文字列化(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[$d({key:"parse",name:Bd("解析文本","Parse","テキストを解析"),desc:Bd("JSON 文本解析为值;解析失败返回空值并记日志(v1 无错误处理,plan §1.43)","Parse JSON text; empty value and log on failure","JSONテキストを値に解析(失敗時は空値)"),params:[qd({key:"text",name:Bd("JSON文本","JSON Text","JSONテキスト"),type:"string"})],returns:jd({type:"any"}),pure:!0}),$d({key:"stringify",name:Bd("序列化为文本","Stringify","文字列化"),params:[qd({key:"value",name:Bd("值","Value","値"),type:"any"})],returns:jd({type:"string"}),pure:!0}),$d({key:"getField",name:Bd("取字段","Get Field","フィールドを取得"),desc:Bd("按路径取字段(如 a.b.c 或 items.0.name);不存在返回空值","Get field by path (e.g. a.b.c / items.0.name)","パスでフィールドを取得(例 a.b.c)"),params:[qd({key:"value",name:Bd("值","Value","値"),type:"any"}),qd({key:"path",name:Bd("路径","Path","パス"),type:"string"})],returns:jd({type:"any"}),pure:!0})]}),gm()]}function Tm(){return[am({classKey:"Camera",name:Bd("摄像机","Camera","カメラ"),desc:Bd("虚拟相机控制(移动 / 运镜)。仅 VR:AR 的相机是用户手机物理摄像头","Virtual camera control (move / dolly). VR only","仮想カメラ制御(移動 / ドリー)。VR 専用"),kind:"static",groupKey:"system",methods:[$d({key:"moveTo",name:Bd("移动到","Move To","指定位置へ移動"),desc:Bd("把摄像机移动到目的地(扫描点位 / 视角 / 组件 / 视角链接),可选过渡方式与时长","Move camera to destination with transition","目的地へカメラを移動(トランジション指定可)"),params:[...Am(),qd({key:"transitionType",name:Bd("过渡方式","Transition Type","トランジション方式"),type:"enum",enumOptions:[Zd("fly",Bd("飞行动画","Fly","飛行アニメーション")),Zd("instant",Bd("瞬间移动","Instant","瞬間移動")),Zd("fade",Bd("淡入淡出","Fade","フェード"))],defaultValue:"fly"}),qd({key:"transitionTime",name:Bd("过渡时间(毫秒)","Transition Time (ms)","トランジション時間(ms)"),type:"number",optional:!0,defaultValue:1e3})],platform:"vr_only",supportsAsync:!0,legacyActionType:"camera_move_to"}),$d({key:"dollyMove",name:Bd("运镜移动","Dolly Move","ドリー移動"),desc:Bd("沿指定运镜路径的点位依次移动摄像机","Move camera along a dolly path","ドリーパスに沿ってカメラを移動"),params:[qd({key:"dollyPathId",name:Bd("运镜路径","Dolly Path","ドリーパス"),desc:Bd("运镜路径 id(vrContentData.cameraDollyPathList 内)","Dolly path id in cameraDollyPathList","cameraDollyPathList 内のドリーパス id"),type:"string"})],platform:"vr_only",supportsAsync:!0,legacyActionType:"camera_dolly_move"}),$d({key:"dollyStop",name:Bd("停止运镜","Stop Dolly","ドリー停止"),platform:"vr_only",legacyActionType:"camera_dolly_stop"})]}),am({classKey:"Navigation",name:Bd("导航","Navigation","ナビゲーション"),kind:"static",groupKey:"system",methods:[$d({key:"start",name:Bd("开始导航","Start Navigation","ナビゲーション開始"),desc:Bd("发起到目的地的导航;同步版等待导航结束","Start navigating to a destination","目的地へのナビゲーションを開始"),params:[...Am(),qd({key:"navigationMode",name:Bd("导航模式","Navigation Mode","ナビゲーションモード"),type:"enum",enumOptions:[Zd("auto",Bd("自动导航","Auto","自動")),Zd("manual",Bd("手动导航","Manual","手動")),Zd("manual_simple",Bd("手动精简导航","Manual Simple","手動簡易"))],defaultValue:"manual"}),qd({key:"autoRecalculate",name:Bd("偏离自动重算","Auto Recalculate","自動再計算"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"autoRecalculateDistanceThreshold",name:Bd("重算偏离阈值(米)","Recalculate Threshold (m)","再計算距離しきい値(m)"),type:"number",optional:!0,defaultValue:.5}),qd({key:"pathColor",name:Bd("路径颜色","Path Color","経路の色"),desc:Bd("导航路径颜色,缺省 #03b203","Navigation path color, defaults to #03b203","経路の色。デフォルト #03b203"),type:"color",optional:!0})],supportsAsync:!0,legacyActionType:"navigation_start"}),$d({key:"stop",name:Bd("停止导航","Stop Navigation","ナビゲーション停止"),legacyActionType:"navigation_stop"}),$d({key:"isNavigating",name:Bd("是否在导航","Is Navigating","ナビゲーション中か"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"navigation_running"})]}),am({classKey:"Broadcast",name:Bd("广播","Broadcast","ブロードキャスト"),kind:"static",groupKey:"system",methods:[$d({key:"send",name:Bd("发送广播","Send Broadcast","ブロードキャスト送信"),desc:Bd("向指定频道发送广播;订阅该频道的监听器 / 广播触发器都会收到","Send a message to a broadcast channel","指定チャンネルへブロードキャストを送信"),params:[qd({key:"channelId",name:Bd("广播频道","Channel","チャンネル"),desc:Bd("目标广播频道 id(选择器显示频道名,存储 id)","Target broadcast channel id","対象ブロードキャストチャンネル id"),type:"string"}),qd({key:"payloadValueList",name:Bd("载荷取值","Payload Values","ペイロード値"),desc:Bd("载荷取值列表,每项 {fieldKey, value};某字段未填时运行时回退该字段默认值","Payload value list ({fieldKey, value}[]); missing fields fall back to channel defaults","ペイロード値リスト({fieldKey, value}[])"),type:"any",optional:!0})],legacyActionType:"send_broadcast"})]}),am({classKey:"Thread",name:Bd("后台线程","Thread","バックグラウンドスレッド"),kind:"static",groupKey:"system",methodGroups:[tm("dynamic",Bd("动态线程","Dynamic","動的スレッド")),tm("predefined",Bd("预定义线程","Predefined","定義済みスレッド"))],methods:[$d({key:"start",name:Bd("启动","Start","起動"),desc:Bd("动态启动一个循环后台线程,按间隔反复执行闭包,返回线程句柄(可存变量供暂停/停止)","Start a dynamic looping thread; returns a thread handle","動的ループスレッドを起動しハンドルを返す"),params:[qd({key:"intervalMs",name:Bd("循环间隔(毫秒)","Interval (ms)","ループ間隔(ms)"),type:"number",defaultValue:1e3}),qd({key:"body",name:Bd("循环体","Loop Body","ループ本体"),type:"closure",closurePayloadFields:[qd({key:"loopIndex",name:Bd("循环序号","Loop Index","ループ回数"),desc:Bd("当前是第几次循环(0 起)","Current loop iteration (0-based)","現在のループ回数(0 起点)"),type:"number"})]})],returns:jd({type:"thread",desc:Bd("线程句柄","Thread handle","スレッドハンドル")}),groupKey:"dynamic"}),$d({key:"pause",name:Bd("暂停","Pause","一時停止"),params:[qd({key:"thread",name:Bd("线程句柄","Thread Handle","スレッドハンドル"),type:"thread"})],groupKey:"dynamic"}),$d({key:"stop",name:Bd("停止","Stop","停止"),params:[qd({key:"thread",name:Bd("线程句柄","Thread Handle","スレッドハンドル"),type:"thread"})],groupKey:"dynamic"}),$d({key:"isRunning",name:Bd("正在运行","Is Running","実行中か"),desc:Bd("查询线程是否处于 running 状态","Whether the thread status is running","スレッドが running 状態かどうか"),params:[qd({key:"thread",name:Bd("线程句柄","Thread Handle","スレッドハンドル"),type:"thread"})],returns:jd({type:"boolean"}),pure:!0,groupKey:"dynamic",legacyConditionFunc:"background_thread_status_is"}),$d({key:"startPredefined",name:Bd("启动预定义","Start Predefined","定義済みスレッドを起動"),desc:Bd("启动 vrContentData.backgroundThreadList 中预定义的后台线程","Start a predefined background thread by id","定義済みバックグラウンドスレッドを起動"),params:[qd({key:"threadId",name:Bd("后台线程","Thread","スレッド"),desc:Bd("预定义后台线程 id(vrContentData.backgroundThreadList 内)","Predefined thread id in backgroundThreadList","backgroundThreadList 内のスレッド id"),type:"string"})],groupKey:"predefined",legacyActionType:"background_thread_start"}),$d({key:"pausePredefined",name:Bd("暂停预定义","Pause Predefined","定義済みスレッドを一時停止"),params:[qd({key:"threadId",name:Bd("后台线程","Thread","スレッド"),type:"string"})],groupKey:"predefined",legacyActionType:"background_thread_pause"}),$d({key:"stopPredefined",name:Bd("停止预定义","Stop Predefined","定義済みスレッドを停止"),params:[qd({key:"threadId",name:Bd("后台线程","Thread","スレッド"),type:"string"})],groupKey:"predefined",legacyActionType:"background_thread_stop"})]}),am({classKey:"Timer",name:Bd("定时器","Timer","タイマー"),kind:"static",groupKey:"system",methods:[$d({key:"delay",name:Bd("延时执行","Delay","遅延実行"),desc:Bd("延时指定毫秒后执行一次闭包,返回定时器句柄(可取消)","Run the closure once after a delay; returns a timer handle","指定 ms 後にクロージャを 1 回実行"),params:[qd({key:"delayMs",name:Bd("延时(毫秒)","Delay (ms)","遅延(ms)"),type:"number",defaultValue:1e3}),qd({key:"callback",name:Bd("回调","Callback","コールバック"),type:"closure"})],returns:jd({type:"timer",desc:Bd("定时器句柄","Timer handle","タイマーハンドル")})}),$d({key:"loop",name:Bd("循环执行","Loop","繰り返し実行"),desc:Bd("按间隔反复执行闭包,返回定时器句柄(可取消)","Run the closure repeatedly at an interval; returns a timer handle","一定間隔でクロージャを繰り返し実行"),params:[qd({key:"intervalMs",name:Bd("间隔(毫秒)","Interval (ms)","間隔(ms)"),type:"number",defaultValue:1e3}),qd({key:"callback",name:Bd("回调","Callback","コールバック"),type:"closure",closurePayloadFields:[qd({key:"loopIndex",name:Bd("循环序号","Loop Index","ループ回数"),desc:Bd("当前是第几次触发(0 起)","Current tick (0-based)","現在の実行回数(0 起点)"),type:"number"})]})],returns:jd({type:"timer",desc:Bd("定时器句柄","Timer handle","タイマーハンドル")})}),$d({key:"cancel",name:Bd("取消","Cancel","キャンセル"),params:[qd({key:"timer",name:Bd("定时器句柄","Timer Handle","タイマーハンドル"),type:"timer"})]})]}),am({classKey:"Audio",name:Bd("音频中心","Audio","オーディオセンター"),kind:"static",groupKey:"system",methods:[$d({key:"playList",name:Bd("播放列表","Play List","リストを再生"),desc:Bd("播放指定音频列表(可同时指定列表中的某个音频)","Play an audio list (optionally a specific audio in it)","指定オーディオリストを再生"),params:[qd({key:"audioListId",name:Bd("音频列表","Audio List","オーディオリスト"),type:"string"}),qd({key:"audioId",name:Bd("音频","Audio","オーディオ"),desc:Bd("可选:指定列表中的某个音频 id","Optional: a specific audio id in the list","任意:リスト内の特定オーディオ id"),type:"string",optional:!0}),qd({key:"interruptIfPlaying",name:Bd("打断当前播放","Interrupt If Playing","再生中なら中断"),desc:Bd("当前音频中心正在播放时,是否打断并从头播放","Interrupt current playback and restart","再生中の場合に中断して最初から再生"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"audio_center_play_list"}),$d({key:"pause",name:Bd("暂停","Pause","一時停止"),legacyActionType:"audio_center_pause"}),$d({key:"setVolume",name:Bd("设置音量","Set Volume","音量を設定"),params:[qd({key:"volume",name:Bd("音量(0-100)","Volume (0-100)","音量(0-100)"),type:"number",defaultValue:100})],legacyActionType:"audio_center_set_volume"})]}),Cm(),Sm(),hm(),am({classKey:"System",name:Bd("系统","System","システム"),kind:"static",groupKey:"system",methods:[$d({key:"wait",name:Bd("等待","Wait","待機"),desc:Bd("阻塞等待指定毫秒后再继续执行后续动作","Block for the given milliseconds before continuing","指定 ms だけブロックして待機"),params:[qd({key:"duration",name:Bd("等待时长(毫秒)","Duration (ms)","待機時間(ms)"),type:"number",defaultValue:1e3})],legacyActionType:"system_common_wait"}),$d({key:"openWebpage",name:Bd("打开网页","Open Webpage","ウェブページを開く"),desc:Bd("打开网页(PC: 对话框/浮动抽屉/挤压抽屉;手机: 底部 sheet);同步版等待网页面板关闭","Open a webpage (dialog / drawer / bottom sheet)","ウェブページを開く(ダイアログ/ドロワー/ボトムシート)"),params:[qd({key:"url",name:Bd("网址","URL","URL"),desc:Bd("多语言 URL(按当前显示语言 pick)","Multi-language URL (picked by current language)","多言語 URL(現在の言語で選択)"),type:"multilang_str"}),qd({key:"pcMode",name:Bd("PC 端形态","PC Mode","PC 表示形態"),type:"enum",enumOptions:[Zd("dialog",Bd("居中对话框","Dialog","ダイアログ")),Zd("floating-drawer",Bd("浮动抽屉","Floating Drawer","フローティングドロワー")),Zd("pushed-drawer",Bd("挤压式抽屉","Pushed Drawer","プッシュドロワー"))],defaultValue:"dialog"}),qd({key:"width",name:Bd("宽度(px)","Width (px)","幅(px)"),type:"number",optional:!0,defaultValue:720}),qd({key:"height",name:Bd("高度(px)","Height (px)","高さ(px)"),desc:Bd("仅 dialog 形态读取;drawer 不读","Dialog only; drawers ignore it","ダイアログのみ有効"),type:"number",optional:!0,defaultValue:480}),qd({key:"mobileHeight",name:Bd("手机端高度(vh)","Mobile Height (vh)","モバイル高さ(vh)"),desc:Bd("手机端底部 sheet 占屏高度 0~95","Bottom sheet height 0~95vh on mobile","ボトムシート高さ 0~95vh"),type:"number",optional:!0,defaultValue:70}),qd({key:"title",name:Bd("顶栏标题","Title","タイトル"),type:"multilang_str",optional:!0}),qd({key:"showTitleBar",name:Bd("显示标题栏","Show Title Bar","タイトルバー表示"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"closeOnMaskClick",name:Bd("点遮罩关闭","Close On Mask Click","マスククリックで閉じる"),desc:Bd("仅 dialog 形态生效","Dialog mode only","ダイアログのみ有効"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"forceExternalBrowser",name:Bd("强制外部浏览器","Force External Browser","外部ブラウザ強制"),desc:Bd("兜底:X-Frame-Options 拒绝嵌入时直接跳系统浏览器","Fallback: open in system browser when iframe embedding is refused","iframe 拒否時にシステムブラウザで開く"),type:"boolean",optional:!0,defaultValue:!1})],supportsAsync:!0,legacyActionType:"system_open_webpage"}),$d({key:"changeUiSetting",name:Bd("修改界面开关","Change UI Setting","UI設定を変更"),desc:Bd("动态修改 VrPlayerUiSettings 中的某个 boolean 开关","Dynamically toggle a boolean field of VrPlayerUiSettings","VrPlayerUiSettings の boolean 項目を変更"),params:[qd({key:"settingKey",name:Bd("开关键","Setting Key","設定キー"),desc:Bd("VrPlayerUiSettings 字段名(如 enabledShare、enabledHamburgerMenu)","Field name of VrPlayerUiSettings","VrPlayerUiSettings のフィールド名"),type:"string"}),qd({key:"value",name:Bd("开关值","Value","設定値"),type:"boolean",defaultValue:!0})],legacyActionType:"system_ui_settings_change"}),$d({key:"setInteractiveState",name:Bd("设置可交互","Set Interactive","インタラクティブ状態を設定"),desc:Bd("禁用/启用 VR 交互","Disable / enable VR interaction","VR インタラクションの有効/無効"),params:[qd({key:"interactive",name:Bd("是否可交互","Interactive","インタラクティブか"),type:"boolean",defaultValue:!0})],platform:"vr_only",legacyActionType:"system_set_interactive_state"})]}),am({classKey:"Screen",name:Bd("屏幕","Screen","スクリーン"),desc:Bd("画面级色彩空间控制(染色 / 亮度)。仅 VR:基于 CSS 合成层实现","Screen-level color space control (tint / brightness). VR only","画面レベルの色空間制御。VR 専用"),kind:"static",groupKey:"system",methods:[$d({key:"sceneTint",name:Bd("场景染色","Scene Tint","シーンティント"),desc:Bd("修改场景染色(CSS mix-blend-mode overlay);白色 = 取消染色恢复原画面","Tint the scene; white = reset","シーンをティント。白=解除"),params:[qd({key:"color",name:Bd("染色颜色","Tint Color","ティント色"),desc:Bd("默认白 (255,255,255,1) = 取消染色","Defaults to white = untint","デフォルト白=解除"),type:"color"}),qd({key:"animated",name:Bd("动画过渡","Animated","アニメーション"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"durationMs",name:Bd("过渡时长(毫秒)","Duration (ms)","遷移時間(ms)"),type:"number",optional:!0,defaultValue:800})],platform:"vr_only",legacyActionType:"system_color_space_scene_tint"}),$d({key:"setDisplayBrightness",name:Bd("设置画面亮度","Set Display Brightness","画面輝度を設定"),desc:Bd("修改整体画面亮度(CSS filter brightness)","Change overall display brightness","画面全体の輝度を変更"),params:[qd({key:"brightness",name:Bd("亮度(0.2-2.0)","Brightness (0.2-2.0)","輝度(0.2-2.0)"),desc:Bd("1.0 = 原始亮度","1.0 = original brightness","1.0=元の輝度"),type:"number",defaultValue:1}),qd({key:"animated",name:Bd("动画过渡","Animated","アニメーション"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"durationMs",name:Bd("过渡时长(毫秒)","Duration (ms)","遷移時間(ms)"),type:"number",optional:!0,defaultValue:800})],platform:"vr_only",legacyActionType:"system_color_space_display_brightness"})]}),am({classKey:"Analytics",name:Bd("统计","Analytics","統計"),kind:"static",groupKey:"system",methods:[$d({key:"hitEvent",name:Bd("触发统计事件","Hit Analytics Event","統計イベントを送信"),params:[qd({key:"analyticsEventDataKey",name:Bd("统计事件","Event Key","イベントキー"),desc:Bd("事件主键(必填)","Analytics event data key (required)","イベント主キー(必須)"),type:"string"}),qd({key:"fieldBindings",name:Bd("字段绑定","Field Bindings","フィールドバインディング"),desc:Bd("字段绑定列表(对应事件 customFields,每项 {fieldKey, 值})","Field binding list matching the event customFields","イベント customFields に対応するバインディング"),type:"any",optional:!0})],legacyActionType:"hit_analytics_event"})]}),Im(),Om(),am({classKey:"MonitorTab",name:Bd("监控选项卡","Monitor Tab","モニタータブ"),kind:"static",groupKey:"system",methods:[$d({key:"switchActiveTab",name:Bd("切换选项卡","Switch Active Tab","タブを切替"),params:[qd({key:"tabId",name:Bd("选项卡","Tab","タブ"),desc:Bd("'map' 表示地图;或某个监控面板的 monitorId","'map' for the map tab, or a monitorId","'map'=マップ、または monitorId"),type:"string"})],legacyActionType:"monitor_switch_active_tab"})]}),am({classKey:"Sweep",name:Bd("扫描点位","Sweep","スイープ"),desc:Bd("扫描点位全局操作。仅 VR:AR 没有 sweep 虚拟点位概念","Global sweep operations. VR only","スイープ全体操作。VR 専用"),kind:"static",groupKey:"system",methods:[$d({key:"resetToDefault",name:Bd("重置为默认","Reset To Default","デフォルトに戻す"),desc:Bd("把所有扫描点位重置为默认启用状态","Reset all sweeps to their default enabled state","全スイープをデフォルト状態に戻す"),platform:"vr_only",legacyActionType:"sweep_reset_to_default"}),$d({key:"onlyEnableCurrent",name:Bd("仅启用当前点位","Only Enable Current","現在位置のみ有効化"),desc:Bd("仅启用当前所在点位,禁用其他所有点位","Enable only the current sweep, disable all others","現在のスイープのみ有効化"),platform:"vr_only",legacyActionType:"sweep_only_enable_current"})]}),am({classKey:"Platform",name:Bd("平台","Platform","プラットフォーム"),kind:"static",groupKey:"system",methods:[$d({key:"current",name:Bd("当前平台","Current Platform","現在のプラットフォーム"),desc:Bd("返回 'VR' 或 'AR'","Returns 'VR' or 'AR'","'VR' か 'AR' を返す"),returns:jd({type:"string",desc:Bd("'VR' | 'AR'","'VR' | 'AR'","'VR' | 'AR'")}),pure:!0})]}),am({classKey:"Module",name:Bd("模块","Module","モジュール"),kind:"static",groupKey:"system",methods:[$d({key:"callFunction",name:Bd("调用函数","Call Function","関数を呼び出す"),desc:Bd("调用某场景内的公开函数或共享层公共函数;实参由所选函数签名动态生成(编辑器按 XrProgramFunction 参数表渲染)","Call a public function of a scene or a shared-layer common function; args follow the selected function signature","シーンの公開関数または共有層の共通関数を呼び出す"),params:[qd({key:"functionId",name:Bd("函数","Function","関数"),desc:Bd("目标函数 id(XrProgramFunction)","Target function id (XrProgramFunction)","対象関数 id"),type:"string"}),qd({key:"args",name:Bd("实参","Arguments","実引数"),desc:Bd("实参列表;编辑器按所选函数的参数签名动态生成表单","Argument list generated from the function signature","関数シグネチャに従って生成される実引数"),type:"any",optional:!0})],returns:jd({type:"any",desc:Bd("函数返回值(类型随所选函数)","Function return value","関数の戻り値")})})]}),am({classKey:"Listener",name:Bd("监听","Listener","リスナー"),kind:"static",groupKey:"system",methods:[$d({key:"remove",name:Bd("移除监听器","Remove Listener","リスナーを解除"),desc:Bd("按句柄移除一个动态添加的监听器(句柄来自 实体.添加监听器 的返回值)","Remove a dynamically added listener by handle","ハンドルで動的リスナーを解除"),params:[qd({key:"listener",name:Bd("监听器句柄","Listener Handle","リスナーハンドル"),type:"listener"})]})]}),am({classKey:"Information",name:Bd("信息","Information","情報"),kind:"static",groupKey:"system",methods:[$d({key:"openLink",name:Bd("打开外部链接","Open Link","外部リンクを開く"),params:[qd({key:"url",name:Bd("链接","URL","リンク"),type:"string"}),qd({key:"isOpenWithExternal",name:Bd("在外部打开","Open Externally","外部で開く"),desc:Bd("true=跳外部浏览器;false=iframe 对话框内嵌打开","true = external browser; false = embedded iframe dialog","true=外部ブラウザ、false=iframe ダイアログ"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"information_link_open"}),$d({key:"closeLink",name:Bd("关闭外部链接","Close Link","外部リンクを閉じる"),desc:Bd("仅支持关闭以 iframe 对话框形式打开的外部链接","Only closes links opened as iframe dialogs","iframe ダイアログで開いたリンクのみ閉じられる"),legacyActionType:"information_link_close"})]}),am({classKey:"Flow",name:Bd("流程","Flow","フロー"),kind:"static",groupKey:"system",methods:[$d({key:"enter",name:Bd("进入流程","Enter Flow","フローに入る"),params:[qd({key:"flowId",name:Bd("流程","Flow","フロー"),desc:Bd("要进入的 Flow id(vrContentData.vrFlowList 内)","Flow id to enter","入る Flow の id"),type:"string"}),qd({key:"forceStopRunning",name:Bd("强停当前流程","Force Stop Running","実行中フローを強制停止"),desc:Bd("当有 flow 正在前台运行时:true=停止它,false=暂停它","true = stop the currently running flow, false = pause it","true=停止、false=一時停止"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"flow_enter"}),$d({key:"exit",name:Bd("结束当前流程","Exit Current Flow","現在のフローを終了"),legacyActionType:"flow_exit"})]})]}function Am(){return[qd({key:"destinationType",name:Bd("目的地类型","Destination Type","目的地タイプ"),type:"enum",enumOptions:[Zd("sweep",Bd("扫描点位","Sweep","スイープ")),Zd("vr_fov",Bd("视角","View (FOV)","視点")),Zd("component",Bd("装修组件","Component","装飾コンポーネント")),Zd("fov_link",Bd("视角链接","FOV Link","視点リンク"))],defaultValue:"sweep"}),qd({key:"sweepId",name:Bd("扫描点位","Sweep","スイープ"),desc:Bd("destinationType=sweep 时的目的地扫描点位 id","Destination sweep id when destinationType=sweep","destinationType=sweep 時の目的地スイープ id"),type:"string",optional:!0}),qd({key:"vrFovId",name:Bd("视角","View (FOV)","視点"),desc:Bd("destinationType=vr_fov 时的视角 id","VrFov id when destinationType=vr_fov","destinationType=vr_fov 時の視点 id"),type:"string",optional:!0}),qd({key:"componentId",name:Bd("装修组件","Component","装飾コンポーネント"),desc:Bd("destinationType=component 时的目的地装修组件","Destination component when destinationType=component","destinationType=component 時の目的地コンポーネント"),type:"entity_ref",refTypeKey:"component",optional:!0}),qd({key:"fovLink",name:Bd("视角链接","FOV Link","視点リンク"),desc:Bd("destinationType=fov_link 时的链接串","Link string when destinationType=fov_link","destinationType=fov_link 時のリンク文字列"),type:"string",optional:!0}),qd({key:"fovLinkSweepId",name:Bd("视角链接所在扫描点位","FOV Link Sweep","視点リンクのスイープ"),type:"string",optional:!0}),qd({key:"fovLinkCameraRotation",name:Bd("视角链接相机旋转","FOV Link Camera Rotation","視点リンクのカメラ回転"),type:"vector2",optional:!0}),qd({key:"fovLinkSnapshotSrc",name:Bd("视角链接快照","FOV Link Snapshot","視点リンクのスナップショット"),desc:Bd("编辑器生成的预览快照图地址(编辑期数据)","Editor-generated preview snapshot url (edit-time data)","エディタ生成のプレビュー画像 URL(編集期データ)"),type:"string",optional:!0})]}function Cm(){const e=()=>[qd({key:"text",name:Bd("文本","Text","テキスト"),desc:Bd("要合成的多语言文本(按当前显示语言播报;模板支持 $variableKey 变量)","Multi-language text to synthesize ($variableKey templates supported)","合成する多言語テキスト($variableKey テンプレート対応)"),type:"multilang_str"}),qd({key:"voiceId",name:Bd("声音","Voice","ボイス"),desc:Bd("ElevenLabs voice_id","ElevenLabs voice_id","ElevenLabs voice_id"),type:"string"}),qd({key:"showSubtitle",name:Bd("显示字幕","Show Subtitle","字幕を表示"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"languageCode",name:Bd("语言代码","Language Code","言語コード"),type:"string",optional:!0}),qd({key:"speed",name:Bd("语速","Speed","話速"),type:"number",optional:!0,defaultValue:1}),qd({key:"componentId",name:Bd("播放于组件","Play On Component","再生先コンポーネント"),desc:Bd("可选:在哪个装修组件上空间化播放;不填=不落到具体组件","Optional: spatialize on a component","任意:空間再生するコンポーネント"),type:"entity_ref",refTypeKey:"component",optional:!0})];return am({classKey:"Tts",name:Bd("语音","TTS","音声合成"),kind:"static",groupKey:"system",methods:[$d({key:"play",name:Bd("播放语音","Play Voice","音声を再生"),desc:Bd("合成并播放语音(缓存模式:API 合成后异步缓存)","Synthesize and play voice (cached mode)","音声を合成して再生(キャッシュモード)"),params:e(),supportsAsync:!0,legacyActionType:"tts_play_voice"}),$d({key:"stream",name:Bd("流式播放","Realtime Stream","ストリーミング再生"),desc:Bd("即时合成语音(WebSocket 流式,边合成边播放)","Realtime streaming synthesis via WebSocket","WebSocket ストリーミングでリアルタイム合成"),params:e(),supportsAsync:!0,legacyActionType:"tts_realtime_stream"})]})}function Sm(){const e=()=>qd({key:"sceneId",name:Bd("场景","Scene","シーン"),desc:Bd("编程板块场景 id(XrProgramScene)","Program scene id (XrProgramScene)","プログラミングシーン id"),type:"string"});return am({classKey:"Scene",name:Bd("场景","Scene","シーン"),desc:Bd("编程板块场景生命周期控制(启动/停止/暂停/恢复,plan §4.8 四态)","Program scene lifecycle control","プログラミングシーンのライフサイクル制御"),kind:"static",groupKey:"system",methods:[$d({key:"start",name:Bd("启动场景","Start Scene","シーンを起動"),desc:Bd("启动场景:执行其 onStart 入口并注册其声明式监听器","Start the scene (runs onStart, registers listeners)","シーンを起動(onStart 実行・リスナー登録)"),params:[e()]}),$d({key:"stop",name:Bd("停止场景","Stop Scene","シーンを停止"),desc:Bd("停止场景:执行 onStop 并回收该场景全部监听器/线程/定时器","Stop the scene (runs onStop, tears down its listeners)","シーンを停止(onStop 実行・リスナー回収)"),params:[e()]}),$d({key:"pause",name:Bd("暂停场景","Pause Scene","シーンを一時停止"),params:[e()]}),$d({key:"resume",name:Bd("恢复场景","Resume Scene","シーンを再開"),params:[e()]}),$d({key:"isRunning",name:Bd("是否运行中","Is Running","実行中か"),params:[e()],returns:jd({type:"boolean"}),pure:!0})]})}function hm(){const e=(e,t,a)=>qd({key:"scopeId",name:Bd("胶囊 id","Scope Id","カプセル id"),desc:Bd(e,t,a),type:"string"});return am({classKey:"State",name:Bd("运行态","State","ランタイム状態"),kind:"static",groupKey:"system",methodGroups:[tm("snapshot",Bd("快照","Snapshot","スナップショット")),tm("legacyScope",Bd("胶囊(已退役)","Scope (deprecated)","カプセル(廃止)"))],methods:[$d({key:"snapshot",name:Bd("快照","Snapshot","スナップショット"),desc:Bd("对当前实体运行态做一份快照(可选包含变量值,plan §1.18),返回快照句柄","Take a snapshot of runtime state (optionally including variables)","現在のランタイム状態のスナップショットを取得"),params:[qd({key:"includeVariables",name:Bd("包含变量值","Include Variables","変数値を含む"),type:"boolean",optional:!0,defaultValue:!1})],returns:jd({type:"state_snapshot",desc:Bd("运行态快照","State snapshot handle","スナップショットハンドル")}),groupKey:"snapshot"}),$d({key:"restoreSnapshot",name:Bd("恢复快照","Restore Snapshot","スナップショット復元"),params:[qd({key:"snapshot",name:Bd("快照","Snapshot","スナップショット"),type:"state_snapshot"})],groupKey:"snapshot"}),$d({key:"createScope",name:Bd("创建胶囊","Create Scope","カプセル作成"),desc:Bd("【已退役,仅兼容老数据】状态胶囊已退役(plan §1.19),请改用 快照/恢复快照;新编辑器不再露出","[Deprecated, legacy-compat only] Use snapshot/restoreSnapshot instead","【廃止・互換専用】snapshot/restoreSnapshot を使用してください"),params:[e("新胶囊的具名 id(供后续 切换/销毁 寻址)","New scope id","新カプセルの id"),qd({key:"branchFrom",name:Bd("分支来源","Branch From","分岐元"),type:"enum",enumOptions:[Zd("default",Bd("基线胶囊","Default Baseline","デフォルト基線")),Zd("current",Bd("当前胶囊","Current","現在のカプセル")),Zd("specific",Bd("指定胶囊","Specific","指定カプセル"))],defaultValue:"default"}),qd({key:"branchFromScopeId",name:Bd("源胶囊 id","Branch Source Scope Id","分岐元カプセル id"),desc:Bd("branchFrom=specific 时的源胶囊 id","Source scope id when branchFrom=specific","branchFrom=specific 時の分岐元 id"),type:"string",optional:!0}),qd({key:"activate",name:Bd("创建后立即激活","Activate After Create","作成後に即アクティブ化"),type:"boolean",optional:!0,defaultValue:!0})],groupKey:"legacyScope",legacyActionType:"system_state_scope_create"}),$d({key:"switchScope",name:Bd("切换胶囊","Switch Scope","カプセル切替"),desc:Bd("【已退役,仅兼容老数据】状态胶囊已退役(plan §1.19),请改用 快照/恢复快照","[Deprecated, legacy-compat only] Use snapshot/restoreSnapshot instead","【廃止・互換専用】snapshot/restoreSnapshot を使用してください"),params:[e("要激活的胶囊 id","Scope id to activate","アクティブ化するカプセル id")],groupKey:"legacyScope",legacyActionType:"system_state_scope_switch"}),$d({key:"destroyScope",name:Bd("销毁胶囊","Destroy Scope","カプセル破棄"),desc:Bd("【已退役,仅兼容老数据】状态胶囊已退役(plan §1.19),请改用 快照/恢复快照;default 基线胶囊不可销毁","[Deprecated, legacy-compat only] Use snapshot/restoreSnapshot instead","【廃止・互換専用】snapshot/restoreSnapshot を使用してください"),params:[e("要销毁的胶囊 id(default 基线不可销毁)","Scope id to destroy","破棄するカプセル id"),qd({key:"activateAfterScopeId",name:Bd("销毁后激活胶囊","Activate After Destroy","破棄後にアクティブ化"),desc:Bd("若销毁的是当前活跃胶囊,销毁后激活哪个胶囊","Scope to activate if the destroyed one was active","破棄したのがアクティブだった場合の遷移先"),type:"string",optional:!0,defaultValue:"default"})],groupKey:"legacyScope",legacyActionType:"system_state_scope_destroy"})]})}function Im(){const e=()=>qd({key:"cloudFormDataKey",name:Bd("云表单","Cloud Form","クラウドフォーム"),desc:Bd("要操作的云表单 dataKey","Cloud form dataKey","対象クラウドフォームの dataKey"),type:"string"});return am({classKey:"Form",name:Bd("表单","Form","フォーム"),kind:"static",groupKey:"system",methodGroups:[tm("cloudForm",Bd("云表单","Cloud Form","クラウドフォーム")),tm("userForm",Bd("自定义表单","User Form","カスタムフォーム"))],methods:[$d({key:"showCloudFormDialog",name:Bd("弹出云表单","Show Cloud Form Dialog","クラウドフォームを表示"),desc:Bd("弹出云表单填写对话框;同步版等待对话框关闭","Show the cloud form dialog","クラウドフォームのダイアログを表示"),params:[e(),qd({key:"onSubmitSuccess",name:Bd("提交成功回调","On Submit Success","送信成功コールバック"),type:"closure",optional:!0}),qd({key:"onAlreadySubmitted",name:Bd("已提交回调","On Already Submitted","送信済みコールバック"),desc:Bd("打开时发现(按 submitMode 判定)已提交过时执行","Runs when the form was already submitted","すでに送信済みの場合に実行"),type:"closure",optional:!0})],supportsAsync:!0,groupKey:"cloudForm",legacyActionType:"cloud_form_show_dialog"}),$d({key:"collectCloudFormField",name:Bd("收集云表单字段","Collect Cloud Form Field","フィールドを収集"),desc:Bd("把字段值累积暂存到云表单本地缓冲区(不提交)","Stage a field value locally without submitting","フィールド値をローカルに蓄積(未送信)"),params:[e(),qd({key:"fieldDataKey",name:Bd("字段","Field","フィールド"),desc:Bd("要赋值的字段 dataKey","Field dataKey to assign","代入するフィールドの dataKey"),type:"string"}),qd({key:"value",name:Bd("字段值","Value","値"),desc:Bd("字段值(类型由字段 type 决定,客户端自动转换)","Field value (auto-converted by field type)","フィールド値(型は自動変換)"),type:"any"})],groupKey:"cloudForm",legacyActionType:"cloud_form_collect_field"}),$d({key:"submitCloudForm",name:Bd("提交云表单","Submit Cloud Form","クラウドフォームを送信"),desc:Bd("把已暂存的字段提交到后台","Submit staged fields to backend","蓄積したフィールドをバックエンドへ送信"),params:[e(),qd({key:"onSuccess",name:Bd("成功回调","On Success","成功コールバック"),type:"closure",optional:!0}),qd({key:"onFail",name:Bd("失败回调","On Fail","失敗コールバック"),desc:Bd("提交失败(含重复提交)时执行","Runs on failure (incl. duplicate submission)","失敗時(重複送信含む)に実行"),type:"closure",optional:!0})],supportsAsync:!0,groupKey:"cloudForm",legacyActionType:"cloud_form_submit"}),$d({key:"resetCloudForm",name:Bd("清空云表单","Reset Cloud Form","クラウドフォームをクリア"),desc:Bd("清空本地暂存(不删除已提交记录)","Clear the local staging buffer (submitted records untouched)","ローカル蓄積をクリア(送信済み記録は残る)"),params:[e()],groupKey:"cloudForm",legacyActionType:"cloud_form_reset"}),$d({key:"showUserFormDialog",name:Bd("弹出自定义表单","Show User Form Dialog","カスタムフォームを表示"),desc:Bd("弹出可定制的填表对话框;同步版等待表单关闭;提交值经字段绑定分发到 变量/云表单字段/统计字段","Show a customizable popup form dialog","カスタム入力フォームのダイアログを表示"),params:[qd({key:"title",name:Bd("标题","Title","タイトル"),type:"multilang_str",optional:!0}),qd({key:"description",name:Bd("描述","Description","説明"),type:"multilang_str",optional:!0}),qd({key:"fields",name:Bd("字段定义","Fields","フィールド定義"),desc:Bd("字段定义列表(PopupUserFormField[],含控件变体/默认值/绑定变量)","Field definitions (PopupUserFormField[])","フィールド定義リスト(PopupUserFormField[])"),type:"any"}),qd({key:"showCancelButton",name:Bd("显示取消按钮","Show Cancel Button","キャンセルボタン表示"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"blockInteraction",name:Bd("阻塞场景交互","Block Interaction","シーン操作をブロック"),type:"boolean",optional:!0,defaultValue:!0}),qd({key:"closeOnOverlayClick",name:Bd("点遮罩关闭","Close On Overlay Click","オーバーレイクリックで閉じる"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"onSubmitSuccess",name:Bd("提交成功回调","On Submit Success","送信成功コールバック"),type:"closure",optional:!0,closurePayloadFields:[qd({key:"values",name:Bd("提交值","Submitted Values","送信値"),desc:Bd("字段值字典 {fieldKey: 值}","Field value map {fieldKey: value}","フィールド値マップ"),type:"any"})]}),qd({key:"onCancel",name:Bd("取消回调","On Cancel","キャンセルコールバック"),type:"closure",optional:!0})],supportsAsync:!0,groupKey:"userForm",legacyActionType:"popup_user_form_show_dialog"})]})}function Om(){const e=(e,t)=>qd({key:e,name:Bd("拍摄模式","Capture Mode","撮影モード"),type:"enum",enumOptions:[Zd("raw",Bd("原始帧(不含叠加物)","Raw Frame","生フレーム(オーバーレイなし)")),Zd("with_overlay",Bd("含叠加物帧","With Overlay","オーバーレイ込み"))],optional:t,defaultValue:"raw"});return am({classKey:"Capture",name:Bd("相机检查","Capture","カメラチェック"),kind:"static",groupKey:"system",methods:[$d({key:"takePhoto",name:Bd("拍照","Take Photo","写真を撮る"),desc:Bd("截取当前相机画面一帧,压缩后返回图片(base64 data URL;用 returnTo 落到 image 变量)","Capture one camera frame; returns an image (base64 data URL)","カメラの現在フレームを撮影して画像を返す"),params:[e("captureMode",!1)],returns:jd({type:"image",desc:Bd("照片(base64 data URL)","Photo (base64 data URL)","写真(base64 data URL)")}),supportsAsync:!0,legacyActionType:"ai_check_take_photo"}),$d({key:"runImageCheck",name:Bd("AI图像检查","Run AI Image Check","AI画像チェック"),desc:Bd("按规则跑视觉大模型检查,返回 {passed通过, score分数0-100, reason原因};网络/服务失败 → passed=false/score=0/reason=检查失败原因","Run AI image check; returns {passed, score, reason}","ルールに従い AI 画像チェックを実行。{passed, score, reason} を返す"),params:[qd({key:"ruleId",name:Bd("检查规则","Rule","チェックルール"),desc:Bd("检查规则 id(vrContentData.aiCheckRuleList 内)","Check rule id in aiCheckRuleList","aiCheckRuleList 内のルール id"),type:"string"}),qd({key:"imageSource",name:Bd("图片来源","Image Source","画像ソース"),type:"enum",enumOptions:[Zd("camera",Bd("相机截帧","Camera","カメラ")),Zd("album",Bd("相册选图","Album","アルバム")),Zd("image_variable",Bd("图片变量","Image Variable","画像変数"))],defaultValue:"camera"}),e("cameraCaptureMode",!0),qd({key:"sourceVariable",name:Bd("来源图片","Source Image","ソース画像"),desc:Bd("imageSource=image_variable 时读取的图片(引用 image 变量,由「拍照」提前写入,可一照多检)","Image read when imageSource=image_variable","imageSource=image_variable 時に読む画像"),type:"image",optional:!0})],returns:jd({type:"any",desc:Bd("检查结果结构 {passed:布尔 通过, score:数字 分数0-100, reason:字符串 原因(确定合格时为空串)}","Result object {passed: boolean, score: number 0-100, reason: string}","結果 {passed, score, reason}")}),supportsAsync:!0,legacyActionType:"ai_check_run"})]})}function Lm(){return[am({classKey:"component",name:Bd("装修组件","Component","装飾コンポーネント"),desc:Bd("所有装修组件的抽象基类;本类方法/事件对全部子类型可用","Abstract base of all decorate components; methods/events here apply to every subtype","全装飾コンポーネントの抽象基底クラス。ここのメソッド/イベントは全サブタイプで利用可能"),kind:"entity",groupKey:"decorate",entityInfo:em({isAbstract:!0,listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("general",Bd("通用","General","一般")),tm("transition",Bd("过渡动画","Transition Animation","トランジションアニメ")),tm("audio",Bd("音源","Audio Source","音源")),tm("query",Bd("查询","Query","クエリ"))],methods:[$d({key:"changeVisibility",name:Bd("设置可见性","Set Visibility","表示状態を設定"),groupKey:"general",legacyActionType:"component_general_change_visibility",params:[qd({key:"visible",name:Bd("是否显示","Visible","表示するか"),type:"boolean",defaultValue:!0})]}),$d({key:"changeTransform",name:Bd("变换","Transform","変換"),desc:Bd("修改组件的位置/旋转/缩放(绝对值设置)","Modify position / rotation / scale of the component (absolute values)","コンポーネントの位置/回転/スケールを変更(絶対値設定)"),groupKey:"general",legacyActionType:"component_general_change_transform",params:[qd({key:"changeType",name:Bd("变换类型","Change Type","変換タイプ"),type:"enum",enumOptions:[Zd("translate",Bd("平移","Translate","移動")),Zd("rotate",Bd("旋转","Rotate","回転")),Zd("scale",Bd("缩放","Scale","拡大縮小"))],defaultValue:"translate"}),qd({key:"value",name:Bd("变换值","Value","変換値"),type:"vector3"})]}),$d({key:"playTransitionAnimation",name:Bd("播放过渡动画","Play Transition Animation","トランジションアニメを再生"),desc:Bd("⚠️ 循环动画 + 等待播放完毕 会阻塞后续步骤,需靠停止动画/切场景解锁","⚠️ Looping animation + waitForComplete blocks subsequent steps until stopped","⚠️ ループアニメ+完了待ちは後続処理をブロックする(停止/シーン切替で解除)"),groupKey:"transition",supportsAsync:!0,legacyActionType:"component_general_play_transition_animation",params:[qd({key:"transitionAnimationId",name:Bd("过渡动画","Transition Animation","トランジションアニメ"),type:"string"}),qd({key:"waitForComplete",name:Bd("是否等待播放完毕","Wait for Complete","再生完了を待つか"),type:"boolean",optional:!0,defaultValue:!1})]}),$d({key:"stopTransitionAnimation",name:Bd("停止过渡动画","Stop Transition Animation","トランジションアニメを停止"),groupKey:"transition",legacyActionType:"component_general_stop_transition_animation",params:[qd({key:"transitionAnimationId",name:Bd("过渡动画","Transition Animation","トランジションアニメ"),type:"string"})]}),$d({key:"playAudioSource",name:Bd("播放音源","Play Audio Source","音源を再生"),groupKey:"audio",legacyActionType:"component_general_audio_source_play_control",params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[Zd("next",Bd("下一个","Next","次へ")),Zd("prev",Bd("上一个","Previous","前へ")),Zd("specific",Bd("指定","Specific","指定"))],defaultValue:"next"}),qd({key:"audioIndex",name:Bd("音频索引","Audio Index","オーディオインデックス"),desc:Bd("仅 specific 模式使用;-1 表示不按索引","Only for specific mode; -1 means unused","specific モード時のみ使用。-1 は未使用"),type:"number",optional:!0,defaultValue:-1}),qd({key:"audioId",name:Bd("音频","Audio","オーディオ"),desc:Bd("仅 specific 模式使用;优先于音频索引","Only for specific mode; takes priority over audioIndex","specific モード時のみ使用。インデックスより優先"),type:"string",optional:!0})]}),$d({key:"pauseAudioSource",name:Bd("暂停音源","Pause Audio Source","音源を一時停止"),groupKey:"audio",legacyActionType:"component_general_audio_source_pause"}),$d({key:"changeAudioSourceLoopMode",name:Bd("设置音源循环模式","Set Audio Source Loop Mode","音源のループモードを設定"),groupKey:"audio",legacyActionType:"component_general_audio_source_change_loop_mode",params:[qd({key:"loopMode",name:Bd("循环模式","Loop Mode","ループモード"),type:"enum",enumOptions:[Zd("no_loop",Bd("不循环","No Loop","ループなし")),Zd("loop_all",Bd("列表循环","Loop All","全曲ループ")),Zd("loop_single",Bd("单曲循环","Loop Single","単曲ループ"))],defaultValue:"no_loop"})]}),$d({key:"isVisible",name:Bd("是否可见","Is Visible","表示中か"),groupKey:"query",pure:!0,returns:jd({type:"boolean"}),legacyConditionFunc:"component_visible"}),$d({key:"getDistanceToCamera",name:Bd("取到摄像机距离","Get Distance to Camera","カメラまでの距離を取得"),desc:Bd("返回组件到当前摄像机的直线距离(米)","Returns straight-line distance from component to current camera (meters)","コンポーネントから現在のカメラまでの直線距離(メートル)を返す"),groupKey:"query",pure:!0,returns:jd({type:"number"})})],events:[Qd({key:"click",name:Bd("被点击","Clicked","クリックされた"),legacySignalType:"click",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),Qd({key:"mouse_enter",name:Bd("鼠标进入","Mouse Enter","マウス進入"),legacySignalType:"mouse_enter",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),Qd({key:"mouse_leave",name:Bd("鼠标离开","Mouse Leave","マウス退出"),legacySignalType:"mouse_leave",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),Qd({key:"component_created",name:Bd("被创建","Created","作成された"),legacySignalType:"component_created",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),Qd({key:"component_show",name:Bd("显示","Shown","表示された"),legacySignalType:"component_show",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),Qd({key:"component_hide",name:Bd("隐藏","Hidden","非表示になった"),legacySignalType:"component_hide",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"})]})]}),am({classKey:"component_2d",name:Bd("2D组件","2D Component","2Dコンポーネント"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component",isAbstract:!0,listPath:"componentList",selectorKey:"component"}),methods:[$d({key:"changeDeformationSettings",name:Bd("修改变形设置","Change Deformation Settings","変形設定を変更"),desc:Bd("整体替换 2D 组件的变形设置(VrComponent2dDeformationSettings POJO:mode/曲面/折叠)","Replaces the whole deformation settings POJO (mode / curved-surface / fold-surface)","2Dコンポーネントの変形設定 POJO(mode/曲面/折り面)を丸ごと差し替える"),groupKey:"general",legacyActionType:"component_2d_general_change_deformation_settings",params:[qd({key:"settings",name:Bd("变形设置","Deformation Settings","変形設定"),type:"any"})]})]}),am({classKey:"component_3d",name:Bd("3D组件","3D Component","3Dコンポーネント"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component",isAbstract:!0,listPath:"componentList",selectorKey:"component"})}),am({classKey:"2d_text",name:Bd("2D文字","2D Text","2Dテキスト"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("source",Bd("源切换","Source","ソース切替"))],methods:[$d({key:"changeSource",name:Bd("切换文字","Change Text Source","テキストを切り替え"),groupKey:"source",legacyActionType:"component_2d_text_change_source",params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[Zd("next",Bd("下一个","Next","次へ")),Zd("prev",Bd("上一个","Previous","前へ")),Zd("specific",Bd("指定","Specific","指定"))],defaultValue:"next"}),qd({key:"sourceId",name:Bd("文字源","Source","テキストソース"),desc:Bd("仅 specific 模式使用","Only for specific mode","specific モード時のみ使用"),type:"string",optional:!0})]})]}),am({classKey:"2d_image",name:Bd("2D图片","2D Image","2D画像"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("source",Bd("源切换","Source","ソース切替"))],methods:[$d({key:"changeSource",name:Bd("切换图片","Change Image Source","画像を切り替え"),groupKey:"source",legacyActionType:"component_2d_image_change_source",params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[Zd("next",Bd("下一个","Next","次へ")),Zd("prev",Bd("上一个","Previous","前へ")),Zd("specific",Bd("指定","Specific","指定"))],defaultValue:"next"}),qd({key:"sourceId",name:Bd("图片源","Source","画像ソース"),desc:Bd("仅 specific 模式使用","Only for specific mode","specific モード時のみ使用"),type:"string",optional:!0})]})],events:[Qd({key:"any_image_click",name:Bd("任意图片被点击","Any Image Clicked","いずれかの画像がクリックされた"),desc:Bd("容器聚合事件(plan §4.5 事件冒泡一层):同一图片组件里任意一张图被点击都会触发,回调 _事件.$ 里拿到是哪张图","Container aggregate event: fires when any image inside this component is clicked; the callback payload tells which source","コンテナ集約イベント:同じ画像コンポーネント内のいずれかの画像がクリックされると発火。どの画像かはペイロードで判別"),aggregate:!0,legacySignalSource:"component_2d_image",legacySignalType:"click",payloadFields:[qd({key:"sourceId",name:Bd("图片源ID","Source Id","画像ソースID"),desc:Bd("被点击时正在显示的图片源","The image source displayed when clicked","クリック時に表示されていた画像ソース"),type:"string"})]})]}),am({classKey:"2d_video",name:Bd("2D视频","2D Video","2Dビデオ"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("source",Bd("源切换","Source","ソース切替")),tm("playback",Bd("播放控制","Playback","再生制御"))],methods:[$d({key:"changeSource",name:Bd("切换视频","Change Video Source","ビデオを切り替え"),groupKey:"source",legacyActionType:"component_2d_video_change_source",params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[Zd("next",Bd("下一个","Next","次へ")),Zd("prev",Bd("上一个","Previous","前へ")),Zd("specific",Bd("指定","Specific","指定"))],defaultValue:"next"}),qd({key:"sourceId",name:Bd("视频源","Source","ビデオソース"),desc:Bd("仅 specific 模式使用","Only for specific mode","specific モード時のみ使用"),type:"string",optional:!0}),qd({key:"autoPlay",name:Bd("切换后自动播放","Auto Play After Change","切替後に自動再生"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"forceUnmute",name:Bd("切换后强制取消静音","Force Unmute After Change","切替後に強制ミュート解除"),type:"boolean",optional:!0,defaultValue:!1})]}),$d({key:"changePlayState",name:Bd("切换播放状态","Change Play State","再生状態を切り替え"),groupKey:"playback",legacyActionType:"component_2d_video_change_play_state",params:[qd({key:"play",name:Bd("是否播放","Play","再生するか"),type:"boolean",defaultValue:!0})]}),$d({key:"changeMuteState",name:Bd("切换静音状态","Change Mute State","ミュート状態を切り替え"),groupKey:"playback",legacyActionType:"component_2d_video_change_mute_state",params:[qd({key:"mute",name:Bd("是否静音","Mute","ミュートするか"),type:"boolean",defaultValue:!0})]})],events:[Qd({key:"play_start",name:Bd("播放开始","Play Started","再生開始"),legacySignalSource:"component_2d_video",legacySignalType:"play_start",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"}),qd({key:"sourceId",name:Bd("视频源ID","Source Id","ビデオソースID"),desc:Bd("开始播放的视频源","The video source that started playing","再生を開始したビデオソース"),type:"string"})]}),Qd({key:"play_finish",name:Bd("播放结束","Play Finished","再生終了"),legacySignalSource:"component_2d_video",legacySignalType:"play_finish",payloadFields:[qd({key:"componentId",name:Bd("组件ID","Component Id","コンポーネントID"),type:"string"}),qd({key:"sourceId",name:Bd("视频源ID","Source Id","ビデオソースID"),desc:Bd("播放结束的视频源","The video source that finished playing","再生を終えたビデオソース"),type:"string"})]})]}),am({classKey:"2d_panel",name:Bd("2D面板","2D Panel","2Dパネル"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("panel",Bd("面板","Panel","パネル"))],methods:[$d({key:"changeScene",name:Bd("切换面板场景","Change Panel Scene","パネルシーンを切り替え"),groupKey:"panel",legacyActionType:"component_2d_panel_change_scene",params:[qd({key:"sceneId",name:Bd("面板场景","Panel Scene","パネルシーン"),type:"string"})]}),$d({key:"changeButtonEnabled",name:Bd("设置按钮可用","Set Button Enabled","ボタンの有効状態を設定"),desc:Bd("按 场景ID+按钮ID 复合寻址设置按钮可用状态;与「2D面板按钮.设置可用」等价(扁平版保留供迁移)","Sets a button enabled state by sceneId + buttonId; equivalent to panel_button.setEnabled (flat form kept for migration)","シーンID+ボタンIDでボタンの有効状態を設定。panel_button.setEnabled と等価(移行用フラット版)"),groupKey:"panel",legacyActionType:"component_2d_panel_button_change_enabled",params:[qd({key:"sceneId",name:Bd("面板场景","Panel Scene","パネルシーン"),type:"string"}),qd({key:"buttonId",name:Bd("按钮","Button","ボタン"),type:"string"}),qd({key:"enabled",name:Bd("是否可用","Enabled","有効にするか"),type:"boolean",defaultValue:!0})]})],events:[Qd({key:"panel_button_click",name:Bd("任意按钮被点击","Any Button Clicked","いずれかのボタンがクリックされた"),desc:Bd("容器聚合事件:面板内任意按钮被点击都会触发,回调 _事件.$ 里拿到是哪个按钮","Container aggregate event: fires when any button in this panel is clicked; payload tells which one","コンテナ集約イベント:パネル内のいずれかのボタンがクリックされると発火。どのボタンかはペイロードで判別"),aggregate:!0,legacySignalSource:"component_2d_panel",legacySignalType:"panel_button_click",payloadFields:[qd({key:"sceneId",name:Bd("面板场景ID","Scene Id","パネルシーンID"),type:"string"}),qd({key:"buttonId",name:Bd("按钮ID","Button Id","ボタンID"),type:"string"}),qd({key:"optionValue",name:Bd("选项值","Option Value","オプション値"),desc:Bd("变量修改器模式下按钮写入的值(string 或 number)","Value the button writes in variable-modifier mode (string or number)","変数修飾モードでボタンが書き込む値(string / number)"),type:"any",optional:!0})]}),Qd({key:"panel_answer_correct",name:Bd("答题正确","Answered Correctly","正解した"),legacySignalSource:"component_2d_panel",legacySignalType:"panel_answer_correct",payloadFields:[qd({key:"sceneId",name:Bd("面板场景ID","Scene Id","パネルシーンID"),type:"string"})]}),Qd({key:"panel_answer_wrong",name:Bd("答题错误","Answered Wrong","不正解だった"),legacySignalSource:"component_2d_panel",legacySignalType:"panel_answer_wrong",payloadFields:[qd({key:"sceneId",name:Bd("面板场景ID","Scene Id","パネルシーンID"),type:"string"})]})]}),am({classKey:"2d_advertisement",name:Bd("2D广告","2D Advertisement","2D広告"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"})}),am({classKey:"3d_box",name:Bd("3D盒子","3D Box","3Dボックス"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component_3d",listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("appearance",Bd("外观","Appearance","外観"))],methods:[$d({key:"changeColor",name:Bd("修改颜色","Change Color","色を変更"),desc:Bd("四个颜色均可选:缺省的颜色保持当前值不变","All four colors are optional; omitted ones keep their current values","4色すべて省略可。省略した色は現状維持"),groupKey:"appearance",legacyActionType:"component_3d_box_change_color",params:[qd({key:"faceColor",name:Bd("面颜色","Face Color","面の色"),type:"color",optional:!0}),qd({key:"borderColor",name:Bd("边框颜色","Border Color","枠線の色"),type:"color",optional:!0}),qd({key:"hoverFaceColor",name:Bd("悬浮面颜色","Hover Face Color","ホバー時の面の色"),type:"color",optional:!0}),qd({key:"hoverBorderColor",name:Bd("悬浮边框颜色","Hover Border Color","ホバー時の枠線の色"),type:"color",optional:!0})]})]}),am({classKey:"3d_model",name:Bd("3D模型","3D Model","3Dモデル"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component_3d",listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("animation",Bd("模型动画","Model Animation","モデルアニメ"))],methods:[$d({key:"playAnimationClip",name:Bd("播放动画片段","Play Animation Clip","アニメクリップを再生"),desc:Bd("⚠️ 循环 clip + 等待播放完毕 会阻塞后续步骤,需靠停止片段/切场景解锁","⚠️ Looping clip + waitForComplete blocks subsequent steps until stopped","⚠️ ループクリップ+完了待ちは後続処理をブロックする(停止/シーン切替で解除)"),groupKey:"animation",supportsAsync:!0,legacyActionType:"component_3d_model_play_animation_clip",params:[qd({key:"animationClipId",name:Bd("动画片段","Animation Clip","アニメクリップ"),type:"string"}),qd({key:"waitForComplete",name:Bd("是否等待播放完毕","Wait for Complete","再生完了を待つか"),type:"boolean",optional:!0,defaultValue:!1})]}),$d({key:"stopAnimationClip",name:Bd("停止动画片段","Stop Animation Clip","アニメクリップを停止"),groupKey:"animation",legacyActionType:"component_3d_model_stop_animation_clip",params:[qd({key:"animationClipId",name:Bd("动画片段","Animation Clip","アニメクリップ"),type:"string"})]})]}),am({classKey:"tag",name:Bd("TAG标签","Tag","TAGタグ"),kind:"entity",groupKey:"decorate",entityInfo:em({extendsClassKey:"component",listPath:"componentList",selectorKey:"component"}),methodGroups:[tm("interaction",Bd("交互","Interaction","インタラクション"))],methods:[$d({key:"simulateClick",name:Bd("模拟点击","Simulate Click","クリックをシミュレート"),desc:Bd("模拟用户点击 Tag:按 Tag 自身配置执行相机移动 + 内容卡弹出(VR 专用:依赖虚拟相机控制)","Simulates a user click on the tag: moves camera + pops content card per the tag config (VR only: relies on virtual camera control)","ユーザーのタグクリックをシミュレート:タグ設定に従いカメラ移動+コンテンツカード表示(VR専用:仮想カメラ制御に依存)"),groupKey:"interaction",platform:"vr_only",supportsAsync:!0,legacyActionType:"component_tag_simulate_click",params:[qd({key:"overrideAutoMoveCamera",name:Bd("覆盖自动移镜配置","Override Auto Move Camera","自動カメラ移動設定を上書き"),desc:Bd("未设置时走 Tag 自身的 isEnableAutoMoveCameraToNearWhenClick 配置","Falls back to the tag own config when unset","未設定時はタグ自身の設定に従う"),type:"boolean",optional:!0}),qd({key:"moveTransitionMs",name:Bd("移镜过渡时间","Move Transition (ms)","カメラ移動時間(ms)"),desc:Bd("仅覆盖自动移镜=true 时生效;未设置走 1000ms 默认","Effective only when overrideAutoMoveCamera=true; defaults to 1000ms","overrideAutoMoveCamera=true 時のみ有効。未設定は 1000ms"),type:"number",optional:!0})]})]}),am({classKey:"panel_button",name:Bd("2D面板按钮","Panel Button","パネルボタン"),desc:Bd("2D面板内某场景下的按钮(子件实体,通过 面板ID+场景ID 复合寻址)","A button inside a 2D panel scene (sub-entity, addressed by panelId + sceneId)","2Dパネルのシーン内ボタン(サブエンティティ。パネルID+シーンIDで複合アドレッシング)"),kind:"entity",groupKey:"decorate",entityInfo:em({parentPathSpec:["panelId","sceneId"],selectorKey:"panel_button"}),methods:[$d({key:"setEnabled",name:Bd("设置可用","Set Enabled","有効状態を設定"),desc:Bd("与「2D面板.设置按钮可用」等价(该扁平版承载 legacy 映射,本方法为面向对象新形态)","Equivalent to 2d_panel.changeButtonEnabled (the flat form carries the legacy mapping)","「2Dパネル.ボタンの有効状態を設定」と等価(フラット版が legacy マッピングを持つ)"),params:[qd({key:"enabled",name:Bd("是否可用","Enabled","有効にするか"),type:"boolean",defaultValue:!0})]}),$d({key:"simulateClick",name:Bd("模拟点击","Simulate Click","クリックをシミュレート"),desc:Bd("像用户点击一样触发该按钮(菜单模式发按钮信号;答题模式计入选择;变量修改器模式写入变量)","Triggers the button as if the user clicked it (menu: fires signal; answering: registers choice; variable-modifier: writes variable)","ユーザークリックと同様にボタンを発火(メニュー:信号発火/解答:選択登録/変数修飾:変数書込)")})],events:[Qd({key:"click",name:Bd("被点击","Clicked","クリックされた"),legacySignalSource:"component_2d_panel",legacySignalType:"panel_button_click",payloadFields:[qd({key:"buttonId",name:Bd("按钮ID","Button Id","ボタンID"),type:"string"}),qd({key:"sceneId",name:Bd("面板场景ID","Scene Id","パネルシーンID"),type:"string"}),qd({key:"optionValue",name:Bd("选项值","Option Value","オプション値"),desc:Bd("变量修改器模式下按钮写入的值(string 或 number)","Value the button writes in variable-modifier mode (string or number)","変数修飾モードでボタンが書き込む値(string / number)"),type:"any",optional:!0})]})]}),am({classKey:"panel_scene",name:Bd("2D面板场景","Panel Scene","パネルシーン"),desc:Bd("2D面板内的一个场景(子件实体;无方法,作变量类型 / 复合寻址导航用)","A scene inside a 2D panel (sub-entity; no methods, used as variable type / addressing)","2Dパネル内のシーン(サブエンティティ。メソッドなし、変数型/アドレッシング用)"),kind:"entity",groupKey:"decorate",entityInfo:em({parentPathSpec:["panelId"],selectorKey:"panel_scene",usableAsVariableType:!0})})]}function bm(){return[am({classKey:"monitor",name:Bd("监控面板","Monitor Panel","モニターパネル"),desc:Bd("右上角常驻的监控面板(悬浮 / 弹出两种显示模式),内含多个场景(画面)与组件","Persistent monitor panel (floating / popup display modes) with multiple scenes and components","右上に常駐するモニターパネル(フローティング / ポップアップ表示モード)。複数のシーンとコンポーネントを含む"),kind:"entity",groupKey:"ui",entityInfo:em({listPath:"monitorList",selectorKey:"monitor"}),methodGroups:[tm("state",Bd("状态","State","状態")),tm("badge",Bd("徽章","Badge","バッジ")),tm("query",Bd("查询","Query","クエリ"))],methods:[$d({key:"setEnabled",name:Bd("设置启用","Set Enabled","有効状態を設定"),desc:Bd("启用 / 停用本监控面板(停用后入口图标与面板均不显示)","Enable / disable this monitor panel (icon and panel are hidden when disabled)","このモニターパネルを有効 / 無効にする(無効時はアイコンとパネルが非表示)"),groupKey:"state",params:[qd({key:"enabled",name:Bd("是否启用","Enabled","有効にする"),type:"boolean",defaultValue:!0})],legacyActionType:"monitor_change_enabled"}),$d({key:"switchActiveScene",name:Bd("切换场景","Switch Scene","シーンを切り替え"),desc:Bd("切换面板当前显示的场景(画面);场景来自 sceneDataList","Switch the currently displayed scene of the panel (from sceneDataList)","パネルが現在表示しているシーンを切り替える(sceneDataList から選択)"),groupKey:"state",params:[qd({key:"sceneId",name:Bd("场景","Scene","シーン"),desc:Bd("要切换到的监控场景 id","Target monitor scene id","切り替え先のモニターシーン id"),type:"string"})],legacyActionType:"monitor_switch_active_scene"}),$d({key:"setBadgeText",name:Bd("更新徽章文字","Update Badge Text","バッジ文字を更新"),desc:Bd("更新入口图标徽章文字;空 = 不显示徽章。支持 $variableKey 变量模板","Update the badge text on the entry icon; empty = badge hidden. Supports $variableKey templates","入口アイコンのバッジ文字を更新。空 = バッジ非表示。$variableKey テンプレート対応"),groupKey:"badge",params:[qd({key:"badgeText",name:Bd("徽章文字","Badge Text","バッジ文字"),type:"string"})],legacyActionType:"monitor_change_badge_text"}),$d({key:"setBadgeStyle",name:Bd("更新徽章样式","Update Badge Style","バッジスタイルを更新"),desc:Bd("更新徽章样式 / 背景色 / 文字色;三项均可选,未填的项不改动","Update badge style / background color / text color; all optional, unset items are unchanged","バッジのスタイル / 背景色 / 文字色を更新。すべて任意で、未設定の項目は変更しない"),groupKey:"badge",params:[qd({key:"badgeStyle",name:Bd("徽章样式","Badge Style","バッジスタイル"),type:"enum",enumOptions:[Zd("below",Bd("图标下方两行","Below Icon","アイコン下部")),Zd("corner",Bd("右上角角标","Corner Badge","右上コーナー"))],optional:!0}),qd({key:"badgeBgColor",name:Bd("徽章背景色","Badge Background Color","バッジ背景色"),type:"css_color",optional:!0}),qd({key:"badgeTextColor",name:Bd("徽章文字色","Badge Text Color","バッジ文字色"),type:"css_color",optional:!0})],legacyActionType:"monitor_change_badge_style"}),$d({key:"setPopupVisible",name:Bd("设置弹窗显隐","Set Popup Visibility","ポップアップ表示を設定"),desc:Bd("打开 / 关闭 / 切换弹出式模态框;仅 displayMode=popup 的面板有效","Show / hide / toggle the popup modal; only effective when displayMode=popup","ポップアップモーダルを表示 / 非表示 / 切り替え。displayMode=popup のパネルのみ有効"),groupKey:"state",params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[Zd("show",Bd("打开","Show","表示")),Zd("hide",Bd("关闭","Hide","非表示")),Zd("toggle",Bd("取反","Toggle","トグル"))],defaultValue:"toggle"})],legacyActionType:"monitor_change_popup_visible"}),$d({key:"isEnabled",name:Bd("是否启用","Is Enabled","有効かどうか"),desc:Bd("查询本监控面板当前是否启用","Whether this monitor panel is currently enabled","このモニターパネルが現在有効かどうか"),groupKey:"query",returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"monitor_enabled"})]}),am({classKey:"monitor_component",name:Bd("监控组件","Monitor Component","モニターコンポーネント"),desc:Bd("监控面板内的组件(图片 / 文字 / 进度条 / 视频 / 按钮 / 变量控件);组件 id 在同一面板内全局唯一(不按场景隔离)","A component inside a monitor panel (image / text / progress-bar / video / button / variable-control); component ids are unique within a panel (not scoped by scene)","モニターパネル内のコンポーネント(画像 / テキスト / プログレスバー / 動画 / ボタン / 変数コントロール)。id はパネル内で一意(シーンで隔離されない)"),kind:"entity",groupKey:"ui",entityInfo:em({parentPathSpec:["monitorId"],selectorKey:"monitor_component"}),methods:[$d({key:"setVisible",name:Bd("设置可见性","Set Visibility","表示状態を設定"),desc:Bd("显示 / 隐藏本组件(老动作支持 componentIdList 批量,迁移时拆成逐个调用)","Show / hide this component (the legacy action supported batch componentIdList; migration splits into per-component calls)","このコンポーネントを表示 / 非表示にする(旧アクションの componentIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[qd({key:"visible",name:Bd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"monitor_component_change_visibility"}),$d({key:"isVisible",name:Bd("是否可见","Is Visible","表示中かどうか"),desc:Bd("查询本组件当前是否可见","Whether this component is currently visible","このコンポーネントが現在表示中かどうか"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"monitor_component_visible"})],events:[Qd({key:"click",name:Bd("被点击","Clicked","クリックされた"),desc:Bd("用户点击本监控组件时触发","Fired when the user clicks this monitor component","ユーザーがこのモニターコンポーネントをクリックしたとき"),payloadFields:[qd({key:"monitorId",name:Bd("监控面板 id","Monitor Id","モニターパネル id"),type:"string"}),qd({key:"componentId",name:Bd("组件 id","Component Id","コンポーネント id"),type:"string"})],legacySignalSource:"monitor_component",legacySignalType:"monitor_component_click"})]}),am({classKey:"monitor_component_video",name:Bd("监控视频组件","Monitor Video Component","モニター動画コンポーネント"),desc:Bd("监控面板内 type=video 的组件;在监控组件基础上增加播放 / 静音控制","A type=video component inside a monitor panel; adds play / mute control on top of the base monitor component","モニターパネル内の type=video コンポーネント。基本のモニターコンポーネントに再生 / ミュート制御を追加"),kind:"entity",groupKey:"ui",entityInfo:em({extendsClassKey:"monitor_component",parentPathSpec:["monitorId"],selectorKey:"monitor_component"}),methods:[$d({key:"changePlayState",name:Bd("切换播放状态","Change Play State","再生状態を切り替え"),desc:Bd("播放 / 暂停 / 取反本视频组件。AR 端暂不支持(监控画布由内嵌 web 渲染,视频控制桥接未接通)","Play / pause / toggle this video component. Not yet supported on AR (monitor canvas is rendered by the embedded web view; the video-control bridge is not wired up)","この動画コンポーネントを再生 / 一時停止 / トグル。AR では未対応(モニターキャンバスは組み込み Web 描画で、動画制御ブリッジ未接続)"),params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[Zd("play",Bd("播放","Play","再生")),Zd("pause",Bd("暂停","Pause","一時停止")),Zd("toggle",Bd("取反","Toggle","トグル"))],defaultValue:"toggle"}),qd({key:"unmuteOnPlay",name:Bd("播放时取消静音","Unmute On Play","再生時にミュート解除"),desc:Bd("播放时同时取消静音(绕过浏览器 autoplay 静音策略;用户主动触发时建议开启)","Also unmute when playing (works around browser autoplay-mute policy; recommended for user-initiated triggers)","再生時に同時にミュート解除(ブラウザの自動再生ミュート制限を回避。ユーザー起点の操作では有効化を推奨)"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"restartFromBeginning",name:Bd("从头播放","Restart From Beginning","先頭から再生"),desc:Bd("播放时从头开始(currentTime=0);关闭则从当前位置继续","Restart from the beginning when playing (currentTime=0); otherwise resume from the current position","再生時に先頭から開始(currentTime=0)。オフの場合は現在位置から再開"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"monitor_video_change_play_state"}),$d({key:"changeMuteState",name:Bd("切换静音","Change Mute State","ミュートを切り替え"),desc:Bd("静音 / 取消静音 / 取反本视频组件。AR 端暂不支持(同「切换播放状态」)","Mute / unmute / toggle this video component. Not yet supported on AR (same as Change Play State)","この動画コンポーネントをミュート / ミュート解除 / トグル。AR では未対応(「再生状態を切り替え」と同様)"),params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[Zd("mute",Bd("静音","Mute","ミュート")),Zd("unmute",Bd("取消静音","Unmute","ミュート解除")),Zd("toggle",Bd("取反","Toggle","トグル"))],defaultValue:"toggle"})],legacyActionType:"monitor_video_change_mute_state"})]}),am({classKey:"hamburger_menu",name:Bd("汉堡菜单","Hamburger Menu","ハンバーガーメニュー"),desc:Bd("全局唯一的汉堡菜单抽屉(单例,无需选择实例);节点树见「汉堡节点」","The global hamburger drawer (singleton, no instance selection); see Hamburger Menu Node for the node tree","グローバル唯一のハンバーガードロワー(シングルトン、インスタンス選択不要)。ノードツリーは「ハンバーガーメニューノード」を参照"),kind:"entity",groupKey:"ui",entityInfo:em({listPath:"hamburgerMenu",selectorKey:"",usableAsVariableType:!1}),methods:[$d({key:"setOpenState",name:Bd("设置开合","Set Open State","開閉を設定"),desc:Bd("打开 / 关闭汉堡菜单抽屉(幂等;与节点可见性相互独立)","Open / close the hamburger drawer (idempotent; independent of node visibility)","ハンバーガードロワーを開閉する(冪等。ノードの表示状態とは独立)"),params:[qd({key:"open",name:Bd("是否打开","Open","開く"),type:"boolean",defaultValue:!0})],legacyActionType:"hamburger_menu_change_open_state"}),$d({key:"isOpen",name:Bd("是否打开","Is Open","開いているか"),desc:Bd("查询汉堡菜单抽屉当前是否打开","Whether the hamburger drawer is currently open","ハンバーガードロワーが現在開いているかどうか"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_menu_open"})]}),am({classKey:"hamburger_node",name:Bd("汉堡节点","Hamburger Menu Node","ハンバーガーメニューノード"),desc:Bd("汉堡菜单里的任意节点(分组 / 文字项 / 媒体 / 网页 / 富文本 / 画布…);位于 hamburgerMenu.nodeList 树中(分组可嵌套)","Any node in the hamburger menu (group / text / media / webview / rich text / canvas...); lives in the hamburgerMenu.nodeList tree (groups may nest)","ハンバーガーメニュー内の任意ノード(グループ / テキスト / メディア / Web / リッチテキスト / キャンバス…)。hamburgerMenu.nodeList のツリーに存在(グループはネスト可)"),kind:"entity",groupKey:"ui",entityInfo:em({selectorKey:"hamburger_node"}),methods:[$d({key:"setVisible",name:Bd("设置可见性","Set Visibility","表示状態を設定"),desc:Bd("显示 / 隐藏本节点(老动作支持 nodeIdList 批量,迁移时拆成逐个调用)","Show / hide this node (the legacy action supported batch nodeIdList; migration splits into per-node calls)","このノードを表示 / 非表示にする(旧アクションの nodeIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[qd({key:"visible",name:Bd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"hamburger_menu_node_change_visibility"}),$d({key:"isVisible",name:Bd("是否可见","Is Visible","表示中かどうか"),desc:Bd("查询本节点当前是否可见","Whether this node is currently visible","このノードが現在表示中かどうか"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_menu_node_visible"})],events:[Qd({key:"click",name:Bd("被点击","Clicked","クリックされた"),desc:Bd("用户点击本节点时触发(老体系为节点就地 clickActionList,无对应老信号)","Fired when the user clicks this node (legacy system used in-place clickActionList; no legacy signal mapping)","ユーザーがこのノードをクリックしたとき(旧体系はノード内の clickActionList で、対応する旧シグナルなし)"),payloadFields:[qd({key:"nodeId",name:Bd("节点 id","Node Id","ノード id"),type:"string"})]})]}),am({classKey:"hamburger_group",name:Bd("汉堡分组","Hamburger Menu Group","ハンバーガーメニューグループ"),desc:Bd("汉堡菜单里 nodeType=group 的分组节点(可包含子节点);在汉堡节点基础上增加展开控制","A nodeType=group node in the hamburger menu (may contain children); adds expand control on top of the base node","ハンバーガーメニュー内の nodeType=group ノード(子ノードを含められる)。基本ノードに展開制御を追加"),kind:"entity",groupKey:"ui",entityInfo:em({extendsClassKey:"hamburger_node",selectorKey:"hamburger_node"}),methods:[$d({key:"setExpanded",name:Bd("设置展开","Set Expanded","展開状態を設定"),desc:Bd("展开 / 收起本分组(老动作支持 groupNodeIdList 批量,迁移时拆成逐个调用;非 group 节点忽略)","Expand / collapse this group (the legacy action supported batch groupNodeIdList; non-group nodes are ignored)","このグループを展開 / 折りたたみ(旧アクションの groupNodeIdList 一括操作は個別呼び出しへ分解。group 以外のノードは無視)"),params:[qd({key:"expanded",name:Bd("是否展开","Expanded","展開する"),type:"boolean",defaultValue:!0})],legacyActionType:"hamburger_menu_group_change_expanded"}),$d({key:"isExpanded",name:Bd("是否展开","Is Expanded","展開中かどうか"),desc:Bd("查询本分组当前是否展开","Whether this group is currently expanded","このグループが現在展開中かどうか"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_menu_group_expanded"})]}),am({classKey:"canvas_component",name:Bd("画布组件","Canvas Component","キャンバスコンポーネント"),desc:Bd("汉堡菜单画布节点内的组件(图片 / 文字 / 进度条 / 视频 / 按钮 / 变量控件),与监控组件平行","A component inside a hamburger-menu canvas node (image / text / progress-bar / video / button / variable-control), parallel to monitor components","ハンバーガーメニューのキャンバスノード内コンポーネント(画像 / テキスト / プログレスバー / 動画 / ボタン / 変数コントロール)。モニターコンポーネントと並行"),kind:"entity",groupKey:"ui",entityInfo:em({parentPathSpec:["canvasNodeId"],selectorKey:"canvas_component"}),methods:[$d({key:"setVisible",name:Bd("设置可见性","Set Visibility","表示状態を設定"),desc:Bd("显示 / 隐藏本组件(老动作支持 componentIdList 批量,迁移时拆成逐个调用)","Show / hide this component (the legacy action supported batch componentIdList; migration splits into per-component calls)","このコンポーネントを表示 / 非表示にする(旧アクションの componentIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[qd({key:"visible",name:Bd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"canvas_component_change_visibility"}),$d({key:"isVisible",name:Bd("是否可见","Is Visible","表示中かどうか"),desc:Bd("查询本组件当前是否可见","Whether this component is currently visible","このコンポーネントが現在表示中かどうか"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_canvas_component_visible"}),$d({key:"changePlayState",name:Bd("切换播放状态","Change Play State","再生状態を切り替え"),desc:Bd("播放 / 暂停 / 取反画布内 type=video 的组件(补齐监控视频对等能力;非视频组件忽略)","Play / pause / toggle a type=video component in the canvas (fills the gap vs. monitor video; non-video components are ignored)","キャンバス内の type=video コンポーネントを再生 / 一時停止 / トグル(モニター動画との対等機能を補完。動画以外は無視)"),params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[Zd("play",Bd("播放","Play","再生")),Zd("pause",Bd("暂停","Pause","一時停止")),Zd("toggle",Bd("取反","Toggle","トグル"))],defaultValue:"toggle"}),qd({key:"unmuteOnPlay",name:Bd("播放时取消静音","Unmute On Play","再生時にミュート解除"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"restartFromBeginning",name:Bd("从头播放","Restart From Beginning","先頭から再生"),type:"boolean",optional:!0,defaultValue:!1})]}),$d({key:"changeMuteState",name:Bd("切换静音","Change Mute State","ミュートを切り替え"),desc:Bd("静音 / 取消静音 / 取反画布内 type=video 的组件(补齐监控视频对等能力;非视频组件忽略)","Mute / unmute / toggle a type=video component in the canvas (fills the gap vs. monitor video; non-video components are ignored)","キャンバス内の type=video コンポーネントをミュート / ミュート解除 / トグル(モニター動画との対等機能を補完。動画以外は無視)"),params:[qd({key:"changeType",name:Bd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[Zd("mute",Bd("静音","Mute","ミュート")),Zd("unmute",Bd("取消静音","Unmute","ミュート解除")),Zd("toggle",Bd("取反","Toggle","トグル"))],defaultValue:"toggle"})]})]}),am({classKey:"message_card",name:Bd("消息卡","Message Card","メッセージカード"),desc:Bd("信件中心里的消息卡片(标题 + 文本 + 按钮);没有默认显示属性,只能由逻辑触发显示","A message card in the mail center (title + text + buttons); has no default visibility, shown only by logic","メールセンター内のメッセージカード(タイトル + テキスト + ボタン)。デフォルト表示なし、ロジックからのみ表示"),kind:"entity",groupKey:"ui",entityInfo:em({listPath:"messageCardList",selectorKey:"message_card"}),methods:[$d({key:"show",name:Bd("显示","Show","表示"),desc:Bd("显示本消息卡(幂等:已显示则什么都不做)","Show this card (idempotent: no-op if already showing)","このカードを表示(冪等:表示済みなら何もしない)"),legacyActionType:"message_card_show"}),$d({key:"hide",name:Bd("隐藏","Hide","非表示"),desc:Bd("隐藏本消息卡(幂等:未显示则什么都不做)","Hide this card (idempotent: no-op if not showing)","このカードを非表示(冪等:非表示なら何もしない)"),legacyActionType:"message_card_hide"}),$d({key:"setShowState",name:Bd("设置显示状态","Set Show State","表示状態を設定"),desc:Bd("【旧语义,不推荐】按布尔值显示 / 隐藏;等价于 显示/隐藏 二选一,仅为兼容老动作保留(老动作支持 messageCardIdList 批量)","[Deprecated semantics] Show / hide by boolean; equivalent to Show/Hide, kept only for legacy compatibility (the legacy action supported batch messageCardIdList)","【旧セマンティクス・非推奨】ブール値で表示 / 非表示。表示 / 非表示と等価で、旧アクション互換のためのみ保持(旧アクションは messageCardIdList 一括対応)"),params:[qd({key:"showState",name:Bd("是否显示","Show","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"message_card_change_show_state"}),$d({key:"isShowing",name:Bd("是否显示中","Is Showing","表示中かどうか"),desc:Bd("查询本消息卡当前是否正在显示","Whether this card is currently showing","このカードが現在表示中かどうか"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"message_card_showing"})]}),am({classKey:"MessageCardCenter",name:Bd("消息卡中心","Message Card Center","メッセージカードセンター"),desc:Bd("临时消息卡的创建 / 销毁入口(不依赖预创建的 messageCardList)","Entry point for creating / destroying temporary message cards (independent of the pre-created messageCardList)","一時メッセージカードの作成 / 破棄の入口(事前作成の messageCardList に依存しない)"),kind:"static",groupKey:"ui",methods:[$d({key:"createTemporary",name:Bd("创建临时消息卡","Create Temporary Message Card","一時メッセージカードを作成"),desc:Bd("运行时动态创建一张消息卡(卡片完整数据内联在参数里);返回卡片引用可存变量后续操作。老动作无返回值","Dynamically create a message card at runtime (full card data inlined in params); returns a card reference for later use. The legacy action had no return value","実行時にメッセージカードを動的作成(カード全データをパラメータに内包)。後続操作用にカード参照を返す。旧アクションは戻り値なし"),params:[qd({key:"card",name:Bd("卡片数据","Card Data","カードデータ"),desc:Bd("卡片完整数据(XrMessageCard 结构:图标 / 标题 / 内容 / 按钮 / 外观覆盖),在参数面板中直接编辑","Full card data (XrMessageCard shape: icon / title / content / buttons / appearance override), edited inline in the params panel","カード全データ(XrMessageCard 構造:アイコン / タイトル / 内容 / ボタン / 外観上書き)。パラメータパネルで直接編集"),type:"any"}),qd({key:"key",name:Bd("卡片标记","Card Key","カードキー"),desc:Bd("语义 key,可重复使用;「销毁临时消息卡」按 key 批量销毁","Semantic key, reusable; Destroy Temporary removes cards by this key","セマンティックキー(再利用可)。「一時メッセージカードを破棄」はこのキーで一括破棄"),type:"string",optional:!0,defaultValue:""}),qd({key:"keepOnlyLatestForKey",name:Bd("同标记只留最新","Keep Only Latest For Key","同キーは最新のみ保持"),desc:Bd("true=创建前先销毁同 key 已有实例(替换);false=堆叠","true = destroy existing cards with the same key before creating (replace); false = stack","true = 作成前に同キーの既存カードを破棄(置換)。false = 積み重ね"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"closable",name:Bd("允许手动关闭","Closable","手動クローズを許可"),desc:Bd("true 时 UI 显示 × 按钮","When true the UI shows a close button","true のとき UI に × ボタンを表示"),type:"boolean",optional:!0,defaultValue:!0})],returns:jd({type:"entity_ref",refTypeKey:"message_card",desc:Bd("新创建的临时消息卡引用","Reference to the newly created temporary card","新規作成した一時カードへの参照")}),legacyActionType:"message_card_create_temporary"}),$d({key:"destroyTemporary",name:Bd("销毁临时消息卡","Destroy Temporary Message Card","一時メッセージカードを破棄"),desc:Bd("按标记销毁临时消息卡;勾选「销毁全部」时忽略标记","Destroy temporary cards by key; when Destroy All is set the key is ignored","キー指定で一時カードを破棄。「すべて破棄」指定時はキーを無視"),params:[qd({key:"key",name:Bd("卡片标记","Card Key","カードキー"),type:"string",optional:!0,defaultValue:""}),qd({key:"destroyAll",name:Bd("销毁全部","Destroy All","すべて破棄"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"message_card_destroy_temporary"})]}),am({classKey:"content_card",name:Bd("内容卡","Content Card","コンテンツカード"),desc:Bd("富文本 + 媒体模块 + 按钮的内容卡片(气泡 / 对话框 / 抽屉三种显示样式)","A content card with rich text + media modules + buttons (bubble / dialog / drawer display styles)","リッチテキスト + メディアモジュール + ボタンのコンテンツカード(バブル / ダイアログ / ドロワー表示)"),kind:"entity",groupKey:"ui",entityInfo:em({listPath:"vrContentCardList",selectorKey:"content_card"}),methods:[$d({key:"show",name:Bd("显示","Show","表示"),desc:Bd("以指定样式显示本内容卡。气泡样式目前只在 Tag 中使用;对话框仅 PC 有效,手机端为从下往上的抽屉","Show this card with the given style. Bubble is currently only used by Tags; dialog is PC-only (mobile falls back to a bottom drawer)","このカードを指定スタイルで表示。バブルは現状 Tag のみ。ダイアログは PC のみ有効(モバイルは下からのドロワー)"),params:[qd({key:"showStyle",name:Bd("显示样式","Show Style","表示スタイル"),type:"enum",enumOptions:[Zd("bubble",Bd("气泡","Bubble","バブル")),Zd("dialog",Bd("对话框","Dialog","ダイアログ")),Zd("drawer",Bd("右侧抽屉","Drawer","ドロワー"))],defaultValue:"drawer"})],legacyActionType:"information_content_card_show"}),$d({key:"close",name:Bd("关闭","Close","閉じる"),desc:Bd("关闭本内容卡(老动作无参=关闭当前打开的内容卡;新模型挂在实例上,当前打开的不是本卡时不动作)","Close this card (the legacy action had no params and closed the currently open card; as an instance method it is a no-op if this card is not the open one)","このカードを閉じる(旧アクションは無引数で「現在開いているカード」を閉じる。インスタンスメソッドでは、開いているのが本カードでなければ何もしない)"),legacyActionType:"information_content_card_close"}),$d({key:"isOpen",name:Bd("是否打开中","Is Open","開いているか"),desc:Bd("查询本内容卡当前是否处于打开状态","Whether this card is currently open","このカードが現在開いているかどうか"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"content_card_open"})]}),am({classKey:"VisualizationController",name:Bd("可视化控制器","Visualization Controller","ビジュアライゼーションコントローラー"),desc:Bd("底部浮层里的常驻控制面板(图标 + 标题 + 正文 + 按钮),按 key 管理,多实例以选项卡切换","Persistent control panels in the bottom floating layer (icon + title + body + buttons), managed by key, multiple instances switched via tabs","ボトム浮遊レイヤーの常駐コントロールパネル(アイコン + タイトル + 本文 + ボタン)。キーで管理し、複数インスタンスはタブで切り替え"),kind:"static",groupKey:"ui",methods:[$d({key:"pop",name:Bd("弹出","Pop","ポップアップ表示"),desc:Bd("弹出一个可视化控制器(内容内联在参数里);再次调用=再加一个实例,除非勾选「同标记只留最新」","Pop up a visualization controller (content inlined in params); calling again adds another instance unless Keep Only Latest is set","コントローラーをポップアップ表示(内容はパラメータに内包)。再呼び出し = インスタンス追加(「同キーは最新のみ保持」指定時を除く)"),params:[qd({key:"controllerKey",name:Bd("控制器标记","Controller Key","コントローラーキー"),desc:Bd("分组 key;「隐藏」按 key 移除,同 key 可叠加多个实例","Grouping key; Hide removes by this key, multiple instances may share a key","グループキー。「非表示」はこのキーで削除。同キーで複数インスタンス可"),type:"string"}),qd({key:"keepOnlyLatestForKey",name:Bd("同标记只留最新","Keep Only Latest For Key","同キーは最新のみ保持"),desc:Bd("true=替换同 key 已有实例;false=叠加","true = replace existing instances with the same key; false = stack","true = 同キーの既存インスタンスを置換。false = 積み重ね"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"iconSrc",name:Bd("图标","Icon","アイコン"),type:"string",optional:!0,defaultValue:""}),qd({key:"title",name:Bd("标题","Title","タイトル"),type:"multilang_str"}),qd({key:"description",name:Bd("正文","Description","本文"),type:"multilang_str",optional:!0}),qd({key:"buttonList",name:Bd("按钮列表","Button List","ボタンリスト"),desc:Bd("FreeButton 列表,在参数面板中直接编辑;按钮点击执行各自的 clickActionList","A list of FreeButton edited inline; each button runs its own clickActionList on click","FreeButton のリスト(パラメータパネルで直接編集)。クリックで各自の clickActionList を実行"),type:"any",optional:!0}),qd({key:"reportToAgentId",name:Bd("回传智能体","Report To Agent","報告先エージェント"),desc:Bd("仅 AI 工具弹出时由运行时回填:按钮无 actionList 时点击把按钮文字作为用户输入回传给该智能体","Filled by the runtime only for AI-tool pops: buttons without actionList send their text back to this agent as user input","AI ツールからの表示時のみランタイムが設定:actionList を持たないボタンは、クリック時にボタン文字をユーザー入力としてこのエージェントへ返送"),type:"string",optional:!0})],legacyActionType:"visualization_controller_pop"}),$d({key:"hide",name:Bd("隐藏","Hide","非表示"),desc:Bd("移除指定标记的控制器(标记为空则不处理)","Remove controllers with the given key (no-op when the key is empty)","指定キーのコントローラーを削除(キーが空なら何もしない)"),params:[qd({key:"controllerKey",name:Bd("控制器标记","Controller Key","コントローラーキー"),type:"string"})],legacyActionType:"visualization_controller_hide"}),$d({key:"closeAll",name:Bd("关闭全部","Close All","すべて閉じる"),desc:Bd("一键关闭全部可视化控制器(不含 flow 步骤栏)","Close all visualization controllers at once (excluding the flow step bar)","すべてのコントローラーを一括で閉じる(flow ステップバーは除く)"),legacyActionType:"visualization_controller_close_all"})]}),am({classKey:"layer",name:Bd("图层","Layer","レイヤー"),desc:Bd("装修组件的图层分组,整层控制可见性","A layer grouping decoration components, controlling visibility for the whole layer","装飾コンポーネントのレイヤーグループ。レイヤー単位で表示を制御"),kind:"entity",groupKey:"ui",entityInfo:em({listPath:"vrLayerList",selectorKey:"layer"}),methods:[$d({key:"setVisible",name:Bd("设置可见性","Set Visibility","表示状態を設定"),desc:Bd("显示 / 隐藏本图层(老动作支持 layerIdList 批量,迁移时拆成逐个调用)","Show / hide this layer (the legacy action supported batch layerIdList; migration splits into per-layer calls)","このレイヤーを表示 / 非表示にする(旧アクションの layerIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[qd({key:"visible",name:Bd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"layer_change_visibility"}),$d({key:"isVisible",name:Bd("是否可见","Is Visible","表示中かどうか"),desc:Bd("查询本图层当前的有效可见性","The current effective visibility of this layer","このレイヤーの現在の有効な表示状態"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"layer_visible"})]})]}function Rm(){return[am({classKey:"sticker",name:Bd("贴纸","Sticker","ステッカー"),desc:Bd("标注空间中某一位置的隐形贴纸;运行时按激活条件(距离/可见)自动激活/取消激活","Invisible sticker marking a spatial position; activated/deactivated automatically by distance/visibility conditions","空間内の位置を示す不可視ステッカー。距離/可視条件により自動的にアクティブ化/解除される"),kind:"entity",groupKey:"space",entityInfo:em({listPath:"vrStickerList",selectorKey:"sticker",usableAsVariableType:!0}),methods:[$d({key:"isActive",name:Bd("是否激活","Is Active","アクティブか"),desc:Bd("查询该贴纸当前是否处于激活状态(无副作用,可进条件槽)","Query whether this sticker is currently active (pure, usable in condition slots)","このステッカーが現在アクティブかを取得(副作用なし、条件スロットで使用可)"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"sticker_active"})],events:[Qd({key:"sticker_activated",name:Bd("被激活","Activated","アクティブ化された"),desc:Bd("进入激活条件范围时触发","Fires when activation conditions become satisfied","アクティブ条件を満たしたとき発火"),legacySignalSource:"sticker",legacySignalType:"sticker_activated"}),Qd({key:"sticker_deactivated",name:Bd("被取消激活","Deactivated","アクティブ解除された"),desc:Bd("离开激活条件范围时触发","Fires when activation conditions stop being satisfied","アクティブ条件を外れたとき発火"),legacySignalSource:"sticker",legacySignalType:"sticker_deactivated"})]}),am({classKey:"space_fence",name:Bd("空间围栏","Space Fence","空間フェンス"),desc:Bd("标记一块空间边界;用户进出触发事件,可查询用户是否在内","Marks a spatial boundary; fires enter/leave events and supports inside queries","空間の境界を示すフェンス。ユーザーの出入りでイベントが発火し、内側判定を照会できる"),kind:"entity",groupKey:"space",entityInfo:em({listPath:"spaceFenceList",selectorKey:"space_fence",usableAsVariableType:!0}),methods:[$d({key:"hasUserInside",name:Bd("是否有人","Has User Inside","内部にユーザーがいるか"),desc:Bd("查询用户当前是否位于该围栏内(无副作用,可进条件槽)","Query whether the user is currently inside this fence (pure)","ユーザーが現在このフェンス内にいるかを取得(副作用なし)"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"space_fence_user_in"})],events:[Qd({key:"enter",name:Bd("进入","Enter","進入"),desc:Bd("用户进入围栏时触发(受 enterKeepSeconds 持续时间门槛影响)","Fires when the user enters the fence (subject to enterKeepSeconds)","ユーザーがフェンスに入ったとき発火(enterKeepSeconds の影響あり)"),legacySignalSource:"space_fence",legacySignalType:"enter"}),Qd({key:"leave",name:Bd("离开","Leave","退出"),desc:Bd("用户离开围栏时触发(受 leaveKeepSeconds 持续时间门槛影响)","Fires when the user leaves the fence (subject to leaveKeepSeconds)","ユーザーがフェンスから出たとき発火(leaveKeepSeconds の影響あり)"),legacySignalSource:"space_fence",legacySignalType:"leave"})]}),am({classKey:"space_fence_group",name:Bd("空间围栏组","Space Fence Group","空間フェンスグループ"),desc:Bd("一组空间围栏的并集区域;进入组内任一围栏即视为进入该组","Union region of a group of fences; entering any member fence counts as entering the group","複数フェンスの合併領域。いずれかのフェンスに入るとグループに入ったとみなす"),kind:"entity",groupKey:"space",entityInfo:em({listPath:"spaceFenceGroupList",selectorKey:"space_fence_group",usableAsVariableType:!0}),methods:[$d({key:"hasUserInside",name:Bd("是否有人","Has User Inside","内部にユーザーがいるか"),desc:Bd("查询用户当前是否位于该组任一围栏内(无副作用,可进条件槽)","Query whether the user is inside any fence of this group (pure)","ユーザーがこのグループのいずれかのフェンス内にいるかを取得(副作用なし)"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"space_fence_group_user_in"})],events:[Qd({key:"enter",name:Bd("进入","Enter","進入"),desc:Bd("用户进入该组(任一围栏)时触发","Fires when the user enters the group (any member fence)","ユーザーがグループ(いずれかのフェンス)に入ったとき発火"),legacySignalSource:"space_fence_group",legacySignalType:"enter"}),Qd({key:"leave",name:Bd("离开","Leave","退出"),desc:Bd("用户离开该组(全部围栏)时触发","Fires when the user leaves the group (all member fences)","ユーザーがグループ(すべてのフェンス)から出たとき発火"),legacySignalSource:"space_fence_group",legacySignalType:"leave"})]}),am({classKey:"ray_hitter",name:Bd("射线命中器","Ray Hitter","レイヒッター"),desc:Bd("扁圆柱形准星停留触发实体;全系统同时只能激活一个,激活期间准星命中检测面并停留计满即触发","Flat-cylinder dwell-trigger entity; only one can be active system-wide, crosshair dwell on a detect face fires the trigger","扁平円柱の照準ドウェル実体。全体で同時にひとつのみアクティブ化でき、照準が検出面に停留すると発火"),kind:"entity",groupKey:"space",entityInfo:em({listPath:"rayHitterList",selectorKey:"ray_hitter",usableAsVariableType:!0}),methods:[$d({key:"activate",name:Bd("激活","Activate","アクティブ化"),desc:Bd("激活该命中器(全系统同时只能激活一个;激活它会自动顶掉当前激活的另一个)","Activate this hitter (only one can be active system-wide; activating replaces the currently active one)","このヒッターをアクティブ化(全体で同時にひとつのみ。現在アクティブなものは自動的に解除される)"),legacyActionType:"ray_hitter_activate"}),$d({key:"deactivate",name:Bd("取消激活","Deactivate","アクティブ解除"),desc:Bd("取消激活:当前激活的恰是该命中器时才取消,否则不动作(对应老 action 传具体 rayHitterId 的语义)","Deactivate: only takes effect if this hitter is the currently active one (legacy semantics with a specific rayHitterId)","アクティブ解除:現在アクティブなのがこのヒッターの場合のみ解除(旧 action の rayHitterId 指定時の意味)"),legacyActionType:"ray_hitter_deactivate"})],events:[Qd({key:"ray_hitter_top_triggered",name:Bd("上面命中","Top Face Triggered","上面ヒット"),desc:Bd("准星在上圆面停留计满触发(触发后运行时自动取消整个命中器的激活)","Crosshair dwell completed on the top face (auto-deactivates the hitter afterwards)","照準が上面での停留を完了したとき発火(発火後は自動的にアクティブ解除)"),legacySignalSource:"ray_hitter",legacySignalType:"ray_hitter_top_triggered"}),Qd({key:"ray_hitter_bottom_triggered",name:Bd("下面命中","Bottom Face Triggered","下面ヒット"),desc:Bd("准星在下圆面停留计满触发(触发后运行时自动取消整个命中器的激活)","Crosshair dwell completed on the bottom face (auto-deactivates the hitter afterwards)","照準が下面での停留を完了したとき発火(発火後は自動的にアクティブ解除)"),legacySignalSource:"ray_hitter",legacySignalType:"ray_hitter_bottom_triggered"})]}),am({classKey:"sweep",name:Bd("扫描点位","Sweep","スイープ(スキャン地点)"),desc:Bd("matterport 场景中的虚拟站立点位(仅 VR;AR 无 sweep 概念)","Virtual standing point in a matterport scene (VR only; AR has no sweep concept)","matterport シーン内の仮想スタンドポイント(VR のみ。AR には sweep 概念がない)"),kind:"entity",groupKey:"space",entityInfo:em({listPath:"sweepList",selectorKey:"sweep",usableAsVariableType:!0}),methods:[$d({key:"setEnabled",name:Bd("设置启用","Set Enabled","有効状態を設定"),desc:Bd("设置该点位是否启用;mode=only_enable 时仅启用该点位并禁用其他所有点位(老 action 支持批量 sweepIdList,这里是单实体形态)","Set whether this sweep is enabled; mode=only_enable enables only this sweep and disables all others (legacy action was batch via sweepIdList)","この地点の有効状態を設定。mode=only_enable の場合はこの地点のみ有効化し他を無効化(旧 action は sweepIdList による一括指定)"),params:[qd({key:"enabled",name:Bd("是否启用","Enabled","有効"),type:"boolean",defaultValue:!0}),qd({key:"mode",name:Bd("模式","Mode","モード"),type:"enum",enumOptions:[Zd("set",Bd("设置指定点位","Set specified sweeps","指定地点を設定")),Zd("only_enable",Bd("仅启用指定点位(禁用其他)","Only enable specified sweeps (disable others)","指定地点のみ有効化(他を無効化)"))],optional:!0,defaultValue:"set"})],platform:"vr_only",legacyActionType:"sweep_change_enabled"}),$d({key:"changePanorama",name:Bd("切换全景","Change Panorama","パノラマを切り替え"),desc:Bd("切换该点位全景球显示的内容;panoramaId 传空表示不显示自定义全景球(回到 matterport 原生全景)","Switch the panorama sphere content of this sweep; empty panoramaId hides the custom panorama (back to native matterport)","この地点のパノラマ球の内容を切り替え。panoramaId が空の場合はカスタムパノラマを非表示(matterport ネイティブに戻す)"),params:[qd({key:"panoramaId",name:Bd("全景内容ID","Panorama ID","パノラマID"),desc:Bd("该点位 panoramaData.sourceList 中某项的 id;空=不显示全景球","Id of an item in this sweep's panoramaData.sourceList; empty = hide","この地点の panoramaData.sourceList 内項目の id。空=非表示"),type:"string"})],platform:"vr_only",legacyActionType:"sweep_change_panorama"})],events:[Qd({key:"arrived",name:Bd("到达","Arrived","到達"),desc:Bd("相机移动到达该点位时触发(新增事件;老信号体系无对应 sweep 信号,legacy 留空)","Fires when the camera arrives at this sweep (new event; no corresponding legacy sweep signal)","カメラがこの地点に到達したとき発火(新規イベント。旧シグナル体系に対応する sweep シグナルなし)"),platform:"vr_only"})]}),am({classKey:"marker",name:Bd("标记","Marker","マーカー"),desc:Bd("为点位或装修组件打的分组标记(sweep_marker / component_marker 两类)","Grouping marker attached to sweeps or components (two kinds: sweep_marker / component_marker)","地点や装飾コンポーネントに付けるグルーピングマーカー(sweep_marker / component_marker の2種)"),kind:"entity",groupKey:"space",entityInfo:em({listPath:"",selectorKey:"marker",usableAsVariableType:!0}),methods:[$d({key:"setSweepsEnabledByMarker",name:Bd("按标记启用点位","Set Sweeps Enabled By Marker","マーカーで地点の有効状態を設定"),desc:Bd("批量设置关联了该标记的所有扫描点位的启用状态(仅 sweep_marker 类型标记有效;mode=only_enable 时仅启用关联点位并禁用其他)","Batch-set enabled state of all sweeps associated with this marker (sweep_marker kind only; mode=only_enable disables all others)","このマーカーに関連するすべてのスイープ地点の有効状態を一括設定(sweep_marker 種のみ有効。mode=only_enable は他をすべて無効化)"),params:[qd({key:"enabled",name:Bd("是否启用","Enabled","有効"),type:"boolean",defaultValue:!0}),qd({key:"mode",name:Bd("模式","Mode","モード"),type:"enum",enumOptions:[Zd("set",Bd("设置关联点位","Set associated sweeps","関連地点を設定")),Zd("only_enable",Bd("仅启用关联点位(禁用其他)","Only enable associated sweeps (disable others)","関連地点のみ有効化(他を無効化)"))],optional:!0,defaultValue:"set"})],platform:"vr_only",legacyActionType:"sweep_marker_change_enabled"})]}),am({classKey:"background_thread",name:Bd("后台线程","Background Thread","バックグラウンドスレッド"),desc:Bd("预定义的常驻循环执行单元(executeCount<=0 时无限循环,直到被停止)","Predefined resident looping execution unit (loops forever when executeCount<=0 until stopped)","事前定義された常駐ループ実行ユニット(executeCount<=0 の場合は停止されるまで無限ループ)"),kind:"entity",groupKey:"logic",entityInfo:em({listPath:"backgroundThreadList",selectorKey:"background_thread",usableAsVariableType:!1}),methods:[$d({key:"start",name:Bd("启动","Start","開始"),desc:Bd("启动该后台线程(已在运行则忽略)","Start this background thread (no-op if already running)","このスレッドを開始(既に実行中なら何もしない)"),legacyActionType:"background_thread_start"}),$d({key:"pause",name:Bd("暂停","Pause","一時停止"),desc:Bd("暂停该后台线程(游标保留,可续跑)","Pause this background thread (cursor preserved, resumable)","このスレッドを一時停止(カーソル保持、再開可能)"),legacyActionType:"background_thread_pause"}),$d({key:"stop",name:Bd("停止","Stop","停止"),desc:Bd("停止该后台线程并销毁其局部变量","Stop this background thread and dispose its local variables","このスレッドを停止しローカル変数を破棄"),legacyActionType:"background_thread_stop"}),$d({key:"isRunning",name:Bd("是否运行","Is Running","実行中か"),desc:Bd("查询该线程当前是否处于运行状态(无副作用;条件槽脱糖为 background_thread_status_is(id, 'running'),状态全集 idle/running/paused/stopped)","Query whether this thread is running (pure; desugars to background_thread_status_is(id, 'running'))","このスレッドが実行中かを取得(副作用なし。background_thread_status_is(id, 'running') に脱糖される)"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"background_thread_status_is"})],events:[Qd({key:"loopTick",name:Bd("每次循环","On Each Loop","ループ毎"),desc:Bd("线程每次循环执行时触发(新增事件;老信号体系无对应信号,legacy 留空)","Fires on each loop iteration of the thread (new event; no legacy signal counterpart)","スレッドのループ実行ごとに発火(新規イベント。旧シグナル体系に対応なし)"),payloadFields:[qd({key:"loopIndex",name:Bd("循环序号","Loop Index","ループ番号"),desc:Bd("本次启动以来的循环序号(0 起,由运行时注入 _事件.$)","Iteration index since start (0-based, injected into _事件.$)","開始からのループ番号(0 起点、_事件.$ に注入)"),type:"number"})]})]}),am({classKey:"ability",name:Bd("能力","Ability","アビリティ"),desc:Bd("【旧】带生命周期的可复用动作+触发器封装;已升级为 函数/常驻子程序,保留仅为兼容","[Legacy] Reusable action+trigger capsule with lifecycle; superseded by functions/subprograms, kept for compatibility","【旧】ライフサイクル付きの再利用可能なアクション+トリガー封装。関数/サブプログラムに置き換え済み、互換のため保持"),kind:"entity",groupKey:"logic",entityInfo:em({listPath:"abilityList",selectorKey:"ability",usableAsVariableType:!1}),methods:[$d({key:"enable",name:Bd("启用","Enable","有効化"),desc:Bd("启用该能力:keeping=true 时先创建触发器再执行激活动作,需显式停止","Enable this ability: with keeping=true, triggers are created first then activation actions run; must be stopped explicitly","このアビリティを有効化。keeping=true の場合トリガー作成後に起動アクションを実行、明示的な停止が必要"),params:[qd({key:"contextVariableOverrides",name:Bd("上下文变量覆盖","Context Variable Overrides","コンテキスト変数の上書き"),desc:Bd("按 key 覆盖能力上下文变量初始值(类似调用入参;未覆盖的 key 用默认值)","Override initial values of ability context variables by key (like call arguments; unset keys use defaults)","アビリティのコンテキスト変数初期値を key ごとに上書き(呼び出し引数に相当。未設定は既定値)"),type:"any",optional:!0})],legacyActionType:"ability_enable"}),$d({key:"stop",name:Bd("停止","Stop","停止"),desc:Bd("停止该能力:先移除其创建的全部触发器,再执行结束动作","Stop this ability: remove all created triggers then run stop actions","このアビリティを停止。作成した全トリガーを除去後、終了アクションを実行"),legacyActionType:"ability_stop"}),$d({key:"isActive",name:Bd("是否激活","Is Active","アクティブか"),desc:Bd("查询该能力当前是否处于激活状态(无副作用,可进条件槽)","Query whether this ability is currently active (pure)","このアビリティが現在アクティブかを取得(副作用なし)"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"ability_active"})]}),am({classKey:"camera_dolly_path",name:Bd("运镜路径","Camera Dolly Path","カメラドリーパス"),desc:Bd("预设的相机运镜路径(点位序列+节奏);无自身方法,作为 摄像机.运镜 的参数使用","Predefined camera dolly path (sweep sequence + timing); has no methods, used as the argument of Camera.dollyMove","事前定義されたカメラドリーパス(地点列+タイミング)。メソッドなし、Camera.ドリー移動 の引数として使用"),kind:"entity",groupKey:"logic",entityInfo:em({listPath:"cameraDollyPathList",selectorKey:"camera_dolly_path",usableAsVariableType:!0})}),am({classKey:"broadcast_channel",name:Bd("广播频道","Broadcast Channel","ブロードキャストチャンネル"),desc:Bd("具名消息总线;载荷字段由频道 payloadFieldList 定义","Named message bus; payload fields defined by the channel's payloadFieldList","名前付きメッセージバス。ペイロードフィールドはチャンネルの payloadFieldList で定義"),kind:"entity",groupKey:"logic",entityInfo:em({listPath:"broadcastChannelList",selectorKey:"broadcast_channel",usableAsVariableType:!1}),events:[Qd({key:"broadcast_channel_message",name:Bd("收到广播","On Broadcast Message","ブロードキャスト受信"),desc:Bd("该频道收到广播时触发;载荷字段由频道 payloadFieldList 动态定义(每字段一个 key),回调里经 _事件.$字段key 承接(老运行时为 _broadcast_msg.$)","Fires when this channel receives a broadcast; payload fields are defined per-channel by payloadFieldList and read via _事件.$ in the callback (legacy runtime used _broadcast_msg.$)","このチャンネルがブロードキャストを受信したとき発火。ペイロードはチャンネルの payloadFieldList で動的に定義され、コールバック内で _事件.$ から読める(旧ランタイムは _broadcast_msg.$)"),legacySignalSource:"broadcast",legacySignalType:"broadcast_channel_message"})]}),am({classKey:"ai_agent",name:Bd("AI智能体","AI Agent","AIエージェント"),desc:Bd("可对话、可调用工具的 AI 角色;激活后出现在前台聊天面板","Conversational, tool-using AI persona; appears in the chat panel when activated","対話とツール呼び出しができる AI ロール。アクティブ化するとチャットパネルに表示"),kind:"entity",groupKey:"ai",entityInfo:em({listPath:"aiAgentList",selectorKey:"ai_agent",usableAsVariableType:!0}),methods:[$d({key:"activate",name:Bd("激活","Activate","アクティブ化"),desc:Bd("激活该智能体(打开聊天面板并开始会话)","Activate this agent (open chat panel and start the session)","このエージェントをアクティブ化(チャットパネルを開きセッション開始)"),legacyActionType:"ai_agent_activate"}),$d({key:"hide",name:Bd("隐藏","Hide","隠す"),desc:Bd("隐藏该智能体的聊天界面","Hide this agent's chat UI","このエージェントのチャットUIを隠す"),legacyActionType:"ai_agent_hide"}),$d({key:"wake",name:Bd("唤醒AI","Wake","ウェイク"),desc:Bd("按选定的唤醒提示词唤醒该智能体,可携带本次系统指令并指定做事风格","Wake this agent with a selected wake prompt, optionally carrying a one-off system instruction and a work style","選択したウェイクプロンプトでこのエージェントを起こす。今回限りのシステム指示と作業スタイルを指定可能"),params:[qd({key:"wakePromptId",name:Bd("唤醒提示词","Wake Prompt","ウェイクプロンプト"),desc:Bd("该智能体 wakePromptList 中某项的 id","Id of an item in this agent's wakePromptList","このエージェントの wakePromptList 内項目の id"),type:"string"}),qd({key:"hasMessage",name:Bd("是否携带指令","Has Message","指示を携帯するか"),desc:Bd("为 false 时忽略 message 参数","When false the message parameter is ignored","false の場合 message パラメータは無視"),type:"boolean",optional:!0,defaultValue:!1}),qd({key:"message",name:Bd("要告诉AI的话","Message","AIへ伝える内容"),desc:Bd("本次唤醒的系统/隐藏指令(多语言,运行时按当前语言 pick)","System/hidden instruction for this wake (multilang, picked by current language)","今回のウェイクのシステム/隠し指示(多言語、現在の言語で pick)"),type:"multilang_str",optional:!0}),qd({key:"workStyle",name:Bd("做事风格","Work Style","作業スタイル"),type:"enum",enumOptions:[Zd("auto",Bd("AI自行判断","Auto (AI decides)","AIが自動判断")),Zd("act_and_reply",Bd("做事并回复","Act and reply","実行して返答")),Zd("act_no_reply",Bd("做事不回复","Act without replying","実行するが返答しない"))],optional:!0,defaultValue:"auto"})],legacyActionType:"ai_agent_wake"}),$d({key:"sendUserMessage",name:Bd("发送用户消息","Send User Message","ユーザーメッセージを送信"),desc:Bd("激活并模拟用户发送一条消息(走真实 LLM,耗时;未激活则先激活)","Activate and simulate a user message (goes through the real LLM, time-consuming; activates first if needed)","アクティブ化しユーザーメッセージを模擬送信(実際の LLM を経由、時間がかかる。未アクティブなら先にアクティブ化)"),params:[qd({key:"userMessage",name:Bd("用户消息","User Message","ユーザーメッセージ"),desc:Bd("多语言,运行时按当前语言 pick","Multilang, picked by current language at runtime","多言語、実行時に現在の言語で pick"),type:"multilang_str"})],supportsAsync:!0,legacyActionType:"ai_agent_activate_and_send_user_message"}),$d({key:"injectDialogue",name:Bd("注入对话","Inject Dialogue","対話を注入"),desc:Bd("激活并注入一问一答(Q+A 直接进会话上下文,AI 回复前端伪流式播放,不调 LLM)","Activate and inject a Q+A pair into the session context (assistant reply pseudo-streamed on the client, no LLM call)","アクティブ化し Q+A をセッション文脈に注入(AI 返答はフロント擬似ストリーミング、LLM 呼び出しなし)"),params:[qd({key:"userMessage",name:Bd("用户消息","User Message","ユーザーメッセージ"),type:"multilang_str"}),qd({key:"assistantReply",name:Bd("AI回复","Assistant Reply","AI返答"),type:"multilang_str"}),qd({key:"pseudoStreamCharIntervalMs",name:Bd("伪流式节奏(毫秒/字符)","Pseudo-stream Interval (ms/char)","擬似ストリーミング間隔(ms/文字)"),desc:Bd("不传按设备类型默认(PC 22ms,手机 30ms)","Defaults by device type when unset (PC 22ms, mobile 30ms)","未指定時はデバイス既定(PC 22ms、モバイル 30ms)"),type:"number",optional:!0})],legacyActionType:"ai_agent_activate_and_inject_dialogue"}),$d({key:"injectHiddenStateMessage",name:Bd("注入旁白","Inject Hidden Narration","ナレーションを注入"),desc:Bd("注入隐藏状态消息(旁白/上帝视角):AI 知道发生了什么但不回复、UI 不渲染;未激活则静默激活","Inject a hidden-state message (narration): the AI learns what happened but does not reply and the UI does not render it; silently activates if needed","隠し状態メッセージ(ナレーション)を注入。AI は状況を把握するが返答せず、UI にも表示されない。未アクティブなら静かにアクティブ化"),params:[qd({key:"stateMessage",name:Bd("旁白内容","State Message","ナレーション内容"),desc:Bd("单一字符串(非多语言,仅进 LLM 上下文);建议第三人称系统口吻,如「用户刚点击了立即购买按钮」","Single string (not multilang; only enters LLM context); third-person system tone recommended","単一文字列(多言語ではない。LLM 文脈にのみ入る)。三人称のシステム口調を推奨"),type:"string"})],legacyActionType:"ai_agent_inject_hidden_state_message"}),$d({key:"injectAssistantMessage",name:Bd("注入AI消息","Inject Assistant Message","AIメッセージを注入"),desc:Bd("激活并模拟单条 AI 消息(单向 assistant 入库 + 前端伪流式,不调 LLM、不伪造用户提问)","Activate and simulate a single assistant message (one-way, pseudo-streamed on the client, no LLM call, no fake user turn)","アクティブ化し AI メッセージを1件模擬(一方向。フロント擬似ストリーミング、LLM 呼び出しなし)"),params:[qd({key:"assistantMessage",name:Bd("AI消息","Assistant Message","AIメッセージ"),type:"multilang_str"}),qd({key:"pseudoStreamCharIntervalMs",name:Bd("伪流式节奏(毫秒/字符)","Pseudo-stream Interval (ms/char)","擬似ストリーミング間隔(ms/文字)"),desc:Bd("不传按设备类型默认(PC 22ms,手机 30ms)","Defaults by device type when unset (PC 22ms, mobile 30ms)","未指定時はデバイス既定(PC 22ms、モバイル 30ms)"),type:"number",optional:!0})],legacyActionType:"ai_agent_activate_and_inject_assistant_message"}),$d({key:"isEnabled",name:Bd("是否启用","Is Enabled","有効か"),desc:Bd("查询该智能体当前是否已启用(无副作用,可进条件槽)","Query whether this agent is currently enabled (pure)","このエージェントが現在有効かを取得(副作用なし)"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"ai_agent_enabled"}),$d({key:"isActive",name:Bd("是否选中","Is Active","選択中か"),desc:Bd("查询该智能体是否为当前选中/激活中的智能体(无副作用,可进条件槽)","Query whether this agent is the currently selected/active one (pure)","このエージェントが現在選択/アクティブ中かを取得(副作用なし)"),returns:jd({type:"boolean"}),pure:!0,legacyConditionFunc:"ai_agent_active"})]}),am({classKey:"audio_list",name:Bd("音频列表","Audio List","オーディオリスト"),desc:Bd("音频中心里的一个播放列表;无自身方法,作为 音频中心.播放列表 的参数使用","A playlist inside the audio center; has no methods, used as the argument of Audio.playList","オーディオセンター内のプレイリスト。メソッドなし、Audio.リスト再生 の引数として使用"),kind:"entity",groupKey:"content",entityInfo:em({listPath:"audioCenter.audioListData",selectorKey:"audio_list",usableAsVariableType:!0})}),am({classKey:"audio",name:Bd("音频","Audio","オーディオ"),desc:Bd("音频列表中的单条音频;无自身方法,作为 音频中心.播放列表 的可选定位参数使用","A single audio inside an audio list; has no methods, used as the optional locator argument of Audio.playList","オーディオリスト内の1件のオーディオ。メソッドなし、Audio.リスト再生 の任意指定引数として使用"),kind:"entity",groupKey:"content",entityInfo:em({listPath:"",parentPathSpec:["audioListId"],selectorKey:"audio",usableAsVariableType:!0})}),am({classKey:"target",name:Bd("目标点","Target","ターゲット"),desc:Bd("空间中的具名目的地点;无自身方法,作为 导航/摄像机移动 的目的地参数使用","Named destination point in space; has no methods, used as the destination argument of navigation/camera moves","空間内の名前付き目的地点。メソッドなし、ナビゲーション/カメラ移動の目的地引数として使用"),kind:"entity",groupKey:"content",entityInfo:em({listPath:"vrTargetList",selectorKey:"target",usableAsVariableType:!0})}),am({classKey:"wormhole",name:Bd("虫洞","Wormhole","ワームホール"),desc:Bd("导航中连接多个空间点的通道(如电梯);同组虫洞互通;无自身方法,仅作导航配置","Passage connecting spatial points in navigation (e.g. elevators); wormholes in the same group interconnect; configuration only","ナビゲーションで空間点をつなぐ通路(エレベーター等)。同グループ内は相互接続。メソッドなし、設定用"),kind:"entity",groupKey:"content",entityInfo:em({listPath:"vrWormholeList",selectorKey:"wormhole",usableAsVariableType:!0})}),am({classKey:"obstacle",name:Bd("阻隔器","Obstacle","障害物"),desc:Bd("在导航时阻断不可行走路径的体积;无自身方法,仅作导航配置","Volume blocking unwalkable paths during navigation; has no methods, configuration only","ナビゲーション時に通行不可経路を遮断するボリューム。メソッドなし、設定用"),kind:"entity",groupKey:"content",entityInfo:em({listPath:"vrObstacleList",selectorKey:"obstacle",usableAsVariableType:!0})})]}let fm=!1;function km(){if(!fm){fm=!0,rm(Em()),rm(Tm()),rm(Lm()),rm(bm()),rm(Rm());for(const e of lm()){if("entity"!==e.kind)continue;const t=dm(e.classKey);0!==t.length&&(e.methods.some((e=>"addListener"===e.key))||e.methods.push(nm(0,t)))}console.log(`[XrApiCatalog] 目录注册完成:${lm().length} 个类`)}}function Nm(e){switch(e){case j.TYPE_2D_IMAGE:return Xo.COMPONENT_2D_IMAGE;case j.TYPE_2D_VIDEO:return Xo.COMPONENT_2D_VIDEO;case j.TYPE_2D_TEXT:return Xo.COMPONENT_2D_TEXT;case j.TYPE_2D_PANEL:return Xo.COMPONENT_2D_PANEL;case j.TYPE_2D_ADVERTISEMENT:return Xo.COMPONENT_2D_ADVERTISEMENT;case j.TYPE_3D_BOX:return Xo.COMPONENT_3D_BOX;case j.TYPE_3D_MODEL:return Xo.COMPONENT_3D_MODEL;case j.TYPE_TAG:return Xo.COMPONENT_TAG;default:return Xo.COMPONENT_2D_IMAGE}}function Pm(e,t,a,n,s){if(Array.isArray(e)&&0!==e.length)for(const o of e)o.id&&n.has(o.id)||(o.createSourceId||(o.createSourceType=t,o.createSourceId=a),s.push(o),o.id&&n.add(o.id))}function Mm(e){if(!e)return;Array.isArray(e.triggerList)||(e.triggerList=[]);const t=new Set;for(const a of e.triggerList)a.id&&t.add(a.id);const a=[];if(Array.isArray(e.componentList))for(const n of e.componentList){const e=Nm(n.type),s=n;if(Pm(s.triggerList,e,n.id,t,a),s.triggerList=[],n.type===j.TYPE_2D_IMAGE){const e=n;if(Array.isArray(e.sourceList))for(const s of e.sourceList){const e=s;Pm(e.triggerList,Xo.COMPONENT_2D_IMAGE,n.id,t,a),e.triggerList=[]}}else if(n.type===j.TYPE_2D_VIDEO){const e=n;if(Array.isArray(e.sourceList))for(const s of e.sourceList){const e=s;Pm(e.triggerList,Xo.COMPONENT_2D_VIDEO,n.id,t,a),e.triggerList=[]}}else if(n.type===j.TYPE_2D_PANEL){const e=n;if(Array.isArray(e.sceneDataList))for(const s of e.sceneDataList){const e=s;Pm(e.triggerList,Xo.COMPONENT_2D_PANEL,n.id,t,a),e.triggerList=[]}}}if(Array.isArray(e.sweepList))for(const n of e.sweepList){const e=n;Pm(e.triggerList,"sweep",n.id,t,a),e.triggerList=[]}if(Array.isArray(e.vrFloorList))for(const n of e.vrFloorList){const e=n;Pm(e.triggerList,"floor",n.id,t,a),e.triggerList=[]}if(Array.isArray(e.xrVirtualFloorList))for(const n of e.xrVirtualFloorList){const e=n;Pm(e.triggerList,"xr_virtual_floor",n.id,t,a),e.triggerList=[]}if(Array.isArray(e.variableList))for(const n of e.variableList){const e=n;Pm(e.triggerList,Xo.LOGIC_VARIABLE,n.key,t,a),e.triggerList=[]}const n=e;if(Array.isArray(n.variableExpressionWatcherList)){for(const e of n.variableExpressionWatcherList){const n=e;Pm(n.triggerList,Xo.LOGIC_CONDITION_WATCHER,e.id,t,a),n.triggerList=[]}Array.isArray(n.conditionWatcherList)&&0!==n.conditionWatcherList.length||(n.conditionWatcherList=n.variableExpressionWatcherList),delete n.variableExpressionWatcherList}if(Array.isArray(e.conditionWatcherList))for(const n of e.conditionWatcherList){const e=n;Pm(e.triggerList,Xo.LOGIC_CONDITION_WATCHER,n.id,t,a),e.triggerList=[]}if(Array.isArray(e.spaceFenceList))for(const n of e.spaceFenceList){const e=n;Pm(e.triggerList,Xo.SPACE_FENCE,n.id,t,a),e.triggerList=[]}if(Array.isArray(e.spaceFenceGroupList))for(const n of e.spaceFenceGroupList){const e=n;Pm(e.triggerList,Xo.SPACE_FENCE_GROUP,n.id,t,a),e.triggerList=[]}a.length>0&&e.triggerList.push(...a)}function wm(e,t){const a=new hr;return a.key=e,a.placement=t,a}function vm(e){return e.map((e=>wm(e.key,e.placement)))}const Dm=["left","right","capsule","more","hidden"];function Vm(e,t){return Dm.includes(e.placement)?wm(e.key,e.placement):wm(e.key,Mr(e.key,t))}function Um(e){return wm(e.key,"hidden"===e.placement?"hidden":"surface")}function xm(e){return e.vrMainBarItems&&e.vrMainBarItems.length>0?e.vrMainBarItems.map((e=>Vm(e,Or))):Or.map((t=>wm(t.key,function(e,t){return!1==={fov:t.enabledFovBtn,d3:t.enabledD3ModeBtn,floorplan:t.enabledFloorPlanModeBtn,floor:t.enabledFloorSelectBtn,flow:t.enabledFlowBtn,measure:t.enabledMeasurementBtn,share:t.enabledShare,account:t.enabledStaffLogin||t.enabledGuestLogin}[e]?"hidden":Mr(e,Or)}(t.key,e))))}function Fm(e){return e.vrInfoBarItems&&e.vrInfoBarItems.length>0?e.vrInfoBarItems.map(Um):Lr.map((t=>wm(t.key,function(e,t){switch(e){case"minimap":return t.enabledMinimap?"surface":"hidden";case"fullscreen":return t.enabledFullScreen?"surface":"hidden";case"hamburger":return t.enabledHamburgerMenu?"surface":"hidden";case"audio":return"hidden";default:return"surface"}}(t.key,e))))}function Bm(e){return e.arBottomItems&&e.arBottomItems.length>0?e.arBottomItems.map((e=>Vm(e,br))):vm(br)}function Gm(e){return e.arInfoItems&&e.arInfoItems.length>0?e.arInfoItems.map(Um):vm(Rr)}function Km(e){e.vrMainBarItems&&0!==e.vrMainBarItems.length||(e.vrMainBarItems=xm(e)),e.vrInfoBarItems&&0!==e.vrInfoBarItems.length||(e.vrInfoBarItems=Fm(e)),e.arBottomItems&&0!==e.arBottomItems.length||(e.arBottomItems=Bm(e)),e.arInfoItems&&0!==e.arInfoItems.length||(e.arInfoItems=Gm(e))}function Hm(e){if(!e)return;let t=e.vrPlayerUiSettings;t||(t=new Qn,e.vrPlayerUiSettings=t),void 0===t.enabledMinimap&&["enabledFovBtn","enabledD3ModeBtn","enabledFloorPlanModeBtn","enabledFloorSelectBtn","enabledMinimap","enabledMeasurementBtn","enabledShare","enabledFullScreen"].forEach((e=>{t[e]=!0})),void 0===t.enabledFlowBtn&&(t.enabledFlowBtn=!1),void 0===t.enabledStaffLogin&&(t.enabledStaffLogin=!0),void 0===t.enabledGuestLogin&&(t.enabledGuestLogin=!0),void 0===t.enabledHamburgerMenu&&(t.enabledHamburgerMenu=!0),void 0===t.vrDefaultGlobalMute&&(t.vrDefaultGlobalMute=!1),void 0===t.arDefaultGlobalMute&&(t.arDefaultGlobalMute=!1),t.playerAppearance||(t.playerAppearance=new K),Km(t)}function Xm(e){e&&(function(e,t){const a=e,n=e=>{if(Array.isArray(e))for(const a of e)t(a)};if(n(e.variableList),Array.isArray(e.abilityList))for(const t of e.abilityList){const e=t;if(n(e.contextVariableList),n(e.activeActionListLocalVariableList),n(e.stopActionListLocalVariableList),Array.isArray(e.triggerList))for(const t of e.triggerList)n(t.localVariableList)}if(Array.isArray(a.vrFlowList))for(const e of a.vrFlowList){const t=e;if(n(t.flowScopeVariableList),Array.isArray(t.stepList))for(const e of t.stepList){const t=e;if(n(t.stepScopeVariableList),Array.isArray(t.triggerList))for(const e of t.triggerList){const t=e?.trigger;t&&n(t.localVariableList)}if(Array.isArray(t.finishInjectTriggerList))for(const e of t.finishInjectTriggerList)n(e.localVariableList);if(Array.isArray(t.buttonList))for(const e of t.buttonList)n(e.localVariableList)}}if(Array.isArray(e.triggerList))for(const t of e.triggerList)n(t.localVariableList);if(Array.isArray(e.backgroundThreadList))for(const t of e.backgroundThreadList)n(t.localVariableList);const s=e.prepareSettings;if(s&&(n(s.vrInitLocalVariableList),n(s.arInitLocalVariableList),n(s.allInitLocalVariableList)),Array.isArray(e.componentList))for(const t of e.componentList){const e=t;if(n(e.localVariableList),Array.isArray(e.triggerList))for(const t of e.triggerList)n(t.localVariableList)}if(Array.isArray(e.messageCardList))for(const t of e.messageCardList){const e=t;if(Array.isArray(e.buttonList))for(const t of e.buttonList)n(t.localVariableList)}}(e,Wm),function(e){if(Array.isArray(e.componentList))for(const t of e.componentList){if(t.type!==j.TYPE_2D_PANEL)continue;const e=t;if(Array.isArray(e.sceneDataList))for(const t of e.sceneDataList){const e=t;"enum-modifier"===e.mode&&(e.mode="variable-modifier");const a=e.enumModifierModeSettings;if(a&&a.variableKey&&(e.variableModifierModeSettings||(e.variableModifierModeSettings={}),e.variableModifierModeSettings.variableKey||(e.variableModifierModeSettings.variableKey=a.variableKey),e.variableModifierModeSettings.variableType||(e.variableModifierModeSettings.variableType="string"),e.enumModifierModeSettings=void 0),Array.isArray(t.buttonDataList))for(const e of t.buttonDataList){const t=e,a=t.enumOptionValue;if(void 0!==a&&""!==a){if(void 0!==t.optionValue&&""!==t.optionValue&&null!==t.optionValue||(t.optionValue=a),!t.optionLabel||!t.optionLabel.original_content){const e=new E;e.original_content=String(a),e.only_use_original_content=!0,t.optionLabel=e}t.enumOptionValue=void 0}}}}}(e),function(e){const t=e=>{if(e){if(e.actionType&&(e=>{if(e&&"logic_random_pick_enum"===e.actionType){e.actionType="logic_random_pick_from_recommend_options";const t=e.params||{};e.params={target:t.target??{scope:"global",key:""}}}})(e),Array.isArray(e.ifActionList))for(const a of e.ifActionList)t(a);if(Array.isArray(e.elseActionList))for(const a of e.elseActionList)t(a);if(Array.isArray(e.actionList))for(const a of e.actionList)t(a)}},a=e=>{if(Array.isArray(e))for(const a of e)t(a)};if(Array.isArray(e.triggerList))for(const t of e.triggerList)a(t.actionList);if(Array.isArray(e.componentList))for(const t of e.componentList)if(Array.isArray(t.triggerList))for(const e of t.triggerList)a(e.actionList);if(Array.isArray(e.abilityList))for(const t of e.abilityList){const e=t;if(a(e.activeActionList),a(e.stopActionList),Array.isArray(e.triggerList))for(const t of e.triggerList)a(t.actionList)}if(Array.isArray(e.vrFlowList))for(const t of e.vrFlowList){const e=t;if(Array.isArray(e.stepList))for(const t of e.stepList){const e=t;if(a(e.enterActionList),Array.isArray(e.arriveActionList))for(const t of e.arriveActionList)a(t.actionList);if(Array.isArray(e.triggerList))for(const t of e.triggerList){const e=t?.trigger;e&&a(e.actionList)}if(Array.isArray(e.finishInjectTriggerList))for(const t of e.finishInjectTriggerList)a(t.actionList);if(Array.isArray(e.buttonList))for(const t of e.buttonList)a(t.clickActionList)}}if(Array.isArray(e.backgroundThreadList))for(const t of e.backgroundThreadList)a(t.actionList);const n=e.prepareSettings;if(n&&(a(n.vrInitCompleteActionList),a(n.arInitCompleteActionList),a(n.allInitCompleteActionList)),Array.isArray(e.messageCardList))for(const t of e.messageCardList)if(Array.isArray(t.buttonList))for(const e of t.buttonList)a(e.clickActionList);if(Array.isArray(e.monitorList))for(const t of e.monitorList)if(Array.isArray(t.componentList))for(const e of t.componentList)a(e.clickActionList)}(e))}function Wm(e){if(!e)return;const t=e;if("enum"!==e.type)return;e.type="string";const a=(Array.isArray(t.enumOptions)?t.enumOptions:[]).map((e=>{const t=new pe;t.value=e;const a=new E;return a.original_content=e,a.only_use_original_content=!0,t.label=a,t}));Array.isArray(e.stringRecommendOptions)&&0!==e.stringRecommendOptions.length||(e.stringRecommendOptions=a),e.stringDefaultValue||(e.stringDefaultValue=t.enumDefaultValue??""),t.enumOptions=void 0,t.enumDefaultValue=void 0}function Ym(e){const t=e?.monitorList;if(Array.isArray(t))for(const e of t){if(!e)continue;if(e.displayMode!==Ns.POPUP&&e.displayMode!==Ns.FLOATING&&(e.displayMode=Ns.FLOATING),Array.isArray(e.sceneDataList)&&e.sceneDataList.length>0){e.defaultSceneId&&e.sceneDataList.some((t=>t&&t.id===e.defaultSceneId))||(e.defaultSceneId=e.sceneDataList[0].id);continue}const t=new Ps;t.name="画面 1",void 0!==e.size&&null!==e.size&&(t.size=e.size),void 0!==e.radius&&null!==e.radius&&(t.radius=e.radius),void 0!==e.backgroundColor&&null!==e.backgroundColor&&(t.backgroundColor=e.backgroundColor),void 0!==e.backgroundBlur&&null!==e.backgroundBlur&&(t.backgroundBlur=e.backgroundBlur),t.componentList=Array.isArray(e.componentList)?e.componentList:[],e.sceneDataList=[t],e.defaultSceneId=t.id}}const Jm="expression";function zm(e){return e?.root?qm(e.root):""}function qm(e){const t=(e.children||[]).filter((e=>!!e));if(0===t.length)return"";const a=t.map((e=>{if(e.kind===Ze.GROUP){const t=qm(e);return""===t?"false":`(${t})`}return function(e){if(e.funcName===Jm){const t=(e.args||[])[0],a=t&&null!=t.literalValue?String(t.literalValue).trim():"",n=a?`(${a})`:"false";return e.negate?`!(${n})`:n}const t=(e.args||[]).map(jm).join(", "),a=`${e.funcName}(${t})`;return e.negate?`!(${a})`:a}(e)})),n="or"===e.logicalOp?" || ":" && ",s=1===a.length?a[0]:a.join(n);return e.negate?`!(${s})`:s}function jm(e){if(e.argKind===et.VAR_REF){const t=e.variableScope||"global",a=e.variableKey||"";return a?"global"===t?`$${a}`:`_${t}.$${a}`:"undefined"}if(e.argKind===et.ARRAY_LITERAL)return`[${(e.arrayItems||[]).map($m).join(", ")}]`;const t=e.literalType,a=e.literalValue;return"number"===t?Zm("number"==typeof a?a:Number(a)||0):"boolean"===t?a?"true":"false":Qm("string"==typeof a?a:String(a??""))}function $m(e){return"number"===e.type?Zm("number"==typeof e.value?e.value:Number(e.value)||0):"boolean"===e.type?e.value?"true":"false":Qm("string"==typeof e.value?e.value:String(e.value??""))}function Qm(e){return JSON.stringify(e)}function Zm(e){return Number.isFinite(e)?String(e):"0"}function ep(e,t){const a={deps:[],hasCustomJs:!1};return e?.root?(tp(e.root,t,a),a):a}function tp(e,t,a){for(const n of e.children||[])n&&(n.kind===Ze.GROUP?tp(n,t,a):ap(n,t,a))}function ap(e,t,a){if(e.funcName===Jm)return void(a.hasCustomJs=!0);for(const t of e.args||[])t&&t.argKind===et.VAR_REF&&t.variableKey&&a.deps.push({sourceType:"variable",sourceId:String(t.variableKey)});const n=t[e.funcName];if(!n||"none"===n.kind)return;if("no-id"===n.kind)return void a.deps.push({sourceType:n.sourceType,sourceId:"*"});const s=(e.args||[])[n.argIndex];let o="*";s&&s.argKind===et.LITERAL&&null!=s.literalValue&&(o=String(s.literalValue)),a.deps.push({sourceType:n.sourceType,sourceId:o})}function np(e){const t=Math.min(100,Math.max(0,e.percent)),a="horizontal"===e.direction,n={transition:a?"width 0.3s ease":"height 0.3s ease"};a?(n.width=t+"%",n.height="100%"):(n.width="100%",n.height=t+"%",n.position="absolute",n.bottom="0",n.left="0");const s=e.color,o=e.colorEnd&&""!==e.colorEnd?e.colorEnd:e.color,r=a?"90deg":"0deg";switch(e.style){case"gradient":n.background=`linear-gradient(${r}, ${s}, ${o})`;break;case"striped":n.background=`linear-gradient(45deg,\n rgba(255,255,255,0.18) 25%, transparent 25%,\n transparent 50%, rgba(255,255,255,0.18) 50%,\n rgba(255,255,255,0.18) 75%, transparent 75%, transparent) ,\n ${s}`,n.backgroundSize="14px 14px, auto";break;case"striped-animated":n.background=`linear-gradient(45deg,\n rgba(255,255,255,0.22) 25%, transparent 25%,\n transparent 50%, rgba(255,255,255,0.22) 50%,\n rgba(255,255,255,0.22) 75%, transparent 75%, transparent) ,\n ${s}`,n.backgroundSize="14px 14px, auto",n.animation="vrtalk-progress-stripes 0.8s linear infinite";break;case"glow":n.background=`linear-gradient(180deg,\n rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.0) 50%) ,\n ${s}`,n.boxShadow=`0 0 6px ${s}66 inset, 0 0 4px ${s}88`;break;default:n.background=s}return n}const sp="\n@keyframes vrtalk-progress-stripes {\n from { background-position: 0 0, 0 0; }\n to { background-position: 28px 0, 0 0; }\n}\n",op=600,rp=32;function ip(e,t,a,n,s){return cp(e,lp(e,t),a,n,t,s)}function lp(e,t){const n=e.points||[];if(n.length<2)return{legs:[],totalLengthM:0,sampleStepUsedM:e.sampleStepM};const s=!!e.closed&&n.length>=3,o=s?fl.NONE:e.roundTrip||fl.NONE,r=s?n.length:n.length-1,i=[];let l=e.speedMps>0?e.speedMps:.1;for(let e=0;e<r;e++){const t=n[e].speedOverrideMps;null!=t&&t>0&&(l=t),i.push(l)}let c=e.sampleStepM>.05?e.sampleStepM:.05;const d=function(e,t){let a=0;for(let t=1;t<e.length;t++)a+=Up(e[t-1].position,e[t].position);return t&&e.length>=3&&(a+=Up(e[e.length-1].position,e[0].position)),a}(n,s),m=o===fl.NONE?1:2;e.smoothing===kl.SMOOTH&&d/c*m>op&&(c=d*m/op);const p=function(e,t,n,s,o,r){const i=e.mode===bl.GROUND,l=i&&e.groundOffset||0,c=i&&r?r:null,d=(e,t,n,s)=>{let o=e.y;if(c){const t=c(e.x,e.y,e.z);null!=t&&isFinite(t)&&(o=t)}const r=new a(e.x,o+l,e.z);return{position:r,groundY:o,isControlPoint:!!t,controlPointId:t?t.id:"",segmentLength:s?Up(s.position,r):0,speedMps:n,hoverMs:t?t.hoverMs:0,turnMode:t&&t.turnMode?t.turnMode:"while-moving",turnSpeedDegPerSec:t&&t.turnSpeedDegPerSec&&t.turnSpeedDegPerSec>0?t.turnSpeedDegPerSec:120}},m=[],p=t[0];m.push(d(p.position,p,n[0],null));const _=s?t.length:t.length-1;for(let a=0;a<_;a++){const r=t[a],i=t[(a+1)%t.length],l=n[a];if(e.smoothing===kl.SMOOTH){const e=s?t[(a-1+t.length)%t.length]:t[a-1]||r,n=s?t[(a+2)%t.length]:t[a+2]||i,c=[];for(let t=1;t<=rp;t++)c.push(wp(e.position,r.position,i.position,n.position,t/rp));let p=0,_=r.position;const y=[];for(const e of c)p+=Up(_,e),y.push(p),_=e;const u=Math.max(1,Math.ceil(p/o));for(let e=1;e<=u;e++){const t=p*e/u,a=e===u?i.position:vp(r.position,c,y,t);m.push(d(a,e===u?i:null,l,m[m.length-1]))}}else m.push(d(i.position,i,l,m[m.length-1]))}return m}(e,n,i,s,c,t),_=[p];o!==fl.NONE&&p.length>=2&&_.push(function(e){const t=[];for(let n=e.length-1;n>=0;n--){const s=e[n],o=t[t.length-1]||null;t.push({position:new a(s.position.x,s.position.y,s.position.z),groundY:s.groundY,isControlPoint:s.isControlPoint,controlPointId:s.controlPointId,segmentLength:o?e[n+1].segmentLength:0,speedMps:o?e[n+1].speedMps:s.speedMps,hoverMs:o?s.hoverMs:0,turnMode:s.turnMode,turnSpeedDegPerSec:s.turnSpeedDegPerSec})}return t}(p));let y=0;return _.forEach((e=>e.forEach((e=>y+=e.segmentLength)))),{legs:_,totalLengthM:y,sampleStepUsedM:c}}function cp(e,t,n,s,o,r){const i=[],l={totalLengthM:t.totalLengthM,estimatedDurationMs:0,keyframeCount:0,sampleStepUsedM:t.sampleStepUsedM};if(0===t.legs.length||t.legs[0].length<2)return{keyFrameList:i,stats:l};const c=e.orientMode!==Rl.NONE,d=e.orientMode===Rl.FULL;let m=new a(s.x,s.y,s.z),_=0;const u=Sp(e,s),g=(e,t,n,s,o)=>{const r=new de;if(r.id=y.randomUUID(),r.name=o,r.isTransformTranslate=!0,r.transformTranslate=new a(e.x,e.y,e.z),c&&t){r.isTransformRotate=!0;const e=Ip(u.forwardLocal,u.upLocal,t.yawDeg,t.pitchDeg),n=function(e,t){const n=kp(fp(e.x,e.y,e.z)),s=kp(t),o=[s,{x:s.x+180,y:180-s.y,z:s.z+180}];let r=null,i=1/0;for(const e of o){const t=new a(Rp(e.x,n.x),Rp(e.y,n.y),Rp(e.z,n.z)),s=Math.abs(t.x-n.x)+Math.abs(t.y-n.y)+Math.abs(t.z-n.z);s<i-1e-9&&(r=t,i=s)}return r}(m,e);r.transformRotate=n,m=new a(n.x,n.y,n.z)}r.easingAnimationSettings.easeFunction=p.LINEAR,r.easingAnimationSettings.duration=Math.max(1,Math.round(n)),r.easingAnimationSettings.waitTime=Math.max(0,Math.round(s)),_+=r.easingAnimationSettings.duration+r.easingAnimationSettings.waitTime,i.push(r)},E=t.legs.map((e=>function(e,t,a){const n=[];let s=0,o=0;for(let t=0;t<e.length;t++){const r=0===t?e[0].position:e[t-1].position,i=0===t?e[1]?e[1].position:e[0].position:e[t].position,l=i.x-r.x,c=i.y-r.y,d=i.z-r.z,m=Math.sqrt(l*l+c*c+d*d);m>1e-6&&(s=Bp(Math.atan2(l,d))+0,o=a?-Bp(Math.asin(xp(c/m,-1,1))):0),n.push({yawDeg:s,pitchDeg:o})}return n}(e,0,d))),T=r&&r.supportHalfDistM?r.supportHalfDistM:0,A=e.mode===bl.GROUND&&!!o&&T>.01,C=(t,n)=>{if(!A)return{position:t.position,orient:n};const s=Op(t.position.x,t.groundY,t.position.z,n.yawDeg,d,o,T,e.groundOffset||0);return{position:new a(t.position.x,s.y,t.position.z),orient:{yawDeg:n.yawDeg,pitchDeg:d?s.pitchDeg:0}}},S=t.legs[0],h=C(S[0],E[0][0]),I=h.orient;let O=h.position,L=h.orient.pitchDeg;if(e.startMode===Nl.WALK_IN){const t=Up(n,h.position),a=S.length>1?S[1].speedMps:e.speedMps;g(h.position,I,t/Math.max(.1,a)*1e3,0,"起点")}else g(h.position,I,1,0,"起点");let b=0;for(let a=0;a<t.legs.length;a++){const n=t.legs[a],s=E[a];if(a>0){const o=t.legs[a-1],r=o[o.length-1].hoverMs,i=C(n[0],s[0]);g(i.position,i.orient,e.turnDurationMs,r,"掉头"),O=i.position,L=i.orient.pitchDeg}for(let e=1;e<n.length;e++){const t=n[e],o=n[e-1];let r=1===e&&a>0?0:o.hoverMs;if(c&&e>1&&o.isControlPoint&&o.turnMode===Pl.TURN_THEN_GO){const t=bp(s[e-1],s[e]);t>2&&(b++,g(O,{yawDeg:s[e].yawDeg,pitchDeg:L},t/Math.max(10,o.turnSpeedDegPerSec)*1e3,r,`转身 ${b}`),r=0)}const i=t.segmentLength/Math.max(.1,t.speedMps)*1e3;b++;const l=C(t,s[e]);g(l.position,l.orient,i,r,`路径 ${b}`),O=l.position,L=l.orient.pitchDeg}if(e.closed&&a===t.legs.length-1&&n.length>1){const e=n[n.length-1];if(c&&e.isControlPoint&&e.turnMode===Pl.TURN_THEN_GO){const t=bp(s[n.length-1],I);t>2&&g(O,{yawDeg:I.yawDeg,pitchDeg:I.pitchDeg},t/Math.max(10,e.turnSpeedDegPerSec)*1e3,e.hoverMs,"回正")}}}if(t.legs.length>1){const a=t.legs[t.legs.length-1],n=a[a.length-1].hoverMs;g(O,I,e.turnDurationMs,n,"回正")}return{keyFrameList:i,stats:{totalLengthM:t.totalLengthM,estimatedDurationMs:_,keyframeCount:i.length,sampleStepUsedM:t.sampleStepUsedM}}}function dp(e){return e.roundTrip!==fl.BACK_LOOP||e.closed?e.closed?le.LOOP_FROM_ORIGINAL_STATE:le.STAY_AT_LAST_FRAME:le.LOOP_FROM_ORIGINAL_STATE}function mp(e,t){if(!e||e.length<=2)return(e||[]).map((e=>new a(e.x,e.y,e.z)));const n=new Array(e.length).fill(!1);n[0]=n[e.length-1]=!0;const s=[[0,e.length-1]];for(;s.length>0;){const[a,o]=s.pop();let r=-1,i=-1;for(let t=a+1;t<o;t++){const n=Dp(e[t],e[a],e[o]);n>r&&(r=n,i=t)}r>t&&i>0&&(n[i]=!0,s.push([a,i],[i,o]))}const o=[];for(let t=0;t<e.length;t++)n[t]&&o.push(new a(e[t].x,e[t].y,e[t].z));return o}function pp(e,t,a){const n=Math.cos(Fp(e)/2),s=Math.sin(Fp(e)/2),o=Math.cos(Fp(t)/2),r=Math.sin(Fp(t)/2),i=Math.cos(Fp(a)/2),l=Math.sin(Fp(a)/2);return[s*o*i+n*r*l,n*r*i-s*o*l,n*o*l+s*r*i,n*o*i-s*r*l]}function _p(e){const t=pp(e.x,e.y,e.z),a=Math.sqrt(t[3]*t[3]+t[1]*t[1]);if(a<1e-6)return 0;let n=Bp(2*Math.atan2(t[1]/a,t[3]/a));for(;n>180;)n-=360;for(;n<-180;)n+=360;return n}function yp(e,t,n){const s=Mp(function(e,t){return Mp(Pp(Fp(e)),Np(Fp(t)))}(t,n),function(e){const t=pp(e.x,e.y,e.z),a=Math.sqrt(t[3]*t[3]+t[1]*t[1]);return a<1e-6?[1,0,0,0,1,0,0,0,1]:function(e){const[t,a,n,s]=e,o=t+t,r=a+a,i=n+n,l=t*o,c=t*r,d=t*i,m=a*r,p=a*i,_=n*i,y=s*o,u=s*r,g=s*i;return[1-(m+_),c-g,d+u,c+g,1-(l+_),p-y,d-u,p+y,1-(l+m)]}(function(e,t){const[a,n,s,o]=e,[r,i,l,c]=t;return[o*r+a*c+n*l-s*i,o*i-a*l+n*c+s*r,o*l+a*i-n*r+s*c,o*c-a*r-n*i-s*l]}(function(e){return[-e[0],-e[1],-e[2],e[3]]}([0,t[1]/a,0,t[3]/a]),t))}(e)),o=kp(s);return new a(o.x,o.y,o.z)}function up(e){const t=Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z);return t<1e-9?new a(0,0,1):new a(e.x/t,e.y/t,e.z/t)}function gp(e,t){return new a(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)}function Ep(e,t){const n=up(e);let s=gp(t,n);s.x*s.x+s.y*s.y+s.z*s.z<1e-9&&(s=gp(new a(0,0,1),n),s.x*s.x+s.y*s.y+s.z*s.z<1e-9&&(s=gp(new a(1,0,0),n))),s=up(s);const o=gp(n,s);return[s.x,o.x,n.x,s.y,o.y,n.y,s.z,o.z,n.z]}function Tp(e){return[e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]]}function Ap(e,t){return new a(e[0]*t.x+e[1]*t.y+e[2]*t.z,e[3]*t.x+e[4]*t.y+e[5]*t.z,e[6]*t.x+e[7]*t.y+e[8]*t.z)}function Cp(e,t){const n=Fp(e),s=Fp(t);return new a(Math.cos(s)*Math.sin(n),-Math.sin(s),Math.cos(s)*Math.cos(n))}function Sp(e,t){const n=Tp(fp(t.x,t.y,t.z)),s=up(Ap(n,Cp(_p(t)-(e.forwardYawOffsetDeg||0),0)));let o=up(Ap(n,new a(0,1,0)));const r=o.x*s.x+o.y*s.y+o.z*s.z;o=up(new a(o.x-r*s.x,o.y-r*s.y,o.z-r*s.z));const i=Lp(o,s,e.upAdjustDeg||0);return{forwardLocal:up(Lp(s,i,e.forwardAdjustDeg||0)),upLocal:up(i)}}function hp(e,t,n,s){const o=kp(Ip(e,t,n,s));return new a(o.x,o.y,o.z)}function Ip(e,t,n,s){return Mp(Ep(Cp(n,s),new a(0,1,0)),Tp(Ep(e,t)))}function Op(e,t,a,n,s,o,r,i){const l=Math.max(.05,r),c=Fp(n),d=Math.sin(c),m=Math.cos(c),p=t+.5,_=o(e+d*l,p,a+m*l),y=o(e-d*l,p,a-m*l),u=null!==_&&isFinite(_)?_:t,g=null!==y&&isFinite(y)?y:t;return{y:Math.max((u+g)/2,t)+i,pitchDeg:s?-Bp(Math.atan2(u-g,2*l)):0}}function Lp(e,t,n){const s=up(t),o=Fp(n),r=Math.cos(o),i=Math.sin(o),l=e.x*s.x+e.y*s.y+e.z*s.z,c=gp(s,e);return new a(e.x*r+c.x*i+s.x*l*(1-r),e.y*r+c.y*i+s.y*l*(1-r),e.z*r+c.z*i+s.z*l*(1-r))}function bp(e,t){let a=Math.abs(t.yawDeg-e.yawDeg)%360;a>180&&(a=360-a);const n=Math.abs(t.pitchDeg-e.pitchDeg);return Math.max(a,n)}function Rp(e,t){let a=e;for(;a-t>180;)a-=360;for(;a-t<-180;)a+=360;return a}function fp(e,t,a){return Mp(Mp(Np(Fp(e)),Pp(Fp(t))),function(e){const t=Math.cos(e),a=Math.sin(e);return[t,-a,0,a,t,0,0,0,1]}(Fp(a)))}function kp(e){const t=e[0],a=e[1],n=e[2],s=e[4],o=e[5],r=e[7],i=e[8],l=Math.asin(xp(n,-1,1));let c,d;return Math.abs(n)<.9999999?(c=Math.atan2(-o,i),d=Math.atan2(-a,t)):(c=Math.atan2(r,s),d=0),{x:Bp(c),y:Bp(l),z:Bp(d)}}function Np(e){const t=Math.cos(e),a=Math.sin(e);return[1,0,0,0,t,-a,0,a,t]}function Pp(e){const t=Math.cos(e),a=Math.sin(e);return[t,0,a,0,1,0,-a,0,t]}function Mp(e,t){const a=new Array(9).fill(0);for(let n=0;n<3;n++)for(let s=0;s<3;s++)a[3*n+s]=e[3*n]*t[s]+e[3*n+1]*t[3+s]+e[3*n+2]*t[6+s];return a}function wp(e,t,a,n,s){const o=0+Math.max(1e-4,Math.sqrt(Up(e,t))),r=o+Math.max(1e-4,Math.sqrt(Up(t,a))),i=r+Math.max(1e-4,Math.sqrt(Up(a,n))),l=o+(r-o)*s,c=Vp(e,t,(l-0)/(o-0)),d=Vp(t,a,(l-o)/(r-o)),m=Vp(a,n,(l-r)/(i-r)),p=Vp(c,d,(l-0)/(r-0)),_=Vp(d,m,(l-o)/(i-o));return Vp(p,_,(l-o)/(r-o))}function vp(e,t,a,n){let s=e,o=0;for(let e=0;e<t.length;e++){if(a[e]>=n){const r=a[e]-o,i=r>1e-9?(n-o)/r:1;return Vp(s,t[e],i)}s=t[e],o=a[e]}return t.length>0?t[t.length-1]:e}function Dp(e,t,a){const n=a.x-t.x,s=a.y-t.y,o=a.z-t.z,r=e.x-t.x,i=e.y-t.y,l=e.z-t.z,c=n*n+s*s+o*o,d=c>1e-12?xp((r*n+i*s+l*o)/c,0,1):0,m=t.x+n*d,p=t.y+s*d,_=t.z+o*d;return Math.sqrt((e.x-m)**2+(e.y-p)**2+(e.z-_)**2)}function Vp(e,t,n){return new a(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n,e.z+(t.z-e.z)*n)}function Up(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2+(e.z-t.z)**2)}function xp(e,t,a){return Math.min(a,Math.max(t,e))}function Fp(e){return e*Math.PI/180}function Bp(e){return 180*e/Math.PI}return t})()));
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var a=t();for(var n in a)("object"==typeof exports?exports:e)[n]=a[n]}}(this,(()=>(()=>{"use strict";var e={d:(t,a)=>{for(var n in a)e.o(a,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:a[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{AR_BOTTOM_ICON_KEYS:()=>Nr,AR_INFO_BAR_DEFAULT:()=>Rr,AR_INFO_ICON_KEYS:()=>Pr,AR_MAIN_BAR_DEFAULT:()=>br,AiCheckImageSourceKindDefine:()=>bn,ArCommonSettings:()=>No,ArPositionXSettings:()=>Fo,CameraCaptureModeDefine:()=>On,ChromaKeySettings:()=>m,Color:()=>d,ColorBuilder:()=>l,ColorParser:()=>c,Component2dFaceToCameraModeDefine:()=>te,EXPRESSION_FUNC_NAME:()=>Xm,EaseAnimationFunctionDefine:()=>p,EaseAnimationSettings:()=>_,FreeButton:()=>T,GotoPositionMethodDefine:()=>A,HoverBorderSettings:()=>C,LanguageTypeDefine:()=>g,LogicCurrentTimeOutputTypeDefine:()=>gn,LogicRandomColorPaletteDefine:()=>yn,MediaLoopModeDefine:()=>O,MonitorPopupChangeTypeDefine:()=>La,MonitorVideoMuteChangeTypeDefine:()=>Aa,MonitorVideoPlayChangeTypeDefine:()=>Ta,MultiLanguageStr:()=>E,PROGRESS_BAR_KEYFRAMES_CSS:()=>ap,ParentComCommandAssetLabel:()=>$c,ParentComCommandAssetPointMark:()=>Qc,ParentComCommandAssetVolumeMark:()=>Zc,ParentComCommandAudio:()=>id,ParentComCommandCamera:()=>ad,ParentComCommandComponent:()=>Xc,ParentComCommandCover:()=>Gc,ParentComCommandDollyPath:()=>yd,ParentComCommandFloor:()=>td,ParentComCommandFov:()=>Yc,ParentComCommandHamburgerMenu:()=>ud,ParentComCommandInfoTemplate:()=>Hc,ParentComCommandInformation:()=>Wc,ParentComCommandLayer:()=>Jc,ParentComCommandLight:()=>zc,ParentComCommandMarker:()=>sd,ParentComCommandMessageCard:()=>_d,ParentComCommandMonitor:()=>pd,ParentComCommandNavigation:()=>od,ParentComCommandObstacle:()=>rd,ParentComCommandPathDesign:()=>gd,ParentComCommandPlayer:()=>Bc,ParentComCommandRayHitter:()=>dd,ParentComCommandRenderer:()=>nd,ParentComCommandSpaceFence:()=>md,ParentComCommandSticker:()=>jc,ParentComCommandSweep:()=>ed,ParentComCommandTarget:()=>ld,ParentComCommandTrimmer:()=>qc,ParentComCommandUi:()=>Kc,ParentComCommandWormhole:()=>cd,ParentComMessageAssetLabel:()=>Rd,ParentComMessageAssetPointMark:()=>fd,ParentComMessageAssetVolumeMark:()=>kd,ParentComMessageCamera:()=>Ed,ParentComMessageComponent:()=>Td,ParentComMessageDollyPath:()=>vd,ParentComMessageFloor:()=>Cd,ParentComMessageFov:()=>Ad,ParentComMessageNavigation:()=>Id,ParentComMessageObstacle:()=>Od,ParentComMessagePathDesign:()=>Dd,ParentComMessagePlayer:()=>Fc,ParentComMessageRayHitter:()=>Md,ParentComMessageRenderer:()=>hd,ParentComMessageSpaceFence:()=>wd,ParentComMessageSticker:()=>bd,ParentComMessageSweep:()=>Sd,ParentComMessageTarget:()=>Nd,ParentComMessageTrimmer:()=>Ld,ParentComMessageWormhole:()=>Pd,PlayerComCommand:()=>Ul,PlayerComCommandAssetLabel:()=>nc,PlayerComCommandAssetPointMark:()=>sc,PlayerComCommandAssetVolumeMark:()=>oc,PlayerComCommandAudio:()=>ac,PlayerComCommandCamera:()=>$l,PlayerComCommandComponent:()=>Wl,PlayerComCommandCover:()=>Bl,PlayerComCommandDollyPath:()=>pc,PlayerComCommandFloor:()=>jl,PlayerComCommandFov:()=>Xl,PlayerComCommandHamburgerMenu:()=>_c,PlayerComCommandInfoTemplate:()=>Kl,PlayerComCommandInformation:()=>Hl,PlayerComCommandLayer:()=>Yl,PlayerComCommandLight:()=>Jl,PlayerComCommandMarker:()=>Zl,PlayerComCommandMessageCard:()=>mc,PlayerComCommandMonitor:()=>dc,PlayerComCommandNavigation:()=>ec,PlayerComCommandObstacle:()=>tc,PlayerComCommandPathDesign:()=>yc,PlayerComCommandPlayer:()=>Fl,PlayerComCommandRayHitter:()=>lc,PlayerComCommandRenderer:()=>Ql,PlayerComCommandSpaceFence:()=>cc,PlayerComCommandSticker:()=>ql,PlayerComCommandSweep:()=>Uc,PlayerComCommandTarget:()=>rc,PlayerComCommandTrimmer:()=>zl,PlayerComCommandTypeDefine:()=>xl,PlayerComCommandUi:()=>Gl,PlayerComCommandWormhole:()=>ic,PlayerComMessage:()=>uc,PlayerComMessageAssetLabel:()=>fc,PlayerComMessageAssetPointMark:()=>kc,PlayerComMessageAssetVolumeMark:()=>Nc,PlayerComMessageCamera:()=>Ec,PlayerComMessageComponent:()=>Tc,PlayerComMessageDollyPath:()=>Dc,PlayerComMessageFloor:()=>Cc,PlayerComMessageFov:()=>Ac,PlayerComMessageNavigation:()=>Oc,PlayerComMessageObstacle:()=>Lc,PlayerComMessagePathDesign:()=>Vc,PlayerComMessagePlayer:()=>Sc,PlayerComMessageRayHitter:()=>wc,PlayerComMessageRenderer:()=>Ic,PlayerComMessageSpaceFence:()=>vc,PlayerComMessageSticker:()=>Rc,PlayerComMessageSweep:()=>hc,PlayerComMessageTarget:()=>Pc,PlayerComMessageTrimmer:()=>bc,PlayerComMessageTypeDefine:()=>gc,PlayerComMessageWormhole:()=>Mc,PlayerController:()=>xc,PopupUserFormField:()=>mn,PositionXAbnormalHandheldSettings:()=>Mo,PositionXCorrectionSettings:()=>xo,PositionXDistanceTrigger:()=>Do,PositionXDynamicSettings:()=>Uo,PositionXInitialSettings:()=>wo,PositionXQualitySettings:()=>Po,PositionXScoreTier:()=>Vo,PositionXTimerTrigger:()=>vo,RayHitterDetectFaceDefine:()=>wr,RayHitterFaceConfig:()=>vr,RendererResolution:()=>S,TakeScreenshotVisibility:()=>h,TintableIconRef:()=>I,TtsTextModeDefine:()=>xa,UnityNavigationMode:()=>L,UnityNavigationParams:()=>b,UnityNavigationPlan:()=>R,VRTalkBaseData:()=>u,VRTalkEditablePlayer:()=>Vd,VR_ACTION_PLATFORM_CAPABILITY_AR_ONLY:()=>Vn,VR_ACTION_PLATFORM_CAPABILITY_VR_AND_AR:()=>Dn,VR_ACTION_PLATFORM_CAPABILITY_VR_ONLY:()=>vn,VR_INFO_BAR_DEFAULT:()=>Lr,VR_INFO_BAR_ICON_KEYS:()=>kr,VR_MAIN_BAR_DEFAULT:()=>Or,VR_MAIN_BAR_ICON_KEYS:()=>fr,Vector2:()=>n,Vector3:()=>a,VrAction:()=>ze,VrActionAnalyticsValueModeDefine:()=>ln,VrActionCloudFormValueModeDefine:()=>an,VrActionHitAnalyticsEventFieldBinding:()=>cn,VrActionParams:()=>Ot,VrActionParams2dGeneralChangeDeformationSettings:()=>kt,VrActionParams2dImageChangeSource:()=>Pt,VrActionParams2dPanelButtonChangeEnabled:()=>xt,VrActionParams2dPanelChangeScene:()=>Ut,VrActionParams2dTextChangeSource:()=>Nt,VrActionParams2dVideoChangeMuteState:()=>vt,VrActionParams2dVideoChangePlayState:()=>wt,VrActionParams2dVideoChangeSource:()=>Mt,VrActionParams3dBoxChangeColor:()=>Dt,VrActionParams3dModelOperateAnimationClip:()=>Ht,VrActionParamsAbilityEnable:()=>ht,VrActionParamsAbilityStop:()=>It,VrActionParamsAiAgentActivate:()=>Ka,VrActionParamsAiAgentActivateAndInjectAssistantMessage:()=>qa,VrActionParamsAiAgentActivateAndInjectDialogue:()=>Ja,VrActionParamsAiAgentActivateAndSendUserMessage:()=>Ya,VrActionParamsAiAgentHide:()=>Ha,VrActionParamsAiAgentInjectHiddenStateMessage:()=>za,VrActionParamsAiAgentWake:()=>Xa,VrActionParamsAiCheckRun:()=>Rn,VrActionParamsAiCheckTakePhoto:()=>Ln,VrActionParamsAudioCenterPlayList:()=>Kt,VrActionParamsAudioCenterSetVolume:()=>Za,VrActionParamsBackgroundThread:()=>Ga,VrActionParamsCameraDollyMove:()=>Yt,VrActionParamsCameraDollyStop:()=>Jt,VrActionParamsCameraMoveTo:()=>Xt,VrActionParamsCanvasComponentChangeVisibility:()=>Ra,VrActionParamsCloudFormCollectField:()=>sn,VrActionParamsCloudFormReset:()=>rn,VrActionParamsCloudFormShowDialog:()=>nn,VrActionParamsCloudFormSubmit:()=>on,VrActionParamsComponentGeneralAudioSourceChangeLoopMode:()=>Gt,VrActionParamsComponentGeneralAudioSourcePause:()=>Bt,VrActionParamsComponentGeneralAudioSourcePlayControl:()=>Ft,VrActionParamsComponentGeneralChangeTransform:()=>Rt,VrActionParamsComponentGeneralChangeVisibility:()=>bt,VrActionParamsComponentGeneralOperateTransitionAnimation:()=>ft,VrActionParamsComponentTagSimulateClick:()=>Vt,VrActionParamsFlowEnter:()=>ia,VrActionParamsFlowExit:()=>la,VrActionParamsHamburgerMenuChangeOpenState:()=>Na,VrActionParamsHamburgerMenuGroupChangeExpanded:()=>Pa,VrActionParamsHamburgerMenuNodeChangeVisibility:()=>ka,VrActionParamsHitAnalyticsEvent:()=>dn,VrActionParamsInformationContentCardShow:()=>Zt,VrActionParamsInformationLinkOpen:()=>ea,VrActionParamsLayerChangeVisibility:()=>fa,VrActionParamsLogicCurrentTime:()=>En,VrActionParamsLogicRandomColor:()=>un,VrActionParamsLogicRandomNumber:()=>_n,VrActionParamsLogicRandomPickBoolean:()=>Cn,VrActionParamsLogicRandomPickColor:()=>Sn,VrActionParamsLogicRandomPickCssColor:()=>hn,VrActionParamsLogicRandomPickFromRecommendOptions:()=>In,VrActionParamsLogicRandomPickNumber:()=>An,VrActionParamsLogicRandomPickString:()=>Tn,VrActionParamsLogicVariableBooleanToggle:()=>ra,VrActionParamsLogicVariableModify:()=>ta,VrActionParamsLogicVariableNumberAdd:()=>aa,VrActionParamsLogicVariableStringAdvanced:()=>oa,VrActionParamsLogicVariableStringAppend:()=>na,VrActionParamsLogicVariableStringTrimEnd:()=>sa,VrActionParamsMessageCardChangeShowState:()=>wa,VrActionParamsMessageCardCreateTemporary:()=>Va,VrActionParamsMessageCardDestroyTemporary:()=>Ua,VrActionParamsMessageCardHide:()=>Da,VrActionParamsMessageCardShow:()=>va,VrActionParamsMonitorChangeBadgeStyle:()=>Ia,VrActionParamsMonitorChangeBadgeText:()=>ha,VrActionParamsMonitorChangeEnabled:()=>ua,VrActionParamsMonitorChangePopupVisible:()=>ba,VrActionParamsMonitorComponentChangeVisibility:()=>Ea,VrActionParamsMonitorSwitchActiveScene:()=>Oa,VrActionParamsMonitorSwitchActiveTab:()=>ga,VrActionParamsMonitorVideoChangeMuteState:()=>Sa,VrActionParamsMonitorVideoChangePlayState:()=>Ca,VrActionParamsNavigationStart:()=>Wt,VrActionParamsPopupUserFormShowDialog:()=>pn,VrActionParamsRayHitterActivate:()=>fn,VrActionParamsRayHitterDeactivate:()=>kn,VrActionParamsSendBroadcast:()=>da,VrActionParamsSweepChangeEnabled:()=>zt,VrActionParamsSweepChangePanorama:()=>qt,VrActionParamsSweepMarkerChangeEnabled:()=>jt,VrActionParamsSweepOnlyEnableCurrent:()=>Qt,VrActionParamsSweepResetToDefault:()=>$t,VrActionParamsSystemColorSpaceDisplayBrightness:()=>tn,VrActionParamsSystemColorSpaceSceneTint:()=>en,VrActionParamsSystemCommonWait:()=>Lt,VrActionParamsSystemOpenWebpage:()=>$a,VrActionParamsSystemSetInteractiveState:()=>Qa,VrActionParamsSystemStateScopeCreate:()=>pa,VrActionParamsSystemStateScopeDestroy:()=>ya,VrActionParamsSystemStateScopeSwitch:()=>_a,VrActionParamsSystemUiSettingsChange:()=>Ma,VrActionParamsTtsPlayVoice:()=>Fa,VrActionParamsTtsRealtimeStream:()=>Ba,VrActionParamsVisualizationControllerCloseAll:()=>Mn,VrActionParamsVisualizationControllerHide:()=>Pn,VrActionParamsVisualizationControllerPop:()=>Nn,VrActionSystemOpenWebpagePcModeDefine:()=>ja,VrActionTypeDefine:()=>St,VrAdChannel:()=>Gn,VrAdItem:()=>Kn,VrAiSettings:()=>Hn,VrAppearanceStyle:()=>K,VrAssetLabel:()=>Wn,VrAssetPointMark:()=>Xn,VrAssetVolumeMark:()=>Yn,VrAudio:()=>J,VrAudioCenter:()=>W,VrAudioList:()=>q,VrAudioLyric:()=>z,VrCameraEnterSettings:()=>Ro,VrCameraModeDefine:()=>s,VrCameraMoveTransitionTypeDefine:()=>o,VrCameraPose:()=>i,VrColorSpaceSettings:()=>as,VrComponent2dAdvertisementData:()=>Yi,VrComponent2dDeformationModeDefine:()=>ne,VrComponent2dDeformationSettings:()=>se,VrComponent2dImageData:()=>Ji,VrComponent2dImageSourceData:()=>zi,VrComponent2dPanelAnsweringModeSettings:()=>Qi,VrComponent2dPanelButtonItemData:()=>ol,VrComponent2dPanelButtonTypeDefine:()=>al,VrComponent2dPanelData:()=>ji,VrComponent2dPanelImageItemData:()=>nl,VrComponent2dPanelItem:()=>tl,VrComponent2dPanelItemStyle:()=>ll,VrComponent2dPanelItemTypeDefine:()=>el,VrComponent2dPanelSceneData:()=>$i,VrComponent2dPanelSceneGeneralParams:()=>rl,VrComponent2dPanelSceneModeDefine:()=>qi,VrComponent2dPanelSceneStyle:()=>il,VrComponent2dPanelTextItemData:()=>sl,VrComponent2dPanelVariableModifierModeSettings:()=>Zi,VrComponent2dTextBasicModeSettings:()=>yl,VrComponent2dTextData:()=>pl,VrComponent2dTextHorizontalAlignDefine:()=>cl,VrComponent2dTextMarqueeModeSettings:()=>ul,VrComponent2dTextModeDefine:()=>ml,VrComponent2dTextSourceData:()=>_l,VrComponent2dTextVerticalAlignDefine:()=>dl,VrComponent2dVideoData:()=>gl,VrComponent2dVideoSourceData:()=>El,VrComponent3dBoxData:()=>Tl,VrComponent3dModelAnimationClipData:()=>Sl,VrComponent3dModelAnimationData:()=>Cl,VrComponent3dModelData:()=>Al,VrComponentAudioSource:()=>Y,VrComponentAudioSourceDistanceModelDefine:()=>X,VrComponentControllerTypeDefine:()=>$,VrComponentCustomVisibilitySettings:()=>ee,VrComponentData:()=>Q,VrComponentData2d:()=>ae,VrComponentData2dCurvedSurfaceSettings:()=>oe,VrComponentData2dFoldSurfaceSettings:()=>re,VrComponentData3d:()=>ie,VrComponentNavigationSettings:()=>Z,VrComponentTagData:()=>Il,VrComponentTagTextLocationDefine:()=>hl,VrComponentTransitionAnimation:()=>ce,VrComponentTransitionAnimationKeyframe:()=>de,VrComponentTransitionAnimationPlayCompleteProcessTypeDefine:()=>le,VrComponentTypeDefine:()=>j,VrContentCard:()=>U,VrContentCardMedia:()=>F,VrContentCardMediaTypeDefine:()=>D,VrContentCardModule:()=>x,VrContentCardShowStyleDefine:()=>V,VrContentData:()=>Bo,VrContentDataBuilder:()=>bo,VrCoverBackgroundFitTypeDefine:()=>cs,VrCoverBackgroundTypeDefine:()=>ls,VrCoverButtonTypeDefine:()=>ds,VrCoverSettings:()=>ms,VrFloatingLayerStyle:()=>Jn,VrFloor:()=>Go,VrFloorMapSettings:()=>Ko,VrFlow:()=>qo,VrFlowBroadcastListenerEntry:()=>sr,VrFlowPositionSettings:()=>tr,VrFlowPositionTypeDefine:()=>er,VrFlowStatusDefine:()=>zo,VrFlowStep:()=>Qo,VrFlowStepArriveAction:()=>Zo,VrFlowStepBarStyleDefine:()=>$o,VrFlowStepEndpointSettings:()=>nr,VrFlowStepTypeDefine:()=>jo,VrFlowTrigger:()=>ar,VrFov:()=>or,VrInfoTemplateItemValue:()=>es,VrInfoTemplateSettings:()=>Zn,VrIntroduceItem:()=>ko,VrLayer:()=>rr,VrLight:()=>ir,VrLightAmbient:()=>lr,VrLightDirectional:()=>cr,VrLightPoint:()=>dr,VrLogoEndpointConfig:()=>jn,VrLogoObjectAlignDefine:()=>qn,VrLogoObjectFitDefine:()=>zn,VrMarker:()=>pr,VrMarkerGroup:()=>_r,VrMarkerTypeDefine:()=>mr,VrMeasureAreaUnitDefine:()=>ur,VrMeasureData:()=>gr,VrMeasureDistanceUnitDefine:()=>yr,VrMeasurePoint:()=>Er,VrNavigationAdConfig:()=>Tr,VrNavigationModeDefine:()=>k,VrNavigationPath:()=>w,VrNavigationPoint:()=>P,VrNavigationPointBuilder:()=>N,VrNavigationPointTypeDefine:()=>f,VrNavigationRequest:()=>M,VrNavigationResult:()=>v,VrObstacle:()=>Ar,VrObstacleGroup:()=>Cr,VrPathDesignModeDefine:()=>Ol,VrPathDesignPoint:()=>Nl,VrPathDesignPositionXSource:()=>Pl,VrPathOrientModeDefine:()=>Ll,VrPathRoundTripDefine:()=>bl,VrPathSmoothingDefine:()=>Rl,VrPathStartModeDefine:()=>fl,VrPathTurnModeDefine:()=>kl,VrPlayerLogoConfig:()=>$n,VrPlayerModeDefine:()=>wl,VrPlayerStatusDefine:()=>Dl,VrPlayerStatusNumMapping:()=>vl,VrPlayerStatusValue:()=>Vl,VrPlayerUiSettings:()=>Qn,VrRenderSettings:()=>ts,VrShadowStyle:()=>B,VrSignal:()=>Yo,VrSignalSourceDefine:()=>Wo,VrSignalTrigger:()=>Jo,VrSignalTypeDefine:()=>Ho,VrSignalTypeSourceMapping:()=>Xo,VrSticker:()=>Fr,VrStickerActivateTypeDefine:()=>xr,VrSweep:()=>Br,VrSweepAlignmentDefine:()=>Gr,VrSweepCameraPose:()=>r,VrSweepPanoramaBallExternalViewModeDefine:()=>Wr,VrSweepPanoramaData:()=>Xr,VrSweepPanoramaSourceData:()=>Yr,VrSweepPanoramaSourceTypeDefine:()=>Hr,VrSweepPlacementTypeDefine:()=>Kr,VrTarget:()=>ei,VrTargetGroup:()=>ti,VrTheme:()=>Jr,VrTransitionAnimationPathDesign:()=>Ml,VrTrimmerData:()=>zr,VrUiIconItem:()=>hr,VrView:()=>jr,VrViewTypeDefine:()=>$r,VrWorldSizeInfo:()=>fo,VrWormhole:()=>Qr,VrWormholeGroup:()=>Zr,WorkNoteEnterTag:()=>Sr,XR_AI_AGENT_TOOL_GROUPS:()=>ki,XR_HAMBURGER_MENU_DEFAULT_COLOR:()=>ws,XrAbility:()=>Di,XrAbilityGroup:()=>vi,XrActionCategoryDefine:()=>Xe,XrAiAgent:()=>fi,XrAiAgentParams:()=>Li,XrAiAgentRolePromptSettings:()=>Oi,XrAiAgentSkillPrompt:()=>bi,XrAiAgentUseAbility:()=>pi,XrAiAgentUseAiCheckRule:()=>hi,XrAiAgentUseAnalyticsEvent:()=>Ei,XrAiAgentUseAssetPointMark:()=>Ci,XrAiAgentUseAssetVolumeMark:()=>Ii,XrAiAgentUseBackgroundThread:()=>di,XrAiAgentUseCameraDollyPath:()=>mi,XrAiAgentUseCloudForm:()=>ui,XrAiAgentUseComponent:()=>si,XrAiAgentUseContentCard:()=>_i,XrAiAgentUseFov:()=>yi,XrAiAgentUseKnowledgeBase:()=>gi,XrAiAgentUseMessageCard:()=>Ti,XrAiAgentUseMonitor:()=>Ai,XrAiAgentUseRayHitter:()=>Si,XrAiAgentUseSpaceFence:()=>li,XrAiAgentUseSpaceFenceGroup:()=>ci,XrAiAgentUseSticker:()=>ii,XrAiAgentUseTarget:()=>oi,XrAiAgentUseVariable:()=>ri,XrAiAgentWakePrompt:()=>Ri,XrAiAgentWakeWorkStyleDefine:()=>Wa,XrApiClassMeta:()=>Yd,XrApiEntityInfo:()=>Xd,XrApiEnumOption:()=>Fd,XrApiEventMeta:()=>Hd,XrApiGroupMeta:()=>Wd,XrApiMethodMeta:()=>Kd,XrApiParamMeta:()=>Bd,XrApiReturnMeta:()=>Gd,XrApiText:()=>Ud,XrAudioCenterState:()=>Ue,XrBackgroundThread:()=>ai,XrBackgroundThreadState:()=>Le,XrBackgroundThreadStatusDefine:()=>Oe,XrBaseAction:()=>Je,XrBoundVariableControl:()=>Bn,XrBroadcastChannel:()=>ni,XrBroadcastPayloadValue:()=>ca,XrCallArg:()=>Tt,XrCallArgKindDefine:()=>gt,XrCameraDollyPath:()=>wi,XrCameraDollyPathNode:()=>Mi,XrClosureValue:()=>Et,XrComponentState2dImage:()=>Re,XrComponentState2dPanel:()=>Ne,XrComponentState2dText:()=>ke,XrComponentState2dVideo:()=>fe,XrComponentState3dBox:()=>Pe,XrComponentState3dModel:()=>Me,XrComponentStateBase:()=>be,XrComponentStateTag:()=>we,XrConditionAction:()=>lt,XrConditionArg:()=>nt,XrConditionArgKindDefine:()=>et,XrConditionArgLiteralTypeDefine:()=>tt,XrConditionArrayItem:()=>at,XrConditionCall:()=>st,XrConditionElseIfBranch:()=>it,XrConditionGroup:()=>ot,XrConditionNodeKindDefine:()=>Ze,XrConditionSubject:()=>je,XrConditionSubjectKindDefine:()=>qe,XrConditionTree:()=>rt,XrConditionValueOperand:()=>Qe,XrConditionValueOperandValueTypeDefine:()=>$e,XrConditionWatcher:()=>Ce,XrConditionWatcherTriggerModeDefine:()=>Ae,XrCountLoopAction:()=>ct,XrCustomClass:()=>Wi,XrCustomClassField:()=>Hi,XrEntityHandlerBinding:()=>Xi,XrExpressionLoopAction:()=>mt,XrExpressionLoopActionCheckExpressionPositionDefine:()=>dt,XrForEachLoopAction:()=>Ct,XrHamburgerCanvasComponentBase:()=>Ao,XrHamburgerCanvasComponentButton:()=>Oo,XrHamburgerCanvasComponentButtonIconPositionDefine:()=>To,XrHamburgerCanvasComponentImage:()=>Co,XrHamburgerCanvasComponentImageModeDefine:()=>_o,XrHamburgerCanvasComponentProgressBar:()=>ho,XrHamburgerCanvasComponentProgressBarDirectionDefine:()=>go,XrHamburgerCanvasComponentText:()=>So,XrHamburgerCanvasComponentTextAlignDefine:()=>yo,XrHamburgerCanvasComponentTypeDefine:()=>po,XrHamburgerCanvasComponentVariableControl:()=>Lo,XrHamburgerCanvasComponentVerticalAlignDefine:()=>uo,XrHamburgerCanvasComponentVideo:()=>Io,XrHamburgerCanvasComponentVideoObjectFitDefine:()=>Eo,XrHamburgerMenu:()=>mo,XrHamburgerMenuCanvasItem:()=>co,XrHamburgerMenuGridImageItem:()=>Zs,XrHamburgerMenuGridLastRowModeDefine:()=>js,XrHamburgerMenuGridMediaItem:()=>Qs,XrHamburgerMenuGroup:()=>ro,XrHamburgerMenuImageItem:()=>zs,XrHamburgerMenuImageItemSlide:()=>Js,XrHamburgerMenuImageObjectFitDefine:()=>$s,XrHamburgerMenuMediaCarouselItem:()=>Ys,XrHamburgerMenuMediaItem:()=>Bs,XrHamburgerMenuMediaTypeDefine:()=>Fs,XrHamburgerMenuNode:()=>Ws,XrHamburgerMenuNodeBase:()=>Hs,XrHamburgerMenuNodeTypeDefine:()=>xs,XrHamburgerMenuPcLayoutModeDefine:()=>Gs,XrHamburgerMenuRichImageSlide:()=>qs,XrHamburgerMenuRichTextItem:()=>lo,XrHamburgerMenuStyle:()=>vs,XrHamburgerMenuTextItem:()=>Xs,XrHamburgerMenuTitleOverflowModeDefine:()=>Ks,XrHamburgerMenuVideoItem:()=>so,XrHamburgerMenuVideoItemSlide:()=>no,XrHamburgerMenuWaterfallBreakpoint:()=>eo,XrHamburgerMenuWaterfallImageItem:()=>ao,XrHamburgerMenuWaterfallMediaItem:()=>to,XrHamburgerMenuWebViewItem:()=>oo,XrInteractionControlConfig:()=>We,XrInteractionControlDefaultVariant:()=>Ge,XrInteractionControlVariantDefine:()=>Be,XrInteractionControlVariantTier:()=>Ke,XrInteractionDataTypeDefine:()=>Fe,XrInteractionOption:()=>He,XrMessageCard:()=>H,XrMonitor:()=>Ms,XrMonitorBadgeStyleDefine:()=>hs,XrMonitorComponentBase:()=>Is,XrMonitorComponentButton:()=>fs,XrMonitorComponentButtonIconPositionDefine:()=>Ss,XrMonitorComponentImage:()=>Os,XrMonitorComponentImageModeDefine:()=>us,XrMonitorComponentProgressBar:()=>bs,XrMonitorComponentProgressBarDirectionDefine:()=>Ts,XrMonitorComponentRuntimeState:()=>ve,XrMonitorComponentText:()=>Ls,XrMonitorComponentTextAlignDefine:()=>gs,XrMonitorComponentTypeDefine:()=>ys,XrMonitorComponentVariableControl:()=>ks,XrMonitorComponentVerticalAlignDefine:()=>Es,XrMonitorComponentVideo:()=>Rs,XrMonitorComponentVideoObjectFitDefine:()=>Cs,XrMonitorDisplayModeDefine:()=>Ns,XrMonitorRuntimeState:()=>De,XrMonitorScene:()=>Ps,XrNavigationState:()=>xe,XrObjectCallAction:()=>At,XrPlatformDefine:()=>Ye,XrPrepareSettings:()=>ps,XrProgramFolder:()=>xi,XrProgramFunction:()=>Gi,XrProgramFunctionParam:()=>Fi,XrProgramModule:()=>Ui,XrProgramScene:()=>Vi,XrProgramVisibilityDefine:()=>Bi,XrProgressBarStyleDefine:()=>As,XrRayHitter:()=>Dr,XrReceiverFromDefine:()=>yt,XrReceiverRef:()=>ut,XrRecommendStringOption:()=>pe,XrRuntimeState:()=>Ve,XrSpaceFence:()=>Vr,XrSpaceFenceGroup:()=>Ur,XrStateBindings:()=>Ie,XrStateBindingsSourceTypeDefine:()=>Se,XrStateBindingsTargetTypeDefine:()=>he,XrStateScopeBranchFromDefine:()=>ma,XrSubprogram:()=>Ki,XrSwitchAction:()=>_t,XrSwitchCase:()=>pt,XrTypedValue:()=>Ee,XrTypedValueModeDefine:()=>ge,XrVariable:()=>_e,XrVariablePreFill:()=>_s,XrVariableScope:()=>ue,XrVariableScopeTypeDefine:()=>ye,XrVariableTarget:()=>Te,XrVariableTypeDefine:()=>me,XrVirtualFloor:()=>qr,apiClass:()=>em,apiEntityInfo:()=>Qd,apiEnumOption:()=>$d,apiEvent:()=>jd,apiGroup:()=>Zd,apiMethod:()=>qd,apiParam:()=>Jd,apiReturn:()=>zd,apiText:()=>xd,buildAddListenerMethod:()=>tm,buildComponentEntityClasses:()=>Im,buildDomainClasses:()=>gm,buildExpressionFromTree:()=>Ym,buildKeyframesFromSampling:()=>ip,buildSpaceEntityClasses:()=>Lm,buildUiEntityClasses:()=>Om,buildValueClasses:()=>um,composePathPoseEuler:()=>pp,composePathPoseEulerCalibrated:()=>Cp,computeGroundPose:()=>hp,computeProgressBarFillStyle:()=>tp,createEmptyRichTextDoc:()=>io,createMultiLanguageStr:()=>ss,defaultMainPlacementOf:()=>Mr,defaultRootHamburgerStyle:()=>Ds,ensureIconLayoutMaterialized:()=>Bm,ensureLegacyVrPlayerUiSettingsInitialized:()=>Gm,extractConditionTreeDependencies:()=>Qm,extractYawTwistDeg:()=>mp,findApiMethod:()=>cm,findByLegacyActionType:()=>dm,generatePathKeyframes:()=>op,getAllApiClasses:()=>rm,getAllRegisteredVrActionPlatformCapabilities:()=>Fn,getApiClass:()=>om,getApiEventsWithInherited:()=>lm,getApiMethodsWithInherited:()=>im,getVrActionPlatformCapability:()=>xn,isAiAgentToolEnabled:()=>Pi,isAiAgentToolResourceReady:()=>Ni,isPureQuery:()=>mm,migrateTriggersToCentralized:()=>Nm,migrateXrMonitorMultiScene:()=>Wm,migrateXrVariableTypeEnum:()=>Km,normalizeBrowserLanguage:()=>rs,normalizeMultiLanguageStr:()=>os,pickCurrentLanguage:()=>is,pickMultiLanguageStr:()=>ns,registerAllApiCatalog:()=>Rm,registerApiClass:()=>nm,registerApiClasses:()=>sm,resolveArBottomItems:()=>xm,resolveArInfoItems:()=>Fm,resolveHamburgerNodeStyle:()=>Us,resolveHamburgerRootStyle:()=>Vs,resolvePathCalibration:()=>Ap,resolveVrInfoBarItems:()=>Um,resolveVrMainBarItems:()=>Vm,rotateVecAroundAxis:()=>Ip,samplePathDesign:()=>rp,shadowToCss:()=>G,simplifyPathPoints:()=>cp,suggestedPlayCompleteProcessType:()=>lp});class a{x=0;y=0;z=0;constructor(e,t,a){this.x=e,this.y=t,this.z=a}}class n{x=0;y=0;constructor(e,t){this.x=e,this.y=t}}class s{static FLOORPLAN="floorplan";static INSIDE="inside";static OUTSIDE="outside";static TRANSITIONING="transitioning";static DOLLHOUSE="dollhouse"}class o{static FLY="fly";static INSTANT="instant";static FADE="fade"}class r{sweepId="";rotation=new n(0,0)}class i{floorId="";sweepId="";position=new a(0,0,0);rotation=new n(0,0);zoom=1;mode=s.INSIDE;originalEuler=new a(0,0,0)}class l{static createColorRgb(e,t,a){let n=new d;return n.r=e,n.g=t,n.b=a,n}static createColorRgba(e,t,a,n){let s=new d;return s.r=e,s.g=t,s.b=a,s.a=n,s}static createColorByStr(e){let t=new d;if(e.startsWith("#")){let a=e.substring(1);4===a.length?(t.r=parseInt(a.substring(0,1)+a.substring(0,1),16),t.g=parseInt(a.substring(1,2)+a.substring(1,2),16),t.b=parseInt(a.substring(2,3)+a.substring(2,3),16),t.a=parseInt(a.substring(3,4)+a.substring(3,4),16)/255):8===a.length?(t.r=parseInt(a.substring(0,2),16),t.g=parseInt(a.substring(2,4),16),t.b=parseInt(a.substring(4,6),16),t.a=parseInt(a.substring(6,8),16)/255):3===a.length?(t.r=parseInt(a.substring(0,1)+a.substring(0,1),16),t.g=parseInt(a.substring(1,2)+a.substring(1,2),16),t.b=parseInt(a.substring(2,3)+a.substring(2,3),16),t.a=1):6===a.length&&(t.r=parseInt(a.substring(0,2),16),t.g=parseInt(a.substring(2,4),16),t.b=parseInt(a.substring(4,6),16),t.a=1)}else if(e.startsWith("rgba")){let a=e.substring(5,e.length-1).split(",");t.r=parseInt(a[0]),t.g=parseInt(a[1]),t.b=parseInt(a[2]),t.a=parseFloat(a[3])}else if(e.startsWith("rgb")){let a=e.substring(4,e.length-1).split(",");t.r=parseInt(a[0]),t.g=parseInt(a[1]),t.b=parseInt(a[2]),t.a=1}return t}static createRandomColor(e,t){let a=new d;return a.r=Math.floor(256*Math.random()),a.g=Math.floor(256*Math.random()),a.b=Math.floor(256*Math.random()),a.a=e?Math.random():t||1,a}}class c{static colorToRgbaString(e){return e?`rgba(${e.r}, ${e.g}, ${e.b}, ${e.a})`:"rgba(0, 0, 0, 1)"}static colorToHexString(e){const t=e=>{const t=Math.round(e).toString(16);return 1===t.length?`0${t}`:t};return`#${t(e.r)}${t(e.g)}${t(e.b)}`}static colorToTHREEColor(e){return{r:e.r/255,g:e.g/255,b:e.b/255}}}class d{r=0;g=0;b=0;a=1}class m{enabled=!1;color=l.createColorRgb(0,0,0);tolerance=20}class p{static LINEAR="linear";static EASE_IN_QUAD="easeInQuad";static EASE_OUT_QUAD="easeOutQuad";static EASE_IN_OUT_QUAD="easeInOutQuad";static EASE_OUT_IN_QUAD="easeOutInQuad";static EASE_IN_CUBIC="easeInCubic";static EASE_OUT_CUBIC="easeOutCubic";static EASE_IN_OUT_CUBIC="easeInOutCubic";static EASE_OUT_IN_CUBIC="easeOutInCubic";static EASE_IN_QUART="easeInQuart";static EASE_OUT_QUART="easeOutQuart";static EASE_IN_OUT_QUART="easeInOutQuart";static EASE_OUT_IN_QUART="easeOutInQuart";static EASE_IN_QUINT="easeInQuint";static EASE_OUT_QUINT="easeOutQuint";static EASE_IN_OUT_QUINT="easeInOutQuint";static EASE_OUT_IN_QUINT="easeOutInQuint";static EASE_IN_SINE="easeInSine";static EASE_OUT_SINE="easeOutSine";static EASE_IN_OUT_SINE="easeInOutSine";static EASE_OUT_IN_SINE="easeOutInSine";static EASE_IN_EXPO="easeInExpo";static EASE_OUT_EXPO="easeOutExpo";static EASE_IN_OUT_EXPO="easeInOutExpo";static EASE_OUT_IN_EXPO="easeOutInExpo";static EASE_IN_CIRC="easeInCirc";static EASE_OUT_CIRC="easeOutCirc";static EASE_IN_OUT_CIRC="easeInOutCirc";static EASE_OUT_IN_CIRC="easeOutInCirc";static EASE_IN_BACK="easeInBack";static EASE_OUT_BACK="easeOutBack";static EASE_IN_OUT_BACK="easeInOutBack";static EASE_OUT_IN_BACK="easeOutInBack";static EASE_IN_BOUNCE="easeInBounce";static EASE_OUT_BOUNCE="easeOutBounce";static EASE_IN_OUT_BOUNCE="easeInOutBounce";static EASE_OUT_IN_BOUNCE="easeOutInBounce";static CUBIC_BEZIER_CURVE="cubicBezierCurve";static SPRING="spring";static ELASTIC="elastic"}class _{waitTime=0;easeFunction=p.LINEAR;duration=500;cubicBezierCurveParamX1=.5;cubicBezierCurveParamY1=.05;cubicBezierCurveParamX2=.1;cubicBezierCurveParamY2=.3;springParamMass=1;springParamStiffness=80;springParamDamping=10;springParamVelocity=0;elasticParamType="easeOutElastic";elasticParamAmplitude=1;elasticParamPeriod=.6}class y{static randomUUID(e){return(e?"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx":"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx").replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}}class u{id="";constructor(){this.id=y.randomUUID(!0)}}class g{static ZH_CN="zh_cn";static ZH_TW="zh_tw";static ZH_HK="zh_hk";static EN="en";static KR="kr";static JP="jp";static TH="th";static VN="vn";static ES="es";static FR="fr";static DE="de";static ALL=["en","jp","kr","zh_cn","zh_tw","zh_hk","th","vn","es","fr","de"]}class E{original_content="";only_use_original_content=!0;zh_cn="";zh_tw="";zh_hk="";en="";kr="";jp="";th="";vn="";es="";fr="";de=""}class T extends u{name=new E;color=l.createColorByStr("#444444");textColor=l.createColorByStr("#ffffff");additionalData={};clickActionList=[];localVariableList=[]}class A{static NAVIGATION_TO_MANUAL="navigation_to_manual";static NAVIGATION_TO_AUTO="navigation_to_auto";static DIRECT_TO_FLY="direct_to_fly";static DIRECT_TO_FADE="direct_to_fade";static DIRECT_TO_INSTANT="direct_to_instant"}class C{enabled=!1;hoverBorderColor=l.createColorRgba(0,0,0,1);borderWidth=.01}class S{width=1920;height=1080;constructor(e,t){this.width=e,this.height=t}}class h{mattertags=!1;measurements;sweeps;views;components;constructor(e,t,a,n,s){this.mattertags=e,this.measurements=t,this.sweeps=a,this.views=n,this.components=s}}class I{url="";iconCategory="";iconFilename="";colorEnabled=!1;color=l.createColorRgb(255,255,255)}class O{static NO_LOOP="no_loop";static LOOP_ALL="loop_all";static LOOP_SINGLE="loop_single"}class L extends u{name="";description="";title="";code="";enabled=!1;planList=[]}class b{transformPointsGps=[];transformPointsVrSpace=[new a(0,0,0),new a(0,0,0),new a(0,0,0)];cellSize=.1;walkableHeight=1.6;characterRadius=.2;walkableClimb=1;maxSlope=45;maxEdgeLength=1;leadBotUseSameModelForDifferentAction=!0;leadBotModelSrc="";leadBotModelScale=new a(1,1,1);leadBotModelOverlayRotate=new a(0,0,0);leadBotModelSrcStand="";leadBotModelScaleStand=new a(1,1,1);leadBotModelOverlayRotateStand=new a(0,0,0);leadBotModelSrcWalk="";leadBotModelScaleWalk=new a(1,1,1);leadBotModelOverlayRotateWalk=new a(0,0,0);leadBotModelSrcRun="";leadBotModelScaleRun=new a(1,1,1);leadBotModelOverlayRotateRun=new a(0,0,0);leadBotModelSrcArrive="";leadBotModelScaleArrive=new a(1,1,1);leadBotModelOverlayRotateArrive=new a(0,0,0);leadBotAnimationNameStand="";leadBotAnimationNameWalk="";leadBotAnimationNameRun="";leadBotAnimationNameArrive="";thresholdLeadBotDistanceToPlayer=6;thresholdLeadBotDistanceToPlayerToWalk=4;thresholdLeadBotDistanceToPlayerToClimb=.4;thresholdLeadBotDistanceToPlayerToClimbToWalk=0;thresholdLeadBotDistanceToPlayerToDescend=3.5;thresholdLeadBotDistanceToPlayerToDescendToWalk=2;thresholdLeadBotDistanceToPlayerToRun=2;leadBotSpeedRun=3.5;leadBotSpeedWalk=1.35;thresholdUserDistanceToRoute=3;thresholdShowComponents=50;thresholdVideoComponentInvisibleToPause=3;thresholdDestroyComponents=10;thresholdShowComponentsWhenEnterFloor=5}class R extends u{name="";title=new E;description=new E;obstacleGroupIds=[];wormholeGroupIds=[];targetGroupIds=[];graphCacheZipFileSrc=""}class f{static sweep="sweep";static anywhere="anywhere";static teleport="teleport"}class k{static AUTO="auto";static MANUAL="manual";static MANUAL_SIMPLE="manual_simple"}class N{static createSweepPoint(e){const t=new P;return t.type=f.sweep,t.sweepId=e.id,t.position=e.position,t}static createAnywherePoint(e){const t=new P;return t.type=f.anywhere,t.position=e,t}}class P{type=f.sweep;sweepId="";position=new a(0,0,0)}class M{id="";startPoint=new P;endPoint=new P;isAutoStart=!0;navigationMode=k.MANUAL;autoRecalculate=!0;autoRecalculateDistanceThreshold=.5;pathColor=l.createColorByStr("#03b203")}class w{sweepStartPoint=new P;sweepEndPoint=new P;pathPoints=[]}class v{request=new M;result=!1;pathList=[]}class D{static VIDEO="video";static IMAGE="image";static AUDIO="audio";static D3_MODEL="3d_model";static LINK="link";static DOCUMENT="document"}class V{static BUBBLE="bubble";static DIALOG="dialog";static DRAWER="drawer"}class U extends u{id="";name="";dialogWidth="800px";dialogHeight="600px";title=new E;richText=new E;isAvailableForAi=!0;modules=[];buttonList=[]}class x{id="";name="";type=D.IMAGE;mediaList=[]}class F{id="";type=D.VIDEO;name="";src="";coverSrc="";materialSrc=""}class B{enabled=!1;offsetX=0;offsetY=1;blur=2;color=l.createColorRgba(0,0,0,.55)}function G(e,t){if(!e||!e.enabled)return"none";const a=`${e.offsetX??0}px ${e.offsetY??0}px ${e.blur??0}px ${c.colorToRgbaString(e.color)}`;return"drop"===t?`drop-shadow(${a})`:a}class K{bgColor=l.createColorRgba(255,255,255,.3);textColor=l.createColorByStr("#4e5969");iconColor=l.createColorByStr("#ffffff");accentColor=l.createColorByStr("#1677ff");blur=5;cornerRadius=16;textShadow=function(){const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.55),e}();iconShadow=function(){const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.45),e}()}class H extends u{name="";remark="";iconSrc="";title=new E;content=new E;buttonList=[];overrideAppearance=!1;appearanceOverride=new K}class W{showPlayControl=!0;showSoundControl=!0;defaultVolume=100;loopMode=O.NO_LOOP;defaultPlayAudio=[];audioListData=[]}class X{static LINEAR="linear";static INVERSE="inverse";static EXPONENTIAL="exponential"}class Y{loopMode=O.NO_LOOP;autoPlay=!1;volume=1;defaultAudioIndex=0;distanceModel=X.LINEAR;rolloffFactor=1;refDistance=1;maxDistance=10;audioDataList=[]}class J extends u{name="";description="";audioSrc="";duration=0;lyricList=[]}class z{time="00:00";content="";color=l.createColorByStr("#ffffff")}class q extends u{name="";description="";audioList=[]}class j{static TYPE_2D_TEXT="2d_text";static TYPE_2D_VIDEO="2d_video";static TYPE_2D_IMAGE="2d_image";static TYPE_2D_PANEL="2d_panel";static TYPE_2D_ADVERTISEMENT="2d_advertisement";static TYPE_3D_BOX="3d_box";static TYPE_3D_MODEL="3d_model";static TYPE_TAG="tag"}class ${static NONE="none";static TRANSLATE="translate";static ROTATE="rotate";static SCALE="scale"}class Q extends u{layerId="";name="";title=new E;description=new E;isAvailableForAi=!0;isNavigationTarget=!0;ignoreOptimizationAlwaysShow=!1;type=null;scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);originalScale=new a(1,1,1);visible=!0;opacity=1;castShadow=!0;receiveShadow=!0;isEnableAutoMoveCameraToNearWhenClick=!1;responseMouse=!0;markerList=[];showInContentMenu=!0;keywords=[];bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode="";customVisibilitySettings=new ee;transitionAnimationList=[];defaultTransitionAnimationId="";audioSource=new Y;showTransitionAnimationId="";hideTransitionAnimationId="";localVariableList=[]}class Z{allowAsDestination=!1}class ee{specialSweepVisible=!1;displayRange=0;visibleSweepList=[]}class te{static KEEP_ORIGINAL="keep-original";static FACE_TO_CAMERA_Y="face-to-camera-y";static FACE_TO_CAMERA_XYZ="face-to-camera-xyz"}class ae extends Q{onlyFrontVisible=!1;faceToCameraMode=te.KEEP_ORIGINAL;hoverBorderSettings=new C;deformationSettings=new se}class ne{static NONE="none";static CURVED_SURFACE="curved-surface";static FOLD_SURFACE="fold-surface"}class se{mode=ne.NONE;curvedSurfaceSettings=new oe;foldSurfaceSettings=new re}class oe{curveDegree=1}class re{foldPosition=.5;foldAngle=0;foldInside=!1;foldRadius=.1}class ie extends Q{}class le{static STAY_AT_LAST_FRAME="stay-at-last-frame";static JUMP_TO_ORIGINAL_STATE="jump-to-original-state";static LOOP_FROM_ORIGINAL_STATE="loop-from-original-state";static ANIMATE_TO_ORIGINAL_STATE="animate-to-original-state";static LOOP_REVERSE="loop-reverse"}class ce{id="";name="";description="";playCompleteProcessType=le.STAY_AT_LAST_FRAME;keyFrameList=[];pathDesign=null}class de{id="";name="";isTransformTranslate=!1;transformTranslate=new a(0,0,0);isTransformRotate=!1;transformRotate=new a(0,0,0);isTransformScale=!1;transformScale=new a(1,1,1);isOpacity=!1;opacity=1;modelAnimationClipId="";easingAnimationSettings=new _}class me{static STRING="string";static NUMBER="number";static BOOLEAN="boolean";static COLOR="color";static CSS_COLOR="css_color";static IMAGE="image";static ENTITY_REF="entity_ref";static LIST="list";static CUSTOM_CLASS="custom_class";static CLOSURE="closure";static LISTENER="listener";static THREAD="thread";static TIMER="timer";static STATE_SNAPSHOT="state_snapshot";static EVENT_OBJ="event_obj";static FUNC_REF="func_ref"}class pe{value="";label=new E}class _e{key="";name="";type="string";value="";stringDefaultValue="";stringRecommendOptions=[];numberDefaultValue=0;numberStep=1;numberMinValue=0;numberMaxValue=0;numberRecommendOptions=[];booleanDefaultValue=!1;colorDefaultValue=l.createColorRgba(255,255,255,1);colorRecommendOptions=[];cssColorDefaultValue="#ffffff";cssColorRecommendOptions=[];entityRefTypeKey;listElementType;listElementRefTypeKey;listElementCustomClassId;customClassId;enumOptions;enumDefaultValue}class ye{static GLOBAL="global";static SHARED="shared";static LOCAL="local";static STEP="step";static FLOW="flow";static ABILITY="ability";static AGENT="agent";static BROADCAST_MSG="broadcast_msg";static SCENE="scene";static MODULE="module";static FUNC="func";static EVENT="event"}class ue{type=ye.LOCAL;ownerId="";variableList=[]}class ge{static LITERAL="literal";static VARIABLE="variable";static CALL="call"}class Ee{mode=ge.LITERAL;literal;variableScope;variableKey;callAction}class Te{scope=ye.GLOBAL;key=""}class Ae{static RISING_EDGE_TRIGGER="rising-edge-trigger";static LEVEL_TRIGGER="level-trigger"}class Ce extends u{name="";remark="";conditionTree=new rt;triggerMode=Ae.RISING_EDGE_TRIGGER}class Se{static XR_VARIABLE_EXPRESSION="xr-variable-expression";static STICKER_ACTIVE_STATE="sticker-active-state";static SPACE_FENCE_USER_IN_STATE="space-fence-user-in-state";static SPACE_FENCE_GROUP_USER_IN_STATE="space-fence-group-user-in-state";static COMPONENT_VISIBLE_STATE="component-visible-state";static LAYER_VISIBLE_STATE="layer-visible-state";static HAMBURGER_MENU_NODE_VISIBLE_STATE="hamburger-menu-node-visible-state";static AI_AGENT_ENABLED_STATE="ai-agent-enabled-state";static AI_AGENT_ACTIVE_STATE="ai-agent-active-state";static BACKGROUND_THREAD_RUNNING="background-thread-running"}class he{static XR_VARIABLE="xr-variable";static COMPONENT_VISIBLE_STATE="component-visible-state";static LAYER_VISIBLE_STATE="layer-visible-state";static MESSAGE_CARD_SHOW_STATE="message-card-show-state";static COMPONENT_2D_PANEL_BUTTON_ENABLED_STATE="component-2d-panel-button-enabled-state";static MONITOR_COMPONENT_VISIBLE_STATE="monitor-component-visible-state";static CANVAS_COMPONENT_VISIBLE_STATE="canvas-component-visible-state";static COMPONENT_2D_PANEL_SCENE_SWITCH="component-2d-panel-scene-switch";static COMPONENT_2D_IMAGE_SOURCE_SWITCH="component-2d-image-source-switch";static COMPONENT_2D_VIDEO_SOURCE_SWITCH="component-2d-video-source-switch";static COMPONENT_3D_MODEL_ANIMATION_CLIP_SWITCH="component-3d-model-animation-clip-switch";static AI_AGENT_ENABLED_STATE="ai-agent-enabled-state";static HAMBURGER_MENU_NODE_VISIBLE_STATE="hamburger-menu-node-visible-state";static BACKGROUND_THREAD_RUNNING="background-thread-running"}class Ie{enabled=!0;name="";remark="";sourceType=Se.XR_VARIABLE_EXPRESSION;sourceExpression="";sourceConditionTree;sourceId="";reverseSource=!1;targetType=he.XR_VARIABLE;targetId="";targetOptionTrue="";targetOptionFalse=""}class Oe{static IDLE="idle";static RUNNING="running";static PAUSED="paused";static STOPPED="stopped"}class Le{threadId="";status="idle";completedCycles=0;currentActionIndex=0}class be{position=new a(0,0,0);rotation=new a(0,0,0);scale=new a(1,1,1);visible=!0;opacity=1;responseMouse=!0;playingTransitionAnimationId=null;audioPlayingId=null;audioVolume=1;audioLoopMode=O.NO_LOOP;audioPaused=!0}class Re extends be{currentSourceId="";autoChangeInterval=0}class fe extends be{currentSourceId="";playing=!1;muted=!1;loopMode=O.NO_LOOP;playbackRate=1}class ke extends be{currentSourceId=""}class Ne extends be{currentSceneId="";buttonEnabledState={}}class Pe extends be{faceColor=l.createColorRgba(0,255,0,.2);borderColor=l.createColorRgba(0,255,0,.5);hoverFaceColor=l.createColorRgba(0,255,0,.5);hoverBorderColor=l.createColorRgba(0,255,0,.8)}class Me extends be{playingAnimationClipId=null}class we extends be{}class ve{id="";type="text";name="";positionX=0;positionY=0;width=200;height=150;rotation=0;opacity=1;backgroundColor="rgba(255,255,255,0)";hoverStyleEnabled=!1;hoverBackgroundColor="rgba(255,255,255,0)";hoverOpacity=1;clickActionList=[];visible=!0;zIndex=1;radius=0;border="none";paddingX=6;paddingY=6;css={};script="";imageSrc="";imageMode="fill";textContent="";textColor="rgba(255,255,255,1)";textSize=16;textAlign="center";textBold=!1;textItalic=!1;textUnderline=!1;textVerticalAlign="middle";progressBarStyle="solid";progressBarColor="#1677ff";progressBarColorEnd="#69b1ff";progressBarTrackColor="rgba(0,0,0,0.08)";progressRange="100";progressBarDirection="horizontal";progress="50";videoSrc="";poster="";autoplay=!1;muted=!0;loop=!1;controls=!0;objectFit="cover";icon=new I;iconPosition="left";bound=null}class De{enabled=!0;currentSceneId="";popupVisible=!1;componentStates={};badgeText="";badgeStyle="corner";badgeBgColor="rgba(255,77,79,1)";badgeTextColor="rgba(255,255,255,1)"}class Ve extends u{variableValue={};activeTriggerPool=[];triggerExecuteCount={};audioCenterState=new Ue;navigationState=new xe;globalMuted=!1;componentState2dImage={};componentState2dVideo={};componentState2dText={};componentState2dPanel={};componentState3dBox={};componentState3dModel={};componentStateTag={};monitorState={};activeMonitorTab="";canvasState={};layerVisibility={};messageCardShowState={};stickerActiveState={};sweepEnabledState={};backgroundThreadState={};abilityState={};flowScopeValue={};flowStepScopeValue={};enabledAiAgentIds=[];activeAiAgentId=null;hamburgerMenuVisibility={};hamburgerMenuOpen=!1;hamburgerMenuExpanded={};playerUiSettings={}}class Ue{playingAudioListId="";playingAudioId=""}class xe{isNavigating=!1;destinationType="sweep";destinationSweepId="";destinationPosition=new a(0,0,0);navigationMode="manual";originalDestinationType="";originalDestinationId=""}class Fe{static STRING="string";static NUMBER="number";static BOOLEAN="boolean";static ENUM="enum";static COLOR="color";static CSS_COLOR="css_color"}class Be{static NUMBER_INPUT="number_input";static NUMBER_SLIDER="number_slider";static NUMBER_SLIDER_VERTICAL="number_slider_vertical";static NUMBER_STEPPER="number_stepper";static NUMBER_STAR_RATING="number_star_rating";static NUMBER_SEGMENT="number_segment";static NUMBER_EMOJI_SCALE="number_emoji_scale";static NUMBER_DIAL="number_dial";static NUMBER_PROGRESS_TAP="number_progress_tap";static NUMBER_CHIP_TILE="number_chip_tile";static STRING_INPUT="string_input";static STRING_TEXTAREA="string_textarea";static STRING_SELECT="string_select";static STRING_AUTOCOMPLETE="string_autocomplete";static STRING_SEGMENT="string_segment";static STRING_RADIO="string_radio";static STRING_TAG="string_tag";static STRING_CARD_GRID="string_card_grid";static STRING_AVATAR_LIST="string_avatar_list";static STRING_COLOR_SWATCH="string_color_swatch";static BOOLEAN_SWITCH="boolean_switch";static BOOLEAN_CHECKBOX="boolean_checkbox";static BOOLEAN_SEGMENT="boolean_segment";static BOOLEAN_THUMB="boolean_thumb";static BOOLEAN_CARD_PAIR="boolean_card_pair";static COLOR_PICKER="color_picker";static COLOR_SWATCH_PICKER="color_swatch_picker";static CSS_COLOR_INPUT="css_color_input";static CSS_COLOR_SWATCH_PICKER="css_color_swatch_picker";static CSS_COLOR_ADVANCED="css_color_advanced"}class Ge{static getDefault(e){return"number"===e?Be.NUMBER_INPUT:"boolean"===e?Be.BOOLEAN_SWITCH:"color"===e?Be.COLOR_PICKER:"css_color"===e?Be.CSS_COLOR_INPUT:Be.STRING_INPUT}}class Ke{static TIER_A=new Set(["boolean_switch","boolean_checkbox","number_stepper","boolean_segment","number_input","string_input","string_select"]);static TIER_B=new Set(["number_slider","string_segment","string_radio","string_tag","color_picker","css_color_input","color_swatch_picker","css_color_swatch_picker","string_color_swatch","number_chip_tile"]);static getTier(e){return Ke.TIER_A.has(e)?"A":Ke.TIER_B.has(e)?"B":"C"}}class He{label=new E;value="";icon=new I;imageUrl="";description=new E;badge=new E;color="";disabled=!1}class We{variant=Be.STRING_INPUT;min=null;max=null;step=null;precision=null;sliderShowTicks=!1;sliderActiveColor="";sliderTrackColor="";sliderShowTooltip=!0;starCount=5;starAllowHalf=!1;starIcon=new I;starActiveColor="";starInactiveColor="";starSize=32;starShowValueLabel=!1;emojiScaleEmojis=[];emojiScaleSize=36;emojiScaleAnimateOnSelect=!0;dialSize=120;dialActiveColor="";dialShowValueInCenter=!0;dialStartAngle=135;progressTapHeight=20;progressTapGradientFrom="";progressTapGradientTo="";progressTapShowMarks=!1;chipTileSize=56;chipTileColumns=5;chipTileActiveColor="";options=[];textareaRows=3;textareaMaxLength=null;textareaShowCount=!1;tagMode="pill";cardGridColumns=2;cardGridImageRatio="4:3";cardGridShowDescription=!0;avatarListShowSubtitle=!0;avatarListSize=40;colorSwatchSize=32;colorSwatchShape="square";colorSwatchColumns=6;booleanTrueLabel=new E;booleanFalseLabel=new E;booleanTrueIcon=new I;booleanFalseIcon=new I;booleanTrueColor="";booleanFalseColor="";colorSwatchOptions=[];cssColorSwatchOptions=[];borderRadius=null;accentColor=""}class Xe{static BASIC="basic";static CONDITION="condition";static COUNT_LOOP="count_loop";static EXPRESSION_LOOP="expression_loop";static SWITCH="switch";static OBJECT_CALL="object_call";static FOREACH_LOOP="foreach_loop"}class Ye{static VR="VR";static AR="AR"}class Je{actionCategory=Xe.BASIC;backgroundColorMark="rgba(255,255,255,1)"}class ze extends Je{actionCategory=Xe.BASIC;id="";actionType=St.COMPONENT_2D_IMAGE_CHANGE_SOURCE;params=new Ot}class qe{static VARIABLE="variable";static PLATFORM="platform";static EXPRESSION="expression"}class je{kind=qe.VARIABLE;variableScope;variableKey;rawExpression}class $e{static STRING="string";static NUMBER="number";static BOOLEAN="boolean";static PLATFORM_ENUM="platform_enum"}class Qe{valueType=$e.STRING;literal;valueRef}class Ze{static CALL="call";static GROUP="group"}class et{static LITERAL="literal";static VAR_REF="var_ref";static ARRAY_LITERAL="array_literal"}class tt{static STRING="string";static NUMBER="number";static BOOLEAN="boolean"}class at{type=tt.STRING;value=""}class nt{argKind=et.LITERAL;literalType;literalValue;variableScope;variableKey;arrayItems}class st{kind=Ze.CALL;funcName="";args=[];negate=!1}class ot{kind=Ze.GROUP;logicalOp="and";children=[];negate=!1}class rt{root=new ot}class it{ifExpression="";conditionTree;actionList=[]}class lt{actionCategory=Xe.CONDITION;ifExpression="";conditionTree;ifActionList=[];elseIfBranchList=[];elseActionList=[]}class ct{actionCategory=Xe.COUNT_LOOP;loopCount=1;loopCountRef;actionList=[]}class dt{static BEFORE_ACTION="before_action";static AFTER_ACTION="after_action"}class mt{actionCategory=Xe.EXPRESSION_LOOP;checkExpression="";conditionTree;checkExpressionPosition=dt.BEFORE_ACTION;actionList=[]}class pt{matchValue=new Qe;actionList=[]}class _t{actionCategory=Xe.SWITCH;subject=new je;caseList=[];defaultActionList=[]}class yt{static PICKER="picker";static VARIABLE="variable";static STATIC_CLASS="static_class"}class ut{from=yt.PICKER;typeKey="";entityId="";entityParentPath=[];variableScope;variableKey}class gt{static LITERAL="literal";static VAR_REF="var_ref";static CALL="call";static CLOSURE="closure"}class Et{localVariableList=[];actionList=[]}class Tt{key="";argKind=gt.LITERAL;literal;variableScope;variableKey;call;closure}class At extends Je{actionCategory=Xe.OBJECT_CALL;id="";receiver=new ut;method="";args=[];returnTo;runAsync=!1;onCompleteActionList=[]}class Ct{actionCategory=Xe.FOREACH_LOOP;collection=new Tt;itemVarKey="item";indexVarKey="index";actionList=[]}class St{static SYSTEM_COMMON_WAIT="system_common_wait";static COMPONENT_GENERAL_CHANGE_VISIBILITY="component_general_change_visibility";static COMPONENT_GENERAL_CHANGE_TRANSFORM="component_general_change_transform";static COMPONENT_GENERAL_PLAY_TRANSITION_ANIMATION="component_general_play_transition_animation";static COMPONENT_GENERAL_STOP_TRANSITION_ANIMATION="component_general_stop_transition_animation";static COMPONENT_2D_GENERAL_CHANGE_DEFORMATION_SETTINGS="component_2d_general_change_deformation_settings";static COMPONENT_GENERAL_AUDIO_SOURCE_PLAY_CONTROL="component_general_audio_source_play_control";static COMPONENT_GENERAL_AUDIO_SOURCE_PAUSE="component_general_audio_source_pause";static COMPONENT_GENERAL_AUDIO_SOURCE_CHANGE_LOOP_MODE="component_general_audio_source_change_loop_mode";static COMPONENT_2D_IMAGE_CHANGE_SOURCE="component_2d_image_change_source";static COMPONENT_2D_VIDEO_CHANGE_SOURCE="component_2d_video_change_source";static COMPONENT_2D_VIDEO_CHANGE_PLAY_STATE="component_2d_video_change_play_state";static COMPONENT_2D_VIDEO_CHANGE_MUTE_STATE="component_2d_video_change_mute_state";static COMPONENT_2D_TEXT_CHANGE_SOURCE="component_2d_text_change_source";static COMPONENT_2D_PANEL_CHANGE_SCENE="component_2d_panel_change_scene";static COMPONENT_2D_PANEL_BUTTON_CHANGE_ENABLED="component_2d_panel_button_change_enabled";static COMPONENT_TAG_SIMULATE_CLICK="component_tag_simulate_click";static COMPONENT_3D_BOX_CHANGE_COLOR="component_3d_box_change_color";static COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP="component_3d_model_play_animation_clip";static COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP="component_3d_model_stop_animation_clip";static INFORMATION_CONTENT_CARD_SHOW="information_content_card_show";static INFORMATION_CONTENT_CARD_CLOSE="information_content_card_close";static INFORMATION_LINK_OPEN="information_link_open";static INFORMATION_LINK_CLOSE="information_link_close";static AUDIO_CENTER_PLAY_LIST="audio_center_play_list";static AUDIO_CENTER_PAUSE="audio_center_pause";static SWEEP_CHANGE_ENABLED="sweep_change_enabled";static SWEEP_CHANGE_PANORAMA="sweep_change_panorama";static SWEEP_MARKER_CHANGE_ENABLED="sweep_marker_change_enabled";static SWEEP_RESET_TO_DEFAULT="sweep_reset_to_default";static SWEEP_ONLY_ENABLE_CURRENT="sweep_only_enable_current";static CAMERA_MOVE_TO="camera_move_to";static CAMERA_DOLLY_MOVE="camera_dolly_move";static CAMERA_DOLLY_STOP="camera_dolly_stop";static NAVIGATION_START="navigation_start";static NAVIGATION_STOP="navigation_stop";static LOGIC_VARIABLE_MODIFY="logic_variable_modify";static LOGIC_VARIABLE_NUMBER_ADD="logic_variable_number_add";static LOGIC_VARIABLE_NUMBER_SUBTRACT="logic_variable_number_subtract";static LOGIC_VARIABLE_STRING_APPEND="logic_variable_string_append";static LOGIC_VARIABLE_STRING_TRIM_END="logic_variable_string_trim_end";static LOGIC_VARIABLE_STRING_ADVANCED="logic_variable_string_advanced";static LOGIC_VARIABLE_BOOLEAN_TOGGLE="logic_variable_boolean_toggle";static FLOW_ENTER="flow_enter";static FLOW_EXIT="flow_exit";static SEND_BROADCAST="send_broadcast";static SYSTEM_STATE_SCOPE_CREATE="system_state_scope_create";static SYSTEM_STATE_SCOPE_SWITCH="system_state_scope_switch";static SYSTEM_STATE_SCOPE_DESTROY="system_state_scope_destroy";static MONITOR_CHANGE_ENABLED="monitor_change_enabled";static MONITOR_SWITCH_ACTIVE_TAB="monitor_switch_active_tab";static MONITOR_COMPONENT_CHANGE_VISIBILITY="monitor_component_change_visibility";static MONITOR_VIDEO_CHANGE_PLAY_STATE="monitor_video_change_play_state";static MONITOR_VIDEO_CHANGE_MUTE_STATE="monitor_video_change_mute_state";static MONITOR_CHANGE_BADGE_TEXT="monitor_change_badge_text";static MONITOR_CHANGE_BADGE_STYLE="monitor_change_badge_style";static MONITOR_SWITCH_ACTIVE_SCENE="monitor_switch_active_scene";static MONITOR_CHANGE_POPUP_VISIBLE="monitor_change_popup_visible";static LAYER_CHANGE_VISIBILITY="layer_change_visibility";static HAMBURGER_MENU_NODE_CHANGE_VISIBILITY="hamburger_menu_node_change_visibility";static HAMBURGER_MENU_CHANGE_OPEN_STATE="hamburger_menu_change_open_state";static HAMBURGER_MENU_GROUP_CHANGE_EXPANDED="hamburger_menu_group_change_expanded";static CANVAS_COMPONENT_CHANGE_VISIBILITY="canvas_component_change_visibility";static SYSTEM_UI_SETTINGS_CHANGE="system_ui_settings_change";static MESSAGE_CARD_CHANGE_SHOW_STATE="message_card_change_show_state";static MESSAGE_CARD_SHOW="message_card_show";static MESSAGE_CARD_HIDE="message_card_hide";static MESSAGE_CARD_CREATE_TEMPORARY="message_card_create_temporary";static MESSAGE_CARD_DESTROY_TEMPORARY="message_card_destroy_temporary";static TTS_PLAY_VOICE="tts_play_voice";static TTS_REALTIME_STREAM="tts_realtime_stream";static BACKGROUND_THREAD_START="background_thread_start";static BACKGROUND_THREAD_PAUSE="background_thread_pause";static BACKGROUND_THREAD_STOP="background_thread_stop";static AI_AGENT_ACTIVATE="ai_agent_activate";static AI_AGENT_HIDE="ai_agent_hide";static AI_AGENT_WAKE="ai_agent_wake";static AI_AGENT_ACTIVATE_AND_SEND_USER_MESSAGE="ai_agent_activate_and_send_user_message";static AI_AGENT_ACTIVATE_AND_INJECT_DIALOGUE="ai_agent_activate_and_inject_dialogue";static AI_AGENT_INJECT_HIDDEN_STATE_MESSAGE="ai_agent_inject_hidden_state_message";static AI_AGENT_ACTIVATE_AND_INJECT_ASSISTANT_MESSAGE="ai_agent_activate_and_inject_assistant_message";static SYSTEM_OPEN_WEBPAGE="system_open_webpage";static SYSTEM_COLOR_SPACE_SCENE_TINT="system_color_space_scene_tint";static SYSTEM_COLOR_SPACE_DISPLAY_BRIGHTNESS="system_color_space_display_brightness";static SYSTEM_SET_INTERACTIVE_STATE="system_set_interactive_state";static AUDIO_CENTER_SET_VOLUME="audio_center_set_volume";static ABILITY_ENABLE="ability_enable";static ABILITY_STOP="ability_stop";static CLOUD_FORM_SHOW_DIALOG="cloud_form_show_dialog";static CLOUD_FORM_COLLECT_FIELD="cloud_form_collect_field";static CLOUD_FORM_SUBMIT="cloud_form_submit";static CLOUD_FORM_RESET="cloud_form_reset";static HIT_ANALYTICS_EVENT="hit_analytics_event";static POPUP_USER_FORM_SHOW_DIALOG="popup_user_form_show_dialog";static LOGIC_RANDOM_NUMBER="logic_random_number";static LOGIC_RANDOM_COLOR="logic_random_color";static LOGIC_CURRENT_TIME="logic_current_time";static LOGIC_RANDOM_PICK_STRING="logic_random_pick_string";static LOGIC_RANDOM_PICK_NUMBER="logic_random_pick_number";static LOGIC_RANDOM_PICK_BOOLEAN="logic_random_pick_boolean";static LOGIC_RANDOM_PICK_COLOR="logic_random_pick_color";static LOGIC_RANDOM_PICK_CSS_COLOR="logic_random_pick_css_color";static LOGIC_RANDOM_PICK_FROM_RECOMMEND_OPTIONS="logic_random_pick_from_recommend_options";static VISUALIZATION_CONTROLLER_POP="visualization_controller_pop";static VISUALIZATION_CONTROLLER_HIDE="visualization_controller_hide";static VISUALIZATION_CONTROLLER_CLOSE_ALL="visualization_controller_close_all";static AI_CHECK_TAKE_PHOTO="ai_check_take_photo";static AI_CHECK_RUN="ai_check_run";static RAY_HITTER_ACTIVATE="ray_hitter_activate";static RAY_HITTER_DEACTIVATE="ray_hitter_deactivate"}class ht{abilityId="";contextVariableOverrides={};contextVariableOverrideRefs}class It{abilityId=""}class Ot{}class Lt{duration=1e3;durationRef}class bt{componentIdList=[];visibilityState=!0;visibilityStateRef}class Rt{componentId="";changeType="translate";value=new a(0,0,0);valueXRef;valueYRef;valueZRef}class ft{componentId="";transitionAnimationId="";waitForComplete=!1}class kt{componentId="";deformationSettings=new se}class Nt{componentId="";changeType="next";sourceId=""}class Pt{componentId="";changeType="next";sourceId=""}class Mt{componentId="";changeType="next";sourceId="";autoPlay=!1;autoPlayRef;forceUnmute=!1;forceUnmuteRef}class wt{componentId="";play=!0;playRef}class vt{componentId="";mute=!0;muteRef}class Dt{componentId="";faceColor=l.createColorRgba(0,0,0,1);faceColorRef;borderColor=l.createColorRgba(0,0,0,1);borderColorRef;hoverFaceColor=l.createColorRgba(0,0,0,1);hoverFaceColorRef;hoverBorderColor=l.createColorRgba(0,0,0,1);hoverBorderColorRef}class Vt{componentId="";overrideAutoMoveCamera;moveTransitionMs}class Ut{componentId="";sceneId=""}class xt{componentId="";sceneId="";buttonId="";enabled=!0;enabledRef}class Ft{componentId="";changeType="next";audioIndex=-1;audioId=""}class Bt{componentId=""}class Gt{componentId="";loopMode=O.NO_LOOP}class Kt{audioListId="";audioId="";interruptIfPlaying=!1}class Ht{componentId="";animationClipId="";waitForComplete=!1}class Wt{destinationType="sweep";componentId="";vrFovId="";fovLink="";fovLinkSnapshotSrc="";fovLinkCameraRotation=new n(0,0);fovLinkSweepId="";sweepId="";navigationMode=k.MANUAL;autoRecalculate=!0;autoRecalculateDistanceThreshold=.5;pathColor=l.createColorByStr("#03b203")}class Xt{destinationType="sweep";componentId="";vrFovId="";fovLink="";fovLinkSnapshotSrc="";fovLinkCameraRotation=new n(0,0);fovLinkSweepId="";sweepId="";transitionType=o.FLY;transitionTime=1e3;transitionTimeRef}class Yt{dollyPathId=""}class Jt{}class zt{sweepIdList=[];enabled=!0;enabledRef;mode="set"}class qt{sweepId="";panoramaId=""}class jt{markerIdList=[];enabled=!0;enabledRef;mode="set"}class $t{}class Qt{}class Zt{contentCardId="";showStyle=V.DRAWER}class ea{url="";urlRef;isOpenWithExternal=!1;isOpenWithExternalRef}class ta{variableKey="";variableScope;value="";valueRef}class aa{variableKey="";variableScope;value=0;valueRef}class na{variableKey="";variableScope;sourceType="fixed";content="";contentRef}class sa{variableKey="";variableScope;length=1;lengthRef}class oa{variableKey="";variableScope;expression=""}class ra{variableKey="";variableScope}class ia{flowId="";forceStopRunning=!1}class la{}class ca{fieldKey="";value=new Ee}class da{channelId="";payloadValueList=[]}class ma{static DEFAULT="default";static CURRENT="current";static SPECIFIC="specific"}class pa{scopeId="";scopeIdRef;branchFrom=ma.DEFAULT;branchFromScopeId="";branchFromScopeIdRef;activate=!0}class _a{scopeId="";scopeIdRef}class ya{scopeId="";scopeIdRef;activateAfterScopeId="default";activateAfterScopeIdRef}class ua{monitorId="";enabled=!0;enabledRef}class ga{tabId=""}class Ea{monitorId="";componentIdList=[];visible=!0;visibleRef}class Ta{static PLAY="play";static PAUSE="pause";static TOGGLE="toggle"}class Aa{static MUTE="mute";static UNMUTE="unmute";static TOGGLE="toggle"}class Ca{monitorId="";componentId="";changeType=Ta.TOGGLE;unmuteOnPlay=!1;restartFromBeginning=!1}class Sa{monitorId="";componentId="";changeType=Aa.TOGGLE}class ha{monitorId="";badgeText="";badgeTextRef}class Ia{monitorId="";badgeStyleRef;badgeBgColorRef;badgeTextColorRef}class Oa{monitorId="";sceneId="";sceneIdRef}class La{static SHOW="show";static HIDE="hide";static TOGGLE="toggle"}class ba{monitorId="";changeType=La.TOGGLE}class Ra{hamburgerMenuNodeId="";componentIdList=[];visible=!0;visibleRef}class fa{layerIdList=[];visible=!0;visibleRef}class ka{nodeIdList=[];visible=!0;visibleRef}class Na{open=!0;openRef}class Pa{groupNodeIdList=[];expanded=!0;expandedRef}class Ma{settingKey="";value=!0;valueRef}class wa{messageCardIdList=[];showState=!0;showStateRef}class va{messageCardId=""}class Da{messageCardId=""}class Va{card=new H;key="";keepOnlyLatestForKey=!1;closable=!0}class Ua{key="";destroyAll=!1}class xa{static SIMPLE="simple";static EXPRESSION="expression"}class Fa{voiceId="";textMode="simple";text=new E;textRef;textExpression="";showSubtitle=!0;waitForComplete=!0;languageCode="";speed=1;componentId=""}class Ba{voiceId="";textMode="simple";text=new E;textRef;textExpression="";showSubtitle=!0;waitForComplete=!1;languageCode="";speed=1;componentId=""}class Ga{threadId=""}class Ka{agentId=""}class Ha{agentId=""}class Wa{static AUTO="auto";static ACT_AND_REPLY="act_and_reply";static ACT_NO_REPLY="act_no_reply"}class Xa{agentId="";wakePromptId="";hasMessage=!1;message=new E;workStyle="auto"}class Ya extends Ka{userMessage=new E}class Ja extends Ka{userMessage=new E;assistantReply=new E;pseudoStreamCharIntervalMs}class za extends Ka{stateMessage=""}class qa extends Ka{assistantMessage=new E;pseudoStreamCharIntervalMs}class ja{static DIALOG="dialog";static FLOATING_DRAWER="floating-drawer";static PUSHED_DRAWER="pushed-drawer"}class $a{url="";urlRef;multiLangUrl;pcMode="dialog";width=720;height=480;mobileHeight=70;title;showTitleBar=!0;closeOnMaskClick=!0;forceExternalBrowser=!1}class Qa{interactive=!0;interactiveRef}class Za{volume=100;volumeRef}class en{color=l.createColorRgba(255,255,255,1);animated=!0;durationMs=800}class tn{brightness=1;brightnessRef;animated=!0;durationMs=800}class an{static LITERAL="LITERAL";static EXPRESSION="EXPRESSION"}class nn{cloudFormDataKey="";onSubmitSuccessActions=[];onAlreadySubmittedActions=[]}class sn{cloudFormDataKey="";fieldDataKey="";valueMode=an.LITERAL;literalValue=null;expression=""}class on{cloudFormDataKey="";onSuccessActions=[];onFailActions=[]}class rn{cloudFormDataKey=""}class ln{static LITERAL="LITERAL";static USER_VARIABLE="USER_VARIABLE";static EXPRESSION="EXPRESSION"}class cn{fieldKey="";valueMode=ln.LITERAL;literalValue=null;variableKey="";variableScope;expression=""}class dn{analyticsEventDataKey="";fieldBindings=[]}class mn{fieldKey="";label=new E;description=new E;placeholder=new E;required=!0;dataType=Fe.STRING;defaultValue=null;control=new We;boundVariableScope="";boundVariableKey=""}class pn{title=new E;description=new E;submitButtonText=new E;cancelButtonText=new E;showCancelButton=!0;blockInteraction=!0;closeOnOverlayClick=!1;synchronous=!0;fields=[];onSubmitSuccessActions=[];onCancelActions=[]}class _n{target=new Te;min=0;max=1;integerOnly=!1}class yn{static RANDOM="random";static COOL="cool";static WARM="warm";static PASTEL="pastel";static VIVID="vivid";static GRAY="gray"}class un{target=new Te;palette=yn.RANDOM;randomAlpha=!1;fixedAlpha=1}class gn{static ISO="iso";static UNIX_MS="unix_ms";static UNIX_S="unix_s";static DATE_STRING="date_string";static TIME_STRING="time_string"}class En{target=new Te;outputType=gn.ISO}class Tn{target=new Te;candidates=[]}class An{target=new Te;candidates=[]}class Cn{target=new Te;candidates=[]}class Sn{target=new Te;candidates=[]}class hn{target=new Te;candidates=[]}class In{target=new Te}class On{static RAW="raw";static WITH_OVERLAY="with_overlay"}class Ln{target=new Te;captureMode=On.RAW}class bn{static CAMERA="camera";static ALBUM="album";static IMAGE_VARIABLE="image_variable"}class Rn{ruleId="";imageSource=bn.CAMERA;cameraCaptureMode=On.RAW;sourceVariable=new Te;passedTarget=new Te;scoreTarget=new Te;reasonTarget=new Te}class fn{rayHitterId=""}class kn{rayHitterId=""}class Nn{controllerKey="";keepOnlyLatestForKey=!1;iconSrc="";title=new E;description=new E;buttonList=[];overrideAppearance=!1;appearanceOverride=new K;reportToAgentId}class Pn{controllerKey=""}class Mn{}function wn(e,t){return{vr:e,ar:t}}const vn=wn(!0,!1),Dn=wn(!0,!0),Vn=wn(!1,!0),Un={[St.CAMERA_MOVE_TO]:vn,[St.CAMERA_DOLLY_MOVE]:vn,[St.CAMERA_DOLLY_STOP]:vn,[St.SWEEP_CHANGE_ENABLED]:vn,[St.SWEEP_CHANGE_PANORAMA]:vn,[St.SWEEP_MARKER_CHANGE_ENABLED]:vn,[St.SWEEP_RESET_TO_DEFAULT]:vn,[St.SWEEP_ONLY_ENABLE_CURRENT]:vn,[St.COMPONENT_TAG_SIMULATE_CLICK]:vn,[St.SYSTEM_COLOR_SPACE_SCENE_TINT]:vn,[St.SYSTEM_COLOR_SPACE_DISPLAY_BRIGHTNESS]:vn};function xn(e){return e&&Un[e]||Dn}function Fn(){return Un}class Bn{boundVariableScope="";boundVariableKey="";dataType=Fe.STRING;control=new We;label=new E;description=new E;placeholder=new E;labelColor="";descriptionColor="";commitTextOnBlur=!0}class Gn extends u{name="";introduce="";code="";adItemList=[]}class Kn{type="image";name="";introduce="";imageSeconds=5;contentSrc="";chromaKeySettings=new m}class Hn{isAiEnabled=!0;welcomeMessage=new E}class Wn extends u{assetDataKey="";position=new a(0,0,0);rotation=new a(0,0,0);scale=new a(1,1,1);color=l.createColorRgb(20,20,20);name="";description="";snapshotSrc="";bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Xn extends u{position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;name="";description="";bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Yn extends u{name="";description="";scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Jn{bgColor=l.createColorRgba(255,255,255,.55);textColor=l.createColorByStr("#4e5969");iconColor=l.createColorByStr("#4e5969");accentColor=l.createColorByStr("#1677ff");blur=26;cornerRadius=16;textShadow=function(){const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.12),e}();iconShadow=function(){return new B}();panelShadow=function(){const e=new B;return e.enabled=!0,e.offsetX=0,e.offsetY=4,e.blur=14,e.color=l.createColorRgba(0,0,0,.16),e}();iconTintEnabled=!1}class zn{static CONTAIN="contain";static COVER="cover";static FILL="fill";static SCALE_DOWN="scale-down";static NONE="none"}class qn{static CENTER="center";static LEFT="left";static RIGHT="right"}class jn{enabled=!0;boxWidth=160;boxHeight=56;objectFit="contain";objectAlign="center"}class $n{imageSrc="";clickUrl="";backgroundColor=l.createColorRgba(0,0,0,0);pcConfig=new jn;mobileConfig=new jn;unityConfig=new jn}class Qn{enabledShare=!0;enabledFullScreen=!0;enabledSceneBtn=!0;enabledFovBtn=!0;enabledD3ModeBtn=!0;enabledFloorPlanModeBtn=!0;enabledFloorSelectBtn=!0;enabledMeasurementBtn=!0;enabledFlowBtn=!1;enabledMinimap=!0;enabledStaffLogin=!1;enabledGuestLogin=!1;enabledHamburgerMenu=!0;vrDefaultGlobalMute=!1;arDefaultGlobalMute=!1;playerAppearance=new K;floatingLayerStyle=new Jn;logoConfig=new $n;vrMainBarItems=[];vrInfoBarItems=[];arBottomItems=[];arInfoItems=[]}class Zn{enabledVrInfoTemplate=!1;vrInfoTemplateDataKey="";vrInfoTemplateItemValueList=[]}class es{templateItemDataKey="";templateItemValue=""}class ts{vrShadowEnabled=!1;vrShadowOpacity=.3;vrShadowMapSize=2048;arShadowEnabled=!1;arShadowStrength=.5;arShadowResolution="high"}class as{toneMapping="aces";toneMappingExposure=1;displayBrightness=1;sceneTint=l.createColorRgba(255,255,255,1)}function ns(e,t,a=g.EN){if(null==e)return"";if("string"==typeof e)return e;if(e.only_use_original_content)return e.original_content??"";const n=e[t];if(null!=n&&""!==n)return n;if(a!==t){const t=e[a];if(null!=t&&""!==t)return t}return e.original_content??""}function ss(e="",t=!0){const a=new E;return a.original_content=e,a.only_use_original_content=t,a}function os(e){if(null==e)return new E;if("string"==typeof e){const t=new E;return t.original_content=e,t.only_use_original_content=!0,t}return e}function rs(e){if(!e)return;const t=e.toLowerCase();return t.startsWith("zh-cn")||"zh"===t||t.startsWith("zh-hans")?"zh_cn":t.startsWith("zh-tw")||t.startsWith("zh-hant")?"zh_tw":t.startsWith("zh-hk")?"zh_hk":t.startsWith("en")?"en":t.startsWith("ko")?"kr":t.startsWith("ja")?"jp":t.startsWith("th")?"th":t.startsWith("vi")?"vn":t.startsWith("es")?"es":t.startsWith("fr")?"fr":t.startsWith("de")?"de":void 0}function is(e,t){if(!e||0===e.length)return g.EN;const a=rs(t);return a&&e.includes(a)?a:e[0]}class ls{static VIDEO="video";static IMAGE="image"}class cs{static FILL="fill";static CONTAIN="contain";static COVER="cover";static NONE="none";static SCALE_DOWN="scale-down"}class ds{static PLAY="play";static TEXT="text"}class ms{coverImageSrc="";coverVideoSrc="";coverBackgroundColor=l.createColorRgba(255,255,255,1);coverBackgroundType=ls.IMAGE;coverContentFitType=cs.CONTAIN;coverMaskColor=l.createColorRgba(255,255,255,.5);coverMaskBlur=10;coverTitle=new E;coverDescription=new E;enabledEnterVrButton=!1;enterVrButtonType=ds.PLAY;enterButtonBackgroundColor=l.createColorRgba(64,158,255,1);enterButtonForegroundColor=l.createColorRgba(255,255,255,1);enterButtonShadowColor=l.createColorRgba(64,158,255,1);textButtonContent=ss("Enter");constructor(){this.coverBackgroundColor=l.createColorRgba(0,0,0,1),this.coverBackgroundType=ls.IMAGE,this.coverContentFitType=cs.CONTAIN,this.coverMaskColor=l.createColorRgba(0,0,0,.5),this.coverMaskBlur=10,this.enabledEnterVrButton=!1,this.enterVrButtonType=ds.PLAY,this.enterButtonBackgroundColor=l.createColorRgba(64,158,255,1),this.enterButtonForegroundColor=l.createColorRgba(255,255,255,1),this.enterButtonShadowColor=l.createColorRgba(64,158,255,1),this.textButtonContent=ss("Enter")}}class ps{vrInitCompleteActionList=[];vrInitLocalVariableList=[];arInitCompleteActionList=[];arInitLocalVariableList=[];allInitCompleteActionList=[];allInitLocalVariableList=[];variablePreFillEnabled=!1;variablePreFillList=[];enterVrButtonTitle=new E;description=new E}class _s{variableKey="";defaultValue=new E;title=new E;hint=new E;required=!0}class ys{static IMAGE="image";static TEXT="text";static PROGRESS_BAR="progress-bar";static VIDEO="video";static BUTTON="button";static VARIABLE_CONTROL="variable-control"}class us{static CONTAIN="contain";static COVER="cover";static FILL="fill";static SCALE_DOWN="scale-down";static NONE="none"}class gs{static LEFT="left";static CENTER="center";static RIGHT="right"}class Es{static TOP="top";static MIDDLE="middle";static BOTTOM="bottom"}class Ts{static HORIZONTAL="horizontal";static VERTICAL="vertical"}class As{static SOLID="solid";static GRADIENT="gradient";static STRIPED="striped";static STRIPED_ANIMATED="striped-animated";static GLOW="glow"}class Cs{static CONTAIN="contain";static COVER="cover";static FILL="fill";static NONE="none"}class Ss{static LEFT="left";static RIGHT="right";static TOP="top"}class hs{static BELOW="below";static CORNER="corner"}class Is extends u{type=ys.TEXT;name="";remark="";width=200;height=150;rotation=0;opacity=1;backgroundColor="rgba(255,255,255,0)";hoverStyleEnabled=!1;hoverBackgroundColor="rgba(255,255,255,0)";hoverOpacity=1;visible=!0;zIndex=1;radius=0;border="none";paddingX=6;paddingY=6;clickActionList=[];css={};script=""}class Os extends Is{type=ys.IMAGE;imageSrc="";imageMode=us.FILL}class Ls extends Is{type=ys.TEXT;width=150;height=30;positionX=0;positionY=0;textContent=new E;textColor="rgba(255,255,255,1)";textSize=16;textVerticalAlign=Es.MIDDLE;textAlign=gs.CENTER;textBold=!1;textItalic=!1;textUnderline=!1}class bs extends Is{type=ys.PROGRESS_BAR;width=160;height=14;radius=999;progressBarStyle=As.SOLID;progressBarColor="#1677ff";progressBarColorEnd="#69b1ff";progressBarTrackColor="rgba(0,0,0,0.08)";progressRange="100";progressBarDirection=Ts.HORIZONTAL;progress="50"}class Rs extends Is{type=ys.VIDEO;width=240;height=135;backgroundColor="rgba(0,0,0,1)";videoSrc="";poster="";autoplay=!1;muted=!0;loop=!1;controls=!0;objectFit=Cs.COVER}class fs extends Is{type=ys.BUTTON;width=120;height=36;radius=999;paddingX=14;paddingY=8;backgroundColor="#1677ff";hoverBackgroundColor="#4096ff";textContent=new E;textColor="rgba(255,255,255,1)";textSize=14;textBold=!1;textItalic=!1;textUnderline=!1;icon=new I;iconPosition=Ss.LEFT;iconSize=18}class ks extends Is{type=ys.VARIABLE_CONTROL;width=200;height=60;bound=new Bn}class Ns{static FLOATING="floating";static POPUP="popup"}class Ps extends u{name="";description="";size=new n(360,270);radius=12;backgroundColor=l.createColorRgba(255,255,255,.5);backgroundBlur=10;componentList=[]}class Ms extends u{name="";remark="";title=new E;description="";icon=new I;defaultEnabled=!0;displayMode=Ns.FLOATING;sceneDataList=[];defaultSceneId="";badgeText=new E;badgeStyle=hs.CORNER;badgeBgColor="rgba(255,77,79,1)";badgeTextColor="rgba(255,255,255,1)";size=new n(360,270);radius=12;backgroundColor=l.createColorRgba(255,255,255,.5);backgroundBlur=10;componentList=[]}const ws="#262626";class vs{background=l.createColorRgba(0,0,0,0);textColor=l.createColorByStr("#ffffff");iconColor=l.createColorByStr("#ffffff");textShadow=(()=>{const e=new B;return e.enabled=!1,e.offsetX=0,e.offsetY=1,e.blur=2,e.color=l.createColorRgba(0,0,0,.55),e})();iconShadow=new B;iconTintEnabled=!0}function Ds(){const e=new vs;return e.background=l.createColorRgba(0,0,0,.5),e}function Vs(e,t){if(e&&e.rootStyleOverrideEnabled){const t=e.rootStyle||Ds();return{background:c.colorToRgbaString(t.background),inheritBackground:"transparent",textColor:c.colorToRgbaString(t.textColor),iconColor:c.colorToRgbaString(t.iconColor),textShadow:G(t.textShadow,"text"),iconShadow:G(t.iconShadow,"drop"),iconTintEnabled:!1!==t.iconTintEnabled}}const a=t||new Jn;return{background:c.colorToRgbaString(a.bgColor),inheritBackground:"transparent",textColor:c.colorToRgbaString(a.textColor),iconColor:c.colorToRgbaString(a.iconColor),textShadow:G(a.textShadow,"text"),iconShadow:G(a.iconShadow,"drop"),iconTintEnabled:!!a.iconTintEnabled}}function Us(e,t){const a=e&&e.style||new vs;if(e&&e.styleOverrideEnabled){const e=c.colorToRgbaString(a.background);return{background:e,inheritBackground:e,textColor:c.colorToRgbaString(a.textColor),iconColor:c.colorToRgbaString(a.iconColor),textShadow:G(a.textShadow,"text"),iconShadow:G(a.iconShadow,"drop"),iconTintEnabled:!1!==a.iconTintEnabled}}const n=t.inheritBackground||"transparent";return{background:n,inheritBackground:n,textColor:t.textColor,iconColor:t.iconColor,textShadow:t.textShadow,iconShadow:t.iconShadow,iconTintEnabled:t.iconTintEnabled}}class xs{static GROUP="group";static TEXT_ITEM="text_item";static MEDIA_CAROUSEL_ITEM="media_carousel_item";static GRID_MEDIA_ITEM="grid_media_item";static WATERFALL_MEDIA_ITEM="waterfall_media_item";static WEBVIEW_ITEM="webview_item";static RICH_TEXT_ITEM="rich_text_item";static CANVAS_ITEM="canvas_item";static IMAGE_ITEM="image_item";static GRID_IMAGE_ITEM="grid_image_item";static WATERFALL_IMAGE_ITEM="waterfall_image_item";static VIDEO_ITEM="video_item"}class Fs{static IMAGE="image";static VIDEO="video"}class Bs extends u{mediaType=Fs.IMAGE;url="";poster="";caption=new E;aspectRatio=0;buttonList=[]}class Gs{static FLOATING="floating";static PUSHED="pushed"}class Ks{static ELLIPSIS="ellipsis";static WRAP="wrap"}class Hs extends u{nodeType=xs.TEXT_ITEM;name="";color=ws;backgroundColor="";styleOverrideEnabled=!1;style=new vs;visible=!0;requireXrReady=!0}class Ws extends Hs{title=new E;icon=new I;titleOverflowMode=Ks.ELLIPSIS}class Xs extends Ws{constructor(){super(),this.nodeType=xs.TEXT_ITEM}actionList=[]}class Ys extends Ws{constructor(){super(),this.nodeType=xs.MEDIA_CAROUSEL_ITEM}description=new E;mediaList=[];autoplay=!0;intervalMs=3e3;height=0;objectFit=$s.COVER}class Js{url="";actionList=[]}class zs extends Ws{constructor(){super(),this.nodeType=xs.IMAGE_ITEM}description=new E;imageList=[];autoplay=!0;intervalMs=3e3;height=0;objectFit=$s.COVER}class qs{url="";caption=new E;actionList=[];aspectRatio=0}class js{static LEFT="left";static FILL="fill";static CENTER="center";static STRETCH="stretch"}class $s{static COVER="cover";static CONTAIN="contain";static FILL="fill"}class Qs extends Ws{constructor(){super(),this.nodeType=xs.GRID_MEDIA_ITEM}description=new E;mediaList=[];columns=3;aspectRatio=1;gap=6;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";objectFit=$s.COVER;lastRowMode=js.LEFT;enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class Zs extends Ws{constructor(){super(),this.nodeType=xs.GRID_IMAGE_ITEM}description=new E;imageList=[];columns=3;aspectRatio=1;gap=6;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";objectFit=$s.COVER;lastRowMode=js.LEFT;enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class eo{minWidth=0;columns=2}class to extends Ws{constructor(){super(),this.nodeType=xs.WATERFALL_MEDIA_ITEM}description=new E;mediaList=[];columns=2;responsiveBreakpoints=[];columnGap=8;rowGap=8;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class ao extends Ws{constructor(){super(),this.nodeType=xs.WATERFALL_IMAGE_ITEM}description=new E;imageList=[];columns=2;responsiveBreakpoints=[];columnGap=8;rowGap=8;cornerRadius=0;borderWidth=0;borderColor="rgba(0,0,0,0.08)";enableLightbox=!0;lightboxEnableSwitch=!0;lightboxOverlayBackground="rgba(0, 0, 0, 0.85)";showCaption=!0}class no{url="";poster=""}class so extends Ws{constructor(){super(),this.nodeType=xs.VIDEO_ITEM}description=new E;videoList=[];autoplay=!1;muted=!0;loop=!1;height=0;objectFit=$s.CONTAIN}class oo extends Ws{constructor(){super(),this.nodeType=xs.WEBVIEW_ITEM}url="";height=240;allowFullscreen=!1}class ro extends Ws{constructor(){super(),this.nodeType=xs.GROUP}children=[];defaultExpanded=!0}function io(){return{type:"doc",content:[]}}class lo extends Hs{constructor(){super(),this.nodeType=xs.RICH_TEXT_ITEM}content={type:"doc",content:[]}}class co extends Ws{constructor(){super(),this.nodeType=xs.CANVAS_ITEM}designWidth=380;height=240;canvasBackgroundColor="rgba(0, 0, 0, 0.5)";componentList=[]}class mo{drawerTitle=new E;drawerTitleColor="";drawerDescription=new E;drawerDescriptionColor="";rootStyleOverrideEnabled=!1;rootStyle=Ds();nodeList=[];pcLayoutMode=Gs.FLOATING;backgroundColor="";backgroundBlur=0;edgeGap=0;pcWidth=380;openedByDefault=!1}class po{static IMAGE="image";static TEXT="text";static PROGRESS_BAR="progress-bar";static VIDEO="video";static BUTTON="button";static VARIABLE_CONTROL="variable-control"}class _o{static CONTAIN="contain";static COVER="cover";static FILL="fill";static SCALE_DOWN="scale-down";static NONE="none"}class yo{static LEFT="left";static CENTER="center";static RIGHT="right"}class uo{static TOP="top";static MIDDLE="middle";static BOTTOM="bottom"}class go{static HORIZONTAL="horizontal";static VERTICAL="vertical"}class Eo{static CONTAIN="contain";static COVER="cover";static FILL="fill";static NONE="none"}class To{static LEFT="left";static RIGHT="right";static TOP="top"}class Ao extends u{type=po.TEXT;name="";remark="";width=200;height=60;positionX=0;positionY=0;rotation=0;opacity=1;visible=!0;zIndex=1;backgroundColor="rgba(255,255,255,0)";hoverStyleEnabled=!1;hoverBackgroundColor="rgba(255,255,255,0)";hoverOpacity=1;radius=0;border="none";paddingX=6;paddingY=6;clickActionList=[];css={};script=""}class Co extends Ao{type=po.IMAGE;imageSrc="";imageMode=_o.FILL}class So extends Ao{type=po.TEXT;width=150;height=30;textContent=new E;textColor="rgba(255,255,255,1)";textSize=16;textVerticalAlign=uo.MIDDLE;textAlign=yo.CENTER;textBold=!1;textItalic=!1;textUnderline=!1}class ho extends Ao{type=po.PROGRESS_BAR;width=160;height=14;radius=999;progressBarStyle=As.SOLID;progressBarColor="#1677ff";progressBarColorEnd="#69b1ff";progressBarTrackColor="rgba(0,0,0,0.08)";progressRange="100";progressBarDirection=go.HORIZONTAL;progress="50"}class Io extends Ao{type=po.VIDEO;width=240;height=135;backgroundColor="#000000";videoSrc="";poster="";autoplay=!1;muted=!0;loop=!1;controls=!0;objectFit=Eo.COVER}class Oo extends Ao{type=po.BUTTON;width=120;height=36;radius=999;paddingX=14;paddingY=8;backgroundColor="#1677ff";hoverBackgroundColor="#4096ff";textContent=new E;textColor="rgba(255,255,255,1)";textSize=14;textAlign=yo.CENTER;textBold=!1;textItalic=!1;textUnderline=!1;icon=new I;iconPosition=To.LEFT;iconSize=18}class Lo extends Ao{type=po.VARIABLE_CONTROL;width=200;height=60;bound=new Bn}class bo{static buildVrContentData(e,t,a,n){const s=new Bo(e,t);return s.vrCoverSettings.coverTitle.original_content=a,s.vrCoverSettings.coverImageSrc=n,s}}class Ro{isDirectToInside=!1;firstSweepPose=new r;enterFovImageSrc="";enterParams=""}class fo{min=new a(0,0,0);max=new a(0,0,0);size=new a(0,0,0)}class ko{title="";description=""}class No{nearDistanceMax=35;refreshMoveThreshold=5;componentRevealIntervalMs=80}class Po{enabled=!0;blurVarThreshold=8;darkLumaThreshold=40;textureThreshold=4;maxCaptureRetries=15;blockedHintAfter=3}class Mo{enabled=!1;holdSeconds=15}class wo{capture="multi";poseGatePitchAbsDeg=45;poseGateStableSec=1;multiFrameCount=3;multiFrameIntervalMs=500;autoRetryOnFailure=!0;retryDelaySec=2;guidedCaptureEnabled=!1;guidedCaptureAskUser=!1;guidedCaptureCount=6}class vo{enabled=!0;intervalSec=30}class Do{enabled=!0;distanceMeters=3;idleTimeoutSec=60}class Vo{minScore=0;factor=1;constructor(e=0,t=1){this.minScore=e,this.factor=t}}class Uo{enabled=!0;scoreTiers=[new Vo(.9,2),new Vo(.7,1),new Vo(.45,.5),new Vo(0,.25)];driftWarnMeters=.5;driftForceMeters=1.5;limitedAction="relocate_boost"}class xo{enabled=!0;capture="single";multiFrameCount=3;multiFrameIntervalMs=500;timerTrigger=new vo;distanceTrigger=new Do;dynamic=new Uo;maxConsecutiveFailures=5;adaptiveAssistEnabled=!0;adaptiveAssistRadius=3;adaptiveAssistRadiusInitial=5;adaptiveAssistSettleSec=15;adaptiveAssistMaxAgeSec=30;smoothCorrection=!0;smoothDurationSec=.4;debugToastEnabled=!1}class Fo{apiKey="";apiBaseUrl="";requestTimeoutSec=120;retrieval="netvlad";retrievalK=20;regionRetrievalK=20;failThreshold=.2;highThreshold=.7;firstLocalizeDelaySec=1.5;jpegQuality=75;maxUploadEdge=1280;quality=new Po;abnormalHandheld=new Mo;initial=new wo;correction=new xo;schemaVersion=2}class Bo{version;vrDataKey="";mpModelId="";vrUnicode="";supportedLanguages=[g.EN,g.JP];vrCoverSettings=new ms;vrPlayerUiSettings=new Qn;hamburgerMenu=new mo;vrInfoTemplateSettings=new Zn;arCommonSettings=new No;arPositionXSettings=new Fo;vrRenderSettings=new ts;vrColorSpaceSettings=new as;cameraEnterSettings=new Ro;sweepMarkerList=[];componentMarkerList=[];worldSizeInfo=new fo;introduceItemList=[];vrFovList=[];vrContentCardList=[];vrFloorList=[];audioCenter=new W;vrLightList=[];vrLayerList=[];vrViewList=[];sweepList=[];componentList=[];trimmerList=[];spaceFenceList=[];spaceFenceGroupList=[];rayHitterList=[];abilityList=[];abilityGroupList=[];vrFlowList=[];vrStickerList=[];assetPointMarkList=[];assetVolumeMarkList=[];vrTargetList=[];vrTargetGroupList=[];vrObstacleList=[];vrObstacleGroupList=[];vrWormholeList=[];vrWormholeGroupList=[];vrAdChannelList=[];prepareSettings=new ps;vrAiSettings=new Hn;aiAgentList=[];variableList=[];sharedVariableList=[];conditionWatcherList=[];stateBindingsList=[];broadcastChannelList=[];backgroundThreadList=[];cameraDollyPathList=[];monitorList=[];messageCardList=[];triggerList=[];unityNavigationModeList=[];unityNavigationParams=new b;xrVirtualFloorList=[];navigationAdConfigList=[];programSceneList=[];customClassList=[];sharedFunctionList=[];constructor(e,t){this.mpModelId=e,this.vrUnicode=t}}class Go extends u{name="";sequence=0;originalFloorPlanImageSrc="";mapSettings=new Ko}class Ko{floorId="";mapImageSrc="";widthScale=1;heightScale=1;horizontalOffset=0;verticalOffset=0;rotation=0}class Ho{static COMPONENT_CREATED="component_created";static COMPONENT_SHOW="component_show";static COMPONENT_HIDE="component_hide";static CLICK="click";static MOUSE_ENTER="mouse_enter";static MOUSE_LEAVE="mouse_leave";static PLAY_START="play_start";static PLAY_FINISH="play_finish";static ENTER="enter";static LEAVE="leave";static PANEL_BUTTON_CLICK="panel_button_click";static PANEL_ANSWER_CORRECT="panel_answer_correct";static PANEL_ANSWER_WRONG="panel_answer_wrong";static VARIABLE_MODIFIED="variable_modified";static CONDITION_WATCHER_TRIGGERED="expression_watcher_triggered";static MONITOR_COMPONENT_CLICK="monitor_component_click";static STICKER_ACTIVATED="sticker_activated";static STICKER_DEACTIVATED="sticker_deactivated";static VR_STARTED="vr_started";static ALL_COMPONENTS_CREATED="all_components_created";static BROADCAST_CHANNEL_MESSAGE="broadcast_channel_message";static RAY_HITTER_TOP_TRIGGERED="ray_hitter_top_triggered";static RAY_HITTER_BOTTOM_TRIGGERED="ray_hitter_bottom_triggered"}class Wo{static COMPONENT_TAG="component_tag";static COMPONENT_2D_TEXT="component_2d_text";static COMPONENT_2D_ADVERTISEMENT="component_2d_advertisement";static COMPONENT_2D_VIDEO="component_2d_video";static COMPONENT_2D_IMAGE="component_2d_image";static COMPONENT_2D_PANEL="component_2d_panel";static COMPONENT_3D_BOX="component_3d_box";static COMPONENT_3D_MODEL="component_3d_model";static RAY_HITTER="ray_hitter";static LOGIC_VARIABLE="logic_variable";static LOGIC_CONDITION_WATCHER="logic_expression_watcher";static SPACE_FENCE="space_fence";static SPACE_FENCE_GROUP="space_fence_group";static MONITOR_COMPONENT="monitor_component";static STICKER="sticker";static BROADCAST="broadcast";static AI_AGENT="ai_agent";static SYSTEM="system"}const Xo={[Wo.COMPONENT_TAG]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Wo.COMPONENT_2D_TEXT]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Wo.COMPONENT_2D_ADVERTISEMENT]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Wo.COMPONENT_2D_VIDEO]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE,Ho.PLAY_START,Ho.PLAY_FINISH],[Wo.COMPONENT_2D_IMAGE]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Wo.COMPONENT_2D_PANEL]:[Ho.PANEL_BUTTON_CLICK,Ho.PANEL_ANSWER_CORRECT,Ho.PANEL_ANSWER_WRONG,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE],[Wo.COMPONENT_3D_BOX]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE],[Wo.COMPONENT_3D_MODEL]:[Ho.CLICK,Ho.COMPONENT_CREATED,Ho.COMPONENT_SHOW,Ho.COMPONENT_HIDE,Ho.MOUSE_ENTER,Ho.MOUSE_LEAVE,Ho.PLAY_START,Ho.PLAY_FINISH],[Wo.RAY_HITTER]:[Ho.RAY_HITTER_TOP_TRIGGERED,Ho.RAY_HITTER_BOTTOM_TRIGGERED],[Wo.LOGIC_VARIABLE]:[Ho.VARIABLE_MODIFIED],[Wo.LOGIC_CONDITION_WATCHER]:[Ho.CONDITION_WATCHER_TRIGGERED],[Wo.SPACE_FENCE]:[Ho.ENTER,Ho.LEAVE],[Wo.SPACE_FENCE_GROUP]:[Ho.ENTER,Ho.LEAVE],[Wo.MONITOR_COMPONENT]:[Ho.MONITOR_COMPONENT_CLICK],[Wo.STICKER]:[Ho.STICKER_ACTIVATED,Ho.STICKER_DEACTIVATED],[Wo.BROADCAST]:[Ho.BROADCAST_CHANNEL_MESSAGE],[Wo.SYSTEM]:[Ho.VR_STARTED,Ho.ALL_COMPONENTS_CREATED]};class Yo{source=Wo.COMPONENT_TAG;sourceId="";type=Ho.ENTER;editorParams={}}class Jo extends u{createSourceType=Wo.COMPONENT_2D_IMAGE;createSourceId="";name="";signal=new Yo;actionList=[];triggerTimesLimit=-1;localVariableList=[];constructor(){super()}}class zo{static DRAFT="draft";static PUBLISHED="published"}class qo{id="";name="";description="";keywords=[];status=zo.DRAFT;startStepId="";stepList=[];canvasData="";flagImageSrc="";flagImageSize=new n(1,1);flowScopeVariableList=[]}class jo{static START="start";static FINISH="finish";static GENERAL="general";static CONDITION="condition";static GLOBAL_BROADCAST_LISTENER="global_broadcast_listener"}class $o{static NORMAL="normal";static BUTTONS_ONLY="buttons_only";static NONE="none"}class Qo{id="";type=jo.GENERAL;name="";title=new E;description=new E;showArriveDescription=!1;arriveDescription=new E;note="";flagImageSrc="";flagImageSize=new n(1,1);iconSrc="";stepBarStyle=$o.NORMAL;showStepBarDelay=0;buttonList=[];enterActionList=[];positionSettings=new tr;arriveRadius=5;arriveActionList=[];triggerList=[];finishInjectTriggerList=[];startCardNextStepEndpointSettings=new nr;conditionExpression="";conditionTrueEndpointSettings=new nr;conditionFalseEndpointSettings=new nr;enterActionCompleteEndpointSettings=new nr;arriveActionCompleteEndpointSettings=new nr;stepScopeVariableList=[];broadcastListenerEntryList=[];overrideAppearance=!1;appearanceOverride=new K}class Zo{actionList=[];onlyFirstArrive=!1;action}class er{static NONE="none";static SWEEP="sweep";static COMPONENT="component";static FOV_LINK="fov_link";static VR_FOV="vr_fov"}class tr{type=er.NONE;componentId="";fovLink="";fovLinkDataKey="";fovLinkSnapshotSrc="";sweepId="";rotationX=0;rotationY=0;enableDirectLocate=!1;enableNavigateAgain=!1;gotoPositionMethod=A.NAVIGATION_TO_MANUAL;vrFovId="";moveSpeed=0;pauseInterval=0}class ar{destroyTriggerOnLeaveCurrenStep=!0;trigger=new Jo;nextStepEndpointSettings=new nr}class nr{id="";enabled=!1;nextStepId="";lineColor=l.createColorByStr("#888888")}class sr{id="";channelId="";actionList=[];nextStepEndpointSettings=new nr}class or extends u{name="";description="";isAvailableForAi=!0;src="";showInContentMenu=!0;cameraMode=s.INSIDE;cameraPose=new i;aiGenerateIntroduceUserPrompt=""}class rr extends u{name="";description="";keywords=[];visible=!0;children=[]}class ir extends u{type;color=l.createColorRgb(255,255,255);enabled=!0;name="";intensity=1;floorIdList=[]}class lr extends ir{type="ambient"}class cr extends ir{type="directional";position=new a(0,1,0);target=new a(0,0,0)}class dr extends ir{type="point";position=new a(0,1,0);distance=0;decay=1}class mr{static COMPONENT_MARKER="component_marker";static SWEEP_MARKER="sweep_marker"}class pr extends u{name="";description="";keywords=[];color=l.createColorRgba(0,0,0,1);type=mr.COMPONENT_MARKER}class _r{id="";name="";description="";keywords=[];color=l.createColorRgba(0,0,0,1);markerType=mr.COMPONENT_MARKER;markers=[]}class yr{static M="m";static CM="cm";static MM="mm"}class ur{static M2="m2";static CM2="cm2"}class gr extends u{name="";description="";visible=!0;enabledArea=!0;pointList=[];appearanceThemeColor=l.createColorRgba(255,255,255,1);area=0;distanceUnit=yr.M;areaUnit=ur.M2}class Er{id="";position=new a(0,0,0);normal=new a(0,0,0);distance=0}class Tr extends u{name="";introduce="";targetArrowImageSrc="";targetArrowImageSize=new n(1,1);targetArrowImageYOffset=.6;targetArrowImageYOffsetDynamic=.4;targetArrowAdPositionOffsetY=1.5;targetArrowAdSize=new n(1,.75);targetArrowShowAdDistance=20;targetArrowAdChannelId="";leadBotAdPositionOffset=new a(0,1.5,0);leadBotAdSize=new n(1,.75);leadBotAdChannelId=""}class Ar extends u{groupId="default";name="";description="";scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);originalScale=new a(1,1,1);bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Cr extends u{name="";enabled=!0;description=""}class Sr extends u{dataKey="";position=new a(0,0,0);rotation=new a(0,0,0);noteDataKey="";noteType="";noteIssueState=""}class hr{key="";placement="left"}function Ir(e,t){const a=new hr;return a.key=e,a.placement=t,a}const Or=[Ir("fov","capsule"),Ir("d3","capsule"),Ir("floorplan","capsule"),Ir("floor","left"),Ir("flow","left"),Ir("measure","left"),Ir("mute","right"),Ir("share","more"),Ir("account","more")],Lr=[Ir("minimap","surface"),Ir("monitors","surface"),Ir("fullscreen","surface"),Ir("audio","hidden"),Ir("hamburger","surface")],br=[Ir("graffiti","left"),Ir("decoration","left"),Ir("discover","left"),Ir("capture","left"),Ir("monitors","left"),Ir("ai","left")],Rr=[Ir("minimap","surface"),Ir("audio","surface"),Ir("mute","surface"),Ir("hamburger","surface"),Ir("account","surface")],fr=Or.map((e=>e.key)),kr=Lr.map((e=>e.key)),Nr=br.map((e=>e.key)),Pr=Rr.map((e=>e.key));function Mr(e,t){const a=t.find((t=>t.key===e));return a?a.placement:"left"}class wr{static TOP="top";static BOTTOM="bottom";static BOTH="both"}class vr{distanceMin=0;distanceMax=0;maxTiltDeg=0;iconUrl=""}class Dr extends u{name="";description="";position=new a(0,0,0);rotation=new a(0,0,0);radius=.5;height=.05;detectFace=wr.TOP;dwellTriggerMs=1e3;color=l.createColorRgba(0,255,0,.35);topFace=new vr;bottomFace=new vr}class Vr extends u{groupId="default";name="";description="";scale=new a(1,1,1);position=new a(0,0,0);rotation=new a(0,0,0);bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode="";enterKeepSeconds=0;leaveKeepSeconds=0}class Ur extends u{name="";description="";cubeFaceColor=l.createColorRgba(255,255,0,.3)}class xr{static DISTANCE="distance";static VISIBLE="visible";static VISIBLE_AND_DISTANCE="visible_and_distance"}class Fr extends u{position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;color=l.createColorRgb(20,20,20);name="";snapshotSrc="";activateType=xr.VISIBLE_AND_DISTANCE;activateDistance=5;activeNeedStaySeconds=0;inactiveNeedStaySeconds=0;bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Br extends u{no=1;name="";description="";isAvailableForAi=!0;isVirtual=!1;alignmentType=Gr.ALIGNED;enabled=!0;disabledInMatterport=!1;floorId="";neighbors=[];placementType=Kr.AUTO;position=new a(0,0,0);rotation=new a(0,0,0);pointerPosition=new a(0,0,0);markerList=[];keywords=[];panoramaData=new Xr;contentCardList=[]}class Gr{static ALIGNED="aligned";static UNALIGNED="unaligned"}class Kr{static AUTO="auto";static MANUAL="manual";static UNPLACED="unplaced"}class Hr{static IMAGE="image";static VIDEO="video"}class Wr{static NONE="none";static SAME_TO_INSIDE="same_to_inside"}class Xr{default="original";sourceList=[];ballExternalViewMode=Wr.NONE}class Yr{id="";type=Hr.IMAGE;name="";description="";keywords=[];imageSrc="";videoSrc="";muted=!0;loop=!0;opacity=1;zoomLevel=1;rotationCorrection=new a(0,0,0);allowSeeSweep=!0;allowSeeComponents=!0}class Jr{primaryColor=new d;secondaryColor=new d;maskColor=new d;barMaskColor=new d}class zr extends u{name="";position=new a(0,0,0);scale=new a(1,1,1);rotation=new a(0,0,0);enabledTrimSpace=!0;enabledTrimComponent=!1;discardContents=!0;activeInPanoMode=!0}class qr extends u{startY=-99999;endY=99999;name="";floorPlanImageSrc="";floorCode="";floorPlanPointList=[new n(0,0),new n(0,0),new n(0,0)];vrSpacePointList=[new a(0,0,0),new a(0,0,0),new a(0,0,0)]}class jr extends u{name="";description="";type=$r.BASIC;bindLayerIdList=[]}class $r{static GENERAL="general";static BASIC="basic"}class Qr extends u{groupId="default";position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;color=l.createColorRgb(205,133,63);name="";title=new E;bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class Zr extends u{name="";enabled=!0;description=""}class ei extends u{groupId="default";position=new a(0,0,0);rotation=new a(0,0,0);stemLength=.2;color=l.createColorRgb(34,139,34);name="";code="";title=new E;description=new E;showToUser=!0;importable=!1;destinationToAnotherTarget=!1;destinationTargetId="";bestViewingSweepId="";bestViewingRotation=new n(0,0);bestViewingMode=""}class ti extends u{name="";enabled=!0;description="";useNavigationAdConfigId=""}class ai extends u{name="";remark="";autoExecuteOnBoot=!1;executeCount=0;actionList=[];interval=1e3;localVariableList=[]}class ni extends u{name="";remark="";payloadFieldList=[];constructor(){super()}}class si{componentId="";description=""}class oi{targetId="";description=""}class ri{variableKey="";variableScope;description=""}class ii{stickerId="";autoDeliverActivationToAi=!0;description=""}class li{spaceFenceId="";autoDeliverActivationToAi=!0;description=""}class ci{spaceFenceGroupId="";autoDeliverActivationToAi=!0;description=""}class di{backgroundThreadId="";description=""}class mi{cameraDollyPathId="";description=""}class pi{abilityId="";description=""}class _i{contentCardId="";description=""}class yi{vrFovId="";description=""}class ui{cloudFormDataKey="";description="";autoPromptToFill=!1}class gi{knowledgeBaseDataKey="";description=""}class Ei{analyticsEventDataKey="";description=""}class Ti{messageCardId="";description=""}class Ai{monitorId="";description=""}class Ci{assetPointMarkId="";description=""}class Si{rayHitterId="";description=""}class hi{aiCheckRuleDataKey="";description=""}class Ii{assetVolumeMarkId="";description=""}class Oi{rolePrompt="";tonePrompt="";taskPrompt="";abilityPrompt="";limitPrompt="";behaviorRulePrompt=""}class Li{reasoning_effort;temperature;max_output_tokens}class bi extends u{name="";description="";promptContent=""}class Ri extends u{name="";description="";wakePrompt=""}class fi extends u{name="";autoActivate=!1;enableVoiceOutput=!1;voiceOutputComponentId="";enableVoiceInput=!1;enableScreenRecognition=!1;remark="";roleName="";avatarSrc="";rolePromptSettings=new Oi;skillPromptList=[];wakePromptList=[];localVariableList=[];toolSettings={};modelDataKey="";contextTokens=0;params=new Li;useComponentList=[];useTargetList=[];useVariableList=[];useStickerList=[];useSpaceFenceList=[];useSpaceFenceGroupList=[];useBackgroundThreadList=[];useCameraDollyPathList=[];useAbilityList=[];useKnowledgeBaseList=[];useFovList=[];useContentCardList=[];useCloudFormList=[];useAnalyticsEventList=[];useMessageCardList=[];useMonitorList=[];useAssetPointMarkList=[];useAssetVolumeMarkList=[];useRayHitterList=[];useAiCheckRuleList=[];associateAllAssetPointMarks=!1;associateAllAssetVolumeMarks=!1}const ki=[{key:"component",toolList:[{key:"query_components",requires:["useComponentList"],readOnlyInspect:!0},{key:"query_component_state",requires:["useComponentList"],readOnlyInspect:!0},{key:"change_component_visibility",requires:["useComponentList"]},{key:"component_transition_animation",requires:["useComponentList"]},{key:"change_component_transform",requires:["useComponentList"]},{key:"component_audio_source",requires:["useComponentList"]},{key:"change_component_audio_loop_mode",requires:["useComponentList"]}]},{key:"navigation",toolList:[{key:"query_targets",requires:["useTargetList"],readOnlyInspect:!0},{key:"query_navigation_state",requires:["useTargetList","useFovList"],readOnlyInspect:!0},{key:"navigation_control",requires:["useTargetList","useFovList"]}]},{key:"position_x",toolList:[{key:"query_spatial_distances_from_camera",requires:["positionXConnected"],readOnlyInspect:!0},{key:"query_spatial_distances_from_point",requires:["positionXConnected"],readOnlyInspect:!0}]},{key:"visible_assets",toolList:[{key:"query_visible_assets",readOnlyInspect:!0,requires:["useComponentList","useAssetPointMarkList","useAssetVolumeMarkList","associateAllAssetPointMarks","associateAllAssetVolumeMarks"]}]},{key:"ray_hitter",toolList:[{key:"ray_hitter_activate",requires:["useRayHitterList"]},{key:"ray_hitter_deactivate",requires:["useRayHitterList"]}]},{key:"ai_check",toolList:[{key:"ai_check_run",requires:["useAiCheckRuleList"]}]},{key:"camera_fov",toolList:[{key:"query_vr_fovs",requires:["useFovList"],readOnlyInspect:!0},{key:"camera_move_to_vr_fov",requires:["useFovList"]}]},{key:"sticker",toolList:[{key:"query_stickers",requires:["useStickerList"],readOnlyInspect:!0}]},{key:"space_fence",toolList:[{key:"query_space_fences",requires:["useSpaceFenceList"],readOnlyInspect:!0}]},{key:"space_fence_group",toolList:[{key:"query_space_fence_groups",requires:["useSpaceFenceGroupList"],readOnlyInspect:!0}]},{key:"variable",toolList:[{key:"query_variables",requires:["useVariableList"],readOnlyInspect:!0},{key:"set_variable",requires:["useVariableList"]},{key:"change_number_variable",requires:["useVariableList"]},{key:"append_to_string_variable",requires:["useVariableList"]},{key:"toggle_boolean_variable",requires:["useVariableList"]}]},{key:"camera_dolly",toolList:[{key:"query_camera_dolly_paths",requires:["useCameraDollyPathList"],readOnlyInspect:!0},{key:"camera_dolly_control",requires:["useCameraDollyPathList"]}]},{key:"background_thread",toolList:[{key:"query_background_threads",requires:["useBackgroundThreadList"],readOnlyInspect:!0},{key:"background_thread_control",requires:["useBackgroundThreadList"]}]},{key:"ability",toolList:[{key:"query_abilities",requires:["useAbilityList"],readOnlyInspect:!0},{key:"ability_control",requires:["useAbilityList"]}]},{key:"information_display",toolList:[{key:"query_content_cards",requires:["useContentCardList"],readOnlyInspect:!0},{key:"show_information_content_card",requires:["useContentCardList"]},{key:"close_information_content_card"},{key:"open_webpage"},{key:"close_information_link"}]},{key:"message_card",toolList:[{key:"query_message_cards",requires:["useMessageCardList"],readOnlyInspect:!0},{key:"query_message_card_detail",requires:["useMessageCardList"],readOnlyInspect:!0},{key:"change_message_card_show_state",requires:["useMessageCardList"]}]},{key:"monitor",toolList:[{key:"query_monitors",requires:["useMonitorList"],readOnlyInspect:!0},{key:"query_monitor_detail",requires:["useMonitorList"],readOnlyInspect:!0},{key:"monitor_change_enabled",requires:["useMonitorList"]},{key:"monitor_switch_active_tab",requires:["useMonitorList"]},{key:"monitor_component_change_visibility",requires:["useMonitorList"]},{key:"monitor_change_badge",requires:["useMonitorList"]}]},{key:"skill_prompt",toolList:[{key:"list_skill_prompts",requires:["skillPromptList"],readOnlyInspect:!0},{key:"search_skill_prompts",requires:["skillPromptList"],readOnlyInspect:!0},{key:"get_skill_prompt_detail",requires:["skillPromptList"],readOnlyInspect:!0}]},{key:"knowledge_base",toolList:[{key:"query_knowledge_base_records",requires:["useKnowledgeBaseList"],readOnlyInspect:!0},{key:"get_knowledge_base_record",requires:["useKnowledgeBaseList"],readOnlyInspect:!0}]},{key:"cloud_form",toolList:[{key:"query_cloud_form_submitted",requires:["useCloudFormList"],readOnlyInspect:!0},{key:"query_cloud_form_collected",requires:["useCloudFormList"],readOnlyInspect:!0},{key:"cloud_form_set_field",requires:["useCloudFormList"]},{key:"cloud_form_submit",requires:["useCloudFormList"]},{key:"cloud_form_reset",requires:["useCloudFormList"]},{key:"cloud_form_show_dialog",requires:["useCloudFormList"]}]},{key:"ui_control",toolList:[{key:"visualization_controller_pop"},{key:"visualization_controller_hide"},{key:"visualization_controller_close_all"},{key:"set_interactive_state"},{key:"change_layer_visibility"},{key:"audio_center_player_change_display_mode"},{key:"change_system_ui_setting"}]},{key:"hamburger_menu",toolList:[{key:"toggle_hamburger_menu_open_state"},{key:"change_hamburger_menu_node_visibility"},{key:"change_hamburger_menu_group_expanded"}]},{key:"audio",toolList:[{key:"audio_center_set_volume"},{key:"audio_center_pause"}]},{key:"temp_message_card",toolList:[{key:"create_temporary_message_card"},{key:"destroy_temporary_message_card"}]},{key:"logic_random",toolList:[{key:"wait_seconds"},{key:"query_current_time",readOnlyInspect:!0},{key:"logic_random_number"},{key:"logic_random_color"},{key:"logic_current_time",readOnlyInspect:!0},{key:"logic_random_pick"},{key:"logic_random_pick_from_recommend_options"},{key:"trim_end_string_variable"}]},{key:"tts",toolList:[{key:"tts_play_voice",requires:["enableVoiceOutput"]}]}];function Ni(e,t,a){const n=t.requires||[];return 0===n.length||n.some((t=>{if("enableVoiceOutput"===t)return!(!e||!e.enableVoiceOutput);if("positionXConnected"===t)return!(!a||!a.positionXConnected);if("associateAllAssetPointMarks"===t||"associateAllAssetVolumeMarks"===t)return!(!e||!e[t]);const n=e?e[t]:void 0;return Array.isArray(n)&&n.length>0}))}function Pi(e,t,a){if(!Ni(e,t,a))return!1;const n=e&&e.toolSettings;return!(n&&!1===n[t.key])}class Mi{sweepId="";needCustomRotation=!1;customRotationX=0;customRotationY=0;moveTime=1e3;stayTime=500}class wi extends u{name="";nodeList=[];destinationType="custom";vrFovId="";fovLinkDataKey="";fovLinkSweepId="";fovLinkCameraRotationX=0;fovLinkCameraRotationY=0;fovLinkSnapshotSrc="";destinationSweepId="";destinationRotationX=0;destinationRotationY=0;destinationSnapshotSrc="";finalMoveSpeed=700;disableVrControl=!0;runningPromptText=""}class vi extends u{name="";remark=""}class Di extends u{abilityGroupId="";autoExecuteOnBoot=!1;name="";remark="";description="";contextVariableList=[];activeActionList=[];activeActionListLocalVariableList=[];keeping=!1;triggerList=[];stopActionList=[];stopActionListLocalVariableList=[]}class Vi extends u{name=new E;remark="";autoStart=!1;sceneVariableList=[];onStartActionList=[];onStopActionList=[];onPauseActionList=[];onResumeActionList=[];moduleList=[];entityHandlerBindingList=[]}class Ui extends u{name=new E;remark="";moduleVariableList=[];functionList=[];subprogramList=[];folderList=[];sortMode="by-type"}class xi extends u{name="";parentFolderId=""}class Fi{key="";name=new E;type="string";entityRefTypeKey;listElementType;listElementRefTypeKey;listElementCustomClassId;customClassId}class Bi{static SHARED="shared";static SCENE="scene";static MODULE="module"}class Gi extends u{name=new E;remark="";folderId="";visibility=Bi.MODULE;paramList=[];localVariableList=[];bodyActionList=[];returnType;returnEntityRefTypeKey;returnCustomClassId}class Ki extends u{name=new E;remark="";folderId="";autoStart=!1;paramList=[];localVariableList=[];onStartActionList=[];onStopActionList=[];onPauseActionList=[];onResumeActionList=[]}class Hi{key="";name=new E;type="string";entityRefTypeKey;listElementType;listElementRefTypeKey;listElementCustomClassId;customClassId;defaultValue}class Wi extends u{name=new E;remark="";extendsCustomClassId="";isSingleton=!1;fieldList=[];instanceMethodList=[];staticMethodList=[]}class Xi extends u{entityTypeKey="";entityId="";entityParentPath=[];eventName="";handlerFunctionId="";moduleId=""}class Yi extends ae{type=j.TYPE_2D_ADVERTISEMENT;adChannelId=""}class Ji extends ae{type=j.TYPE_2D_IMAGE;sourceList=[];autoChangeInterval=0;currentImageIndex=0}class zi{id="";src="";name="";description="";aspectRatio=1;chromaKeySettings=new m}class qi{static MENU="menu";static ANSWERING="answering";static VARIABLE_MODIFIER="variable-modifier"}class ji extends ae{type=j.TYPE_2D_PANEL;sceneDataList=[];defaultSceneId=""}class $i{id="";mode=qi.MENU;name="";description="";buttonDataList=[];textDataList=[];imageDataList=[];answeringModeSettings=new Qi;variableModifierModeSettings=new Zi;enumModifierModeSettings;style=new il;snapshotImageSrc=""}class Qi{confirmButton=new ol;correctButtonIdList=[];answerType="multiple"}class Zi{variableKey="";variableType}class el{static TEXT="text";static IMAGE="image";static BUTTON="button"}class tl{id="";name="";type=el.TEXT;style=new ll}class al{static TEXT="text";static IMAGE="image";static TEXT_LEFT_IMAGE_RIGHT="text_left_image_right";static IMAGE_LEFT_TEXT_RIGHT="image_left_text_right";static IMAGE_TOP_TEXT_BOTTOM="image_top_text_bottom";static TEXT_TOP_IMAGE_BOTTOM="text_top_image_bottom"}class nl extends tl{type=el.IMAGE;src="";imageMode="fill"}class sl extends tl{type=el.TEXT;richText=""}class ol extends tl{type=el.BUTTON;name="";optionValue="";optionLabel=new E;enumOptionValue;enabled=!0;buttonType=al.TEXT;buttonText="";buttonImageSrc="";buttonImageWidth=40;buttonImageHeight=40;buttonImageTextSpacing=10;hoverMaskColor=l.createColorRgba(255,255,255,.5);hoverBorderColor=l.createColorRgba(255,255,255,1);hoverBorderWidth=1;selectedMaskColor=l.createColorRgba(0,255,0,.2);selectedBorderColor=l.createColorRgba(50,205,50,.7);selectedBorderWidth=3;disabledMaskColor=l.createColorRgba(0,0,0,.65);disabledBorderColor=l.createColorRgba(100,100,100,.5);disabledBorderWidth=2;disabledClickTip=new E}class rl{width=640;height=480;borderRadius=10;opacity=1;backgroundColor=l.createColorRgba(0,0,0,0);borderColor=l.createColorRgba(0,0,0,1);borderWidth=0;borderStyle="solid"}class il extends rl{paddingX=10;paddingY=10}class ll extends rl{x=0;y=0;zIndex=10}class cl{static LEFT="left";static CENTER="center";static RIGHT="right"}class dl{static TOP="top";static CENTER="center";static BOTTOM="bottom"}class ml{static BASIC="basic";static MARQUEE="marquee"}class pl extends ae{type=j.TYPE_2D_TEXT;sourceList=[];mode=ml.BASIC;backgroundColor=l.createColorRgba(0,0,0,.2);fontFamily="";textColor=l.createColorRgba(255,255,255,1);paddingX=8;paddingY=4;borderRadius=5;fontSize=20;horizontalAlign="left";verticalAlign="top";currentSourceIndex=0;basicModeSettings=new yl;marqueeModeSettings=new ul}class _l{id="";textContent=ss("2D Text");description=""}class yl{changeInterval=0}class ul{autoChange=!0;speed=50;interval=1;width=15}class gl extends ae{type=j.TYPE_2D_VIDEO;sourceList=[];autoPlay=!1;defaultLoopMode=O.NO_LOOP;defaultMute=!0;showControl=!0;showMute=!0;customControlButtonSize=!1;controlButtonDiameter=.3;additionalControlButtonDiameter=.1;currentSourceIndex=0}class El{id="";videoSrc="";name="";description="";coverSrc="";aspectRatio=1;duration=0;chromaKeySettings=new m;playbackRate=1}class Tl extends ie{type=j.TYPE_3D_BOX;faceColor=l.createColorRgba(0,255,0,.2);borderColor=l.createColorRgba(0,255,0,.5);hoverFaceColor=l.createColorRgba(0,255,0,.5);hoverBorderColor=l.createColorRgba(0,255,0,.8);borderWidth=.005;hoverBorderSettings=new C}class Al extends ie{type=j.TYPE_3D_MODEL;modelFormat="glb";modelSrc="";materialSrc="";coverSrc="";originalSize=new a(-1,-1,-1);innerScale=new a(-1,-1,-1);animationList=[];animationClipList=[];ignoreLighting=!1}class Cl{id="";name="";alias="";duration=0}class Sl{id="";animationId="";name="";description="";speed=1;timeRange=[0,1];loop=!1;stayAtLastFrame=!1}class hl{static NONE="none";static TOP="top";static BOTTOM="bottom"}class Il extends Q{type=j.TYPE_TAG;tagNonPerspective=!1;enabledDrag=!1;size=.2;enabledBackground=!0;backgroundColor=l.createColorRgb(90,156,248);enabledCustomIcon=!1;icon=new I;constructor(){super(),this.icon.colorEnabled=!0}enabledStem=!0;stemColor=l.createColorRgb(255,255,255);stemLength=.5;stemVector=new a(0,1,0);bindContentCardId="";isHoverShowContentCardBubble=!0;isClickShowContentCard=!0;clickShowContentCardStyle=V.BUBBLE;triggerButtonTitle=new E;tipTextLocation=hl.NONE;tipTextContent=new E;tipTextColor=l.createColorRgba(255,255,255,1);tipTextBackgroundColor=l.createColorRgba(0,0,0,.4);tipTextFontSize=18;tipTextNonPerspective=!1}class Ol{static GROUND="ground";static AIR="air"}class Ll{static YAW="yaw";static FULL="full";static NONE="none"}class bl{static NONE="none";static BACK_ONCE="back-once";static BACK_LOOP="back-loop"}class Rl{static LINEAR="linear";static SMOOTH="smooth"}class fl{static TELEPORT="teleport";static WALK_IN="walk-in"}class kl{static WHILE_MOVING="while-moving";static TURN_THEN_GO="turn-then-go"}class Nl{id="";position=new a(0,0,0);hoverMs=0;speedOverrideMps=null;turnMode=kl.WHILE_MOVING;turnSpeedDegPerSec=120}class Pl{planId="";start=new a(0,0,0);end=new a(0,0,0)}class Ml{mode=Ol.GROUND;source="manual";points=[];speedMps=1.2;orientMode=Ll.YAW;forwardYawOffsetDeg=0;forwardLocal=null;upLocal=null;upAdjustDeg=0;forwardAdjustDeg=0;autoGroundOffset=!0;groundOffset=0;smoothing=Rl.SMOOTH;sampleStepM=1;closed=!1;roundTrip=bl.NONE;turnDurationMs=800;startMode=fl.TELEPORT;positionx=null}class wl{static NORMAL="NORMAL";static EDIT_SCENE="EDIT_SCENE";static EDIT_COVER="EDIT_COVER"}const vl={uninitialized:1,waiting:2,loading:3,starting:4,playing:5,error:6};class Dl{static UNINITIALIZED="uninitialized";static WAITING="waiting";static LOADING="loading";static STARTING="starting";static PLAYING="playing";static ERROR="error"}class Vl{status=Dl.UNINITIALIZED;progress=0;get statusNum(){return vl[this.status]}}class Ul{type="";data={};constructor(e,t){this.type=e,this.data=t}}class xl{static PLAYER_START="vrtalk_cmd_player_start";static PLAYER_MODE_UPDATE="vrtalk_cmd_player_mode_update";static PLAYER_XR_PREPARE_PREVIEW="vrtalk_cmd_player_xr_prepare_preview";static PLAYER_PREPARE_SETTINGS_UPDATE="vrtalk_cmd_player_prepare_settings_update";static COVER_SETTINGS_UPDATE="vrtalk_cmd_cover_settings_update";static UI_SETTINGS_UPDATE="vrtalk_cmd_ui_settings_update";static INFO_TEMPLATE_SETTINGS_UPDATE="vrtalk_cmd_info_template_settings_update";static COMPONENT_CREATE="vrtalk_cmd_component_create";static COMPONENT_UPDATE="vrtalk_cmd_component_update";static COMPONENT_DELETE="vrtalk_cmd_component_delete";static COMPONENT_FOLLOW_MOUSE="vrtalk_cmd_component_follow_mouse";static COMPONENT_CONTROLLER_MODIFY="vrtalk_cmd_component_controller";static COMPONENT_PLAY_TRANSITION_ANIMATION="vrtalk_cmd_component_play_transition_animation";static COMPONENT_STOP_TRANSITION_ANIMATION="vrtalk_cmd_component_stop_transition_animation";static COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP="vrtalk_cmd_component_3d_model_play_animation_clip";static COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP="vrtalk_cmd_component_3d_model_stop_animation_clip";static COMPONENT_2D_TEXT_AUTO_FIT="vrtalk_cmd_component_2d_text_auto_fit";static FOV_ENTER_SHOT_MODE="vrtalk_cmd_fov_enter_shot_mode";static FOV_EXIT_SHOT_MODE="vrtalk_cmd_fov_exit_shot_mode";static FOV_UPDATE="vrtalk_cmd_fov_update";static FOV_DELETE="vrtalk_cmd_fov_delete";static LAYER_UPDATE="vrtalk_cmd_layer_update";static LAYER_DELETE="vrtalk_cmd_layer_delete";static LAYER_VISIBLE="vrtalk_cmd_layer_visible";static SWEEP_UPDATE_ALL="vrtalk_cmd_sweep_update_all";static SWEEP_UPDATE="vrtalk_cmd_sweep_update";static SWEEP_DELETE_VIRTUAL="vrtalk_cmd_sweep_delete_virtual";static SWEEP_UPDATE_RENDER_FLAG_VISIBLE="vrtalk_cmd_sweep_update_render_flag_visible";static LIGHT_CREATE="vrtalk_cmd_light_create";static LIGHT_UPDATE="vrtalk_cmd_light_update";static LIGHT_DELETE="vrtalk_cmd_light_delete";static TRIMMER_CREATE="vrtalk_cmd_trimmer_create";static TRIMMER_UPDATE="vrtalk_cmd_trimmer_update";static TRIMMER_DELETE="vrtalk_cmd_trimmer_delete";static TRIMMER_CONTROLLER_MODIFY="vrtalk_cmd_trimmer_controller";static TRIMMER_EDITING_STATE_UPDATE="vrtalk_cmd_trimmer_editing_state_update";static STICKER_CREATE="vrtalk_cmd_sticker_create";static STICKER_UPDATE="vrtalk_cmd_sticker_update";static STICKER_DELETE="vrtalk_cmd_sticker_delete";static STICKER_CONTROLLER_MODIFY="vrtalk_cmd_sticker_controller";static STICKER_EDITING_STATE_UPDATE="vrtalk_cmd_sticker_editing_state_update";static TARGET_CREATE="vrtalk_cmd_target_create";static TARGET_UPDATE="vrtalk_cmd_target_update";static TARGET_DELETE="vrtalk_cmd_target_delete";static TARGET_CONTROLLER_MODIFY="vrtalk_cmd_target_controller";static TARGET_EDITING_STATE_UPDATE="vrtalk_cmd_target_editing_state_update";static TARGET_GROUP_VISIBLE_UPDATE="vrtalk_cmd_target_group_visible_update";static OBSTACLE_CREATE="vrtalk_cmd_obstacle_create";static OBSTACLE_UPDATE="vrtalk_cmd_obstacle_update";static OBSTACLE_DELETE="vrtalk_cmd_obstacle_delete";static OBSTACLE_CONTROLLER_MODIFY="vrtalk_cmd_obstacle_controller";static OBSTACLE_EDITING_STATE_UPDATE="vrtalk_cmd_obstacle_editing_state_update";static OBSTACLE_GROUP_VISIBLE_UPDATE="vrtalk_cmd_obstacle_group_visible_update";static SPACE_FENCE_CREATE="vrtalk_cmd_space_fence_create";static SPACE_FENCE_UPDATE="vrtalk_cmd_space_fence_update";static SPACE_FENCE_DELETE="vrtalk_cmd_space_fence_delete";static SPACE_FENCE_CONTROLLER_MODIFY="vrtalk_cmd_space_fence_controller";static SPACE_FENCE_EDITING_STATE_UPDATE="vrtalk_cmd_space_fence_editing_state_update";static SPACE_FENCE_GROUP_VISIBLE_UPDATE="vrtalk_cmd_space_fence_group_visible_update";static SPACE_FENCE_GROUP_COLOR_UPDATE="vrtalk_cmd_space_fence_group_color_update";static RAY_HITTER_CREATE="vrtalk_cmd_ray_hitter_create";static RAY_HITTER_UPDATE="vrtalk_cmd_ray_hitter_update";static RAY_HITTER_DELETE="vrtalk_cmd_ray_hitter_delete";static RAY_HITTER_CONTROLLER_MODIFY="vrtalk_cmd_ray_hitter_controller";static RAY_HITTER_EDITING_STATE_UPDATE="vrtalk_cmd_ray_hitter_editing_state_update";static WORMHOLE_CREATE="vrtalk_cmd_wormhole_create";static WORMHOLE_UPDATE="vrtalk_cmd_wormhole_update";static WORMHOLE_DELETE="vrtalk_cmd_wormhole_delete";static WORMHOLE_CONTROLLER_MODIFY="vrtalk_cmd_wormhole_controller";static WORMHOLE_EDITING_STATE_UPDATE="vrtalk_cmd_wormhole_editing_state_update";static WORMHOLE_GROUP_VISIBLE_UPDATE="vrtalk_cmd_wormhole_group_visible_update";static ASSET_LABEL_CREATE="vrtalk_cmd_asset_label_create";static ASSET_LABEL_UPDATE="vrtalk_cmd_asset_label_update";static ASSET_LABEL_DELETE="vrtalk_cmd_asset_label_delete";static ASSET_LABEL_CONTROLLER_MODIFY="vrtalk_cmd_asset_label_controller";static ASSET_LABEL_EDITING_STATE_UPDATE="vrtalk_cmd_asset_label_editing_state_update";static ASSET_POINT_MARK_CREATE="vrtalk_cmd_asset_point_mark_create";static ASSET_POINT_MARK_UPDATE="vrtalk_cmd_asset_point_mark_update";static ASSET_POINT_MARK_DELETE="vrtalk_cmd_asset_point_mark_delete";static ASSET_POINT_MARK_CONTROLLER_MODIFY="vrtalk_cmd_asset_point_mark_controller";static ASSET_POINT_MARK_EDITING_STATE_UPDATE="vrtalk_cmd_asset_point_mark_editing_state_update";static ASSET_VOLUME_MARK_CREATE="vrtalk_cmd_asset_volume_mark_create";static ASSET_VOLUME_MARK_UPDATE="vrtalk_cmd_asset_volume_mark_update";static ASSET_VOLUME_MARK_DELETE="vrtalk_cmd_asset_volume_mark_delete";static ASSET_VOLUME_MARK_CONTROLLER_MODIFY="vrtalk_cmd_asset_volume_mark_controller";static ASSET_VOLUME_MARK_EDITING_STATE_UPDATE="vrtalk_cmd_asset_volume_mark_editing_state_update";static FLOOR_UPDATE="vrtalk_cmd_floor_update";static INFORMATION_CONTENT_CARD_UPDATE="vrtalk_cmd_information_content_card_update";static INFORMATION_CONTENT_CARD_DELETE="vrtalk_cmd_information_content_card_delete";static MARKER_UPDATE="vrtalk_cmd_marker_update";static MARKER_DELETE="vrtalk_cmd_marker_delete";static CAMERA_MOVE_TO="vrtalk_cmd_camera_move_to";static CAMERA_MOVE_TO_INSIDE="vrtalk_cmd_camera_move_to_inside";static CAMERA_MOVE_TO_VR_FOV="vrtalk_cmd_camera_move_to_vr_fov";static CAMERA_MOVE_TO_NEAR_COMPONENT="vrtalk_cmd_camera_move_to_near_component";static CAMERA_MOVE_TO_WATCH_POSITION="vrtalk_cmd_camera_move_to_watch_position";static CAMERA_REQUEST_DEEPLINK_PARAMS="vrtalk_cmd_camera_request_deeplink_params";static RENDERER_TAKE_SCREENSHOT="vrtalk_cmd_renderer_take_screenshot";static RENDERER_GET_PANORAMA_IMAGE="vrtalk_cmd_renderer_get_panorama_image";static RENDERER_SETTINGS_UPDATE="vrtalk_cmd_renderer_settings_update";static RENDERER_COLOR_SPACE_SETTINGS_UPDATE="vrtalk_cmd_renderer_color_space_settings_update";static NAVIGATION_REQUEST="vrtalk_cmd_navigation_request";static NAVIGATION_START="vrtalk_cmd_navigation_start";static NAVIGATION_CANCEL="vrtalk_cmd_navigation_cancel";static AUDIO_UPDATE="vrtalk_cmd_audio_update";static AUDIO_DELETE="vrtalk_cmd_audio_delete";static AUDIO_LIST_UPDATE="vrtalk_cmd_audio_list_update";static AUDIO_LIST_DELETE="vrtalk_cmd_audio_list_delete";static AUDIO_CENTER_PLAYER_SHOW_PLAY_CONTROL_UPDATE="vrtalk_cmd_audio_center_player_show_play_control_update";static AUDIO_CENTER_PLAYER_SHOW_VOLUME_CONTROL_UPDATE="vrtalk_cmd_audio_center_player_show_volume_control_update";static AUDIO_CENTER_PLAYER_VOLUME_UPDATE="vrtalk_cmd_audio_center_player_volume_update";static MONITOR_LIST_UPDATE="vrtalk_cmd_monitor_list_update";static DOLLY_PATH_CAPTURE_DESTINATION="vrtalk_cmd_dolly_path_capture_destination";static DOLLY_PATH_PREVIEW="vrtalk_cmd_dolly_path_preview";static DOLLY_PATH_STOP_PREVIEW="vrtalk_cmd_dolly_path_stop_preview";static PATH_DESIGN_ENTER="vrtalk_cmd_path_design_enter";static PATH_DESIGN_EXIT="vrtalk_cmd_path_design_exit";static PATH_DESIGN_UPDATE="vrtalk_cmd_path_design_update";static PATH_DESIGN_SET_TOOL="vrtalk_cmd_path_design_set_tool";static PATH_DESIGN_SET_VIEW="vrtalk_cmd_path_design_set_view";static PATH_DESIGN_SELECT_POINT="vrtalk_cmd_path_design_select_point";static PATH_DESIGN_SCRUB="vrtalk_cmd_path_design_scrub";static PATH_DESIGN_PREVIEW_PLAY="vrtalk_cmd_path_design_preview_play";static PATH_DESIGN_PREVIEW_STOP="vrtalk_cmd_path_design_preview_stop";static PATH_DESIGN_GENERATE="vrtalk_cmd_path_design_generate";static PATH_DESIGN_GENERATE_ONESHOT="vrtalk_cmd_path_design_generate_oneshot";static PATH_DESIGN_MOVE_COMPONENT_TO_START="vrtalk_cmd_path_design_move_component_to_start";static MESSAGE_CARD_PREVIEW="vrtalk_cmd_message_card_preview";static HAMBURGER_MENU_UPDATE="vrtalk_cmd_hamburger_menu_update"}class Fl{onStart(e){xc.registerCommandListener(xl.PLAYER_START,(t=>{e(t.data.vrContentData,t.data.isForceIgnoreEnterBtn)}))}onModeUpdate(e){xc.registerCommandListener(xl.PLAYER_MODE_UPDATE,(t=>{e(t.data)}))}onXrPreparePreview(e){xc.registerCommandListener(xl.PLAYER_XR_PREPARE_PREVIEW,(t=>{e(!!t.data)}))}onPrepareSettingsUpdate(e){xc.registerCommandListener(xl.PLAYER_PREPARE_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Bl{onCoverSettingsUpdate(e){xc.registerCommandListener(xl.COVER_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Gl{onUiSettingsUpdate(e){xc.registerCommandListener(xl.UI_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Kl{onInfoTemplateSettingsUpdate(e){xc.registerCommandListener(xl.INFO_TEMPLATE_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Hl{onContentCardUpdate(e){xc.registerCommandListener(xl.INFORMATION_CONTENT_CARD_UPDATE,(t=>{e(t.data)}))}onContentCardDelete(e){xc.registerCommandListener(xl.INFORMATION_CONTENT_CARD_DELETE,(t=>{e(t.data)}))}}class Wl{onCreate(e){xc.registerCommandListener(xl.COMPONENT_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.COMPONENT_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.COMPONENT_DELETE,(t=>{e(t.data)}))}onFollowMouse(e){xc.registerCommandListener(xl.COMPONENT_FOLLOW_MOUSE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.COMPONENT_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.componentId)}))}onPlayTransitionAnimation(e){xc.registerCommandListener(xl.COMPONENT_PLAY_TRANSITION_ANIMATION,(t=>{e(t.data.componentId,t.data.animationId)}))}onStopTransitionAnimation(e){xc.registerCommandListener(xl.COMPONENT_STOP_TRANSITION_ANIMATION,(t=>{e(t.data.componentId)}))}on3dModelPlayAnimationClip(e){xc.registerCommandListener(xl.COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP,(t=>{e(t.data.modelComponentId,t.data.animationClipId)}))}on3dModelStopAnimationClip(e){xc.registerCommandListener(xl.COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP,(t=>{e(t.data.modelComponentId)}))}on2dTextAutoFit(e){xc.registerCommandListener(xl.COMPONENT_2D_TEXT_AUTO_FIT,(t=>{e(t.data)}))}}class Xl{onEnterFovShotMode(e){xc.registerCommandListener(xl.FOV_ENTER_SHOT_MODE,(t=>{e(t.data)}))}onExitFovShotMode(e){xc.registerCommandListener(xl.FOV_EXIT_SHOT_MODE,(t=>{e()}))}onUpdate(e){xc.registerCommandListener(xl.FOV_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.FOV_DELETE,(t=>{e(t.data)}))}}class Yl{onUpdate(e){xc.registerCommandListener(xl.LAYER_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.LAYER_DELETE,(t=>{e(t.data.layerId,t.data.deleteComponents)}))}onVisible(e){xc.registerCommandListener(xl.LAYER_VISIBLE,(t=>{e(t.data.layerId,t.data.visible)}))}}class Jl{onCreate(e){xc.registerCommandListener(xl.LIGHT_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.LIGHT_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.LIGHT_DELETE,(t=>{e(t.data)}))}}class zl{onCreate(e){xc.registerCommandListener(xl.TRIMMER_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.TRIMMER_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.TRIMMER_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.TRIMMER_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.trimmerId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.TRIMMER_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class ql{onCreate(e){xc.registerCommandListener(xl.STICKER_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.STICKER_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.STICKER_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.STICKER_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.stickerId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.STICKER_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class jl{onUpdate(e){xc.registerCommandListener(xl.FLOOR_UPDATE,(t=>{e(t.data)}))}}class $l{onMoveTo(e){xc.registerCommandListener(xl.CAMERA_MOVE_TO,(t=>{e(t.data.transition,t.data.cameraPose)}))}onMoveToInside(e){xc.registerCommandListener(xl.CAMERA_MOVE_TO_INSIDE,(t=>{e(t.data.transition,t.data.transitionTime,t.data.cameraPose)}))}onMoveToVrFov(e){xc.registerCommandListener(xl.CAMERA_MOVE_TO_VR_FOV,(t=>{e(t.data.transition,t.data.transitionTime,t.data.fovId)}))}onMoveToNearComponent(e){xc.registerCommandListener(xl.CAMERA_MOVE_TO_NEAR_COMPONENT,(t=>{e(t.data.transition,t.data.transitionTime,t.data.componentId)}))}onMoveToWatchPosition(e){xc.registerCommandListener(xl.CAMERA_MOVE_TO_WATCH_POSITION,(t=>{e(t.data.transition,t.data.transitionTime,t.data.position)}))}onRequestDeeplinkParams(e){xc.registerCommandListener(xl.CAMERA_REQUEST_DEEPLINK_PARAMS,(()=>{e()}))}}class Ql{onTakeScreen(e){xc.registerCommandListener(xl.RENDERER_TAKE_SCREENSHOT,(t=>{e(t.data.resolution,t.data.visibility)}))}onGetPanoramaImage(e){xc.registerCommandListener(xl.RENDERER_GET_PANORAMA_IMAGE,(()=>{e()}))}onSettingsUpdate(e){xc.registerCommandListener(xl.RENDERER_SETTINGS_UPDATE,(t=>{e(t.data)}))}onColorSpaceSettingsUpdate(e){xc.registerCommandListener(xl.RENDERER_COLOR_SPACE_SETTINGS_UPDATE,(t=>{e(t.data)}))}}class Zl{onMarkerUpdate(e){xc.registerCommandListener(xl.MARKER_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.MARKER_DELETE,(t=>{e(t.data)}))}}class ec{onNavigationRequest(e){xc.registerCommandListener(xl.NAVIGATION_REQUEST,(t=>{e(t.data)}))}onNavigationStart(e){xc.registerCommandListener(xl.NAVIGATION_START,(t=>{e(t.data)}))}onNavigationCancel(e){xc.registerCommandListener(xl.NAVIGATION_CANCEL,(t=>{e()}))}}class tc{onCreate(e){xc.registerCommandListener(xl.OBSTACLE_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.OBSTACLE_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.OBSTACLE_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.OBSTACLE_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.obstacleId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.OBSTACLE_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){xc.registerCommandListener(xl.OBSTACLE_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}}class ac{onAudioListUpdate(e){xc.registerCommandListener(xl.AUDIO_LIST_UPDATE,(t=>{e(t.data)}))}onAudioListDelete(e){xc.registerCommandListener(xl.AUDIO_LIST_DELETE,(t=>{e(t.data)}))}onAudioUpdate(e){xc.registerCommandListener(xl.AUDIO_UPDATE,(t=>{e(t.data)}))}onAudioDelete(e){xc.registerCommandListener(xl.AUDIO_DELETE,(t=>{e(t.data)}))}onAudioCenterPlayerShowPlayControlUpdate(e){xc.registerCommandListener(xl.AUDIO_CENTER_PLAYER_SHOW_PLAY_CONTROL_UPDATE,(t=>{e(t.data)}))}onAudioCenterPlayerShowVolumeControlUpdate(e){xc.registerCommandListener(xl.AUDIO_CENTER_PLAYER_SHOW_VOLUME_CONTROL_UPDATE,(t=>{e(t.data)}))}onAudioCenterPlayerVolumeUpdate(e){xc.registerCommandListener(xl.AUDIO_CENTER_PLAYER_VOLUME_UPDATE,(t=>{e(t.data)}))}}class nc{onCreate(e){xc.registerCommandListener(xl.ASSET_LABEL_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.ASSET_LABEL_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.ASSET_LABEL_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.ASSET_LABEL_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.assetLabelId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.ASSET_LABEL_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class sc{onCreate(e){xc.registerCommandListener(xl.ASSET_POINT_MARK_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.ASSET_POINT_MARK_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.ASSET_POINT_MARK_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.ASSET_POINT_MARK_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.assetPointMarkId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.ASSET_POINT_MARK_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class oc{onCreate(e){xc.registerCommandListener(xl.ASSET_VOLUME_MARK_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.ASSET_VOLUME_MARK_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.ASSET_VOLUME_MARK_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.ASSET_VOLUME_MARK_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.assetVolumeMarkId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.ASSET_VOLUME_MARK_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class rc{onCreate(e){xc.registerCommandListener(xl.TARGET_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.TARGET_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.TARGET_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.TARGET_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.targetId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.TARGET_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){xc.registerCommandListener(xl.TARGET_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}}class ic{onCreate(e){xc.registerCommandListener(xl.WORMHOLE_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.WORMHOLE_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.WORMHOLE_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.WORMHOLE_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.wormholeId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.WORMHOLE_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){xc.registerCommandListener(xl.WORMHOLE_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}}class lc{onCreate(e){xc.registerCommandListener(xl.RAY_HITTER_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.RAY_HITTER_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.RAY_HITTER_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.RAY_HITTER_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.rayHitterId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.RAY_HITTER_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}}class cc{onCreate(e){xc.registerCommandListener(xl.SPACE_FENCE_CREATE,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.SPACE_FENCE_UPDATE,(t=>{e(t.data)}))}onDelete(e){xc.registerCommandListener(xl.SPACE_FENCE_DELETE,(t=>{e(t.data)}))}onControllerModify(e){xc.registerCommandListener(xl.SPACE_FENCE_CONTROLLER_MODIFY,(t=>{e(t.data.controllerType,t.data.spaceFenceId)}))}onEditingStateUpdate(e){xc.registerCommandListener(xl.SPACE_FENCE_EDITING_STATE_UPDATE,(t=>{e(t.data)}))}onGroupVisibleUpdate(e){xc.registerCommandListener(xl.SPACE_FENCE_GROUP_VISIBLE_UPDATE,(t=>{e(t.data.groupId,t.data.visible)}))}onGroupColorUpdate(e){xc.registerCommandListener(xl.SPACE_FENCE_GROUP_COLOR_UPDATE,(t=>{e(t.data.groupId,t.data.cubeFaceColor)}))}}class dc{onMonitorListUpdate(e){xc.registerCommandListener(xl.MONITOR_LIST_UPDATE,(t=>{e(t.data)}))}}class mc{onMessageCardPreview(e){xc.registerCommandListener(xl.MESSAGE_CARD_PREVIEW,(t=>{e(t.data)}))}}class pc{onCaptureDestination(e){xc.registerCommandListener(xl.DOLLY_PATH_CAPTURE_DESTINATION,(t=>{e()}))}onPreview(e){xc.registerCommandListener(xl.DOLLY_PATH_PREVIEW,(t=>{e(t.data)}))}onStopPreview(e){xc.registerCommandListener(xl.DOLLY_PATH_STOP_PREVIEW,(t=>{e()}))}}class _c{onHamburgerMenuUpdate(e){xc.registerCommandListener(xl.HAMBURGER_MENU_UPDATE,(t=>{e(t.data)}))}}class yc{onEnter(e){xc.registerCommandListener(xl.PATH_DESIGN_ENTER,(t=>{e(t.data.componentId,t.data.animationId,t.data.pathDesign)}))}onExit(e){xc.registerCommandListener(xl.PATH_DESIGN_EXIT,(()=>{e()}))}onUpdate(e){xc.registerCommandListener(xl.PATH_DESIGN_UPDATE,(t=>{e(t.data.pathDesign,!!t.data.resnapPoints)}))}onSetTool(e){xc.registerCommandListener(xl.PATH_DESIGN_SET_TOOL,(t=>{e(t.data.tool)}))}onSetView(e){xc.registerCommandListener(xl.PATH_DESIGN_SET_VIEW,(t=>{e(t.data.view)}))}onSelectPoint(e){xc.registerCommandListener(xl.PATH_DESIGN_SELECT_POINT,(t=>{e(t.data.pointId??null)}))}onScrub(e){xc.registerCommandListener(xl.PATH_DESIGN_SCRUB,(t=>{e(t.data.progress??0)}))}onPreviewPlay(e){xc.registerCommandListener(xl.PATH_DESIGN_PREVIEW_PLAY,(()=>{e()}))}onPreviewStop(e){xc.registerCommandListener(xl.PATH_DESIGN_PREVIEW_STOP,(()=>{e()}))}onGenerate(e){xc.registerCommandListener(xl.PATH_DESIGN_GENERATE,(()=>{e()}))}onGenerateOneshot(e){xc.registerCommandListener(xl.PATH_DESIGN_GENERATE_ONESHOT,(t=>{e(t.data.requestId,t.data.componentId,t.data.pathDesign)}))}onMoveComponentToStart(e){xc.registerCommandListener(xl.PATH_DESIGN_MOVE_COMPONENT_TO_START,(()=>{e()}))}}class uc{type="";data={};constructor(e,t){this.type=e,this.data=t}}class gc{static PLAYER_READY="vrtalk_msg_player_ready";static PLAYER_STATUS_UPDATE="vrtalk_msg_player_status_update";static COMPONENT_UPDATE="vrtalk_msg_component_update";static COMPONENT_ON_CLICK="vrtalk_msg_component_on_click";static COMPONENT_TRANSITION_ANIMATION_FINISHED="vrtalk_msg_component_transition_animation_finished";static FOV_SHOT_RESULT="vrtalk_msg_fov_shot_result";static TRIMMER_UPDATE="vrtalk_msg_trimmer_update";static TRIMMER_ON_CLICK="vrtalk_msg_trimmer_on_click";static STICKER_UPDATE="vrtalk_msg_sticker_update";static STICKER_ON_CLICK="vrtalk_msg_sticker_on_click";static TARGET_UPDATE="vrtalk_msg_target_update";static TARGET_ON_CLICK="vrtalk_msg_target_on_click";static OBSTACLE_UPDATE="vrtalk_msg_obstacle_update";static OBSTACLE_ON_CLICK="vrtalk_msg_obstacle_on_click";static SPACE_FENCE_UPDATE="vrtalk_msg_space_fence_update";static SPACE_FENCE_ON_CLICK="vrtalk_msg_space_fence_on_click";static RAY_HITTER_UPDATE="vrtalk_msg_ray_hitter_update";static RAY_HITTER_ON_CLICK="vrtalk_msg_ray_hitter_on_click";static WORMHOLE_UPDATE="vrtalk_msg_wormhole_update";static WORMHOLE_ON_CLICK="vrtalk_msg_wormhole_on_click";static ASSET_LABEL_UPDATE="vrtalk_msg_asset_label_update";static ASSET_LABEL_ON_CLICK="vrtalk_msg_asset_label_on_click";static ASSET_POINT_MARK_UPDATE="vrtalk_msg_asset_point_mark_update";static ASSET_POINT_MARK_ON_CLICK="vrtalk_msg_asset_point_mark_on_click";static ASSET_VOLUME_MARK_UPDATE="vrtalk_msg_asset_volume_mark_update";static ASSET_VOLUME_MARK_ON_CLICK="vrtalk_msg_asset_volume_mark_on_click";static SWEEP_IMPORT_FROM_MATTERPORT="vrtalk_msg_sweep_import_from_matterport";static SWEEP_SYNC_MATTERPORT_ENABLED_STATE="vrtalk_msg_sweep_sync_matterport_enabled_state";static SWEEP_REQUEST_MODIFY_ENABLED="vrtalk_msg_sweep_request_modify_enabled";static FLOOR_IMPORT_FROM_MATTERPORT="vrtalk_msg_floor_import_from_matterport";static FLOOR_ENTER="vrtalk_msg_floor_enter";static FLOOR_LEAVE="vrtalk_msg_floor_leave";static CAMERA_POSE_UPDATE="vrtalk_msg_camera_pose_update";static CAMERA_DEEPLINK_PARAMS_READY="vrtalk_msg_camera_deeplink_params_ready";static RENDERER_SCREENSHOT_READY="vrtalk_msg_renderer_screenshot_ready";static RENDERER_PANORAMA_IMAGE_READY="vrtalk_msg_renderer_panorama_image_ready";static RENDERER_WORLD_SIZE_READY="vrtalk_msg_renderer_world_size_ready";static DOLLY_PATH_DESTINATION_CAPTURED="vrtalk_msg_dolly_path_destination_captured";static PATH_DESIGN_POINTS_UPDATE="vrtalk_msg_path_design_points_update";static PATH_DESIGN_SELECTION_UPDATE="vrtalk_msg_path_design_selection_update";static PATH_DESIGN_BOUNDS="vrtalk_msg_path_design_bounds";static PATH_DESIGN_STATS="vrtalk_msg_path_design_stats";static PATH_DESIGN_KEYFRAMES="vrtalk_msg_path_design_keyframes";static PATH_DESIGN_PICK_RESULT="vrtalk_msg_path_design_pick_result";static PATH_DESIGN_UNDO_REQUEST="vrtalk_msg_path_design_undo_request";static PATH_DESIGN_PREVIEW_STATE="vrtalk_msg_path_design_preview_state";static PATH_DESIGN_PARAM_UPDATE="vrtalk_msg_path_design_param_update";static NAVIGATION_RESULT_READY="vrtalk_msg_navigation_result_ready";static NAVIGATION_START="vrtalk_msg_navigation_start";static NAVIGATION_END="vrtalk_msg_navigation_end";static NAVIGATION_CANCEL="vrtalk_msg_navigation_cancel"}class Ec{sendCameraPoseUpdate(e){window.parent.postMessage(new uc(gc.CAMERA_POSE_UPDATE,e),"*")}sendDeeplinkParamsReady(e){window.parent.postMessage(new uc(gc.CAMERA_DEEPLINK_PARAMS_READY,e),"*")}}class Tc{sendUpdate(e,t="default"){window.parent.postMessage(new uc(gc.COMPONENT_UPDATE,{componentData:JSON.parse(JSON.stringify(e)),source:t}),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.COMPONENT_ON_CLICK,e),"*")}sendTransitionAnimationFinished(e,t){window.parent.postMessage(new uc(gc.COMPONENT_TRANSITION_ANIMATION_FINISHED,{componentId:e,animationId:t}),"*")}}class Ac{sendShotResult(e){window.parent.postMessage(new uc(gc.FOV_SHOT_RESULT,JSON.parse(JSON.stringify(e))),"*")}}class Cc{sendImportFromMatterport(e){window.parent.postMessage(new uc(gc.FLOOR_IMPORT_FROM_MATTERPORT,e),"*")}sendEnter(e){window.parent.postMessage(new uc(gc.FLOOR_ENTER,e),"*")}sendLeave(e){window.parent.postMessage(new uc(gc.FLOOR_LEAVE,e),"*")}}class Sc{sendReady(){window.parent.postMessage(new uc(gc.PLAYER_READY,{}),"*")}sendStatusUpdate(e){window.parent.postMessage(new uc(gc.PLAYER_STATUS_UPDATE,e),"*")}}class hc{sendImportFromMatterport(e){window.parent.postMessage(new uc(gc.SWEEP_IMPORT_FROM_MATTERPORT,e),"*")}sendSyncMatterportEnabledState(e){window.parent.postMessage(new uc(gc.SWEEP_SYNC_MATTERPORT_ENABLED_STATE,e),"*")}sendRequestModifyEnabled(e,t){window.parent.postMessage(new uc(gc.SWEEP_REQUEST_MODIFY_ENABLED,{sweepId:e,enabled:t}),"*")}}class Ic{sendScreenshotReady(e){window.parent.postMessage(new uc(gc.RENDERER_SCREENSHOT_READY,e),"*")}sendPanoramaImageReady(e){window.parent.postMessage(new uc(gc.RENDERER_PANORAMA_IMAGE_READY,e),"*")}sendWorldSizeReady(e){window.parent.postMessage(new uc(gc.RENDERER_WORLD_SIZE_READY,JSON.parse(JSON.stringify(e))),"*")}}class Oc{sendNavigationResultReady(e){window.parent.postMessage(new uc(gc.NAVIGATION_RESULT_READY,JSON.parse(JSON.stringify(e))),"*")}sendNavigationStart(e){window.parent.postMessage(new uc(gc.NAVIGATION_START,JSON.parse(JSON.stringify(e))),"*")}sendNavigationEnd(e){window.parent.postMessage(new uc(gc.NAVIGATION_END,JSON.parse(JSON.stringify(e))),"*")}sendNavigationCancel(e){window.parent.postMessage(new uc(gc.NAVIGATION_CANCEL,JSON.parse(JSON.stringify(e))),"*")}}class Lc{sendUpdate(e){window.parent.postMessage(new uc(gc.OBSTACLE_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.OBSTACLE_ON_CLICK,e),"*")}}class bc{sendUpdate(e){window.parent.postMessage(new uc(gc.TRIMMER_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.TRIMMER_ON_CLICK,e),"*")}}class Rc{sendUpdate(e){window.parent.postMessage(new uc(gc.STICKER_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.STICKER_ON_CLICK,e),"*")}}class fc{sendUpdate(e){window.parent.postMessage(new uc(gc.ASSET_LABEL_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.ASSET_LABEL_ON_CLICK,e),"*")}}class kc{sendUpdate(e){window.parent.postMessage(new uc(gc.ASSET_POINT_MARK_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.ASSET_POINT_MARK_ON_CLICK,e),"*")}}class Nc{sendUpdate(e){window.parent.postMessage(new uc(gc.ASSET_VOLUME_MARK_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.ASSET_VOLUME_MARK_ON_CLICK,e),"*")}}class Pc{sendUpdate(e){window.parent.postMessage(new uc(gc.TARGET_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.TARGET_ON_CLICK,e),"*")}}class Mc{sendUpdate(e){window.parent.postMessage(new uc(gc.WORMHOLE_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.WORMHOLE_ON_CLICK,e),"*")}}class wc{sendUpdate(e){window.parent.postMessage(new uc(gc.RAY_HITTER_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.RAY_HITTER_ON_CLICK,e),"*")}}class vc{sendUpdate(e){window.parent.postMessage(new uc(gc.SPACE_FENCE_UPDATE,JSON.parse(JSON.stringify(e))),"*")}sendOnClick(e){window.parent.postMessage(new uc(gc.SPACE_FENCE_ON_CLICK,e),"*")}}class Dc{sendDestinationCaptured(e){window.parent.postMessage(new uc(gc.DOLLY_PATH_DESTINATION_CAPTURED,JSON.parse(JSON.stringify(e))),"*")}}class Vc{sendPointsUpdate(e){window.parent.postMessage(new uc(gc.PATH_DESIGN_POINTS_UPDATE,JSON.parse(JSON.stringify({points:e}))),"*")}sendSelectionUpdate(e){window.parent.postMessage(new uc(gc.PATH_DESIGN_SELECTION_UPDATE,{pointId:e}),"*")}sendBounds(e,t){window.parent.postMessage(new uc(gc.PATH_DESIGN_BOUNDS,{bottomToPivot:e,size:t}),"*")}sendStats(e){window.parent.postMessage(new uc(gc.PATH_DESIGN_STATS,{stats:e}),"*")}sendKeyframes(e,t,a){window.parent.postMessage(new uc(gc.PATH_DESIGN_KEYFRAMES,JSON.parse(JSON.stringify({keyFrameList:e,stats:t,requestId:a||null}))),"*")}sendPickResult(e,t){window.parent.postMessage(new uc(gc.PATH_DESIGN_PICK_RESULT,{tool:e,position:{x:t.x,y:t.y,z:t.z}}),"*")}sendUndoRequest(e){window.parent.postMessage(new uc(gc.PATH_DESIGN_UNDO_REQUEST,{redo:e}),"*")}sendPreviewState(e,t){window.parent.postMessage(new uc(gc.PATH_DESIGN_PREVIEW_STATE,{playing:e,progress:t}),"*")}sendParamUpdate(e){window.parent.postMessage(new uc(gc.PATH_DESIGN_PARAM_UPDATE,JSON.parse(JSON.stringify({patch:e}))),"*")}}class Uc{onUpdateAll(e){xc.registerCommandListener(xl.SWEEP_UPDATE_ALL,(t=>{e(t.data)}))}onUpdate(e){xc.registerCommandListener(xl.SWEEP_UPDATE,(t=>{e(t.data)}))}onDeleteVirtual(e){xc.registerCommandListener(xl.SWEEP_DELETE_VIRTUAL,(t=>{e(t.data)}))}onUpdateRenderFlagVisible(e){xc.registerCommandListener(xl.SWEEP_UPDATE_RENDER_FLAG_VISIBLE,(t=>{e(t.data)}))}}class xc{static commandListenerPool=new Map;static commandPlayer=new Fl;static commandCover=new Bl;static commandUi=new Gl;static commandInfoTemplate=new Kl;static commandInformation=new Hl;static commandComponent=new Wl;static commandFov=new Xl;static commandLayer=new Yl;static commandLight=new Jl;static commandTrimmer=new zl;static commandSticker=new ql;static commandSweep=new Uc;static commandFloor=new jl;static commandCamera=new $l;static commandRenderer=new Ql;static commandMarker=new Zl;static commandNavigation=new ec;static commandObstacle=new tc;static commandAudio=new ac;static commandAssetLabel=new nc;static commandAssetPointMark=new sc;static commandAssetVolumeMark=new oc;static commandTarget=new rc;static commandWormhole=new ic;static commandRayHitter=new lc;static commandSpaceFence=new cc;static commandMonitor=new dc;static commandMessageCard=new mc;static commandDollyPath=new pc;static commandHamburgerMenu=new _c;static commandPathDesign=new yc;static messageCamera=new Ec;static messageComponent=new Tc;static messageFov=new Ac;static messageFloor=new Cc;static messagePlayer=new Sc;static messageSweep=new hc;static messageRenderer=new Ic;static messageNavigation=new Oc;static messageObstacle=new Lc;static messageTrimmer=new bc;static messageSticker=new Rc;static messageAssetLabel=new fc;static messageAssetPointMark=new kc;static messageAssetVolumeMark=new Nc;static messageTarget=new Pc;static messageWormhole=new Mc;static messageRayHitter=new wc;static messageSpaceFence=new vc;static messageDollyPath=new Dc;static messagePathDesign=new Vc;static registerCommandListener(e,t){xc.commandListenerPool.has(e)||xc.commandListenerPool.set(e,[]),xc.commandListenerPool.get(e).push(t)}static unRegisterCommandListener(e,t){if(!xc.commandListenerPool.has(e))return;const a=xc.commandListenerPool.get(e).indexOf(t);a>=0&&xc.commandListenerPool.get(e).splice(a,1)}static init(){window.addEventListener("message",(e=>{if(e.data.type&&0===e.data.type.indexOf("vrtalk_cmd_")){const t=e.data;xc.commandListenerPool.has(t.type)&&xc.commandListenerPool.get(t.type).forEach((e=>{e(t)}))}}))}}class Fc{player;constructor(e){this.player=e}onReady(e){this.player.registerMessageListener(gc.PLAYER_READY,(t=>{e()}))}onStatusUpdate(e){this.player.registerMessageListener(gc.PLAYER_STATUS_UPDATE,(t=>{e(t.data)}))}}class Bc{player;constructor(e){this.player=e}sendStart(e,t){this.player.sendCommand(new Ul(xl.PLAYER_START,JSON.parse(JSON.stringify({vrContentData:e,isForceIgnoreEnterBtn:t}))))}sendModeUpdate(e){this.player.sendCommand(new Ul(xl.PLAYER_MODE_UPDATE,e))}sendXrPreparePreview(e){this.player.sendCommand(new Ul(xl.PLAYER_XR_PREPARE_PREVIEW,e))}sendPrepareSettingsUpdate(e){this.player.sendCommand(new Ul(xl.PLAYER_PREPARE_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Gc{player;constructor(e){this.player=e}sendCoverSettingsUpdate(e){this.player.sendCommand(new Ul(xl.COVER_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Kc{player;constructor(e){this.player=e}sendUiSettingsUpdate(e){this.player.sendCommand(new Ul(xl.UI_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Hc{player;constructor(e){this.player=e}sendInfoTemplateSettingsUpdate(e){this.player.sendCommand(new Ul(xl.INFO_TEMPLATE_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class Wc{player;constructor(e){this.player=e}sendUpdateContentCard(e){this.player.sendCommand(new Ul(xl.INFORMATION_CONTENT_CARD_UPDATE,JSON.parse(JSON.stringify(e))))}sendDeleteContentCard(e){this.player.sendCommand(new Ul(xl.INFORMATION_CONTENT_CARD_DELETE,e))}}class Xc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.COMPONENT_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.COMPONENT_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.COMPONENT_DELETE,e))}sendFollowMouse(e){this.player.sendCommand(new Ul(xl.COMPONENT_FOLLOW_MOUSE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.COMPONENT_CONTROLLER_MODIFY,{componentId:t,controllerType:e}))}sendPlayTransitionAnimation(e,t){this.player.sendCommand(new Ul(xl.COMPONENT_PLAY_TRANSITION_ANIMATION,{componentId:e,animationId:t}))}sendStopTransitionAnimation(e){this.player.sendCommand(new Ul(xl.COMPONENT_STOP_TRANSITION_ANIMATION,{componentId:e}))}send3dModelPlayAnimationClip(e,t){this.player.sendCommand(new Ul(xl.COMPONENT_3D_MODEL_PLAY_ANIMATION_CLIP,{modelComponentId:e,animationClipId:t}))}send3dModelStopAnimationClip(e){this.player.sendCommand(new Ul(xl.COMPONENT_3D_MODEL_STOP_ANIMATION_CLIP,{modelComponentId:e}))}send2dTextAutoFit(e){this.player.sendCommand(new Ul(xl.COMPONENT_2D_TEXT_AUTO_FIT,e))}}class Yc{player;constructor(e){this.player=e}enterFovShotMode(e){this.player.sendCommand(new Ul(xl.FOV_ENTER_SHOT_MODE,JSON.parse(JSON.stringify(e))))}exitFovShotMode(){this.player.sendCommand(new Ul(xl.FOV_EXIT_SHOT_MODE,{}))}sendUpdate(e){this.player.sendCommand(new Ul(xl.FOV_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.FOV_DELETE,e))}}class Jc{player;constructor(e){this.player=e}sendUpdate(e){this.player.sendCommand(new Ul(xl.LAYER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e,t){this.player.sendCommand(new Ul(xl.LAYER_DELETE,{layerId:e,deleteComponents:t}))}sendVisible(e,t){this.player.sendCommand(new Ul(xl.LAYER_VISIBLE,{layerId:e,visible:t}))}}class zc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.LIGHT_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.LIGHT_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.LIGHT_DELETE,e))}}class qc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.TRIMMER_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.TRIMMER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.TRIMMER_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.TRIMMER_CONTROLLER_MODIFY,{controllerType:e,trimmerId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.TRIMMER_EDITING_STATE_UPDATE,e))}}class jc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.STICKER_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.STICKER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.STICKER_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.STICKER_CONTROLLER_MODIFY,{controllerType:e,stickerId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.STICKER_EDITING_STATE_UPDATE,e))}}class $c{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.ASSET_LABEL_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.ASSET_LABEL_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.ASSET_LABEL_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.ASSET_LABEL_CONTROLLER_MODIFY,{controllerType:e,assetLabelId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.ASSET_LABEL_EDITING_STATE_UPDATE,e))}}class Qc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.ASSET_POINT_MARK_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.ASSET_POINT_MARK_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.ASSET_POINT_MARK_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.ASSET_POINT_MARK_CONTROLLER_MODIFY,{controllerType:e,assetPointMarkId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.ASSET_POINT_MARK_EDITING_STATE_UPDATE,e))}}class Zc{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.ASSET_VOLUME_MARK_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.ASSET_VOLUME_MARK_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.ASSET_VOLUME_MARK_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.ASSET_VOLUME_MARK_CONTROLLER_MODIFY,{controllerType:e,assetVolumeMarkId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.ASSET_VOLUME_MARK_EDITING_STATE_UPDATE,e))}}class ed{player;constructor(e){this.player=e}sendUpdateAll(e){this.player.sendCommand(new Ul(xl.SWEEP_UPDATE_ALL,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.SWEEP_UPDATE,JSON.parse(JSON.stringify(e))))}sendDeleteVirtual(e){this.player.sendCommand(new Ul(xl.SWEEP_DELETE_VIRTUAL,e))}sendUpdateRenderFlagVisible(e){this.player.sendCommand(new Ul(xl.SWEEP_UPDATE_RENDER_FLAG_VISIBLE,e))}}class td{player;constructor(e){this.player=e}sendUpdate(e){this.player.sendCommand(new Ul(xl.FLOOR_UPDATE,JSON.parse(JSON.stringify(e))))}}class ad{player;constructor(e){this.player=e}sendMoveTo(e,t){this.player.sendCommand(new Ul(xl.CAMERA_MOVE_TO,JSON.parse(JSON.stringify({transition:e,cameraMode:t}))))}sendMoveToInside(e,t,a){this.player.sendCommand(new Ul(xl.CAMERA_MOVE_TO_INSIDE,JSON.parse(JSON.stringify({transition:e,transitionTime:t,cameraPose:a}))))}sendMoveToVrFov(e,t,a){this.player.sendCommand(new Ul(xl.CAMERA_MOVE_TO_VR_FOV,JSON.parse(JSON.stringify({transition:e,transitionTime:t,fovId:a}))))}sendMoveToNearComponent(e,t,a){this.player.sendCommand(new Ul(xl.CAMERA_MOVE_TO_NEAR_COMPONENT,JSON.parse(JSON.stringify({transition:e,transitionTime:t,componentId:a}))))}sendMoveToWatchPosition(e,t,a){this.player.sendCommand(new Ul(xl.CAMERA_MOVE_TO_WATCH_POSITION,JSON.parse(JSON.stringify({transition:e,transitionTime:t,position:a}))))}sendRequestDeeplinkParams(){this.player.sendCommand(new Ul(xl.CAMERA_REQUEST_DEEPLINK_PARAMS,{}))}}class nd{player;constructor(e){this.player=e}sendTakeScreenshot(e,t){this.player.sendCommand(new Ul(xl.RENDERER_TAKE_SCREENSHOT,{resolution:e,visibility:t}))}sendGetPanoramaImage(){this.player.sendCommand(new Ul(xl.RENDERER_GET_PANORAMA_IMAGE,{}))}sendSettingsUpdate(e){this.player.sendCommand(new Ul(xl.RENDERER_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}sendColorSpaceSettingsUpdate(e){this.player.sendCommand(new Ul(xl.RENDERER_COLOR_SPACE_SETTINGS_UPDATE,JSON.parse(JSON.stringify(e))))}}class sd{player;constructor(e){this.player=e}sendMarkerUpdate(e){this.player.sendCommand(new Ul(xl.MARKER_UPDATE,JSON.parse(JSON.stringify(e))))}sendMarkerDelete(e){this.player.sendCommand(new Ul(xl.MARKER_DELETE,e))}}class od{player;constructor(e){this.player=e}sendNavigationRequest(e){this.player.sendCommand(new Ul(xl.NAVIGATION_REQUEST,JSON.parse(JSON.stringify(e))))}sendNavigationStart(e){this.player.sendCommand(new Ul(xl.NAVIGATION_START,JSON.parse(JSON.stringify(e))))}sendNavigationCancel(){this.player.sendCommand(new Ul(xl.NAVIGATION_CANCEL,{}))}}class rd{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.OBSTACLE_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.OBSTACLE_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.OBSTACLE_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.OBSTACLE_CONTROLLER_MODIFY,{controllerType:e,obstacleId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.OBSTACLE_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Ul(xl.OBSTACLE_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}}class id{player;constructor(e){this.player=e}sendAudioListUpdate(e){this.player.sendCommand(new Ul(xl.AUDIO_LIST_UPDATE,JSON.parse(JSON.stringify(e))))}sendAudioListDelete(e){this.player.sendCommand(new Ul(xl.AUDIO_LIST_DELETE,{audioListId:e}))}sendAudioUpdate(e){this.player.sendCommand(new Ul(xl.AUDIO_UPDATE,JSON.parse(JSON.stringify(e))))}sendAudioDelete(e,t){this.player.sendCommand(new Ul(xl.AUDIO_DELETE,{audioListId:e,audioId:t}))}sendAudioCenterPlayerShowPlayControlUpdate(e){this.player.sendCommand(new Ul(xl.AUDIO_CENTER_PLAYER_SHOW_PLAY_CONTROL_UPDATE,{show:e}))}sendAudioCenterPlayerShowMuteControlUpdate(e){this.player.sendCommand(new Ul(xl.AUDIO_CENTER_PLAYER_SHOW_VOLUME_CONTROL_UPDATE,{show:e}))}sendAudioCenterPlayerVolumeUpdate(e){this.player.sendCommand(new Ul(xl.AUDIO_CENTER_PLAYER_VOLUME_UPDATE,{volume:e}))}}class ld{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.TARGET_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.TARGET_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.TARGET_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.TARGET_CONTROLLER_MODIFY,{controllerType:e,targetId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.TARGET_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Ul(xl.TARGET_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}}class cd{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.WORMHOLE_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.WORMHOLE_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.WORMHOLE_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.WORMHOLE_CONTROLLER_MODIFY,{controllerType:e,wormholeId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.WORMHOLE_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Ul(xl.WORMHOLE_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}}class dd{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.RAY_HITTER_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.RAY_HITTER_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.RAY_HITTER_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.RAY_HITTER_CONTROLLER_MODIFY,{controllerType:e,rayHitterId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.RAY_HITTER_EDITING_STATE_UPDATE,e))}}class md{player;constructor(e){this.player=e}sendCreate(e){this.player.sendCommand(new Ul(xl.SPACE_FENCE_CREATE,JSON.parse(JSON.stringify(e))))}sendUpdate(e){this.player.sendCommand(new Ul(xl.SPACE_FENCE_UPDATE,JSON.parse(JSON.stringify(e))))}sendDelete(e){this.player.sendCommand(new Ul(xl.SPACE_FENCE_DELETE,e))}sendControllerModify(e,t){this.player.sendCommand(new Ul(xl.SPACE_FENCE_CONTROLLER_MODIFY,{controllerType:e,spaceFenceId:t}))}sendEditingStateUpdate(e){this.player.sendCommand(new Ul(xl.SPACE_FENCE_EDITING_STATE_UPDATE,e))}sendGroupVisibleUpdate(e,t){this.player.sendCommand(new Ul(xl.SPACE_FENCE_GROUP_VISIBLE_UPDATE,{groupId:e,visible:t}))}sendGroupColorUpdate(e,t){this.player.sendCommand(new Ul(xl.SPACE_FENCE_GROUP_COLOR_UPDATE,{groupId:e,cubeFaceColor:JSON.parse(JSON.stringify(t))}))}}class pd{player;constructor(e){this.player=e}sendMonitorListUpdate(e){this.player.sendCommand(new Ul(xl.MONITOR_LIST_UPDATE,JSON.parse(JSON.stringify(e))))}}class _d{player;constructor(e){this.player=e}sendPreview(e,t){this.player.sendCommand(new Ul(xl.MESSAGE_CARD_PREVIEW,{card:e?JSON.parse(JSON.stringify(e)):null,show:t}))}}class yd{player;constructor(e){this.player=e}captureDestination(){this.player.sendCommand(new Ul(xl.DOLLY_PATH_CAPTURE_DESTINATION,{}))}preview(e){this.player.sendCommand(new Ul(xl.DOLLY_PATH_PREVIEW,JSON.parse(JSON.stringify(e))))}stopPreview(){this.player.sendCommand(new Ul(xl.DOLLY_PATH_STOP_PREVIEW,{}))}}class ud{player;constructor(e){this.player=e}sendHamburgerMenuUpdate(e){this.player.sendCommand(new Ul(xl.HAMBURGER_MENU_UPDATE,JSON.parse(JSON.stringify(e))))}}class gd{player;constructor(e){this.player=e}enter(e,t,a){this.player.sendCommand(new Ul(xl.PATH_DESIGN_ENTER,{componentId:e,animationId:t,pathDesign:JSON.parse(JSON.stringify(a))}))}exit(){this.player.sendCommand(new Ul(xl.PATH_DESIGN_EXIT,{}))}update(e,t=!1){this.player.sendCommand(new Ul(xl.PATH_DESIGN_UPDATE,{pathDesign:JSON.parse(JSON.stringify(e)),resnapPoints:t}))}setTool(e){this.player.sendCommand(new Ul(xl.PATH_DESIGN_SET_TOOL,{tool:e}))}setView(e){this.player.sendCommand(new Ul(xl.PATH_DESIGN_SET_VIEW,{view:e}))}selectPoint(e){this.player.sendCommand(new Ul(xl.PATH_DESIGN_SELECT_POINT,{pointId:e}))}scrub(e){this.player.sendCommand(new Ul(xl.PATH_DESIGN_SCRUB,{progress:e}))}previewPlay(){this.player.sendCommand(new Ul(xl.PATH_DESIGN_PREVIEW_PLAY,{}))}previewStop(){this.player.sendCommand(new Ul(xl.PATH_DESIGN_PREVIEW_STOP,{}))}generate(){this.player.sendCommand(new Ul(xl.PATH_DESIGN_GENERATE,{}))}generateOneshot(e,t,a){this.player.sendCommand(new Ul(xl.PATH_DESIGN_GENERATE_ONESHOT,{requestId:e,componentId:t,pathDesign:JSON.parse(JSON.stringify(a))}))}moveComponentToStart(){this.player.sendCommand(new Ul(xl.PATH_DESIGN_MOVE_COMPONENT_TO_START,{}))}}class Ed{player;constructor(e){this.player=e}onCameraPoseUpdate(e){this.player.registerMessageListener(gc.CAMERA_POSE_UPDATE,(t=>{e(t.data)}))}onDeeplinkParamsReady(e){this.player.registerMessageListener(gc.CAMERA_DEEPLINK_PARAMS_READY,(t=>{e(t.data)}))}}class Td{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.COMPONENT_UPDATE,(t=>{const a=t.data;a&&"object"==typeof a&&"componentData"in a&&a.componentData?e(a.componentData,a.source??"default"):e(a,"default")}))}onClick(e){this.player.registerMessageListener(gc.COMPONENT_ON_CLICK,(t=>{e(t.data)}))}onTransitionAnimationFinished(e){this.player.registerMessageListener(gc.COMPONENT_TRANSITION_ANIMATION_FINISHED,(t=>{e(t.data.componentId,t.data.animationId)}))}}class Ad{player;constructor(e){this.player=e}onShotResult(e){this.player.registerMessageListener(gc.FOV_SHOT_RESULT,(t=>{e(t.data)}))}}class Cd{player;constructor(e){this.player=e}onImportFromMatterport(e){this.player.registerMessageListener(gc.FLOOR_IMPORT_FROM_MATTERPORT,(t=>{e(t.data)}))}onEnterFloor(e){this.player.registerMessageListener(gc.FLOOR_ENTER,(t=>{e(t.data)}))}onLeaveFloor(e){this.player.registerMessageListener(gc.FLOOR_LEAVE,(t=>{e(t.data)}))}}class Sd{player;constructor(e){this.player=e}onImportFromMatterport(e){this.player.registerMessageListener(gc.SWEEP_IMPORT_FROM_MATTERPORT,(t=>{e(t.data)}))}onSyncMatterportEnabledState(e){this.player.registerMessageListener(gc.SWEEP_SYNC_MATTERPORT_ENABLED_STATE,(t=>{e(t.data)}))}onRequestModifyEnabled(e){this.player.registerMessageListener(gc.SWEEP_REQUEST_MODIFY_ENABLED,(t=>{e(t.data.sweepId,t.data.enabled)}))}}class hd{player;constructor(e){this.player=e}onScreenshotReady(e){this.player.registerMessageListener(gc.RENDERER_SCREENSHOT_READY,(t=>{e(t.data)}))}onPanoramaImageReady(e){this.player.registerMessageListener(gc.RENDERER_PANORAMA_IMAGE_READY,(t=>{e(t.data)}))}onWorldSizeReady(e){this.player.registerMessageListener(gc.RENDERER_WORLD_SIZE_READY,(t=>{e(t.data)}))}}class Id{player;constructor(e){this.player=e}onNavigationResultReady(e){this.player.registerMessageListener(gc.NAVIGATION_RESULT_READY,(t=>{e(t.data)}))}onNavigationStart(e){this.player.registerMessageListener(gc.NAVIGATION_START,(t=>{e(t.data)}))}onNavigationEnd(e){this.player.registerMessageListener(gc.NAVIGATION_END,(t=>{e(t.data)}))}onNavigationCancel(e){this.player.registerMessageListener(gc.NAVIGATION_CANCEL,(t=>{e(t.data)}))}}class Od{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.OBSTACLE_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.OBSTACLE_ON_CLICK,(t=>{e(t.data)}))}}class Ld{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.TRIMMER_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.TRIMMER_ON_CLICK,(t=>{e(t.data)}))}}class bd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.STICKER_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.STICKER_ON_CLICK,(t=>{e(t.data)}))}}class Rd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.ASSET_LABEL_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.ASSET_LABEL_ON_CLICK,(t=>{e(t.data)}))}}class fd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.ASSET_POINT_MARK_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.ASSET_POINT_MARK_ON_CLICK,(t=>{e(t.data)}))}}class kd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.ASSET_VOLUME_MARK_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.ASSET_VOLUME_MARK_ON_CLICK,(t=>{e(t.data)}))}}class Nd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.TARGET_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.TARGET_ON_CLICK,(t=>{e(t.data)}))}}class Pd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.WORMHOLE_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.WORMHOLE_ON_CLICK,(t=>{e(t.data)}))}}class Md{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.RAY_HITTER_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.RAY_HITTER_ON_CLICK,(t=>{e(t.data)}))}}class wd{player;constructor(e){this.player=e}onUpdate(e){this.player.registerMessageListener(gc.SPACE_FENCE_UPDATE,(t=>{e(t.data)}))}onClick(e){this.player.registerMessageListener(gc.SPACE_FENCE_ON_CLICK,(t=>{e(t.data)}))}}class vd{player;constructor(e){this.player=e}onDestinationCaptured(e){this.player.registerMessageListener(gc.DOLLY_PATH_DESTINATION_CAPTURED,(t=>{e(t.data)}))}}class Dd{player;constructor(e){this.player=e}onPointsUpdate(e){this.player.registerMessageListener(gc.PATH_DESIGN_POINTS_UPDATE,(t=>{e(t.data.points||[])}))}onSelectionUpdate(e){this.player.registerMessageListener(gc.PATH_DESIGN_SELECTION_UPDATE,(t=>{e(t.data.pointId??null)}))}onBounds(e){this.player.registerMessageListener(gc.PATH_DESIGN_BOUNDS,(t=>{e(t.data)}))}onStats(e){this.player.registerMessageListener(gc.PATH_DESIGN_STATS,(t=>{e(t.data.stats)}))}onKeyframes(e){this.player.registerMessageListener(gc.PATH_DESIGN_KEYFRAMES,(t=>{e(t.data.keyFrameList||[],t.data.stats,t.data.requestId??null)}))}onPickResult(e){this.player.registerMessageListener(gc.PATH_DESIGN_PICK_RESULT,(t=>{e(t.data.tool,t.data.position)}))}onUndoRequest(e){this.player.registerMessageListener(gc.PATH_DESIGN_UNDO_REQUEST,(t=>{e(!!t.data.redo)}))}onPreviewState(e){this.player.registerMessageListener(gc.PATH_DESIGN_PREVIEW_STATE,(t=>{e(!!t.data.playing,t.data.progress??0)}))}onParamUpdate(e){this.player.registerMessageListener(gc.PATH_DESIGN_PARAM_UPDATE,(t=>{e(t.data.patch||{})}))}}class Vd{serviceRegion;iframeElement=null;messageListenerPool=new Map;messageCamera;messageComponent;messageFov;messageFloor;messagePlayer;messageSweep;messageRenderer;messageNavigation;messageObstacle;messageTrimmer;messageSticker;messageAssetLabel;messageAssetPointMark;messageAssetVolumeMark;messageTarget;messageWormhole;messageRayHitter;messageSpaceFence;messageDollyPath;messagePathDesign;commandPlayer;commandCover;commandUi;commandInfoTemplate;commandInformation;commandComponent;commandFov;commandLayer;commandLight;commandTrimmer;commandSticker;commandAssetLabel;commandAssetPointMark;commandAssetVolumeMark;commandSweep;commandFloor;commandCamera;commandRenderer;commandMarker;commandNavigation;commandObstacle;commandAudio;commandTarget;commandWormhole;commandRayHitter;commandSpaceFence;commandMonitor;commandMessageCard;commandDollyPath;commandHamburgerMenu;commandPathDesign;constructor(e,t){this.serviceRegion=e,this.iframeElement=t,this.messageCamera=new Ed(this),this.messageComponent=new Td(this),this.messageFov=new Ad(this),this.messageFloor=new Cd(this),this.messagePlayer=new Fc(this),this.messageSweep=new Sd(this),this.messageRenderer=new hd(this),this.messageNavigation=new Id(this),this.messageObstacle=new Od(this),this.messageTrimmer=new Ld(this),this.messageSticker=new bd(this),this.messageAssetLabel=new Rd(this),this.messageAssetPointMark=new fd(this),this.messageAssetVolumeMark=new kd(this),this.messageTarget=new Nd(this),this.messageWormhole=new Pd(this),this.messageRayHitter=new Md(this),this.messageSpaceFence=new wd(this),this.messageDollyPath=new vd(this),this.messagePathDesign=new Dd(this),this.commandPlayer=new Bc(this),this.commandCover=new Gc(this),this.commandUi=new Kc(this),this.commandInfoTemplate=new Hc(this),this.commandInformation=new Wc(this),this.commandComponent=new Xc(this),this.commandFov=new Yc(this),this.commandLayer=new Jc(this),this.commandLight=new zc(this),this.commandTrimmer=new qc(this),this.commandSticker=new jc(this),this.commandAssetLabel=new $c(this),this.commandAssetPointMark=new Qc(this),this.commandAssetVolumeMark=new Zc(this),this.commandSweep=new ed(this),this.commandFloor=new td(this),this.commandCamera=new ad(this),this.commandRenderer=new nd(this),this.commandMarker=new sd(this),this.commandNavigation=new od(this),this.commandObstacle=new rd(this),this.commandAudio=new id(this),this.commandTarget=new ld(this),this.commandWormhole=new cd(this),this.commandRayHitter=new dd(this),this.commandSpaceFence=new md(this),this.commandMonitor=new pd(this),this.commandMessageCard=new _d(this),this.commandDollyPath=new yd(this),this.commandHamburgerMenu=new ud(this),this.commandPathDesign=new gd(this),this.iframeElement.addEventListener("load",(()=>{console.debug("[VRTalk Web SDK] player iframe loaded, add event listener"),window.addEventListener("message",(e=>{if(e.data.type&&0===e.data.type.indexOf("vrtalk_msg_")){const t=e.data;this.messageListenerPool.has(t.type)&&this.messageListenerPool.get(t.type).forEach((e=>{e(t)}))}}))}))}registerMessageListener(e,t){console.debug(`[VRTalk Web SDK]VRTalkEditablePlayer.registerMessageListener: ${e}`),this.messageListenerPool.get(e)||this.messageListenerPool.set(e,[]),this.messageListenerPool.get(e).push(t)}unRegisterMessageListener(e,t){if(console.debug(`[VRTalk Web SDK]VRTalkEditablePlayer.unRegisterMessageListener: ${e}`),!this.messageListenerPool.has(e))return;const a=this.messageListenerPool.get(e).indexOf(t);a>=0&&this.messageListenerPool.get(e).splice(a,1)}clearAllMessageListener(){console.debug("[VRTalk Web SDK] VRTalkEditablePlayer.clearAllMessageListener"),this.messageListenerPool.clear()}sendCommand(e){console.debug(`[VRTalk Web SDK]VRTalkEditablePlayer.sendCommand: ${e}`);const t=this.iframeElement?.contentWindow;t?t.postMessage(e,"*"):console.warn("[VRTalk Web SDK] sendCommand: player iframe 尚未就绪,命令被跳过",e)}play(){console.debug("[VRTalk Web SDK]VRTalkEditablePlayer.play"),this.iframeElement.src=this.serviceRegion+"/vr-editor"}}class Ud{cn="";en="";jp="";constructor(e="",t="",a=""){this.cn=e,this.en=t,this.jp=a}}function xd(e,t,a){return new Ud(e,t,a)}class Fd{value="";name=new Ud}class Bd{key="";name=new Ud;desc;type="string";refTypeKey;listElementType;listElementRefTypeKey;enumOptions;closurePayloadFields;optional=!1;defaultValue}class Gd{type="void";refTypeKey;customClassId;listElementType;listElementRefTypeKey;desc}class Kd{key="";name=new Ud;desc;params=[];returns=new Gd;platform="vr_and_ar";supportsAsync=!1;pure=!1;groupKey="";legacyActionType;legacyConditionFunc}class Hd{key="";name=new Ud;desc;payloadFields=[];aggregate=!1;platform="vr_and_ar";legacySignalSource;legacySignalType}class Wd{key="";name=new Ud}class Xd{extendsClassKey="";isAbstract=!1;listPath="";parentPathSpec=[];selectorKey="";usableAsVariableType=!0}class Yd{classKey="";name=new Ud;desc;kind="static";groupKey="";entityInfo;methods=[];events=[];methodGroups=[]}function Jd(e){return Object.assign(new Bd,e)}function zd(e){return Object.assign(new Gd,e)}function qd(e){return Object.assign(new Kd,e)}function jd(e){return Object.assign(new Hd,e)}function $d(e,t){return Object.assign(new Fd,{value:e,name:t})}function Qd(e){return Object.assign(new Xd,e)}function Zd(e,t){return Object.assign(new Wd,{key:e,name:t})}function em(e){return Object.assign(new Yd,e)}function tm(e,t){return qd({key:"addListener",name:xd("添加监听器","Add Listener","リスナーを追加"),desc:xd("动态订阅本对象的一个事件;返回监听器句柄(可存入变量,供 Listener.移除监听器 使用)。回调内用 _事件.$ 读事件载荷。监听器归属创建它的作用域(场景/子程序),作用域结束自动回收。","Dynamically subscribe to an event of this object; returns a listener handle. Read event payload via _event.$ in the callback.","このオブジェクトのイベントを動的に購読し、リスナーハンドルを返します。"),params:[Jd({key:"event",name:xd("事件","Event","イベント"),type:"enum",enumOptions:t.map((e=>$d(e.key,e.name)))}),Jd({key:"callback",name:xd("回调","Callback","コールバック"),type:"closure"})],returns:zd({type:"listener"}),pure:!1,groupKey:""})}const am=new Map;function nm(e){am.has(e.classKey)&&console.warn(`[XrApiCatalog] classKey 重复注册,后者覆盖前者: ${e.classKey}`),am.set(e.classKey,e)}function sm(e){for(const t of e)nm(t)}function om(e){return am.get(e)}function rm(){return Array.from(am.values())}function im(e){const t=[];let a=am.get(e);const n=new Set;for(;a&&!n.has(a.classKey);){n.add(a.classKey),t.push(a);const e=a.entityInfo?.extendsClassKey;a=e?am.get(e):void 0}const s=new Map;for(let e=t.length-1;e>=0;e--)for(const a of t[e].methods)s.set(a.key,a);return Array.from(s.values())}function lm(e){const t=[];let a=am.get(e);const n=new Set;for(;a&&!n.has(a.classKey);){n.add(a.classKey),t.push(a);const e=a.entityInfo?.extendsClassKey;a=e?am.get(e):void 0}const s=new Map;for(let e=t.length-1;e>=0;e--)for(const a of t[e].events)s.set(a.key,a);return Array.from(s.values())}function cm(e,t){return im(e).find((e=>e.key===t))}function dm(e){for(const t of am.values())for(const a of t.methods)if(a.legacyActionType===e)return{classMeta:t,method:a}}function mm(e,t){return!0===cm(e,t)?.pure}function pm(){const e=[Jd({key:"item",name:xd("当前元素","Item","現在の要素"),type:"any"}),Jd({key:"index",name:xd("序号","Index","インデックス"),desc:xd("从 1 开始","1-based","1始まり"),type:"number"})];return em({classKey:"List",name:xd("列表","List","リスト"),desc:xd("列表(强类型 list<T>)操作;序号从 1 开始","List operations (typed list<T>); 1-based index","リスト操作(1始まりインデックス)"),kind:"static",groupKey:"value",methods:[qd({key:"length",name:xd("取长度","Get Length","長さを取得"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"})],returns:zd({type:"number"}),pure:!0}),qd({key:"get",name:xd("取第N项","Get Item","N番目を取得"),desc:xd("序号从 1 开始;越界返回空值并记日志","1-based index; empty value on out-of-range","1始まり。範囲外は空値"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"index",name:xd("序号","Index","インデックス"),type:"number"})],returns:zd({type:"any",desc:xd("该位置的元素(类型=列表元素类型)","Element at index (typed by list element type)","その位置の要素")}),pure:!0}),qd({key:"set",name:xd("设第N项","Set Item","N番目を設定"),desc:xd("就地修改列表(有副作用);序号从 1 开始","Mutates the list in place; 1-based index","リストを直接変更(副作用あり)"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"index",name:xd("序号","Index","インデックス"),type:"number"}),Jd({key:"value",name:xd("新值","Value","新しい値"),type:"any"})],returns:zd({type:"void"}),pure:!1}),qd({key:"append",name:xd("追加元素","Append","要素を追加"),desc:xd("把元素加到列表末尾(就地修改,有副作用)","Append to the end (mutates in place)","末尾に追加(副作用あり)"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"value",name:xd("元素","Value","要素"),type:"any"})],returns:zd({type:"void"}),pure:!1}),qd({key:"removeAt",name:xd("删除第N项","Remove At","N番目を削除"),desc:xd("就地修改列表(有副作用);序号从 1 开始","Mutates the list in place; 1-based index","リストを直接変更(副作用あり)"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"index",name:xd("序号","Index","インデックス"),type:"number"})],returns:zd({type:"void"}),pure:!1}),qd({key:"insert",name:xd("插入元素","Insert","要素を挿入"),desc:xd("在第N项之前插入(就地修改,有副作用);序号从 1 开始","Insert before index (mutates in place); 1-based","N番目の前に挿入(副作用あり)"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"index",name:xd("序号","Index","インデックス"),type:"number"}),Jd({key:"value",name:xd("元素","Value","要素"),type:"any"})],returns:zd({type:"void"}),pure:!1}),qd({key:"contains",name:xd("判断包含","Contains","含むか判定"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"value",name:xd("元素","Value","要素"),type:"any"})],returns:zd({type:"boolean"}),pure:!0}),qd({key:"concat",name:xd("拼接列表","Concat","リストを連結"),desc:xd("返回两列表首尾相接的新列表(不改动入参)","Returns a new concatenated list (inputs untouched)","新しい連結リストを返す(入力は不変)"),params:[Jd({key:"a",name:xd("列表A","List A","リストA"),type:"list"}),Jd({key:"b",name:xd("列表B","List B","リストB"),type:"list"})],returns:zd({type:"list"}),pure:!0}),qd({key:"sum",name:xd("求和","Sum","合計を求める"),params:[Jd({key:"list",name:xd("数字列表","Number List","数値リスト"),type:"list",listElementType:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"randomPick",name:xd("随机取一","Random Pick","ランダムに1つ取得"),desc:xd("随机取一个元素(非确定,不可进条件槽;同 Random.从列表随机选一)","Pick one random element (non-deterministic)","ランダムに要素を1つ取得(非決定的)"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"})],returns:zd({type:"any",desc:xd("随机选中的元素(类型=列表元素类型)","The picked element","選ばれた要素")}),pure:!1}),qd({key:"forEach",name:xd("遍历列表","For Each","各要素を処理"),desc:xd("对每个元素依次执行回调;回调里用 _事件.$item / _事件.$index 取当前元素与序号","Run callback for each element; _事件.$item / _事件.$index injected","各要素に対しコールバックを実行"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"callback",name:xd("回调","Callback","コールバック"),type:"closure",closurePayloadFields:e})],returns:zd({type:"void"}),pure:!1}),qd({key:"map",name:xd("映射列表","Map","変換して新リストを作る"),desc:xd("对每个元素执行回调,用回调返回值组成新列表;_事件.$item / _事件.$index 注入回调","Build a new list from callback return values","コールバックの戻り値で新リストを作る"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"callback",name:xd("回调","Callback","コールバック"),desc:xd("回调需返回新元素值","Callback must return the new element value","コールバックは新しい要素値を返す"),type:"closure",closurePayloadFields:e})],returns:zd({type:"list"}),pure:!1}),qd({key:"filter",name:xd("过滤列表","Filter","絞り込み"),desc:xd("对每个元素执行回调,保留回调返回真的元素组成新列表;_事件.$item / _事件.$index 注入回调","Keep elements for which the callback returns true","コールバックが真を返した要素だけ残す"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"}),Jd({key:"callback",name:xd("回调","Callback","コールバック"),desc:xd("回调需返回布尔(真=保留)","Callback must return boolean (true=keep)","コールバックは真偽値を返す(真=残す)"),type:"closure",closurePayloadFields:e})],returns:zd({type:"list"}),pure:!1})]})}function _m(){const e=[$d("year",xd("年","Year","年")),$d("month",xd("月","Month","月")),$d("day",xd("日","Day","日")),$d("hour",xd("时","Hour","時")),$d("minute",xd("分","Minute","分")),$d("second",xd("秒","Second","秒"))];return em({classKey:"Time",name:xd("时间","Time","時間"),desc:xd("时间查询与运算(全部为无副作用查询)","Time queries and arithmetic (all pure)","時間の取得と演算(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[qd({key:"now",name:xd("取当前时间","Now","現在時刻を取得"),desc:xd("按格式返回当前时间:iso/date_string/time_string 返回文本,unix_ms/unix_s 返回数字","Current time by format: iso/date_string/time_string → string, unix_ms/unix_s → number","形式に応じて現在時刻を返す"),params:[Jd({key:"format",name:xd("格式","Format","形式"),type:"enum",enumOptions:[$d("iso",xd("ISO字符串","ISO String","ISO文字列")),$d("unix_ms",xd("Unix毫秒","Unix Milliseconds","Unixミリ秒")),$d("unix_s",xd("Unix秒","Unix Seconds","Unix秒")),$d("date_string",xd("日期字符串","Date String","日付文字列")),$d("time_string",xd("时刻字符串","Time String","時刻文字列"))],optional:!0,defaultValue:"iso"})],returns:zd({type:"any",desc:xd("当前时间(文本或数字,随格式)","Current time (string or number by format)","現在時刻(形式に従い文字列/数値)")}),pure:!0,legacyActionType:"logic_current_time"}),qd({key:"format",name:xd("格式化时间","Format Time","時刻を書式化"),desc:xd("按模板格式化时间(模板占位:YYYY/MM/DD/HH/mm/ss)","Format time by template (YYYY/MM/DD/HH/mm/ss)","テンプレートで時刻を書式化"),params:[Jd({key:"time",name:xd("时间","Time","時刻"),desc:xd("ISO 字符串或 Unix 时间戳","ISO string or Unix timestamp","ISO文字列またはUnixタイムスタンプ"),type:"any"}),Jd({key:"template",name:xd("模板","Template","テンプレート"),type:"string"})],returns:zd({type:"string"}),pure:!0}),qd({key:"add",name:xd("时间加减","Add Time","時間を加減算"),desc:xd("给时间加上指定数量的单位(数量可为负=减);返回新时间","Add amount of unit to time (negative = subtract)","指定単位の量を加算(負数=減算)"),params:[Jd({key:"time",name:xd("时间","Time","時刻"),desc:xd("ISO 字符串或 Unix 时间戳","ISO string or Unix timestamp","ISO文字列またはUnixタイムスタンプ"),type:"any"}),Jd({key:"amount",name:xd("数量","Amount","量"),type:"number"}),Jd({key:"unit",name:xd("单位","Unit","単位"),type:"enum",enumOptions:e})],returns:zd({type:"any",desc:xd("新时间(表示形式与入参一致)","New time (same representation as input)","新しい時刻(入力と同じ表現)")}),pure:!0}),qd({key:"getPart",name:xd("取时间部分","Get Time Part","時刻の要素を取得"),desc:xd("取时间的某一部分为数字;星期:0=周日 … 6=周六","Extract a part as number; weekday: 0=Sunday … 6=Saturday","時刻の一部を数値で取得(曜日:0=日曜〜6=土曜)"),params:[Jd({key:"time",name:xd("时间","Time","時刻"),desc:xd("ISO 字符串或 Unix 时间戳","ISO string or Unix timestamp","ISO文字列またはUnixタイムスタンプ"),type:"any"}),Jd({key:"part",name:xd("部分","Part","要素"),type:"enum",enumOptions:[...e,$d("weekday",xd("星期","Weekday","曜日"))]})],returns:zd({type:"number"}),pure:!0}),qd({key:"diff",name:xd("计算时间差","Time Diff","時間差を計算"),desc:xd("时间B 减 时间A,按单位折算(可为负)","B minus A converted to unit (may be negative)","BからAを引き単位換算(負数あり)"),params:[Jd({key:"a",name:xd("时间A","Time A","時刻A"),type:"any"}),Jd({key:"b",name:xd("时间B","Time B","時刻B"),type:"any"}),Jd({key:"unit",name:xd("单位","Unit","単位"),type:"enum",enumOptions:e})],returns:zd({type:"number"}),pure:!0}),qd({key:"isHourBetween",name:xd("判断时段内","Hour In Range","時間帯内か判定"),desc:xd("小时数是否在 [始, 末] 时段内(0~23);老条件写法固定取当前小时,新写法配合「取时间部分」可判任意时间","Whether hour is within [start, end] (0~23)","時(0~23)が [開始, 終了] 内かどうか"),params:[Jd({key:"hour",name:xd("时","Hour","時"),desc:xd("0~23;判当前时段用 取时间部分(取当前时间, 时)","0~23","0~23"),type:"number"}),Jd({key:"start",name:xd("起始时","Start Hour","開始時"),type:"number"}),Jd({key:"end",name:xd("结束时","End Hour","終了時"),type:"number"})],returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"current_hour_between"})]})}function ym(){const e=()=>Jd({key:"target",name:xd("目标变量","Target Variable","対象変数"),desc:xd("变量目标(scope+key),编辑器用变量选择器","Variable target (scope+key); editor uses variable selector","変数ターゲット(scope+key)。エディタは変数セレクタを使用"),type:"any"});return em({classKey:"Variable",name:xd("变量","Variable","変数"),desc:xd("直接修改变量值(承接老 逻辑-变量 动作族)","Mutate variable values (legacy logic_variable_* family)","変数値を直接変更(旧 logic_variable_* 系)"),kind:"static",groupKey:"value",methods:[qd({key:"setValue",name:xd("设置值","Set Value","値を設定"),params:[e(),Jd({key:"value",name:xd("新值","Value","新しい値"),desc:xd("按变量类型解释(string/number/boolean/color/css_color)","Interpreted by variable type","変数型に従って解釈"),type:"any"})],returns:zd({type:"void"}),pure:!1,legacyActionType:"logic_variable_modify"}),qd({key:"numberAdd",name:xd("增加数值","Add Number","数値を加算"),params:[e(),Jd({key:"value",name:xd("增量","Amount","増分"),type:"number"})],returns:zd({type:"void"}),pure:!1,legacyActionType:"logic_variable_number_add"}),qd({key:"numberSubtract",name:xd("减少数值","Subtract Number","数値を減算"),params:[e(),Jd({key:"value",name:xd("减量","Amount","減分"),type:"number"})],returns:zd({type:"void"}),pure:!1,legacyActionType:"logic_variable_number_subtract"}),qd({key:"stringAppend",name:xd("追加文本","Append String","文字列を追加"),params:[e(),Jd({key:"content",name:xd("追加内容","Content","追加内容"),type:"string"})],returns:zd({type:"void"}),pure:!1,legacyActionType:"logic_variable_string_append"}),qd({key:"stringTrimEnd",name:xd("截去末尾","Trim End","末尾を切り取る"),desc:xd("从字符串变量末尾删掉指定长度的字符","Remove N characters from the end of the string variable","文字列変数の末尾からN文字削除"),params:[e(),Jd({key:"length",name:xd("删除长度","Length","削除する長さ"),type:"number",optional:!0,defaultValue:1})],returns:zd({type:"void"}),pure:!1,legacyActionType:"logic_variable_string_trim_end"}),qd({key:"stringAdvanced",name:xd("高级处理文本","Advanced String Process","文字列を高度に処理"),desc:xd("用 JS 表达式加工后写回变量(表达式里可用 $变量名 / _场景.$名 等引用,须返回字符串)","Process via JS expression and write back (must return a string)","JS式で加工して書き戻す(文字列を返す式)"),params:[e(),Jd({key:"expression",name:xd("JS表达式","JS Expression","JS式"),type:"string"})],returns:zd({type:"void"}),pure:!1,legacyActionType:"logic_variable_string_advanced"}),qd({key:"booleanToggle",name:xd("切换布尔值","Toggle Boolean","真偽値を反転"),params:[e()],returns:zd({type:"void"}),pure:!1,legacyActionType:"logic_variable_boolean_toggle"})]})}function um(){return[em({classKey:"String",name:xd("字符串","String","文字列"),desc:xd("字符串处理工具(全部为无副作用查询,可进条件/值槽)","String utilities (all pure, usable in condition/value slots)","文字列処理ユーティリティ(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[qd({key:"concat",name:xd("拼接文本","Concat","テキストを連結"),desc:xd("把多段文本按顺序拼成一段(schema 无变参,2 必填 + 3 可选槽;更多段用嵌套拼接)","Concatenate text segments in order","複数のテキストを順に連結する"),params:[Jd({key:"a",name:xd("第一段","Segment A","第1セグメント"),type:"string"}),Jd({key:"b",name:xd("第二段","Segment B","第2セグメント"),type:"string"}),Jd({key:"c",name:xd("第三段","Segment C","第3セグメント"),type:"string",optional:!0}),Jd({key:"d",name:xd("第四段","Segment D","第4セグメント"),type:"string",optional:!0}),Jd({key:"e",name:xd("第五段","Segment E","第5セグメント"),type:"string",optional:!0})],returns:zd({type:"string"}),pure:!0}),qd({key:"length",name:xd("取长度","Get Length","長さを取得"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"})],returns:zd({type:"number"}),pure:!0}),qd({key:"substring",name:xd("截取子串","Substring","部分文字列を取得"),desc:xd("截取 [起, 止) 区间的子串;序号从 1 开始,止序号省略截到末尾","Substring in range [start, end); 1-based index","[開始, 終了) 範囲の部分文字列(1始まり)"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"start",name:xd("起始序号","Start Index","開始位置"),type:"number"}),Jd({key:"end",name:xd("结束序号","End Index","終了位置"),type:"number",optional:!0})],returns:zd({type:"string"}),pure:!0}),qd({key:"replace",name:xd("替换内容","Replace","内容を置換"),desc:xd("把文本中出现的全部「旧内容」替换成「新内容」","Replace all occurrences","出現するすべての旧内容を新内容に置換"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"search",name:xd("旧内容","Search","旧内容"),type:"string"}),Jd({key:"replacement",name:xd("新内容","Replacement","新内容"),type:"string"})],returns:zd({type:"string"}),pure:!0}),qd({key:"contains",name:xd("判断包含","Contains","含むか判定"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"search",name:xd("子串","Search","部分文字列"),type:"string"})],returns:zd({type:"boolean"}),pure:!0}),qd({key:"startsWith",name:xd("判断开头","Starts With","先頭一致を判定"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"search",name:xd("开头子串","Prefix","先頭の部分文字列"),type:"string"})],returns:zd({type:"boolean"}),pure:!0}),qd({key:"endsWith",name:xd("判断结尾","Ends With","末尾一致を判定"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"search",name:xd("结尾子串","Suffix","末尾の部分文字列"),type:"string"})],returns:zd({type:"boolean"}),pure:!0}),qd({key:"split",name:xd("分割文本","Split","テキストを分割"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"separator",name:xd("分隔符","Separator","区切り文字"),type:"string"})],returns:zd({type:"list",listElementType:"string"}),pure:!0}),qd({key:"toUpperCase",name:xd("转大写","To Upper Case","大文字に変換"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"})],returns:zd({type:"string"}),pure:!0}),qd({key:"toLowerCase",name:xd("转小写","To Lower Case","小文字に変換"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"})],returns:zd({type:"string"}),pure:!0}),qd({key:"trim",name:xd("去空格","Trim","空白を除去"),desc:xd("去掉文本首尾的空白字符","Remove leading/trailing whitespace","先頭と末尾の空白を除去"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"})],returns:zd({type:"string"}),pure:!0}),qd({key:"format",name:xd("格式化文本","Format","テキストを書式化"),desc:xd("模板里可写 $变量名 / _场景.$名 等占位符,按作用域链替换后返回(只读替换,无副作用)","Template with $variable placeholders resolved via scope chain","テンプレート内の $変数 プレースホルダをスコープチェーンで解決"),params:[Jd({key:"template",name:xd("模板","Template","テンプレート"),type:"string"})],returns:zd({type:"string"}),pure:!0}),qd({key:"toNumber",name:xd("转数字","To Number","数値に変換"),desc:xd("文本解析为数字;解析失败返回 0","Parse text as number; 0 on failure","数値へ変換(失敗時は 0)"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"})],returns:zd({type:"number"}),pure:!0}),qd({key:"repeat",name:xd("重复文本","Repeat","テキストを繰り返す"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"count",name:xd("次数","Count","回数"),type:"number"})],returns:zd({type:"string"}),pure:!0}),qd({key:"pad",name:xd("补齐长度","Pad","埋めて長さを揃える"),desc:xd("不足目标长度时用填充串补齐(默认补在开头,常用于数字补零)","Pad to target length (default at start, e.g. zero-padding)","目標の長さまで埋める(既定は先頭、ゼロ埋め等)"),params:[Jd({key:"value",name:xd("文本","Text","テキスト"),type:"string"}),Jd({key:"targetLength",name:xd("目标长度","Target Length","目標の長さ"),type:"number"}),Jd({key:"fill",name:xd("填充串","Fill","埋める文字"),type:"string",optional:!0,defaultValue:" "}),Jd({key:"direction",name:xd("补齐方向","Direction","埋める方向"),type:"enum",enumOptions:[$d("start",xd("开头","Start","先頭")),$d("end",xd("结尾","End","末尾"))],optional:!0,defaultValue:"start"})],returns:zd({type:"string"}),pure:!0})]}),em({classKey:"Math",name:xd("数学","Math","数学"),desc:xd("数学运算工具(全部为无副作用查询)","Math utilities (all pure)","数学演算ユーティリティ(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[qd({key:"add",name:xd("相加","Add","加算"),params:[Jd({key:"a",name:xd("数A","A","数A"),type:"number"}),Jd({key:"b",name:xd("数B","B","数B"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"subtract",name:xd("相减","Subtract","減算"),params:[Jd({key:"a",name:xd("被减数","A","被減数"),type:"number"}),Jd({key:"b",name:xd("减数","B","減数"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"multiply",name:xd("相乘","Multiply","乗算"),params:[Jd({key:"a",name:xd("数A","A","数A"),type:"number"}),Jd({key:"b",name:xd("数B","B","数B"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"divide",name:xd("相除","Divide","除算"),desc:xd("除数为 0 时返回 0 并记日志(v1 无错误处理,plan §1.43)","Returns 0 and logs when dividing by zero","0除算時は0を返しログ記録"),params:[Jd({key:"a",name:xd("被除数","A","被除数"),type:"number"}),Jd({key:"b",name:xd("除数","B","除数"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"floor",name:xd("向下取整","Floor","切り捨て"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"ceil",name:xd("向上取整","Ceil","切り上げ"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"round",name:xd("四舍五入","Round","四捨五入"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"abs",name:xd("取绝对值","Absolute","絶対値を取得"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"max",name:xd("取最大值","Max","最大値を取得"),params:[Jd({key:"a",name:xd("数A","A","数A"),type:"number"}),Jd({key:"b",name:xd("数B","B","数B"),type:"number"}),Jd({key:"c",name:xd("数C","C","数C"),type:"number",optional:!0}),Jd({key:"d",name:xd("数D","D","数D"),type:"number",optional:!0})],returns:zd({type:"number"}),pure:!0}),qd({key:"min",name:xd("取最小值","Min","最小値を取得"),params:[Jd({key:"a",name:xd("数A","A","数A"),type:"number"}),Jd({key:"b",name:xd("数B","B","数B"),type:"number"}),Jd({key:"c",name:xd("数C","C","数C"),type:"number",optional:!0}),Jd({key:"d",name:xd("数D","D","数D"),type:"number",optional:!0})],returns:zd({type:"number"}),pure:!0}),qd({key:"clamp",name:xd("夹紧范围","Clamp","範囲内に制限"),desc:xd("把数值限制在 [下界, 上界] 内","Clamp value into [min, max]","値を [下限, 上限] に制限"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"}),Jd({key:"min",name:xd("下界","Min","下限"),type:"number"}),Jd({key:"max",name:xd("上界","Max","上限"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"pow",name:xd("求幂","Power","べき乗"),params:[Jd({key:"base",name:xd("底数","Base","底"),type:"number"}),Jd({key:"exponent",name:xd("指数","Exponent","指数"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"sqrt",name:xd("开平方","Square Root","平方根"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"mod",name:xd("取余数","Modulo","剰余を取得"),params:[Jd({key:"a",name:xd("被除数","A","被除数"),type:"number"}),Jd({key:"b",name:xd("除数","B","除数"),type:"number"})],returns:zd({type:"number"}),pure:!0}),qd({key:"toFixed",name:xd("转定精度文本","To Fixed","固定小数点文字列に変換"),desc:xd('数值按指定小数位数转成文本(如 3.14159 → "3.14")',"Format number with fixed decimal places","指定した小数点以下桁数の文字列へ変換"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"}),Jd({key:"digits",name:xd("小数位数","Digits","小数点以下桁数"),type:"number"})],returns:zd({type:"string"}),pure:!0}),qd({key:"inRange",name:xd("判断范围内","In Range","範囲内か判定"),desc:xd("数值是否在 [下界, 上界] 闭区间内","Whether value is within [min, max]","値が [下限, 上限] 内かどうか"),params:[Jd({key:"value",name:xd("数值","Value","数値"),type:"number"}),Jd({key:"min",name:xd("下界","Min","下限"),type:"number"}),Jd({key:"max",name:xd("上界","Max","上限"),type:"number"})],returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"number_between"})]}),em({classKey:"Random",name:xd("随机","Random","ランダム"),desc:xd("随机值生成(非确定,不可进条件槽;结果用 returnTo 落变量)","Random value generators (non-deterministic, not usable in condition slots)","ランダム値の生成(非決定的、条件スロット不可)"),kind:"static",groupKey:"value",methods:[qd({key:"int",name:xd("取随机整数","Random Integer","ランダム整数を生成"),desc:xd("在 [下界, 上界] 整数闭区间内随机取一个","Random integer in [min, max]","[下限, 上限] の整数を1つランダムに取得"),params:[Jd({key:"min",name:xd("下界","Min","下限"),type:"number"}),Jd({key:"max",name:xd("上界","Max","上限"),type:"number"})],returns:zd({type:"number"}),pure:!1,legacyActionType:"logic_random_number"}),qd({key:"float",name:xd("取随机小数","Random Float","ランダム小数を生成"),desc:xd("在 [下界, 上界) 内随机取一个小数;缺省 [0, 1)","Random float in [min, max); defaults to [0, 1)","[下限, 上限) の小数を1つランダムに取得(既定 [0,1))"),params:[Jd({key:"min",name:xd("下界","Min","下限"),type:"number",optional:!0,defaultValue:0}),Jd({key:"max",name:xd("上界","Max","上限"),type:"number",optional:!0,defaultValue:1})],returns:zd({type:"number"}),pure:!1}),qd({key:"boolean",name:xd("取随机布尔","Random Boolean","ランダム真偽値を生成"),params:[],returns:zd({type:"boolean"}),pure:!1}),qd({key:"pickFromList",name:xd("从列表随机选一","Pick From List","リストからランダムに1つ選ぶ"),desc:xd("从列表中随机取一个元素;空列表返回空值并记日志","Pick one random element from the list","リストから要素を1つランダムに選ぶ"),params:[Jd({key:"list",name:xd("列表","List","リスト"),type:"list"})],returns:zd({type:"any",desc:xd("随机选中的元素(类型=列表元素类型)","The picked element (typed by list element type)","選ばれた要素(リスト要素型)")}),pure:!1}),qd({key:"pickFromRecommendOptions",name:xd("从推荐项随机选一","Pick From Recommend Options","推奨候補からランダムに1つ選ぶ"),desc:xd("从目标变量自身的「推荐选项」里随机选一个值返回;推荐选项为空时返回空值并记日志","Pick one value from the variable's recommend options","変数の推奨候補から値を1つランダムに選ぶ"),params:[Jd({key:"source",name:xd("来源变量","Source Variable","参照する変数"),desc:xd("变量目标(scope+key),编辑器用变量选择器;读取该变量的推荐选项","Variable target (scope+key); editor uses variable selector","変数ターゲット(scope+key)"),type:"any"})],returns:zd({type:"any",desc:xd("选中的推荐项值(类型随变量类型)","The picked option value (typed by variable type)","選ばれた候補値(変数型に従う)")}),pure:!1,legacyActionType:"logic_random_pick_from_recommend_options"}),qd({key:"color",name:xd("取随机颜色","Random Color","ランダム色を生成"),desc:xd("按调色板风格随机生成一个颜色(rgba)","Random color by palette style","パレットに従いランダムな色を生成"),params:[Jd({key:"palette",name:xd("调色板","Palette","パレット"),type:"enum",enumOptions:[$d("random",xd("任意色","Any","任意の色")),$d("cool",xd("冷色","Cool","寒色")),$d("warm",xd("暖色","Warm","暖色")),$d("pastel",xd("柔和色","Pastel","パステル")),$d("vivid",xd("明艳色","Vivid","ビビッド")),$d("gray",xd("灰阶","Gray","グレースケール"))],optional:!0,defaultValue:"random"}),Jd({key:"randomAlpha",name:xd("随机透明度","Random Alpha","透明度もランダム"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"fixedAlpha",name:xd("固定透明度","Fixed Alpha","固定透明度"),desc:xd("随机透明度=否 时使用(0~1)","Used when randomAlpha=false (0~1)","randomAlpha=false 時に使用(0~1)"),type:"number",optional:!0,defaultValue:1})],returns:zd({type:"color"}),pure:!1,legacyActionType:"logic_random_color"})]}),em({classKey:"Boolean",name:xd("布尔","Boolean","真偽値"),desc:xd("布尔逻辑运算(全部为无副作用查询)","Boolean logic (all pure)","論理演算(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[qd({key:"not",name:xd("取反","Not","否定"),params:[Jd({key:"value",name:xd("布尔值","Value","真偽値"),type:"boolean"})],returns:zd({type:"boolean"}),pure:!0}),qd({key:"and",name:xd("逻辑与","And","論理積"),desc:xd("全部为真才为真(schema 无变参,2 必填 + 2 可选槽)","True only if all are true","すべて真のとき真"),params:[Jd({key:"a",name:xd("条件A","A","条件A"),type:"boolean"}),Jd({key:"b",name:xd("条件B","B","条件B"),type:"boolean"}),Jd({key:"c",name:xd("条件C","C","条件C"),type:"boolean",optional:!0}),Jd({key:"d",name:xd("条件D","D","条件D"),type:"boolean",optional:!0})],returns:zd({type:"boolean"}),pure:!0}),qd({key:"or",name:xd("逻辑或","Or","論理和"),desc:xd("任一为真即为真(schema 无变参,2 必填 + 2 可选槽)","True if any is true","いずれか真のとき真"),params:[Jd({key:"a",name:xd("条件A","A","条件A"),type:"boolean"}),Jd({key:"b",name:xd("条件B","B","条件B"),type:"boolean"}),Jd({key:"c",name:xd("条件C","C","条件C"),type:"boolean",optional:!0}),Jd({key:"d",name:xd("条件D","D","条件D"),type:"boolean",optional:!0})],returns:zd({type:"boolean"}),pure:!0})]}),pm(),_m(),em({classKey:"Color",name:xd("颜色","Color","色"),desc:xd("颜色构造、混合与转换","Color construction, blending and conversion","色の作成・合成・変換"),kind:"static",groupKey:"value",methods:[qd({key:"rgba",name:xd("构造颜色","RGBA","色を作成"),desc:xd("用 红/绿/蓝(0~255) 与 透明度(0~1) 构造颜色","Build a color from R/G/B (0~255) and alpha (0~1)","RGB(0~255)とアルファ(0~1)から色を作成"),params:[Jd({key:"r",name:xd("红","Red","赤"),type:"number"}),Jd({key:"g",name:xd("绿","Green","緑"),type:"number"}),Jd({key:"b",name:xd("蓝","Blue","青"),type:"number"}),Jd({key:"a",name:xd("透明度","Alpha","透明度"),type:"number",optional:!0,defaultValue:1})],returns:zd({type:"color"}),pure:!0}),qd({key:"random",name:xd("取随机颜色","Random Color","ランダム色を生成"),desc:xd("同 随机.取随机颜色(非确定,不可进条件槽);legacy 映射挂在 Random 侧","Same as Random.color (non-deterministic)","Random.color と同じ(非決定的)"),params:[Jd({key:"palette",name:xd("调色板","Palette","パレット"),type:"enum",enumOptions:[$d("random",xd("任意色","Any","任意の色")),$d("cool",xd("冷色","Cool","寒色")),$d("warm",xd("暖色","Warm","暖色")),$d("pastel",xd("柔和色","Pastel","パステル")),$d("vivid",xd("明艳色","Vivid","ビビッド")),$d("gray",xd("灰阶","Gray","グレースケール"))],optional:!0,defaultValue:"random"})],returns:zd({type:"color"}),pure:!1}),qd({key:"mix",name:xd("混合颜色","Mix","色を混合"),desc:xd("按比例混合两色(比例 0=全为颜色A,1=全为颜色B)","Blend two colors by ratio (0=A, 1=B)","2色を比率で混合(0=A、1=B)"),params:[Jd({key:"a",name:xd("颜色A","Color A","色A"),type:"color"}),Jd({key:"b",name:xd("颜色B","Color B","色B"),type:"color"}),Jd({key:"ratio",name:xd("比例","Ratio","比率"),type:"number",optional:!0,defaultValue:.5})],returns:zd({type:"color"}),pure:!0}),qd({key:"withAlpha",name:xd("调透明度","With Alpha","透明度を変更"),desc:xd("返回改了透明度的新颜色(0~1;不改动入参)","New color with alpha changed (0~1)","透明度を変えた新しい色を返す"),params:[Jd({key:"color",name:xd("颜色","Color","色"),type:"color"}),Jd({key:"alpha",name:xd("透明度","Alpha","透明度"),type:"number"})],returns:zd({type:"color"}),pure:!0}),qd({key:"toCss",name:xd("转CSS颜色","To CSS","CSS色に変換"),desc:xd("颜色对象转 CSS 颜色字符串(如 rgba(255,0,0,1))","Convert color object to CSS color string","色オブジェクトをCSS色文字列へ変換"),params:[Jd({key:"color",name:xd("颜色","Color","色"),type:"color"})],returns:zd({type:"css_color"}),pure:!0})]}),em({classKey:"Json",name:xd("JSON","JSON","JSON"),desc:xd("JSON 解析与序列化(全部为无副作用查询)","JSON parse/stringify (all pure)","JSONの解析と文字列化(すべて副作用なし)"),kind:"static",groupKey:"value",methods:[qd({key:"parse",name:xd("解析文本","Parse","テキストを解析"),desc:xd("JSON 文本解析为值;解析失败返回空值并记日志(v1 无错误处理,plan §1.43)","Parse JSON text; empty value and log on failure","JSONテキストを値に解析(失敗時は空値)"),params:[Jd({key:"text",name:xd("JSON文本","JSON Text","JSONテキスト"),type:"string"})],returns:zd({type:"any"}),pure:!0}),qd({key:"stringify",name:xd("序列化为文本","Stringify","文字列化"),params:[Jd({key:"value",name:xd("值","Value","値"),type:"any"})],returns:zd({type:"string"}),pure:!0}),qd({key:"getField",name:xd("取字段","Get Field","フィールドを取得"),desc:xd("按路径取字段(如 a.b.c 或 items.0.name);不存在返回空值","Get field by path (e.g. a.b.c / items.0.name)","パスでフィールドを取得(例 a.b.c)"),params:[Jd({key:"value",name:xd("值","Value","値"),type:"any"}),Jd({key:"path",name:xd("路径","Path","パス"),type:"string"})],returns:zd({type:"any"}),pure:!0})]}),ym()]}function gm(){return[em({classKey:"Camera",name:xd("摄像机","Camera","カメラ"),desc:xd("虚拟相机控制(移动 / 运镜)。仅 VR:AR 的相机是用户手机物理摄像头","Virtual camera control (move / dolly). VR only","仮想カメラ制御(移動 / ドリー)。VR 専用"),kind:"static",groupKey:"system",methods:[qd({key:"moveTo",name:xd("移动到","Move To","指定位置へ移動"),desc:xd("把摄像机移动到目的地(扫描点位 / 视角 / 组件 / 视角链接),可选过渡方式与时长","Move camera to destination with transition","目的地へカメラを移動(トランジション指定可)"),params:[...Em(),Jd({key:"transitionType",name:xd("过渡方式","Transition Type","トランジション方式"),type:"enum",enumOptions:[$d("fly",xd("飞行动画","Fly","飛行アニメーション")),$d("instant",xd("瞬间移动","Instant","瞬間移動")),$d("fade",xd("淡入淡出","Fade","フェード"))],defaultValue:"fly"}),Jd({key:"transitionTime",name:xd("过渡时间(毫秒)","Transition Time (ms)","トランジション時間(ms)"),type:"number",optional:!0,defaultValue:1e3})],platform:"vr_only",supportsAsync:!0,legacyActionType:"camera_move_to"}),qd({key:"dollyMove",name:xd("运镜移动","Dolly Move","ドリー移動"),desc:xd("沿指定运镜路径的点位依次移动摄像机","Move camera along a dolly path","ドリーパスに沿ってカメラを移動"),params:[Jd({key:"dollyPathId",name:xd("运镜路径","Dolly Path","ドリーパス"),desc:xd("运镜路径 id(vrContentData.cameraDollyPathList 内)","Dolly path id in cameraDollyPathList","cameraDollyPathList 内のドリーパス id"),type:"string"})],platform:"vr_only",supportsAsync:!0,legacyActionType:"camera_dolly_move"}),qd({key:"dollyStop",name:xd("停止运镜","Stop Dolly","ドリー停止"),platform:"vr_only",legacyActionType:"camera_dolly_stop"})]}),em({classKey:"Navigation",name:xd("导航","Navigation","ナビゲーション"),kind:"static",groupKey:"system",methods:[qd({key:"start",name:xd("开始导航","Start Navigation","ナビゲーション開始"),desc:xd("发起到目的地的导航;同步版等待导航结束","Start navigating to a destination","目的地へのナビゲーションを開始"),params:[...Em(),Jd({key:"navigationMode",name:xd("导航模式","Navigation Mode","ナビゲーションモード"),type:"enum",enumOptions:[$d("auto",xd("自动导航","Auto","自動")),$d("manual",xd("手动导航","Manual","手動")),$d("manual_simple",xd("手动精简导航","Manual Simple","手動簡易"))],defaultValue:"manual"}),Jd({key:"autoRecalculate",name:xd("偏离自动重算","Auto Recalculate","自動再計算"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"autoRecalculateDistanceThreshold",name:xd("重算偏离阈值(米)","Recalculate Threshold (m)","再計算距離しきい値(m)"),type:"number",optional:!0,defaultValue:.5}),Jd({key:"pathColor",name:xd("路径颜色","Path Color","経路の色"),desc:xd("导航路径颜色,缺省 #03b203","Navigation path color, defaults to #03b203","経路の色。デフォルト #03b203"),type:"color",optional:!0})],supportsAsync:!0,legacyActionType:"navigation_start"}),qd({key:"stop",name:xd("停止导航","Stop Navigation","ナビゲーション停止"),legacyActionType:"navigation_stop"}),qd({key:"isNavigating",name:xd("是否在导航","Is Navigating","ナビゲーション中か"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"navigation_running"})]}),em({classKey:"Broadcast",name:xd("广播","Broadcast","ブロードキャスト"),kind:"static",groupKey:"system",methods:[qd({key:"send",name:xd("发送广播","Send Broadcast","ブロードキャスト送信"),desc:xd("向指定频道发送广播;订阅该频道的监听器 / 广播触发器都会收到","Send a message to a broadcast channel","指定チャンネルへブロードキャストを送信"),params:[Jd({key:"channelId",name:xd("广播频道","Channel","チャンネル"),desc:xd("目标广播频道 id(选择器显示频道名,存储 id)","Target broadcast channel id","対象ブロードキャストチャンネル id"),type:"string"}),Jd({key:"payloadValueList",name:xd("载荷取值","Payload Values","ペイロード値"),desc:xd("载荷取值列表,每项 {fieldKey, value};某字段未填时运行时回退该字段默认值","Payload value list ({fieldKey, value}[]); missing fields fall back to channel defaults","ペイロード値リスト({fieldKey, value}[])"),type:"any",optional:!0})],legacyActionType:"send_broadcast"})]}),em({classKey:"Thread",name:xd("后台线程","Thread","バックグラウンドスレッド"),kind:"static",groupKey:"system",methodGroups:[Zd("dynamic",xd("动态线程","Dynamic","動的スレッド")),Zd("predefined",xd("预定义线程","Predefined","定義済みスレッド"))],methods:[qd({key:"start",name:xd("启动","Start","起動"),desc:xd("动态启动一个循环后台线程,按间隔反复执行闭包,返回线程句柄(可存变量供暂停/停止)","Start a dynamic looping thread; returns a thread handle","動的ループスレッドを起動しハンドルを返す"),params:[Jd({key:"intervalMs",name:xd("循环间隔(毫秒)","Interval (ms)","ループ間隔(ms)"),type:"number",defaultValue:1e3}),Jd({key:"body",name:xd("循环体","Loop Body","ループ本体"),type:"closure",closurePayloadFields:[Jd({key:"loopIndex",name:xd("循环序号","Loop Index","ループ回数"),desc:xd("当前是第几次循环(0 起)","Current loop iteration (0-based)","現在のループ回数(0 起点)"),type:"number"})]})],returns:zd({type:"thread",desc:xd("线程句柄","Thread handle","スレッドハンドル")}),groupKey:"dynamic"}),qd({key:"pause",name:xd("暂停","Pause","一時停止"),params:[Jd({key:"thread",name:xd("线程句柄","Thread Handle","スレッドハンドル"),type:"thread"})],groupKey:"dynamic"}),qd({key:"stop",name:xd("停止","Stop","停止"),params:[Jd({key:"thread",name:xd("线程句柄","Thread Handle","スレッドハンドル"),type:"thread"})],groupKey:"dynamic"}),qd({key:"isRunning",name:xd("正在运行","Is Running","実行中か"),desc:xd("查询线程是否处于 running 状态","Whether the thread status is running","スレッドが running 状態かどうか"),params:[Jd({key:"thread",name:xd("线程句柄","Thread Handle","スレッドハンドル"),type:"thread"})],returns:zd({type:"boolean"}),pure:!0,groupKey:"dynamic",legacyConditionFunc:"background_thread_status_is"}),qd({key:"startPredefined",name:xd("启动预定义","Start Predefined","定義済みスレッドを起動"),desc:xd("启动 vrContentData.backgroundThreadList 中预定义的后台线程","Start a predefined background thread by id","定義済みバックグラウンドスレッドを起動"),params:[Jd({key:"threadId",name:xd("后台线程","Thread","スレッド"),desc:xd("预定义后台线程 id(vrContentData.backgroundThreadList 内)","Predefined thread id in backgroundThreadList","backgroundThreadList 内のスレッド id"),type:"string"})],groupKey:"predefined",legacyActionType:"background_thread_start"}),qd({key:"pausePredefined",name:xd("暂停预定义","Pause Predefined","定義済みスレッドを一時停止"),params:[Jd({key:"threadId",name:xd("后台线程","Thread","スレッド"),type:"string"})],groupKey:"predefined",legacyActionType:"background_thread_pause"}),qd({key:"stopPredefined",name:xd("停止预定义","Stop Predefined","定義済みスレッドを停止"),params:[Jd({key:"threadId",name:xd("后台线程","Thread","スレッド"),type:"string"})],groupKey:"predefined",legacyActionType:"background_thread_stop"})]}),em({classKey:"Timer",name:xd("定时器","Timer","タイマー"),kind:"static",groupKey:"system",methods:[qd({key:"delay",name:xd("延时执行","Delay","遅延実行"),desc:xd("延时指定毫秒后执行一次闭包,返回定时器句柄(可取消)","Run the closure once after a delay; returns a timer handle","指定 ms 後にクロージャを 1 回実行"),params:[Jd({key:"delayMs",name:xd("延时(毫秒)","Delay (ms)","遅延(ms)"),type:"number",defaultValue:1e3}),Jd({key:"callback",name:xd("回调","Callback","コールバック"),type:"closure"})],returns:zd({type:"timer",desc:xd("定时器句柄","Timer handle","タイマーハンドル")})}),qd({key:"loop",name:xd("循环执行","Loop","繰り返し実行"),desc:xd("按间隔反复执行闭包,返回定时器句柄(可取消)","Run the closure repeatedly at an interval; returns a timer handle","一定間隔でクロージャを繰り返し実行"),params:[Jd({key:"intervalMs",name:xd("间隔(毫秒)","Interval (ms)","間隔(ms)"),type:"number",defaultValue:1e3}),Jd({key:"callback",name:xd("回调","Callback","コールバック"),type:"closure",closurePayloadFields:[Jd({key:"loopIndex",name:xd("循环序号","Loop Index","ループ回数"),desc:xd("当前是第几次触发(0 起)","Current tick (0-based)","現在の実行回数(0 起点)"),type:"number"})]})],returns:zd({type:"timer",desc:xd("定时器句柄","Timer handle","タイマーハンドル")})}),qd({key:"cancel",name:xd("取消","Cancel","キャンセル"),params:[Jd({key:"timer",name:xd("定时器句柄","Timer Handle","タイマーハンドル"),type:"timer"})]})]}),em({classKey:"Audio",name:xd("音频中心","Audio","オーディオセンター"),kind:"static",groupKey:"system",methods:[qd({key:"playList",name:xd("播放列表","Play List","リストを再生"),desc:xd("播放指定音频列表(可同时指定列表中的某个音频)","Play an audio list (optionally a specific audio in it)","指定オーディオリストを再生"),params:[Jd({key:"audioListId",name:xd("音频列表","Audio List","オーディオリスト"),type:"string"}),Jd({key:"audioId",name:xd("音频","Audio","オーディオ"),desc:xd("可选:指定列表中的某个音频 id","Optional: a specific audio id in the list","任意:リスト内の特定オーディオ id"),type:"string",optional:!0}),Jd({key:"interruptIfPlaying",name:xd("打断当前播放","Interrupt If Playing","再生中なら中断"),desc:xd("当前音频中心正在播放时,是否打断并从头播放","Interrupt current playback and restart","再生中の場合に中断して最初から再生"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"audio_center_play_list"}),qd({key:"pause",name:xd("暂停","Pause","一時停止"),legacyActionType:"audio_center_pause"}),qd({key:"setVolume",name:xd("设置音量","Set Volume","音量を設定"),params:[Jd({key:"volume",name:xd("音量(0-100)","Volume (0-100)","音量(0-100)"),type:"number",defaultValue:100})],legacyActionType:"audio_center_set_volume"})]}),Tm(),Am(),Cm(),em({classKey:"System",name:xd("系统","System","システム"),kind:"static",groupKey:"system",methods:[qd({key:"wait",name:xd("等待","Wait","待機"),desc:xd("阻塞等待指定毫秒后再继续执行后续动作","Block for the given milliseconds before continuing","指定 ms だけブロックして待機"),params:[Jd({key:"duration",name:xd("等待时长(毫秒)","Duration (ms)","待機時間(ms)"),type:"number",defaultValue:1e3})],legacyActionType:"system_common_wait"}),qd({key:"openWebpage",name:xd("打开网页","Open Webpage","ウェブページを開く"),desc:xd("打开网页(PC: 对话框/浮动抽屉/挤压抽屉;手机: 底部 sheet);同步版等待网页面板关闭","Open a webpage (dialog / drawer / bottom sheet)","ウェブページを開く(ダイアログ/ドロワー/ボトムシート)"),params:[Jd({key:"url",name:xd("网址","URL","URL"),desc:xd("多语言 URL(按当前显示语言 pick)","Multi-language URL (picked by current language)","多言語 URL(現在の言語で選択)"),type:"multilang_str"}),Jd({key:"pcMode",name:xd("PC 端形态","PC Mode","PC 表示形態"),type:"enum",enumOptions:[$d("dialog",xd("居中对话框","Dialog","ダイアログ")),$d("floating-drawer",xd("浮动抽屉","Floating Drawer","フローティングドロワー")),$d("pushed-drawer",xd("挤压式抽屉","Pushed Drawer","プッシュドロワー"))],defaultValue:"dialog"}),Jd({key:"width",name:xd("宽度(px)","Width (px)","幅(px)"),type:"number",optional:!0,defaultValue:720}),Jd({key:"height",name:xd("高度(px)","Height (px)","高さ(px)"),desc:xd("仅 dialog 形态读取;drawer 不读","Dialog only; drawers ignore it","ダイアログのみ有効"),type:"number",optional:!0,defaultValue:480}),Jd({key:"mobileHeight",name:xd("手机端高度(vh)","Mobile Height (vh)","モバイル高さ(vh)"),desc:xd("手机端底部 sheet 占屏高度 0~95","Bottom sheet height 0~95vh on mobile","ボトムシート高さ 0~95vh"),type:"number",optional:!0,defaultValue:70}),Jd({key:"title",name:xd("顶栏标题","Title","タイトル"),type:"multilang_str",optional:!0}),Jd({key:"showTitleBar",name:xd("显示标题栏","Show Title Bar","タイトルバー表示"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"closeOnMaskClick",name:xd("点遮罩关闭","Close On Mask Click","マスククリックで閉じる"),desc:xd("仅 dialog 形态生效","Dialog mode only","ダイアログのみ有効"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"forceExternalBrowser",name:xd("强制外部浏览器","Force External Browser","外部ブラウザ強制"),desc:xd("兜底:X-Frame-Options 拒绝嵌入时直接跳系统浏览器","Fallback: open in system browser when iframe embedding is refused","iframe 拒否時にシステムブラウザで開く"),type:"boolean",optional:!0,defaultValue:!1})],supportsAsync:!0,legacyActionType:"system_open_webpage"}),qd({key:"changeUiSetting",name:xd("修改界面开关","Change UI Setting","UI設定を変更"),desc:xd("动态修改 VrPlayerUiSettings 中的某个 boolean 开关","Dynamically toggle a boolean field of VrPlayerUiSettings","VrPlayerUiSettings の boolean 項目を変更"),params:[Jd({key:"settingKey",name:xd("开关键","Setting Key","設定キー"),desc:xd("VrPlayerUiSettings 字段名(如 enabledShare、enabledHamburgerMenu)","Field name of VrPlayerUiSettings","VrPlayerUiSettings のフィールド名"),type:"string"}),Jd({key:"value",name:xd("开关值","Value","設定値"),type:"boolean",defaultValue:!0})],legacyActionType:"system_ui_settings_change"}),qd({key:"setInteractiveState",name:xd("设置可交互","Set Interactive","インタラクティブ状態を設定"),desc:xd("禁用/启用 VR 交互","Disable / enable VR interaction","VR インタラクションの有効/無効"),params:[Jd({key:"interactive",name:xd("是否可交互","Interactive","インタラクティブか"),type:"boolean",defaultValue:!0})],platform:"vr_only",legacyActionType:"system_set_interactive_state"})]}),em({classKey:"Screen",name:xd("屏幕","Screen","スクリーン"),desc:xd("画面级色彩空间控制(染色 / 亮度)。仅 VR:基于 CSS 合成层实现","Screen-level color space control (tint / brightness). VR only","画面レベルの色空間制御。VR 専用"),kind:"static",groupKey:"system",methods:[qd({key:"sceneTint",name:xd("场景染色","Scene Tint","シーンティント"),desc:xd("修改场景染色(CSS mix-blend-mode overlay);白色 = 取消染色恢复原画面","Tint the scene; white = reset","シーンをティント。白=解除"),params:[Jd({key:"color",name:xd("染色颜色","Tint Color","ティント色"),desc:xd("默认白 (255,255,255,1) = 取消染色","Defaults to white = untint","デフォルト白=解除"),type:"color"}),Jd({key:"animated",name:xd("动画过渡","Animated","アニメーション"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"durationMs",name:xd("过渡时长(毫秒)","Duration (ms)","遷移時間(ms)"),type:"number",optional:!0,defaultValue:800})],platform:"vr_only",legacyActionType:"system_color_space_scene_tint"}),qd({key:"setDisplayBrightness",name:xd("设置画面亮度","Set Display Brightness","画面輝度を設定"),desc:xd("修改整体画面亮度(CSS filter brightness)","Change overall display brightness","画面全体の輝度を変更"),params:[Jd({key:"brightness",name:xd("亮度(0.2-2.0)","Brightness (0.2-2.0)","輝度(0.2-2.0)"),desc:xd("1.0 = 原始亮度","1.0 = original brightness","1.0=元の輝度"),type:"number",defaultValue:1}),Jd({key:"animated",name:xd("动画过渡","Animated","アニメーション"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"durationMs",name:xd("过渡时长(毫秒)","Duration (ms)","遷移時間(ms)"),type:"number",optional:!0,defaultValue:800})],platform:"vr_only",legacyActionType:"system_color_space_display_brightness"})]}),em({classKey:"Analytics",name:xd("统计","Analytics","統計"),kind:"static",groupKey:"system",methods:[qd({key:"hitEvent",name:xd("触发统计事件","Hit Analytics Event","統計イベントを送信"),params:[Jd({key:"analyticsEventDataKey",name:xd("统计事件","Event Key","イベントキー"),desc:xd("事件主键(必填)","Analytics event data key (required)","イベント主キー(必須)"),type:"string"}),Jd({key:"fieldBindings",name:xd("字段绑定","Field Bindings","フィールドバインディング"),desc:xd("字段绑定列表(对应事件 customFields,每项 {fieldKey, 值})","Field binding list matching the event customFields","イベント customFields に対応するバインディング"),type:"any",optional:!0})],legacyActionType:"hit_analytics_event"})]}),Sm(),hm(),em({classKey:"MonitorTab",name:xd("监控选项卡","Monitor Tab","モニタータブ"),kind:"static",groupKey:"system",methods:[qd({key:"switchActiveTab",name:xd("切换选项卡","Switch Active Tab","タブを切替"),params:[Jd({key:"tabId",name:xd("选项卡","Tab","タブ"),desc:xd("'map' 表示地图;或某个监控面板的 monitorId","'map' for the map tab, or a monitorId","'map'=マップ、または monitorId"),type:"string"})],legacyActionType:"monitor_switch_active_tab"})]}),em({classKey:"Sweep",name:xd("扫描点位","Sweep","スイープ"),desc:xd("扫描点位全局操作。仅 VR:AR 没有 sweep 虚拟点位概念","Global sweep operations. VR only","スイープ全体操作。VR 専用"),kind:"static",groupKey:"system",methods:[qd({key:"resetToDefault",name:xd("重置为默认","Reset To Default","デフォルトに戻す"),desc:xd("把所有扫描点位重置为默认启用状态","Reset all sweeps to their default enabled state","全スイープをデフォルト状態に戻す"),platform:"vr_only",legacyActionType:"sweep_reset_to_default"}),qd({key:"onlyEnableCurrent",name:xd("仅启用当前点位","Only Enable Current","現在位置のみ有効化"),desc:xd("仅启用当前所在点位,禁用其他所有点位","Enable only the current sweep, disable all others","現在のスイープのみ有効化"),platform:"vr_only",legacyActionType:"sweep_only_enable_current"})]}),em({classKey:"Platform",name:xd("平台","Platform","プラットフォーム"),kind:"static",groupKey:"system",methods:[qd({key:"current",name:xd("当前平台","Current Platform","現在のプラットフォーム"),desc:xd("返回 'VR' 或 'AR'","Returns 'VR' or 'AR'","'VR' か 'AR' を返す"),returns:zd({type:"string",desc:xd("'VR' | 'AR'","'VR' | 'AR'","'VR' | 'AR'")}),pure:!0})]}),em({classKey:"Module",name:xd("模块","Module","モジュール"),kind:"static",groupKey:"system",methods:[qd({key:"callFunction",name:xd("调用函数","Call Function","関数を呼び出す"),desc:xd("调用某场景内的公开函数或共享层公共函数;实参由所选函数签名动态生成(编辑器按 XrProgramFunction 参数表渲染)","Call a public function of a scene or a shared-layer common function; args follow the selected function signature","シーンの公開関数または共有層の共通関数を呼び出す"),params:[Jd({key:"functionId",name:xd("函数","Function","関数"),desc:xd("目标函数 id(XrProgramFunction)","Target function id (XrProgramFunction)","対象関数 id"),type:"string"}),Jd({key:"args",name:xd("实参","Arguments","実引数"),desc:xd("实参列表;编辑器按所选函数的参数签名动态生成表单","Argument list generated from the function signature","関数シグネチャに従って生成される実引数"),type:"any",optional:!0})],returns:zd({type:"any",desc:xd("函数返回值(类型随所选函数)","Function return value","関数の戻り値")})})]}),em({classKey:"Listener",name:xd("监听","Listener","リスナー"),kind:"static",groupKey:"system",methods:[qd({key:"remove",name:xd("移除监听器","Remove Listener","リスナーを解除"),desc:xd("按句柄移除一个动态添加的监听器(句柄来自 实体.添加监听器 的返回值)","Remove a dynamically added listener by handle","ハンドルで動的リスナーを解除"),params:[Jd({key:"listener",name:xd("监听器句柄","Listener Handle","リスナーハンドル"),type:"listener"})]})]}),em({classKey:"Information",name:xd("信息","Information","情報"),kind:"static",groupKey:"system",methods:[qd({key:"openLink",name:xd("打开外部链接","Open Link","外部リンクを開く"),params:[Jd({key:"url",name:xd("链接","URL","リンク"),type:"string"}),Jd({key:"isOpenWithExternal",name:xd("在外部打开","Open Externally","外部で開く"),desc:xd("true=跳外部浏览器;false=iframe 对话框内嵌打开","true = external browser; false = embedded iframe dialog","true=外部ブラウザ、false=iframe ダイアログ"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"information_link_open"}),qd({key:"closeLink",name:xd("关闭外部链接","Close Link","外部リンクを閉じる"),desc:xd("仅支持关闭以 iframe 对话框形式打开的外部链接","Only closes links opened as iframe dialogs","iframe ダイアログで開いたリンクのみ閉じられる"),legacyActionType:"information_link_close"})]}),em({classKey:"Flow",name:xd("流程","Flow","フロー"),kind:"static",groupKey:"system",methods:[qd({key:"enter",name:xd("进入流程","Enter Flow","フローに入る"),params:[Jd({key:"flowId",name:xd("流程","Flow","フロー"),desc:xd("要进入的 Flow id(vrContentData.vrFlowList 内)","Flow id to enter","入る Flow の id"),type:"string"}),Jd({key:"forceStopRunning",name:xd("强停当前流程","Force Stop Running","実行中フローを強制停止"),desc:xd("当有 flow 正在前台运行时:true=停止它,false=暂停它","true = stop the currently running flow, false = pause it","true=停止、false=一時停止"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"flow_enter"}),qd({key:"exit",name:xd("结束当前流程","Exit Current Flow","現在のフローを終了"),legacyActionType:"flow_exit"})]})]}function Em(){return[Jd({key:"destinationType",name:xd("目的地类型","Destination Type","目的地タイプ"),type:"enum",enumOptions:[$d("sweep",xd("扫描点位","Sweep","スイープ")),$d("vr_fov",xd("视角","View (FOV)","視点")),$d("component",xd("装修组件","Component","装飾コンポーネント")),$d("fov_link",xd("视角链接","FOV Link","視点リンク"))],defaultValue:"sweep"}),Jd({key:"sweepId",name:xd("扫描点位","Sweep","スイープ"),desc:xd("destinationType=sweep 时的目的地扫描点位 id","Destination sweep id when destinationType=sweep","destinationType=sweep 時の目的地スイープ id"),type:"string",optional:!0}),Jd({key:"vrFovId",name:xd("视角","View (FOV)","視点"),desc:xd("destinationType=vr_fov 时的视角 id","VrFov id when destinationType=vr_fov","destinationType=vr_fov 時の視点 id"),type:"string",optional:!0}),Jd({key:"componentId",name:xd("装修组件","Component","装飾コンポーネント"),desc:xd("destinationType=component 时的目的地装修组件","Destination component when destinationType=component","destinationType=component 時の目的地コンポーネント"),type:"entity_ref",refTypeKey:"component",optional:!0}),Jd({key:"fovLink",name:xd("视角链接","FOV Link","視点リンク"),desc:xd("destinationType=fov_link 时的链接串","Link string when destinationType=fov_link","destinationType=fov_link 時のリンク文字列"),type:"string",optional:!0}),Jd({key:"fovLinkSweepId",name:xd("视角链接所在扫描点位","FOV Link Sweep","視点リンクのスイープ"),type:"string",optional:!0}),Jd({key:"fovLinkCameraRotation",name:xd("视角链接相机旋转","FOV Link Camera Rotation","視点リンクのカメラ回転"),type:"vector2",optional:!0}),Jd({key:"fovLinkSnapshotSrc",name:xd("视角链接快照","FOV Link Snapshot","視点リンクのスナップショット"),desc:xd("编辑器生成的预览快照图地址(编辑期数据)","Editor-generated preview snapshot url (edit-time data)","エディタ生成のプレビュー画像 URL(編集期データ)"),type:"string",optional:!0})]}function Tm(){const e=()=>[Jd({key:"text",name:xd("文本","Text","テキスト"),desc:xd("要合成的多语言文本(按当前显示语言播报;模板支持 $variableKey 变量)","Multi-language text to synthesize ($variableKey templates supported)","合成する多言語テキスト($variableKey テンプレート対応)"),type:"multilang_str"}),Jd({key:"voiceId",name:xd("声音","Voice","ボイス"),desc:xd("ElevenLabs voice_id","ElevenLabs voice_id","ElevenLabs voice_id"),type:"string"}),Jd({key:"showSubtitle",name:xd("显示字幕","Show Subtitle","字幕を表示"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"languageCode",name:xd("语言代码","Language Code","言語コード"),type:"string",optional:!0}),Jd({key:"speed",name:xd("语速","Speed","話速"),type:"number",optional:!0,defaultValue:1}),Jd({key:"componentId",name:xd("播放于组件","Play On Component","再生先コンポーネント"),desc:xd("可选:在哪个装修组件上空间化播放;不填=不落到具体组件","Optional: spatialize on a component","任意:空間再生するコンポーネント"),type:"entity_ref",refTypeKey:"component",optional:!0})];return em({classKey:"Tts",name:xd("语音","TTS","音声合成"),kind:"static",groupKey:"system",methods:[qd({key:"play",name:xd("播放语音","Play Voice","音声を再生"),desc:xd("合成并播放语音(缓存模式:API 合成后异步缓存)","Synthesize and play voice (cached mode)","音声を合成して再生(キャッシュモード)"),params:e(),supportsAsync:!0,legacyActionType:"tts_play_voice"}),qd({key:"stream",name:xd("流式播放","Realtime Stream","ストリーミング再生"),desc:xd("即时合成语音(WebSocket 流式,边合成边播放)","Realtime streaming synthesis via WebSocket","WebSocket ストリーミングでリアルタイム合成"),params:e(),supportsAsync:!0,legacyActionType:"tts_realtime_stream"})]})}function Am(){const e=()=>Jd({key:"sceneId",name:xd("场景","Scene","シーン"),desc:xd("编程板块场景 id(XrProgramScene)","Program scene id (XrProgramScene)","プログラミングシーン id"),type:"string"});return em({classKey:"Scene",name:xd("场景","Scene","シーン"),desc:xd("编程板块场景生命周期控制(启动/停止/暂停/恢复,plan §4.8 四态)","Program scene lifecycle control","プログラミングシーンのライフサイクル制御"),kind:"static",groupKey:"system",methods:[qd({key:"start",name:xd("启动场景","Start Scene","シーンを起動"),desc:xd("启动场景:执行其 onStart 入口并注册其声明式监听器","Start the scene (runs onStart, registers listeners)","シーンを起動(onStart 実行・リスナー登録)"),params:[e()]}),qd({key:"stop",name:xd("停止场景","Stop Scene","シーンを停止"),desc:xd("停止场景:执行 onStop 并回收该场景全部监听器/线程/定时器","Stop the scene (runs onStop, tears down its listeners)","シーンを停止(onStop 実行・リスナー回収)"),params:[e()]}),qd({key:"pause",name:xd("暂停场景","Pause Scene","シーンを一時停止"),params:[e()]}),qd({key:"resume",name:xd("恢复场景","Resume Scene","シーンを再開"),params:[e()]}),qd({key:"isRunning",name:xd("是否运行中","Is Running","実行中か"),params:[e()],returns:zd({type:"boolean"}),pure:!0})]})}function Cm(){const e=(e,t,a)=>Jd({key:"scopeId",name:xd("胶囊 id","Scope Id","カプセル id"),desc:xd(e,t,a),type:"string"});return em({classKey:"State",name:xd("运行态","State","ランタイム状態"),kind:"static",groupKey:"system",methodGroups:[Zd("snapshot",xd("快照","Snapshot","スナップショット")),Zd("legacyScope",xd("胶囊(已退役)","Scope (deprecated)","カプセル(廃止)"))],methods:[qd({key:"snapshot",name:xd("快照","Snapshot","スナップショット"),desc:xd("对当前实体运行态做一份快照(可选包含变量值,plan §1.18),返回快照句柄","Take a snapshot of runtime state (optionally including variables)","現在のランタイム状態のスナップショットを取得"),params:[Jd({key:"includeVariables",name:xd("包含变量值","Include Variables","変数値を含む"),type:"boolean",optional:!0,defaultValue:!1})],returns:zd({type:"state_snapshot",desc:xd("运行态快照","State snapshot handle","スナップショットハンドル")}),groupKey:"snapshot"}),qd({key:"restoreSnapshot",name:xd("恢复快照","Restore Snapshot","スナップショット復元"),params:[Jd({key:"snapshot",name:xd("快照","Snapshot","スナップショット"),type:"state_snapshot"})],groupKey:"snapshot"}),qd({key:"createScope",name:xd("创建胶囊","Create Scope","カプセル作成"),desc:xd("【已退役,仅兼容老数据】状态胶囊已退役(plan §1.19),请改用 快照/恢复快照;新编辑器不再露出","[Deprecated, legacy-compat only] Use snapshot/restoreSnapshot instead","【廃止・互換専用】snapshot/restoreSnapshot を使用してください"),params:[e("新胶囊的具名 id(供后续 切换/销毁 寻址)","New scope id","新カプセルの id"),Jd({key:"branchFrom",name:xd("分支来源","Branch From","分岐元"),type:"enum",enumOptions:[$d("default",xd("基线胶囊","Default Baseline","デフォルト基線")),$d("current",xd("当前胶囊","Current","現在のカプセル")),$d("specific",xd("指定胶囊","Specific","指定カプセル"))],defaultValue:"default"}),Jd({key:"branchFromScopeId",name:xd("源胶囊 id","Branch Source Scope Id","分岐元カプセル id"),desc:xd("branchFrom=specific 时的源胶囊 id","Source scope id when branchFrom=specific","branchFrom=specific 時の分岐元 id"),type:"string",optional:!0}),Jd({key:"activate",name:xd("创建后立即激活","Activate After Create","作成後に即アクティブ化"),type:"boolean",optional:!0,defaultValue:!0})],groupKey:"legacyScope",legacyActionType:"system_state_scope_create"}),qd({key:"switchScope",name:xd("切换胶囊","Switch Scope","カプセル切替"),desc:xd("【已退役,仅兼容老数据】状态胶囊已退役(plan §1.19),请改用 快照/恢复快照","[Deprecated, legacy-compat only] Use snapshot/restoreSnapshot instead","【廃止・互換専用】snapshot/restoreSnapshot を使用してください"),params:[e("要激活的胶囊 id","Scope id to activate","アクティブ化するカプセル id")],groupKey:"legacyScope",legacyActionType:"system_state_scope_switch"}),qd({key:"destroyScope",name:xd("销毁胶囊","Destroy Scope","カプセル破棄"),desc:xd("【已退役,仅兼容老数据】状态胶囊已退役(plan §1.19),请改用 快照/恢复快照;default 基线胶囊不可销毁","[Deprecated, legacy-compat only] Use snapshot/restoreSnapshot instead","【廃止・互換専用】snapshot/restoreSnapshot を使用してください"),params:[e("要销毁的胶囊 id(default 基线不可销毁)","Scope id to destroy","破棄するカプセル id"),Jd({key:"activateAfterScopeId",name:xd("销毁后激活胶囊","Activate After Destroy","破棄後にアクティブ化"),desc:xd("若销毁的是当前活跃胶囊,销毁后激活哪个胶囊","Scope to activate if the destroyed one was active","破棄したのがアクティブだった場合の遷移先"),type:"string",optional:!0,defaultValue:"default"})],groupKey:"legacyScope",legacyActionType:"system_state_scope_destroy"})]})}function Sm(){const e=()=>Jd({key:"cloudFormDataKey",name:xd("云表单","Cloud Form","クラウドフォーム"),desc:xd("要操作的云表单 dataKey","Cloud form dataKey","対象クラウドフォームの dataKey"),type:"string"});return em({classKey:"Form",name:xd("表单","Form","フォーム"),kind:"static",groupKey:"system",methodGroups:[Zd("cloudForm",xd("云表单","Cloud Form","クラウドフォーム")),Zd("userForm",xd("自定义表单","User Form","カスタムフォーム"))],methods:[qd({key:"showCloudFormDialog",name:xd("弹出云表单","Show Cloud Form Dialog","クラウドフォームを表示"),desc:xd("弹出云表单填写对话框;同步版等待对话框关闭","Show the cloud form dialog","クラウドフォームのダイアログを表示"),params:[e(),Jd({key:"onSubmitSuccess",name:xd("提交成功回调","On Submit Success","送信成功コールバック"),type:"closure",optional:!0}),Jd({key:"onAlreadySubmitted",name:xd("已提交回调","On Already Submitted","送信済みコールバック"),desc:xd("打开时发现(按 submitMode 判定)已提交过时执行","Runs when the form was already submitted","すでに送信済みの場合に実行"),type:"closure",optional:!0})],supportsAsync:!0,groupKey:"cloudForm",legacyActionType:"cloud_form_show_dialog"}),qd({key:"collectCloudFormField",name:xd("收集云表单字段","Collect Cloud Form Field","フィールドを収集"),desc:xd("把字段值累积暂存到云表单本地缓冲区(不提交)","Stage a field value locally without submitting","フィールド値をローカルに蓄積(未送信)"),params:[e(),Jd({key:"fieldDataKey",name:xd("字段","Field","フィールド"),desc:xd("要赋值的字段 dataKey","Field dataKey to assign","代入するフィールドの dataKey"),type:"string"}),Jd({key:"value",name:xd("字段值","Value","値"),desc:xd("字段值(类型由字段 type 决定,客户端自动转换)","Field value (auto-converted by field type)","フィールド値(型は自動変換)"),type:"any"})],groupKey:"cloudForm",legacyActionType:"cloud_form_collect_field"}),qd({key:"submitCloudForm",name:xd("提交云表单","Submit Cloud Form","クラウドフォームを送信"),desc:xd("把已暂存的字段提交到后台","Submit staged fields to backend","蓄積したフィールドをバックエンドへ送信"),params:[e(),Jd({key:"onSuccess",name:xd("成功回调","On Success","成功コールバック"),type:"closure",optional:!0}),Jd({key:"onFail",name:xd("失败回调","On Fail","失敗コールバック"),desc:xd("提交失败(含重复提交)时执行","Runs on failure (incl. duplicate submission)","失敗時(重複送信含む)に実行"),type:"closure",optional:!0})],supportsAsync:!0,groupKey:"cloudForm",legacyActionType:"cloud_form_submit"}),qd({key:"resetCloudForm",name:xd("清空云表单","Reset Cloud Form","クラウドフォームをクリア"),desc:xd("清空本地暂存(不删除已提交记录)","Clear the local staging buffer (submitted records untouched)","ローカル蓄積をクリア(送信済み記録は残る)"),params:[e()],groupKey:"cloudForm",legacyActionType:"cloud_form_reset"}),qd({key:"showUserFormDialog",name:xd("弹出自定义表单","Show User Form Dialog","カスタムフォームを表示"),desc:xd("弹出可定制的填表对话框;同步版等待表单关闭;提交值经字段绑定分发到 变量/云表单字段/统计字段","Show a customizable popup form dialog","カスタム入力フォームのダイアログを表示"),params:[Jd({key:"title",name:xd("标题","Title","タイトル"),type:"multilang_str",optional:!0}),Jd({key:"description",name:xd("描述","Description","説明"),type:"multilang_str",optional:!0}),Jd({key:"fields",name:xd("字段定义","Fields","フィールド定義"),desc:xd("字段定义列表(PopupUserFormField[],含控件变体/默认值/绑定变量)","Field definitions (PopupUserFormField[])","フィールド定義リスト(PopupUserFormField[])"),type:"any"}),Jd({key:"showCancelButton",name:xd("显示取消按钮","Show Cancel Button","キャンセルボタン表示"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"blockInteraction",name:xd("阻塞场景交互","Block Interaction","シーン操作をブロック"),type:"boolean",optional:!0,defaultValue:!0}),Jd({key:"closeOnOverlayClick",name:xd("点遮罩关闭","Close On Overlay Click","オーバーレイクリックで閉じる"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"onSubmitSuccess",name:xd("提交成功回调","On Submit Success","送信成功コールバック"),type:"closure",optional:!0,closurePayloadFields:[Jd({key:"values",name:xd("提交值","Submitted Values","送信値"),desc:xd("字段值字典 {fieldKey: 值}","Field value map {fieldKey: value}","フィールド値マップ"),type:"any"})]}),Jd({key:"onCancel",name:xd("取消回调","On Cancel","キャンセルコールバック"),type:"closure",optional:!0})],supportsAsync:!0,groupKey:"userForm",legacyActionType:"popup_user_form_show_dialog"})]})}function hm(){const e=(e,t)=>Jd({key:e,name:xd("拍摄模式","Capture Mode","撮影モード"),type:"enum",enumOptions:[$d("raw",xd("原始帧(不含叠加物)","Raw Frame","生フレーム(オーバーレイなし)")),$d("with_overlay",xd("含叠加物帧","With Overlay","オーバーレイ込み"))],optional:t,defaultValue:"raw"});return em({classKey:"Capture",name:xd("相机检查","Capture","カメラチェック"),kind:"static",groupKey:"system",methods:[qd({key:"takePhoto",name:xd("拍照","Take Photo","写真を撮る"),desc:xd("截取当前相机画面一帧,压缩后返回图片(base64 data URL;用 returnTo 落到 image 变量)","Capture one camera frame; returns an image (base64 data URL)","カメラの現在フレームを撮影して画像を返す"),params:[e("captureMode",!1)],returns:zd({type:"image",desc:xd("照片(base64 data URL)","Photo (base64 data URL)","写真(base64 data URL)")}),supportsAsync:!0,legacyActionType:"ai_check_take_photo"}),qd({key:"runImageCheck",name:xd("AI图像检查","Run AI Image Check","AI画像チェック"),desc:xd("按规则跑视觉大模型检查,返回 {passed通过, score分数0-100, reason原因};网络/服务失败 → passed=false/score=0/reason=检查失败原因","Run AI image check; returns {passed, score, reason}","ルールに従い AI 画像チェックを実行。{passed, score, reason} を返す"),params:[Jd({key:"ruleId",name:xd("检查规则","Rule","チェックルール"),desc:xd("检查规则 id(vrContentData.aiCheckRuleList 内)","Check rule id in aiCheckRuleList","aiCheckRuleList 内のルール id"),type:"string"}),Jd({key:"imageSource",name:xd("图片来源","Image Source","画像ソース"),type:"enum",enumOptions:[$d("camera",xd("相机截帧","Camera","カメラ")),$d("album",xd("相册选图","Album","アルバム")),$d("image_variable",xd("图片变量","Image Variable","画像変数"))],defaultValue:"camera"}),e("cameraCaptureMode",!0),Jd({key:"sourceVariable",name:xd("来源图片","Source Image","ソース画像"),desc:xd("imageSource=image_variable 时读取的图片(引用 image 变量,由「拍照」提前写入,可一照多检)","Image read when imageSource=image_variable","imageSource=image_variable 時に読む画像"),type:"image",optional:!0})],returns:zd({type:"any",desc:xd("检查结果结构 {passed:布尔 通过, score:数字 分数0-100, reason:字符串 原因(确定合格时为空串)}","Result object {passed: boolean, score: number 0-100, reason: string}","結果 {passed, score, reason}")}),supportsAsync:!0,legacyActionType:"ai_check_run"})]})}function Im(){return[em({classKey:"component",name:xd("装修组件","Component","装飾コンポーネント"),desc:xd("所有装修组件的抽象基类;本类方法/事件对全部子类型可用","Abstract base of all decorate components; methods/events here apply to every subtype","全装飾コンポーネントの抽象基底クラス。ここのメソッド/イベントは全サブタイプで利用可能"),kind:"entity",groupKey:"decorate",entityInfo:Qd({isAbstract:!0,listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("general",xd("通用","General","一般")),Zd("transition",xd("过渡动画","Transition Animation","トランジションアニメ")),Zd("audio",xd("音源","Audio Source","音源")),Zd("query",xd("查询","Query","クエリ"))],methods:[qd({key:"changeVisibility",name:xd("设置可见性","Set Visibility","表示状態を設定"),groupKey:"general",legacyActionType:"component_general_change_visibility",params:[Jd({key:"visible",name:xd("是否显示","Visible","表示するか"),type:"boolean",defaultValue:!0})]}),qd({key:"changeTransform",name:xd("变换","Transform","変換"),desc:xd("修改组件的位置/旋转/缩放(绝对值设置)","Modify position / rotation / scale of the component (absolute values)","コンポーネントの位置/回転/スケールを変更(絶対値設定)"),groupKey:"general",legacyActionType:"component_general_change_transform",params:[Jd({key:"changeType",name:xd("变换类型","Change Type","変換タイプ"),type:"enum",enumOptions:[$d("translate",xd("平移","Translate","移動")),$d("rotate",xd("旋转","Rotate","回転")),$d("scale",xd("缩放","Scale","拡大縮小"))],defaultValue:"translate"}),Jd({key:"value",name:xd("变换值","Value","変換値"),type:"vector3"})]}),qd({key:"playTransitionAnimation",name:xd("播放过渡动画","Play Transition Animation","トランジションアニメを再生"),desc:xd("⚠️ 循环动画 + 等待播放完毕 会阻塞后续步骤,需靠停止动画/切场景解锁","⚠️ Looping animation + waitForComplete blocks subsequent steps until stopped","⚠️ ループアニメ+完了待ちは後続処理をブロックする(停止/シーン切替で解除)"),groupKey:"transition",supportsAsync:!0,legacyActionType:"component_general_play_transition_animation",params:[Jd({key:"transitionAnimationId",name:xd("过渡动画","Transition Animation","トランジションアニメ"),type:"string"}),Jd({key:"waitForComplete",name:xd("是否等待播放完毕","Wait for Complete","再生完了を待つか"),type:"boolean",optional:!0,defaultValue:!1})]}),qd({key:"stopTransitionAnimation",name:xd("停止过渡动画","Stop Transition Animation","トランジションアニメを停止"),groupKey:"transition",legacyActionType:"component_general_stop_transition_animation",params:[Jd({key:"transitionAnimationId",name:xd("过渡动画","Transition Animation","トランジションアニメ"),type:"string"})]}),qd({key:"playAudioSource",name:xd("播放音源","Play Audio Source","音源を再生"),groupKey:"audio",legacyActionType:"component_general_audio_source_play_control",params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[$d("next",xd("下一个","Next","次へ")),$d("prev",xd("上一个","Previous","前へ")),$d("specific",xd("指定","Specific","指定"))],defaultValue:"next"}),Jd({key:"audioIndex",name:xd("音频索引","Audio Index","オーディオインデックス"),desc:xd("仅 specific 模式使用;-1 表示不按索引","Only for specific mode; -1 means unused","specific モード時のみ使用。-1 は未使用"),type:"number",optional:!0,defaultValue:-1}),Jd({key:"audioId",name:xd("音频","Audio","オーディオ"),desc:xd("仅 specific 模式使用;优先于音频索引","Only for specific mode; takes priority over audioIndex","specific モード時のみ使用。インデックスより優先"),type:"string",optional:!0})]}),qd({key:"pauseAudioSource",name:xd("暂停音源","Pause Audio Source","音源を一時停止"),groupKey:"audio",legacyActionType:"component_general_audio_source_pause"}),qd({key:"changeAudioSourceLoopMode",name:xd("设置音源循环模式","Set Audio Source Loop Mode","音源のループモードを設定"),groupKey:"audio",legacyActionType:"component_general_audio_source_change_loop_mode",params:[Jd({key:"loopMode",name:xd("循环模式","Loop Mode","ループモード"),type:"enum",enumOptions:[$d("no_loop",xd("不循环","No Loop","ループなし")),$d("loop_all",xd("列表循环","Loop All","全曲ループ")),$d("loop_single",xd("单曲循环","Loop Single","単曲ループ"))],defaultValue:"no_loop"})]}),qd({key:"isVisible",name:xd("是否可见","Is Visible","表示中か"),groupKey:"query",pure:!0,returns:zd({type:"boolean"}),legacyConditionFunc:"component_visible"}),qd({key:"getDistanceToCamera",name:xd("取到摄像机距离","Get Distance to Camera","カメラまでの距離を取得"),desc:xd("返回组件到当前摄像机的直线距离(米)","Returns straight-line distance from component to current camera (meters)","コンポーネントから現在のカメラまでの直線距離(メートル)を返す"),groupKey:"query",pure:!0,returns:zd({type:"number"})})],events:[jd({key:"click",name:xd("被点击","Clicked","クリックされた"),legacySignalType:"click",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),jd({key:"mouse_enter",name:xd("鼠标进入","Mouse Enter","マウス進入"),legacySignalType:"mouse_enter",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),jd({key:"mouse_leave",name:xd("鼠标离开","Mouse Leave","マウス退出"),legacySignalType:"mouse_leave",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),jd({key:"component_created",name:xd("被创建","Created","作成された"),legacySignalType:"component_created",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),jd({key:"component_show",name:xd("显示","Shown","表示された"),legacySignalType:"component_show",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"})]}),jd({key:"component_hide",name:xd("隐藏","Hidden","非表示になった"),legacySignalType:"component_hide",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"})]})]}),em({classKey:"component_2d",name:xd("2D组件","2D Component","2Dコンポーネント"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component",isAbstract:!0,listPath:"componentList",selectorKey:"component"}),methods:[qd({key:"changeDeformationSettings",name:xd("修改变形设置","Change Deformation Settings","変形設定を変更"),desc:xd("整体替换 2D 组件的变形设置(VrComponent2dDeformationSettings POJO:mode/曲面/折叠)","Replaces the whole deformation settings POJO (mode / curved-surface / fold-surface)","2Dコンポーネントの変形設定 POJO(mode/曲面/折り面)を丸ごと差し替える"),groupKey:"general",legacyActionType:"component_2d_general_change_deformation_settings",params:[Jd({key:"settings",name:xd("变形设置","Deformation Settings","変形設定"),type:"any"})]})]}),em({classKey:"component_3d",name:xd("3D组件","3D Component","3Dコンポーネント"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component",isAbstract:!0,listPath:"componentList",selectorKey:"component"})}),em({classKey:"2d_text",name:xd("2D文字","2D Text","2Dテキスト"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("source",xd("源切换","Source","ソース切替"))],methods:[qd({key:"changeSource",name:xd("切换文字","Change Text Source","テキストを切り替え"),groupKey:"source",legacyActionType:"component_2d_text_change_source",params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[$d("next",xd("下一个","Next","次へ")),$d("prev",xd("上一个","Previous","前へ")),$d("specific",xd("指定","Specific","指定"))],defaultValue:"next"}),Jd({key:"sourceId",name:xd("文字源","Source","テキストソース"),desc:xd("仅 specific 模式使用","Only for specific mode","specific モード時のみ使用"),type:"string",optional:!0})]})]}),em({classKey:"2d_image",name:xd("2D图片","2D Image","2D画像"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("source",xd("源切换","Source","ソース切替"))],methods:[qd({key:"changeSource",name:xd("切换图片","Change Image Source","画像を切り替え"),groupKey:"source",legacyActionType:"component_2d_image_change_source",params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[$d("next",xd("下一个","Next","次へ")),$d("prev",xd("上一个","Previous","前へ")),$d("specific",xd("指定","Specific","指定"))],defaultValue:"next"}),Jd({key:"sourceId",name:xd("图片源","Source","画像ソース"),desc:xd("仅 specific 模式使用","Only for specific mode","specific モード時のみ使用"),type:"string",optional:!0})]})],events:[jd({key:"any_image_click",name:xd("任意图片被点击","Any Image Clicked","いずれかの画像がクリックされた"),desc:xd("容器聚合事件(plan §4.5 事件冒泡一层):同一图片组件里任意一张图被点击都会触发,回调 _事件.$ 里拿到是哪张图","Container aggregate event: fires when any image inside this component is clicked; the callback payload tells which source","コンテナ集約イベント:同じ画像コンポーネント内のいずれかの画像がクリックされると発火。どの画像かはペイロードで判別"),aggregate:!0,legacySignalSource:"component_2d_image",legacySignalType:"click",payloadFields:[Jd({key:"sourceId",name:xd("图片源ID","Source Id","画像ソースID"),desc:xd("被点击时正在显示的图片源","The image source displayed when clicked","クリック時に表示されていた画像ソース"),type:"string"})]})]}),em({classKey:"2d_video",name:xd("2D视频","2D Video","2Dビデオ"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("source",xd("源切换","Source","ソース切替")),Zd("playback",xd("播放控制","Playback","再生制御"))],methods:[qd({key:"changeSource",name:xd("切换视频","Change Video Source","ビデオを切り替え"),groupKey:"source",legacyActionType:"component_2d_video_change_source",params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切替方法"),type:"enum",enumOptions:[$d("next",xd("下一个","Next","次へ")),$d("prev",xd("上一个","Previous","前へ")),$d("specific",xd("指定","Specific","指定"))],defaultValue:"next"}),Jd({key:"sourceId",name:xd("视频源","Source","ビデオソース"),desc:xd("仅 specific 模式使用","Only for specific mode","specific モード時のみ使用"),type:"string",optional:!0}),Jd({key:"autoPlay",name:xd("切换后自动播放","Auto Play After Change","切替後に自動再生"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"forceUnmute",name:xd("切换后强制取消静音","Force Unmute After Change","切替後に強制ミュート解除"),type:"boolean",optional:!0,defaultValue:!1})]}),qd({key:"changePlayState",name:xd("切换播放状态","Change Play State","再生状態を切り替え"),groupKey:"playback",legacyActionType:"component_2d_video_change_play_state",params:[Jd({key:"play",name:xd("是否播放","Play","再生するか"),type:"boolean",defaultValue:!0})]}),qd({key:"changeMuteState",name:xd("切换静音状态","Change Mute State","ミュート状態を切り替え"),groupKey:"playback",legacyActionType:"component_2d_video_change_mute_state",params:[Jd({key:"mute",name:xd("是否静音","Mute","ミュートするか"),type:"boolean",defaultValue:!0})]})],events:[jd({key:"play_start",name:xd("播放开始","Play Started","再生開始"),legacySignalSource:"component_2d_video",legacySignalType:"play_start",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"}),Jd({key:"sourceId",name:xd("视频源ID","Source Id","ビデオソースID"),desc:xd("开始播放的视频源","The video source that started playing","再生を開始したビデオソース"),type:"string"})]}),jd({key:"play_finish",name:xd("播放结束","Play Finished","再生終了"),legacySignalSource:"component_2d_video",legacySignalType:"play_finish",payloadFields:[Jd({key:"componentId",name:xd("组件ID","Component Id","コンポーネントID"),type:"string"}),Jd({key:"sourceId",name:xd("视频源ID","Source Id","ビデオソースID"),desc:xd("播放结束的视频源","The video source that finished playing","再生を終えたビデオソース"),type:"string"})]})]}),em({classKey:"2d_panel",name:xd("2D面板","2D Panel","2Dパネル"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("panel",xd("面板","Panel","パネル"))],methods:[qd({key:"changeScene",name:xd("切换面板场景","Change Panel Scene","パネルシーンを切り替え"),groupKey:"panel",legacyActionType:"component_2d_panel_change_scene",params:[Jd({key:"sceneId",name:xd("面板场景","Panel Scene","パネルシーン"),type:"string"})]}),qd({key:"changeButtonEnabled",name:xd("设置按钮可用","Set Button Enabled","ボタンの有効状態を設定"),desc:xd("按 场景ID+按钮ID 复合寻址设置按钮可用状态;与「2D面板按钮.设置可用」等价(扁平版保留供迁移)","Sets a button enabled state by sceneId + buttonId; equivalent to panel_button.setEnabled (flat form kept for migration)","シーンID+ボタンIDでボタンの有効状態を設定。panel_button.setEnabled と等価(移行用フラット版)"),groupKey:"panel",legacyActionType:"component_2d_panel_button_change_enabled",params:[Jd({key:"sceneId",name:xd("面板场景","Panel Scene","パネルシーン"),type:"string"}),Jd({key:"buttonId",name:xd("按钮","Button","ボタン"),type:"string"}),Jd({key:"enabled",name:xd("是否可用","Enabled","有効にするか"),type:"boolean",defaultValue:!0})]})],events:[jd({key:"panel_button_click",name:xd("任意按钮被点击","Any Button Clicked","いずれかのボタンがクリックされた"),desc:xd("容器聚合事件:面板内任意按钮被点击都会触发,回调 _事件.$ 里拿到是哪个按钮","Container aggregate event: fires when any button in this panel is clicked; payload tells which one","コンテナ集約イベント:パネル内のいずれかのボタンがクリックされると発火。どのボタンかはペイロードで判別"),aggregate:!0,legacySignalSource:"component_2d_panel",legacySignalType:"panel_button_click",payloadFields:[Jd({key:"sceneId",name:xd("面板场景ID","Scene Id","パネルシーンID"),type:"string"}),Jd({key:"buttonId",name:xd("按钮ID","Button Id","ボタンID"),type:"string"}),Jd({key:"optionValue",name:xd("选项值","Option Value","オプション値"),desc:xd("变量修改器模式下按钮写入的值(string 或 number)","Value the button writes in variable-modifier mode (string or number)","変数修飾モードでボタンが書き込む値(string / number)"),type:"any",optional:!0})]}),jd({key:"panel_answer_correct",name:xd("答题正确","Answered Correctly","正解した"),legacySignalSource:"component_2d_panel",legacySignalType:"panel_answer_correct",payloadFields:[Jd({key:"sceneId",name:xd("面板场景ID","Scene Id","パネルシーンID"),type:"string"})]}),jd({key:"panel_answer_wrong",name:xd("答题错误","Answered Wrong","不正解だった"),legacySignalSource:"component_2d_panel",legacySignalType:"panel_answer_wrong",payloadFields:[Jd({key:"sceneId",name:xd("面板场景ID","Scene Id","パネルシーンID"),type:"string"})]})]}),em({classKey:"2d_advertisement",name:xd("2D广告","2D Advertisement","2D広告"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component_2d",listPath:"componentList",selectorKey:"component"})}),em({classKey:"3d_box",name:xd("3D盒子","3D Box","3Dボックス"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component_3d",listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("appearance",xd("外观","Appearance","外観"))],methods:[qd({key:"changeColor",name:xd("修改颜色","Change Color","色を変更"),desc:xd("四个颜色均可选:缺省的颜色保持当前值不变","All four colors are optional; omitted ones keep their current values","4色すべて省略可。省略した色は現状維持"),groupKey:"appearance",legacyActionType:"component_3d_box_change_color",params:[Jd({key:"faceColor",name:xd("面颜色","Face Color","面の色"),type:"color",optional:!0}),Jd({key:"borderColor",name:xd("边框颜色","Border Color","枠線の色"),type:"color",optional:!0}),Jd({key:"hoverFaceColor",name:xd("悬浮面颜色","Hover Face Color","ホバー時の面の色"),type:"color",optional:!0}),Jd({key:"hoverBorderColor",name:xd("悬浮边框颜色","Hover Border Color","ホバー時の枠線の色"),type:"color",optional:!0})]})]}),em({classKey:"3d_model",name:xd("3D模型","3D Model","3Dモデル"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component_3d",listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("animation",xd("模型动画","Model Animation","モデルアニメ"))],methods:[qd({key:"playAnimationClip",name:xd("播放动画片段","Play Animation Clip","アニメクリップを再生"),desc:xd("⚠️ 循环 clip + 等待播放完毕 会阻塞后续步骤,需靠停止片段/切场景解锁","⚠️ Looping clip + waitForComplete blocks subsequent steps until stopped","⚠️ ループクリップ+完了待ちは後続処理をブロックする(停止/シーン切替で解除)"),groupKey:"animation",supportsAsync:!0,legacyActionType:"component_3d_model_play_animation_clip",params:[Jd({key:"animationClipId",name:xd("动画片段","Animation Clip","アニメクリップ"),type:"string"}),Jd({key:"waitForComplete",name:xd("是否等待播放完毕","Wait for Complete","再生完了を待つか"),type:"boolean",optional:!0,defaultValue:!1})]}),qd({key:"stopAnimationClip",name:xd("停止动画片段","Stop Animation Clip","アニメクリップを停止"),groupKey:"animation",legacyActionType:"component_3d_model_stop_animation_clip",params:[Jd({key:"animationClipId",name:xd("动画片段","Animation Clip","アニメクリップ"),type:"string"})]})]}),em({classKey:"tag",name:xd("TAG标签","Tag","TAGタグ"),kind:"entity",groupKey:"decorate",entityInfo:Qd({extendsClassKey:"component",listPath:"componentList",selectorKey:"component"}),methodGroups:[Zd("interaction",xd("交互","Interaction","インタラクション"))],methods:[qd({key:"simulateClick",name:xd("模拟点击","Simulate Click","クリックをシミュレート"),desc:xd("模拟用户点击 Tag:按 Tag 自身配置执行相机移动 + 内容卡弹出(VR 专用:依赖虚拟相机控制)","Simulates a user click on the tag: moves camera + pops content card per the tag config (VR only: relies on virtual camera control)","ユーザーのタグクリックをシミュレート:タグ設定に従いカメラ移動+コンテンツカード表示(VR専用:仮想カメラ制御に依存)"),groupKey:"interaction",platform:"vr_only",supportsAsync:!0,legacyActionType:"component_tag_simulate_click",params:[Jd({key:"overrideAutoMoveCamera",name:xd("覆盖自动移镜配置","Override Auto Move Camera","自動カメラ移動設定を上書き"),desc:xd("未设置时走 Tag 自身的 isEnableAutoMoveCameraToNearWhenClick 配置","Falls back to the tag own config when unset","未設定時はタグ自身の設定に従う"),type:"boolean",optional:!0}),Jd({key:"moveTransitionMs",name:xd("移镜过渡时间","Move Transition (ms)","カメラ移動時間(ms)"),desc:xd("仅覆盖自动移镜=true 时生效;未设置走 1000ms 默认","Effective only when overrideAutoMoveCamera=true; defaults to 1000ms","overrideAutoMoveCamera=true 時のみ有効。未設定は 1000ms"),type:"number",optional:!0})]})]}),em({classKey:"panel_button",name:xd("2D面板按钮","Panel Button","パネルボタン"),desc:xd("2D面板内某场景下的按钮(子件实体,通过 面板ID+场景ID 复合寻址)","A button inside a 2D panel scene (sub-entity, addressed by panelId + sceneId)","2Dパネルのシーン内ボタン(サブエンティティ。パネルID+シーンIDで複合アドレッシング)"),kind:"entity",groupKey:"decorate",entityInfo:Qd({parentPathSpec:["panelId","sceneId"],selectorKey:"panel_button"}),methods:[qd({key:"setEnabled",name:xd("设置可用","Set Enabled","有効状態を設定"),desc:xd("与「2D面板.设置按钮可用」等价(该扁平版承载 legacy 映射,本方法为面向对象新形态)","Equivalent to 2d_panel.changeButtonEnabled (the flat form carries the legacy mapping)","「2Dパネル.ボタンの有効状態を設定」と等価(フラット版が legacy マッピングを持つ)"),params:[Jd({key:"enabled",name:xd("是否可用","Enabled","有効にするか"),type:"boolean",defaultValue:!0})]}),qd({key:"simulateClick",name:xd("模拟点击","Simulate Click","クリックをシミュレート"),desc:xd("像用户点击一样触发该按钮(菜单模式发按钮信号;答题模式计入选择;变量修改器模式写入变量)","Triggers the button as if the user clicked it (menu: fires signal; answering: registers choice; variable-modifier: writes variable)","ユーザークリックと同様にボタンを発火(メニュー:信号発火/解答:選択登録/変数修飾:変数書込)")})],events:[jd({key:"click",name:xd("被点击","Clicked","クリックされた"),legacySignalSource:"component_2d_panel",legacySignalType:"panel_button_click",payloadFields:[Jd({key:"buttonId",name:xd("按钮ID","Button Id","ボタンID"),type:"string"}),Jd({key:"sceneId",name:xd("面板场景ID","Scene Id","パネルシーンID"),type:"string"}),Jd({key:"optionValue",name:xd("选项值","Option Value","オプション値"),desc:xd("变量修改器模式下按钮写入的值(string 或 number)","Value the button writes in variable-modifier mode (string or number)","変数修飾モードでボタンが書き込む値(string / number)"),type:"any",optional:!0})]})]}),em({classKey:"panel_scene",name:xd("2D面板场景","Panel Scene","パネルシーン"),desc:xd("2D面板内的一个场景(子件实体;无方法,作变量类型 / 复合寻址导航用)","A scene inside a 2D panel (sub-entity; no methods, used as variable type / addressing)","2Dパネル内のシーン(サブエンティティ。メソッドなし、変数型/アドレッシング用)"),kind:"entity",groupKey:"decorate",entityInfo:Qd({parentPathSpec:["panelId"],selectorKey:"panel_scene",usableAsVariableType:!0})})]}function Om(){return[em({classKey:"monitor",name:xd("监控面板","Monitor Panel","モニターパネル"),desc:xd("右上角常驻的监控面板(悬浮 / 弹出两种显示模式),内含多个场景(画面)与组件","Persistent monitor panel (floating / popup display modes) with multiple scenes and components","右上に常駐するモニターパネル(フローティング / ポップアップ表示モード)。複数のシーンとコンポーネントを含む"),kind:"entity",groupKey:"ui",entityInfo:Qd({listPath:"monitorList",selectorKey:"monitor"}),methodGroups:[Zd("state",xd("状态","State","状態")),Zd("badge",xd("徽章","Badge","バッジ")),Zd("query",xd("查询","Query","クエリ"))],methods:[qd({key:"setEnabled",name:xd("设置启用","Set Enabled","有効状態を設定"),desc:xd("启用 / 停用本监控面板(停用后入口图标与面板均不显示)","Enable / disable this monitor panel (icon and panel are hidden when disabled)","このモニターパネルを有効 / 無効にする(無効時はアイコンとパネルが非表示)"),groupKey:"state",params:[Jd({key:"enabled",name:xd("是否启用","Enabled","有効にする"),type:"boolean",defaultValue:!0})],legacyActionType:"monitor_change_enabled"}),qd({key:"switchActiveScene",name:xd("切换场景","Switch Scene","シーンを切り替え"),desc:xd("切换面板当前显示的场景(画面);场景来自 sceneDataList","Switch the currently displayed scene of the panel (from sceneDataList)","パネルが現在表示しているシーンを切り替える(sceneDataList から選択)"),groupKey:"state",params:[Jd({key:"sceneId",name:xd("场景","Scene","シーン"),desc:xd("要切换到的监控场景 id","Target monitor scene id","切り替え先のモニターシーン id"),type:"string"})],legacyActionType:"monitor_switch_active_scene"}),qd({key:"setBadgeText",name:xd("更新徽章文字","Update Badge Text","バッジ文字を更新"),desc:xd("更新入口图标徽章文字;空 = 不显示徽章。支持 $variableKey 变量模板","Update the badge text on the entry icon; empty = badge hidden. Supports $variableKey templates","入口アイコンのバッジ文字を更新。空 = バッジ非表示。$variableKey テンプレート対応"),groupKey:"badge",params:[Jd({key:"badgeText",name:xd("徽章文字","Badge Text","バッジ文字"),type:"string"})],legacyActionType:"monitor_change_badge_text"}),qd({key:"setBadgeStyle",name:xd("更新徽章样式","Update Badge Style","バッジスタイルを更新"),desc:xd("更新徽章样式 / 背景色 / 文字色;三项均可选,未填的项不改动","Update badge style / background color / text color; all optional, unset items are unchanged","バッジのスタイル / 背景色 / 文字色を更新。すべて任意で、未設定の項目は変更しない"),groupKey:"badge",params:[Jd({key:"badgeStyle",name:xd("徽章样式","Badge Style","バッジスタイル"),type:"enum",enumOptions:[$d("below",xd("图标下方两行","Below Icon","アイコン下部")),$d("corner",xd("右上角角标","Corner Badge","右上コーナー"))],optional:!0}),Jd({key:"badgeBgColor",name:xd("徽章背景色","Badge Background Color","バッジ背景色"),type:"css_color",optional:!0}),Jd({key:"badgeTextColor",name:xd("徽章文字色","Badge Text Color","バッジ文字色"),type:"css_color",optional:!0})],legacyActionType:"monitor_change_badge_style"}),qd({key:"setPopupVisible",name:xd("设置弹窗显隐","Set Popup Visibility","ポップアップ表示を設定"),desc:xd("打开 / 关闭 / 切换弹出式模态框;仅 displayMode=popup 的面板有效","Show / hide / toggle the popup modal; only effective when displayMode=popup","ポップアップモーダルを表示 / 非表示 / 切り替え。displayMode=popup のパネルのみ有効"),groupKey:"state",params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[$d("show",xd("打开","Show","表示")),$d("hide",xd("关闭","Hide","非表示")),$d("toggle",xd("取反","Toggle","トグル"))],defaultValue:"toggle"})],legacyActionType:"monitor_change_popup_visible"}),qd({key:"isEnabled",name:xd("是否启用","Is Enabled","有効かどうか"),desc:xd("查询本监控面板当前是否启用","Whether this monitor panel is currently enabled","このモニターパネルが現在有効かどうか"),groupKey:"query",returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"monitor_enabled"})]}),em({classKey:"monitor_component",name:xd("监控组件","Monitor Component","モニターコンポーネント"),desc:xd("监控面板内的组件(图片 / 文字 / 进度条 / 视频 / 按钮 / 变量控件);组件 id 在同一面板内全局唯一(不按场景隔离)","A component inside a monitor panel (image / text / progress-bar / video / button / variable-control); component ids are unique within a panel (not scoped by scene)","モニターパネル内のコンポーネント(画像 / テキスト / プログレスバー / 動画 / ボタン / 変数コントロール)。id はパネル内で一意(シーンで隔離されない)"),kind:"entity",groupKey:"ui",entityInfo:Qd({parentPathSpec:["monitorId"],selectorKey:"monitor_component"}),methods:[qd({key:"setVisible",name:xd("设置可见性","Set Visibility","表示状態を設定"),desc:xd("显示 / 隐藏本组件(老动作支持 componentIdList 批量,迁移时拆成逐个调用)","Show / hide this component (the legacy action supported batch componentIdList; migration splits into per-component calls)","このコンポーネントを表示 / 非表示にする(旧アクションの componentIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[Jd({key:"visible",name:xd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"monitor_component_change_visibility"}),qd({key:"isVisible",name:xd("是否可见","Is Visible","表示中かどうか"),desc:xd("查询本组件当前是否可见","Whether this component is currently visible","このコンポーネントが現在表示中かどうか"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"monitor_component_visible"})],events:[jd({key:"click",name:xd("被点击","Clicked","クリックされた"),desc:xd("用户点击本监控组件时触发","Fired when the user clicks this monitor component","ユーザーがこのモニターコンポーネントをクリックしたとき"),payloadFields:[Jd({key:"monitorId",name:xd("监控面板 id","Monitor Id","モニターパネル id"),type:"string"}),Jd({key:"componentId",name:xd("组件 id","Component Id","コンポーネント id"),type:"string"})],legacySignalSource:"monitor_component",legacySignalType:"monitor_component_click"})]}),em({classKey:"monitor_component_video",name:xd("监控视频组件","Monitor Video Component","モニター動画コンポーネント"),desc:xd("监控面板内 type=video 的组件;在监控组件基础上增加播放 / 静音控制","A type=video component inside a monitor panel; adds play / mute control on top of the base monitor component","モニターパネル内の type=video コンポーネント。基本のモニターコンポーネントに再生 / ミュート制御を追加"),kind:"entity",groupKey:"ui",entityInfo:Qd({extendsClassKey:"monitor_component",parentPathSpec:["monitorId"],selectorKey:"monitor_component"}),methods:[qd({key:"changePlayState",name:xd("切换播放状态","Change Play State","再生状態を切り替え"),desc:xd("播放 / 暂停 / 取反本视频组件。AR 端暂不支持(监控画布由内嵌 web 渲染,视频控制桥接未接通)","Play / pause / toggle this video component. Not yet supported on AR (monitor canvas is rendered by the embedded web view; the video-control bridge is not wired up)","この動画コンポーネントを再生 / 一時停止 / トグル。AR では未対応(モニターキャンバスは組み込み Web 描画で、動画制御ブリッジ未接続)"),params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[$d("play",xd("播放","Play","再生")),$d("pause",xd("暂停","Pause","一時停止")),$d("toggle",xd("取反","Toggle","トグル"))],defaultValue:"toggle"}),Jd({key:"unmuteOnPlay",name:xd("播放时取消静音","Unmute On Play","再生時にミュート解除"),desc:xd("播放时同时取消静音(绕过浏览器 autoplay 静音策略;用户主动触发时建议开启)","Also unmute when playing (works around browser autoplay-mute policy; recommended for user-initiated triggers)","再生時に同時にミュート解除(ブラウザの自動再生ミュート制限を回避。ユーザー起点の操作では有効化を推奨)"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"restartFromBeginning",name:xd("从头播放","Restart From Beginning","先頭から再生"),desc:xd("播放时从头开始(currentTime=0);关闭则从当前位置继续","Restart from the beginning when playing (currentTime=0); otherwise resume from the current position","再生時に先頭から開始(currentTime=0)。オフの場合は現在位置から再開"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"monitor_video_change_play_state"}),qd({key:"changeMuteState",name:xd("切换静音","Change Mute State","ミュートを切り替え"),desc:xd("静音 / 取消静音 / 取反本视频组件。AR 端暂不支持(同「切换播放状态」)","Mute / unmute / toggle this video component. Not yet supported on AR (same as Change Play State)","この動画コンポーネントをミュート / ミュート解除 / トグル。AR では未対応(「再生状態を切り替え」と同様)"),params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[$d("mute",xd("静音","Mute","ミュート")),$d("unmute",xd("取消静音","Unmute","ミュート解除")),$d("toggle",xd("取反","Toggle","トグル"))],defaultValue:"toggle"})],legacyActionType:"monitor_video_change_mute_state"})]}),em({classKey:"hamburger_menu",name:xd("汉堡菜单","Hamburger Menu","ハンバーガーメニュー"),desc:xd("全局唯一的汉堡菜单抽屉(单例,无需选择实例);节点树见「汉堡节点」","The global hamburger drawer (singleton, no instance selection); see Hamburger Menu Node for the node tree","グローバル唯一のハンバーガードロワー(シングルトン、インスタンス選択不要)。ノードツリーは「ハンバーガーメニューノード」を参照"),kind:"entity",groupKey:"ui",entityInfo:Qd({listPath:"hamburgerMenu",selectorKey:"",usableAsVariableType:!1}),methods:[qd({key:"setOpenState",name:xd("设置开合","Set Open State","開閉を設定"),desc:xd("打开 / 关闭汉堡菜单抽屉(幂等;与节点可见性相互独立)","Open / close the hamburger drawer (idempotent; independent of node visibility)","ハンバーガードロワーを開閉する(冪等。ノードの表示状態とは独立)"),params:[Jd({key:"open",name:xd("是否打开","Open","開く"),type:"boolean",defaultValue:!0})],legacyActionType:"hamburger_menu_change_open_state"}),qd({key:"isOpen",name:xd("是否打开","Is Open","開いているか"),desc:xd("查询汉堡菜单抽屉当前是否打开","Whether the hamburger drawer is currently open","ハンバーガードロワーが現在開いているかどうか"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_menu_open"})]}),em({classKey:"hamburger_node",name:xd("汉堡节点","Hamburger Menu Node","ハンバーガーメニューノード"),desc:xd("汉堡菜单里的任意节点(分组 / 文字项 / 媒体 / 网页 / 富文本 / 画布…);位于 hamburgerMenu.nodeList 树中(分组可嵌套)","Any node in the hamburger menu (group / text / media / webview / rich text / canvas...); lives in the hamburgerMenu.nodeList tree (groups may nest)","ハンバーガーメニュー内の任意ノード(グループ / テキスト / メディア / Web / リッチテキスト / キャンバス…)。hamburgerMenu.nodeList のツリーに存在(グループはネスト可)"),kind:"entity",groupKey:"ui",entityInfo:Qd({selectorKey:"hamburger_node"}),methods:[qd({key:"setVisible",name:xd("设置可见性","Set Visibility","表示状態を設定"),desc:xd("显示 / 隐藏本节点(老动作支持 nodeIdList 批量,迁移时拆成逐个调用)","Show / hide this node (the legacy action supported batch nodeIdList; migration splits into per-node calls)","このノードを表示 / 非表示にする(旧アクションの nodeIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[Jd({key:"visible",name:xd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"hamburger_menu_node_change_visibility"}),qd({key:"isVisible",name:xd("是否可见","Is Visible","表示中かどうか"),desc:xd("查询本节点当前是否可见","Whether this node is currently visible","このノードが現在表示中かどうか"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_menu_node_visible"})],events:[jd({key:"click",name:xd("被点击","Clicked","クリックされた"),desc:xd("用户点击本节点时触发(老体系为节点就地 clickActionList,无对应老信号)","Fired when the user clicks this node (legacy system used in-place clickActionList; no legacy signal mapping)","ユーザーがこのノードをクリックしたとき(旧体系はノード内の clickActionList で、対応する旧シグナルなし)"),payloadFields:[Jd({key:"nodeId",name:xd("节点 id","Node Id","ノード id"),type:"string"})]})]}),em({classKey:"hamburger_group",name:xd("汉堡分组","Hamburger Menu Group","ハンバーガーメニューグループ"),desc:xd("汉堡菜单里 nodeType=group 的分组节点(可包含子节点);在汉堡节点基础上增加展开控制","A nodeType=group node in the hamburger menu (may contain children); adds expand control on top of the base node","ハンバーガーメニュー内の nodeType=group ノード(子ノードを含められる)。基本ノードに展開制御を追加"),kind:"entity",groupKey:"ui",entityInfo:Qd({extendsClassKey:"hamburger_node",selectorKey:"hamburger_node"}),methods:[qd({key:"setExpanded",name:xd("设置展开","Set Expanded","展開状態を設定"),desc:xd("展开 / 收起本分组(老动作支持 groupNodeIdList 批量,迁移时拆成逐个调用;非 group 节点忽略)","Expand / collapse this group (the legacy action supported batch groupNodeIdList; non-group nodes are ignored)","このグループを展開 / 折りたたみ(旧アクションの groupNodeIdList 一括操作は個別呼び出しへ分解。group 以外のノードは無視)"),params:[Jd({key:"expanded",name:xd("是否展开","Expanded","展開する"),type:"boolean",defaultValue:!0})],legacyActionType:"hamburger_menu_group_change_expanded"}),qd({key:"isExpanded",name:xd("是否展开","Is Expanded","展開中かどうか"),desc:xd("查询本分组当前是否展开","Whether this group is currently expanded","このグループが現在展開中かどうか"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_menu_group_expanded"})]}),em({classKey:"canvas_component",name:xd("画布组件","Canvas Component","キャンバスコンポーネント"),desc:xd("汉堡菜单画布节点内的组件(图片 / 文字 / 进度条 / 视频 / 按钮 / 变量控件),与监控组件平行","A component inside a hamburger-menu canvas node (image / text / progress-bar / video / button / variable-control), parallel to monitor components","ハンバーガーメニューのキャンバスノード内コンポーネント(画像 / テキスト / プログレスバー / 動画 / ボタン / 変数コントロール)。モニターコンポーネントと並行"),kind:"entity",groupKey:"ui",entityInfo:Qd({parentPathSpec:["canvasNodeId"],selectorKey:"canvas_component"}),methods:[qd({key:"setVisible",name:xd("设置可见性","Set Visibility","表示状態を設定"),desc:xd("显示 / 隐藏本组件(老动作支持 componentIdList 批量,迁移时拆成逐个调用)","Show / hide this component (the legacy action supported batch componentIdList; migration splits into per-component calls)","このコンポーネントを表示 / 非表示にする(旧アクションの componentIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[Jd({key:"visible",name:xd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"canvas_component_change_visibility"}),qd({key:"isVisible",name:xd("是否可见","Is Visible","表示中かどうか"),desc:xd("查询本组件当前是否可见","Whether this component is currently visible","このコンポーネントが現在表示中かどうか"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"hamburger_canvas_component_visible"}),qd({key:"changePlayState",name:xd("切换播放状态","Change Play State","再生状態を切り替え"),desc:xd("播放 / 暂停 / 取反画布内 type=video 的组件(补齐监控视频对等能力;非视频组件忽略)","Play / pause / toggle a type=video component in the canvas (fills the gap vs. monitor video; non-video components are ignored)","キャンバス内の type=video コンポーネントを再生 / 一時停止 / トグル(モニター動画との対等機能を補完。動画以外は無視)"),params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[$d("play",xd("播放","Play","再生")),$d("pause",xd("暂停","Pause","一時停止")),$d("toggle",xd("取反","Toggle","トグル"))],defaultValue:"toggle"}),Jd({key:"unmuteOnPlay",name:xd("播放时取消静音","Unmute On Play","再生時にミュート解除"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"restartFromBeginning",name:xd("从头播放","Restart From Beginning","先頭から再生"),type:"boolean",optional:!0,defaultValue:!1})]}),qd({key:"changeMuteState",name:xd("切换静音","Change Mute State","ミュートを切り替え"),desc:xd("静音 / 取消静音 / 取反画布内 type=video 的组件(补齐监控视频对等能力;非视频组件忽略)","Mute / unmute / toggle a type=video component in the canvas (fills the gap vs. monitor video; non-video components are ignored)","キャンバス内の type=video コンポーネントをミュート / ミュート解除 / トグル(モニター動画との対等機能を補完。動画以外は無視)"),params:[Jd({key:"changeType",name:xd("切换方式","Change Type","切り替え方式"),type:"enum",enumOptions:[$d("mute",xd("静音","Mute","ミュート")),$d("unmute",xd("取消静音","Unmute","ミュート解除")),$d("toggle",xd("取反","Toggle","トグル"))],defaultValue:"toggle"})]})]}),em({classKey:"message_card",name:xd("消息卡","Message Card","メッセージカード"),desc:xd("信件中心里的消息卡片(标题 + 文本 + 按钮);没有默认显示属性,只能由逻辑触发显示","A message card in the mail center (title + text + buttons); has no default visibility, shown only by logic","メールセンター内のメッセージカード(タイトル + テキスト + ボタン)。デフォルト表示なし、ロジックからのみ表示"),kind:"entity",groupKey:"ui",entityInfo:Qd({listPath:"messageCardList",selectorKey:"message_card"}),methods:[qd({key:"show",name:xd("显示","Show","表示"),desc:xd("显示本消息卡(幂等:已显示则什么都不做)","Show this card (idempotent: no-op if already showing)","このカードを表示(冪等:表示済みなら何もしない)"),legacyActionType:"message_card_show"}),qd({key:"hide",name:xd("隐藏","Hide","非表示"),desc:xd("隐藏本消息卡(幂等:未显示则什么都不做)","Hide this card (idempotent: no-op if not showing)","このカードを非表示(冪等:非表示なら何もしない)"),legacyActionType:"message_card_hide"}),qd({key:"setShowState",name:xd("设置显示状态","Set Show State","表示状態を設定"),desc:xd("【旧语义,不推荐】按布尔值显示 / 隐藏;等价于 显示/隐藏 二选一,仅为兼容老动作保留(老动作支持 messageCardIdList 批量)","[Deprecated semantics] Show / hide by boolean; equivalent to Show/Hide, kept only for legacy compatibility (the legacy action supported batch messageCardIdList)","【旧セマンティクス・非推奨】ブール値で表示 / 非表示。表示 / 非表示と等価で、旧アクション互換のためのみ保持(旧アクションは messageCardIdList 一括対応)"),params:[Jd({key:"showState",name:xd("是否显示","Show","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"message_card_change_show_state"}),qd({key:"isShowing",name:xd("是否显示中","Is Showing","表示中かどうか"),desc:xd("查询本消息卡当前是否正在显示","Whether this card is currently showing","このカードが現在表示中かどうか"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"message_card_showing"})]}),em({classKey:"MessageCardCenter",name:xd("消息卡中心","Message Card Center","メッセージカードセンター"),desc:xd("临时消息卡的创建 / 销毁入口(不依赖预创建的 messageCardList)","Entry point for creating / destroying temporary message cards (independent of the pre-created messageCardList)","一時メッセージカードの作成 / 破棄の入口(事前作成の messageCardList に依存しない)"),kind:"static",groupKey:"ui",methods:[qd({key:"createTemporary",name:xd("创建临时消息卡","Create Temporary Message Card","一時メッセージカードを作成"),desc:xd("运行时动态创建一张消息卡(卡片完整数据内联在参数里);返回卡片引用可存变量后续操作。老动作无返回值","Dynamically create a message card at runtime (full card data inlined in params); returns a card reference for later use. The legacy action had no return value","実行時にメッセージカードを動的作成(カード全データをパラメータに内包)。後続操作用にカード参照を返す。旧アクションは戻り値なし"),params:[Jd({key:"card",name:xd("卡片数据","Card Data","カードデータ"),desc:xd("卡片完整数据(XrMessageCard 结构:图标 / 标题 / 内容 / 按钮 / 外观覆盖),在参数面板中直接编辑","Full card data (XrMessageCard shape: icon / title / content / buttons / appearance override), edited inline in the params panel","カード全データ(XrMessageCard 構造:アイコン / タイトル / 内容 / ボタン / 外観上書き)。パラメータパネルで直接編集"),type:"any"}),Jd({key:"key",name:xd("卡片标记","Card Key","カードキー"),desc:xd("语义 key,可重复使用;「销毁临时消息卡」按 key 批量销毁","Semantic key, reusable; Destroy Temporary removes cards by this key","セマンティックキー(再利用可)。「一時メッセージカードを破棄」はこのキーで一括破棄"),type:"string",optional:!0,defaultValue:""}),Jd({key:"keepOnlyLatestForKey",name:xd("同标记只留最新","Keep Only Latest For Key","同キーは最新のみ保持"),desc:xd("true=创建前先销毁同 key 已有实例(替换);false=堆叠","true = destroy existing cards with the same key before creating (replace); false = stack","true = 作成前に同キーの既存カードを破棄(置換)。false = 積み重ね"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"closable",name:xd("允许手动关闭","Closable","手動クローズを許可"),desc:xd("true 时 UI 显示 × 按钮","When true the UI shows a close button","true のとき UI に × ボタンを表示"),type:"boolean",optional:!0,defaultValue:!0})],returns:zd({type:"entity_ref",refTypeKey:"message_card",desc:xd("新创建的临时消息卡引用","Reference to the newly created temporary card","新規作成した一時カードへの参照")}),legacyActionType:"message_card_create_temporary"}),qd({key:"destroyTemporary",name:xd("销毁临时消息卡","Destroy Temporary Message Card","一時メッセージカードを破棄"),desc:xd("按标记销毁临时消息卡;勾选「销毁全部」时忽略标记","Destroy temporary cards by key; when Destroy All is set the key is ignored","キー指定で一時カードを破棄。「すべて破棄」指定時はキーを無視"),params:[Jd({key:"key",name:xd("卡片标记","Card Key","カードキー"),type:"string",optional:!0,defaultValue:""}),Jd({key:"destroyAll",name:xd("销毁全部","Destroy All","すべて破棄"),type:"boolean",optional:!0,defaultValue:!1})],legacyActionType:"message_card_destroy_temporary"})]}),em({classKey:"content_card",name:xd("内容卡","Content Card","コンテンツカード"),desc:xd("富文本 + 媒体模块 + 按钮的内容卡片(气泡 / 对话框 / 抽屉三种显示样式)","A content card with rich text + media modules + buttons (bubble / dialog / drawer display styles)","リッチテキスト + メディアモジュール + ボタンのコンテンツカード(バブル / ダイアログ / ドロワー表示)"),kind:"entity",groupKey:"ui",entityInfo:Qd({listPath:"vrContentCardList",selectorKey:"content_card"}),methods:[qd({key:"show",name:xd("显示","Show","表示"),desc:xd("以指定样式显示本内容卡。气泡样式目前只在 Tag 中使用;对话框仅 PC 有效,手机端为从下往上的抽屉","Show this card with the given style. Bubble is currently only used by Tags; dialog is PC-only (mobile falls back to a bottom drawer)","このカードを指定スタイルで表示。バブルは現状 Tag のみ。ダイアログは PC のみ有効(モバイルは下からのドロワー)"),params:[Jd({key:"showStyle",name:xd("显示样式","Show Style","表示スタイル"),type:"enum",enumOptions:[$d("bubble",xd("气泡","Bubble","バブル")),$d("dialog",xd("对话框","Dialog","ダイアログ")),$d("drawer",xd("右侧抽屉","Drawer","ドロワー"))],defaultValue:"drawer"})],legacyActionType:"information_content_card_show"}),qd({key:"close",name:xd("关闭","Close","閉じる"),desc:xd("关闭本内容卡(老动作无参=关闭当前打开的内容卡;新模型挂在实例上,当前打开的不是本卡时不动作)","Close this card (the legacy action had no params and closed the currently open card; as an instance method it is a no-op if this card is not the open one)","このカードを閉じる(旧アクションは無引数で「現在開いているカード」を閉じる。インスタンスメソッドでは、開いているのが本カードでなければ何もしない)"),legacyActionType:"information_content_card_close"}),qd({key:"isOpen",name:xd("是否打开中","Is Open","開いているか"),desc:xd("查询本内容卡当前是否处于打开状态","Whether this card is currently open","このカードが現在開いているかどうか"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"content_card_open"})]}),em({classKey:"VisualizationController",name:xd("可视化控制器","Visualization Controller","ビジュアライゼーションコントローラー"),desc:xd("底部浮层里的常驻控制面板(图标 + 标题 + 正文 + 按钮),按 key 管理,多实例以选项卡切换","Persistent control panels in the bottom floating layer (icon + title + body + buttons), managed by key, multiple instances switched via tabs","ボトム浮遊レイヤーの常駐コントロールパネル(アイコン + タイトル + 本文 + ボタン)。キーで管理し、複数インスタンスはタブで切り替え"),kind:"static",groupKey:"ui",methods:[qd({key:"pop",name:xd("弹出","Pop","ポップアップ表示"),desc:xd("弹出一个可视化控制器(内容内联在参数里);再次调用=再加一个实例,除非勾选「同标记只留最新」","Pop up a visualization controller (content inlined in params); calling again adds another instance unless Keep Only Latest is set","コントローラーをポップアップ表示(内容はパラメータに内包)。再呼び出し = インスタンス追加(「同キーは最新のみ保持」指定時を除く)"),params:[Jd({key:"controllerKey",name:xd("控制器标记","Controller Key","コントローラーキー"),desc:xd("分组 key;「隐藏」按 key 移除,同 key 可叠加多个实例","Grouping key; Hide removes by this key, multiple instances may share a key","グループキー。「非表示」はこのキーで削除。同キーで複数インスタンス可"),type:"string"}),Jd({key:"keepOnlyLatestForKey",name:xd("同标记只留最新","Keep Only Latest For Key","同キーは最新のみ保持"),desc:xd("true=替换同 key 已有实例;false=叠加","true = replace existing instances with the same key; false = stack","true = 同キーの既存インスタンスを置換。false = 積み重ね"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"iconSrc",name:xd("图标","Icon","アイコン"),type:"string",optional:!0,defaultValue:""}),Jd({key:"title",name:xd("标题","Title","タイトル"),type:"multilang_str"}),Jd({key:"description",name:xd("正文","Description","本文"),type:"multilang_str",optional:!0}),Jd({key:"buttonList",name:xd("按钮列表","Button List","ボタンリスト"),desc:xd("FreeButton 列表,在参数面板中直接编辑;按钮点击执行各自的 clickActionList","A list of FreeButton edited inline; each button runs its own clickActionList on click","FreeButton のリスト(パラメータパネルで直接編集)。クリックで各自の clickActionList を実行"),type:"any",optional:!0}),Jd({key:"reportToAgentId",name:xd("回传智能体","Report To Agent","報告先エージェント"),desc:xd("仅 AI 工具弹出时由运行时回填:按钮无 actionList 时点击把按钮文字作为用户输入回传给该智能体","Filled by the runtime only for AI-tool pops: buttons without actionList send their text back to this agent as user input","AI ツールからの表示時のみランタイムが設定:actionList を持たないボタンは、クリック時にボタン文字をユーザー入力としてこのエージェントへ返送"),type:"string",optional:!0})],legacyActionType:"visualization_controller_pop"}),qd({key:"hide",name:xd("隐藏","Hide","非表示"),desc:xd("移除指定标记的控制器(标记为空则不处理)","Remove controllers with the given key (no-op when the key is empty)","指定キーのコントローラーを削除(キーが空なら何もしない)"),params:[Jd({key:"controllerKey",name:xd("控制器标记","Controller Key","コントローラーキー"),type:"string"})],legacyActionType:"visualization_controller_hide"}),qd({key:"closeAll",name:xd("关闭全部","Close All","すべて閉じる"),desc:xd("一键关闭全部可视化控制器(不含 flow 步骤栏)","Close all visualization controllers at once (excluding the flow step bar)","すべてのコントローラーを一括で閉じる(flow ステップバーは除く)"),legacyActionType:"visualization_controller_close_all"})]}),em({classKey:"layer",name:xd("图层","Layer","レイヤー"),desc:xd("装修组件的图层分组,整层控制可见性","A layer grouping decoration components, controlling visibility for the whole layer","装飾コンポーネントのレイヤーグループ。レイヤー単位で表示を制御"),kind:"entity",groupKey:"ui",entityInfo:Qd({listPath:"vrLayerList",selectorKey:"layer"}),methods:[qd({key:"setVisible",name:xd("设置可见性","Set Visibility","表示状態を設定"),desc:xd("显示 / 隐藏本图层(老动作支持 layerIdList 批量,迁移时拆成逐个调用)","Show / hide this layer (the legacy action supported batch layerIdList; migration splits into per-layer calls)","このレイヤーを表示 / 非表示にする(旧アクションの layerIdList 一括操作は、移行時に個別呼び出しへ分解)"),params:[Jd({key:"visible",name:xd("是否可见","Visible","表示する"),type:"boolean",defaultValue:!0})],legacyActionType:"layer_change_visibility"}),qd({key:"isVisible",name:xd("是否可见","Is Visible","表示中かどうか"),desc:xd("查询本图层当前的有效可见性","The current effective visibility of this layer","このレイヤーの現在の有効な表示状態"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"layer_visible"})]})]}function Lm(){return[em({classKey:"sticker",name:xd("贴纸","Sticker","ステッカー"),desc:xd("标注空间中某一位置的隐形贴纸;运行时按激活条件(距离/可见)自动激活/取消激活","Invisible sticker marking a spatial position; activated/deactivated automatically by distance/visibility conditions","空間内の位置を示す不可視ステッカー。距離/可視条件により自動的にアクティブ化/解除される"),kind:"entity",groupKey:"space",entityInfo:Qd({listPath:"vrStickerList",selectorKey:"sticker",usableAsVariableType:!0}),methods:[qd({key:"isActive",name:xd("是否激活","Is Active","アクティブか"),desc:xd("查询该贴纸当前是否处于激活状态(无副作用,可进条件槽)","Query whether this sticker is currently active (pure, usable in condition slots)","このステッカーが現在アクティブかを取得(副作用なし、条件スロットで使用可)"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"sticker_active"})],events:[jd({key:"sticker_activated",name:xd("被激活","Activated","アクティブ化された"),desc:xd("进入激活条件范围时触发","Fires when activation conditions become satisfied","アクティブ条件を満たしたとき発火"),legacySignalSource:"sticker",legacySignalType:"sticker_activated"}),jd({key:"sticker_deactivated",name:xd("被取消激活","Deactivated","アクティブ解除された"),desc:xd("离开激活条件范围时触发","Fires when activation conditions stop being satisfied","アクティブ条件を外れたとき発火"),legacySignalSource:"sticker",legacySignalType:"sticker_deactivated"})]}),em({classKey:"space_fence",name:xd("空间围栏","Space Fence","空間フェンス"),desc:xd("标记一块空间边界;用户进出触发事件,可查询用户是否在内","Marks a spatial boundary; fires enter/leave events and supports inside queries","空間の境界を示すフェンス。ユーザーの出入りでイベントが発火し、内側判定を照会できる"),kind:"entity",groupKey:"space",entityInfo:Qd({listPath:"spaceFenceList",selectorKey:"space_fence",usableAsVariableType:!0}),methods:[qd({key:"hasUserInside",name:xd("是否有人","Has User Inside","内部にユーザーがいるか"),desc:xd("查询用户当前是否位于该围栏内(无副作用,可进条件槽)","Query whether the user is currently inside this fence (pure)","ユーザーが現在このフェンス内にいるかを取得(副作用なし)"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"space_fence_user_in"})],events:[jd({key:"enter",name:xd("进入","Enter","進入"),desc:xd("用户进入围栏时触发(受 enterKeepSeconds 持续时间门槛影响)","Fires when the user enters the fence (subject to enterKeepSeconds)","ユーザーがフェンスに入ったとき発火(enterKeepSeconds の影響あり)"),legacySignalSource:"space_fence",legacySignalType:"enter"}),jd({key:"leave",name:xd("离开","Leave","退出"),desc:xd("用户离开围栏时触发(受 leaveKeepSeconds 持续时间门槛影响)","Fires when the user leaves the fence (subject to leaveKeepSeconds)","ユーザーがフェンスから出たとき発火(leaveKeepSeconds の影響あり)"),legacySignalSource:"space_fence",legacySignalType:"leave"})]}),em({classKey:"space_fence_group",name:xd("空间围栏组","Space Fence Group","空間フェンスグループ"),desc:xd("一组空间围栏的并集区域;进入组内任一围栏即视为进入该组","Union region of a group of fences; entering any member fence counts as entering the group","複数フェンスの合併領域。いずれかのフェンスに入るとグループに入ったとみなす"),kind:"entity",groupKey:"space",entityInfo:Qd({listPath:"spaceFenceGroupList",selectorKey:"space_fence_group",usableAsVariableType:!0}),methods:[qd({key:"hasUserInside",name:xd("是否有人","Has User Inside","内部にユーザーがいるか"),desc:xd("查询用户当前是否位于该组任一围栏内(无副作用,可进条件槽)","Query whether the user is inside any fence of this group (pure)","ユーザーがこのグループのいずれかのフェンス内にいるかを取得(副作用なし)"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"space_fence_group_user_in"})],events:[jd({key:"enter",name:xd("进入","Enter","進入"),desc:xd("用户进入该组(任一围栏)时触发","Fires when the user enters the group (any member fence)","ユーザーがグループ(いずれかのフェンス)に入ったとき発火"),legacySignalSource:"space_fence_group",legacySignalType:"enter"}),jd({key:"leave",name:xd("离开","Leave","退出"),desc:xd("用户离开该组(全部围栏)时触发","Fires when the user leaves the group (all member fences)","ユーザーがグループ(すべてのフェンス)から出たとき発火"),legacySignalSource:"space_fence_group",legacySignalType:"leave"})]}),em({classKey:"ray_hitter",name:xd("射线命中器","Ray Hitter","レイヒッター"),desc:xd("扁圆柱形准星停留触发实体;全系统同时只能激活一个,激活期间准星命中检测面并停留计满即触发","Flat-cylinder dwell-trigger entity; only one can be active system-wide, crosshair dwell on a detect face fires the trigger","扁平円柱の照準ドウェル実体。全体で同時にひとつのみアクティブ化でき、照準が検出面に停留すると発火"),kind:"entity",groupKey:"space",entityInfo:Qd({listPath:"rayHitterList",selectorKey:"ray_hitter",usableAsVariableType:!0}),methods:[qd({key:"activate",name:xd("激活","Activate","アクティブ化"),desc:xd("激活该命中器(全系统同时只能激活一个;激活它会自动顶掉当前激活的另一个)","Activate this hitter (only one can be active system-wide; activating replaces the currently active one)","このヒッターをアクティブ化(全体で同時にひとつのみ。現在アクティブなものは自動的に解除される)"),legacyActionType:"ray_hitter_activate"}),qd({key:"deactivate",name:xd("取消激活","Deactivate","アクティブ解除"),desc:xd("取消激活:当前激活的恰是该命中器时才取消,否则不动作(对应老 action 传具体 rayHitterId 的语义)","Deactivate: only takes effect if this hitter is the currently active one (legacy semantics with a specific rayHitterId)","アクティブ解除:現在アクティブなのがこのヒッターの場合のみ解除(旧 action の rayHitterId 指定時の意味)"),legacyActionType:"ray_hitter_deactivate"})],events:[jd({key:"ray_hitter_top_triggered",name:xd("上面命中","Top Face Triggered","上面ヒット"),desc:xd("准星在上圆面停留计满触发(触发后运行时自动取消整个命中器的激活)","Crosshair dwell completed on the top face (auto-deactivates the hitter afterwards)","照準が上面での停留を完了したとき発火(発火後は自動的にアクティブ解除)"),legacySignalSource:"ray_hitter",legacySignalType:"ray_hitter_top_triggered"}),jd({key:"ray_hitter_bottom_triggered",name:xd("下面命中","Bottom Face Triggered","下面ヒット"),desc:xd("准星在下圆面停留计满触发(触发后运行时自动取消整个命中器的激活)","Crosshair dwell completed on the bottom face (auto-deactivates the hitter afterwards)","照準が下面での停留を完了したとき発火(発火後は自動的にアクティブ解除)"),legacySignalSource:"ray_hitter",legacySignalType:"ray_hitter_bottom_triggered"})]}),em({classKey:"sweep",name:xd("扫描点位","Sweep","スイープ(スキャン地点)"),desc:xd("matterport 场景中的虚拟站立点位(仅 VR;AR 无 sweep 概念)","Virtual standing point in a matterport scene (VR only; AR has no sweep concept)","matterport シーン内の仮想スタンドポイント(VR のみ。AR には sweep 概念がない)"),kind:"entity",groupKey:"space",entityInfo:Qd({listPath:"sweepList",selectorKey:"sweep",usableAsVariableType:!0}),methods:[qd({key:"setEnabled",name:xd("设置启用","Set Enabled","有効状態を設定"),desc:xd("设置该点位是否启用;mode=only_enable 时仅启用该点位并禁用其他所有点位(老 action 支持批量 sweepIdList,这里是单实体形态)","Set whether this sweep is enabled; mode=only_enable enables only this sweep and disables all others (legacy action was batch via sweepIdList)","この地点の有効状態を設定。mode=only_enable の場合はこの地点のみ有効化し他を無効化(旧 action は sweepIdList による一括指定)"),params:[Jd({key:"enabled",name:xd("是否启用","Enabled","有効"),type:"boolean",defaultValue:!0}),Jd({key:"mode",name:xd("模式","Mode","モード"),type:"enum",enumOptions:[$d("set",xd("设置指定点位","Set specified sweeps","指定地点を設定")),$d("only_enable",xd("仅启用指定点位(禁用其他)","Only enable specified sweeps (disable others)","指定地点のみ有効化(他を無効化)"))],optional:!0,defaultValue:"set"})],platform:"vr_only",legacyActionType:"sweep_change_enabled"}),qd({key:"changePanorama",name:xd("切换全景","Change Panorama","パノラマを切り替え"),desc:xd("切换该点位全景球显示的内容;panoramaId 传空表示不显示自定义全景球(回到 matterport 原生全景)","Switch the panorama sphere content of this sweep; empty panoramaId hides the custom panorama (back to native matterport)","この地点のパノラマ球の内容を切り替え。panoramaId が空の場合はカスタムパノラマを非表示(matterport ネイティブに戻す)"),params:[Jd({key:"panoramaId",name:xd("全景内容ID","Panorama ID","パノラマID"),desc:xd("该点位 panoramaData.sourceList 中某项的 id;空=不显示全景球","Id of an item in this sweep's panoramaData.sourceList; empty = hide","この地点の panoramaData.sourceList 内項目の id。空=非表示"),type:"string"})],platform:"vr_only",legacyActionType:"sweep_change_panorama"})],events:[jd({key:"arrived",name:xd("到达","Arrived","到達"),desc:xd("相机移动到达该点位时触发(新增事件;老信号体系无对应 sweep 信号,legacy 留空)","Fires when the camera arrives at this sweep (new event; no corresponding legacy sweep signal)","カメラがこの地点に到達したとき発火(新規イベント。旧シグナル体系に対応する sweep シグナルなし)"),platform:"vr_only"})]}),em({classKey:"marker",name:xd("标记","Marker","マーカー"),desc:xd("为点位或装修组件打的分组标记(sweep_marker / component_marker 两类)","Grouping marker attached to sweeps or components (two kinds: sweep_marker / component_marker)","地点や装飾コンポーネントに付けるグルーピングマーカー(sweep_marker / component_marker の2種)"),kind:"entity",groupKey:"space",entityInfo:Qd({listPath:"",selectorKey:"marker",usableAsVariableType:!0}),methods:[qd({key:"setSweepsEnabledByMarker",name:xd("按标记启用点位","Set Sweeps Enabled By Marker","マーカーで地点の有効状態を設定"),desc:xd("批量设置关联了该标记的所有扫描点位的启用状态(仅 sweep_marker 类型标记有效;mode=only_enable 时仅启用关联点位并禁用其他)","Batch-set enabled state of all sweeps associated with this marker (sweep_marker kind only; mode=only_enable disables all others)","このマーカーに関連するすべてのスイープ地点の有効状態を一括設定(sweep_marker 種のみ有効。mode=only_enable は他をすべて無効化)"),params:[Jd({key:"enabled",name:xd("是否启用","Enabled","有効"),type:"boolean",defaultValue:!0}),Jd({key:"mode",name:xd("模式","Mode","モード"),type:"enum",enumOptions:[$d("set",xd("设置关联点位","Set associated sweeps","関連地点を設定")),$d("only_enable",xd("仅启用关联点位(禁用其他)","Only enable associated sweeps (disable others)","関連地点のみ有効化(他を無効化)"))],optional:!0,defaultValue:"set"})],platform:"vr_only",legacyActionType:"sweep_marker_change_enabled"})]}),em({classKey:"background_thread",name:xd("后台线程","Background Thread","バックグラウンドスレッド"),desc:xd("预定义的常驻循环执行单元(executeCount<=0 时无限循环,直到被停止)","Predefined resident looping execution unit (loops forever when executeCount<=0 until stopped)","事前定義された常駐ループ実行ユニット(executeCount<=0 の場合は停止されるまで無限ループ)"),kind:"entity",groupKey:"logic",entityInfo:Qd({listPath:"backgroundThreadList",selectorKey:"background_thread",usableAsVariableType:!1}),methods:[qd({key:"start",name:xd("启动","Start","開始"),desc:xd("启动该后台线程(已在运行则忽略)","Start this background thread (no-op if already running)","このスレッドを開始(既に実行中なら何もしない)"),legacyActionType:"background_thread_start"}),qd({key:"pause",name:xd("暂停","Pause","一時停止"),desc:xd("暂停该后台线程(游标保留,可续跑)","Pause this background thread (cursor preserved, resumable)","このスレッドを一時停止(カーソル保持、再開可能)"),legacyActionType:"background_thread_pause"}),qd({key:"stop",name:xd("停止","Stop","停止"),desc:xd("停止该后台线程并销毁其局部变量","Stop this background thread and dispose its local variables","このスレッドを停止しローカル変数を破棄"),legacyActionType:"background_thread_stop"}),qd({key:"isRunning",name:xd("是否运行","Is Running","実行中か"),desc:xd("查询该线程当前是否处于运行状态(无副作用;条件槽脱糖为 background_thread_status_is(id, 'running'),状态全集 idle/running/paused/stopped)","Query whether this thread is running (pure; desugars to background_thread_status_is(id, 'running'))","このスレッドが実行中かを取得(副作用なし。background_thread_status_is(id, 'running') に脱糖される)"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"background_thread_status_is"})],events:[jd({key:"loopTick",name:xd("每次循环","On Each Loop","ループ毎"),desc:xd("线程每次循环执行时触发(新增事件;老信号体系无对应信号,legacy 留空)","Fires on each loop iteration of the thread (new event; no legacy signal counterpart)","スレッドのループ実行ごとに発火(新規イベント。旧シグナル体系に対応なし)"),payloadFields:[Jd({key:"loopIndex",name:xd("循环序号","Loop Index","ループ番号"),desc:xd("本次启动以来的循环序号(0 起,由运行时注入 _事件.$)","Iteration index since start (0-based, injected into _事件.$)","開始からのループ番号(0 起点、_事件.$ に注入)"),type:"number"})]})]}),em({classKey:"ability",name:xd("能力","Ability","アビリティ"),desc:xd("【旧】带生命周期的可复用动作+触发器封装;已升级为 函数/常驻子程序,保留仅为兼容","[Legacy] Reusable action+trigger capsule with lifecycle; superseded by functions/subprograms, kept for compatibility","【旧】ライフサイクル付きの再利用可能なアクション+トリガー封装。関数/サブプログラムに置き換え済み、互換のため保持"),kind:"entity",groupKey:"logic",entityInfo:Qd({listPath:"abilityList",selectorKey:"ability",usableAsVariableType:!1}),methods:[qd({key:"enable",name:xd("启用","Enable","有効化"),desc:xd("启用该能力:keeping=true 时先创建触发器再执行激活动作,需显式停止","Enable this ability: with keeping=true, triggers are created first then activation actions run; must be stopped explicitly","このアビリティを有効化。keeping=true の場合トリガー作成後に起動アクションを実行、明示的な停止が必要"),params:[Jd({key:"contextVariableOverrides",name:xd("上下文变量覆盖","Context Variable Overrides","コンテキスト変数の上書き"),desc:xd("按 key 覆盖能力上下文变量初始值(类似调用入参;未覆盖的 key 用默认值)","Override initial values of ability context variables by key (like call arguments; unset keys use defaults)","アビリティのコンテキスト変数初期値を key ごとに上書き(呼び出し引数に相当。未設定は既定値)"),type:"any",optional:!0})],legacyActionType:"ability_enable"}),qd({key:"stop",name:xd("停止","Stop","停止"),desc:xd("停止该能力:先移除其创建的全部触发器,再执行结束动作","Stop this ability: remove all created triggers then run stop actions","このアビリティを停止。作成した全トリガーを除去後、終了アクションを実行"),legacyActionType:"ability_stop"}),qd({key:"isActive",name:xd("是否激活","Is Active","アクティブか"),desc:xd("查询该能力当前是否处于激活状态(无副作用,可进条件槽)","Query whether this ability is currently active (pure)","このアビリティが現在アクティブかを取得(副作用なし)"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"ability_active"})]}),em({classKey:"camera_dolly_path",name:xd("运镜路径","Camera Dolly Path","カメラドリーパス"),desc:xd("预设的相机运镜路径(点位序列+节奏);无自身方法,作为 摄像机.运镜 的参数使用","Predefined camera dolly path (sweep sequence + timing); has no methods, used as the argument of Camera.dollyMove","事前定義されたカメラドリーパス(地点列+タイミング)。メソッドなし、Camera.ドリー移動 の引数として使用"),kind:"entity",groupKey:"logic",entityInfo:Qd({listPath:"cameraDollyPathList",selectorKey:"camera_dolly_path",usableAsVariableType:!0})}),em({classKey:"broadcast_channel",name:xd("广播频道","Broadcast Channel","ブロードキャストチャンネル"),desc:xd("具名消息总线;载荷字段由频道 payloadFieldList 定义","Named message bus; payload fields defined by the channel's payloadFieldList","名前付きメッセージバス。ペイロードフィールドはチャンネルの payloadFieldList で定義"),kind:"entity",groupKey:"logic",entityInfo:Qd({listPath:"broadcastChannelList",selectorKey:"broadcast_channel",usableAsVariableType:!1}),events:[jd({key:"broadcast_channel_message",name:xd("收到广播","On Broadcast Message","ブロードキャスト受信"),desc:xd("该频道收到广播时触发;载荷字段由频道 payloadFieldList 动态定义(每字段一个 key),回调里经 _事件.$字段key 承接(老运行时为 _broadcast_msg.$)","Fires when this channel receives a broadcast; payload fields are defined per-channel by payloadFieldList and read via _事件.$ in the callback (legacy runtime used _broadcast_msg.$)","このチャンネルがブロードキャストを受信したとき発火。ペイロードはチャンネルの payloadFieldList で動的に定義され、コールバック内で _事件.$ から読める(旧ランタイムは _broadcast_msg.$)"),legacySignalSource:"broadcast",legacySignalType:"broadcast_channel_message"})]}),em({classKey:"ai_agent",name:xd("AI智能体","AI Agent","AIエージェント"),desc:xd("可对话、可调用工具的 AI 角色;激活后出现在前台聊天面板","Conversational, tool-using AI persona; appears in the chat panel when activated","対話とツール呼び出しができる AI ロール。アクティブ化するとチャットパネルに表示"),kind:"entity",groupKey:"ai",entityInfo:Qd({listPath:"aiAgentList",selectorKey:"ai_agent",usableAsVariableType:!0}),methods:[qd({key:"activate",name:xd("激活","Activate","アクティブ化"),desc:xd("激活该智能体(打开聊天面板并开始会话)","Activate this agent (open chat panel and start the session)","このエージェントをアクティブ化(チャットパネルを開きセッション開始)"),legacyActionType:"ai_agent_activate"}),qd({key:"hide",name:xd("隐藏","Hide","隠す"),desc:xd("隐藏该智能体的聊天界面","Hide this agent's chat UI","このエージェントのチャットUIを隠す"),legacyActionType:"ai_agent_hide"}),qd({key:"wake",name:xd("唤醒AI","Wake","ウェイク"),desc:xd("按选定的唤醒提示词唤醒该智能体,可携带本次系统指令并指定做事风格","Wake this agent with a selected wake prompt, optionally carrying a one-off system instruction and a work style","選択したウェイクプロンプトでこのエージェントを起こす。今回限りのシステム指示と作業スタイルを指定可能"),params:[Jd({key:"wakePromptId",name:xd("唤醒提示词","Wake Prompt","ウェイクプロンプト"),desc:xd("该智能体 wakePromptList 中某项的 id","Id of an item in this agent's wakePromptList","このエージェントの wakePromptList 内項目の id"),type:"string"}),Jd({key:"hasMessage",name:xd("是否携带指令","Has Message","指示を携帯するか"),desc:xd("为 false 时忽略 message 参数","When false the message parameter is ignored","false の場合 message パラメータは無視"),type:"boolean",optional:!0,defaultValue:!1}),Jd({key:"message",name:xd("要告诉AI的话","Message","AIへ伝える内容"),desc:xd("本次唤醒的系统/隐藏指令(多语言,运行时按当前语言 pick)","System/hidden instruction for this wake (multilang, picked by current language)","今回のウェイクのシステム/隠し指示(多言語、現在の言語で pick)"),type:"multilang_str",optional:!0}),Jd({key:"workStyle",name:xd("做事风格","Work Style","作業スタイル"),type:"enum",enumOptions:[$d("auto",xd("AI自行判断","Auto (AI decides)","AIが自動判断")),$d("act_and_reply",xd("做事并回复","Act and reply","実行して返答")),$d("act_no_reply",xd("做事不回复","Act without replying","実行するが返答しない"))],optional:!0,defaultValue:"auto"})],legacyActionType:"ai_agent_wake"}),qd({key:"sendUserMessage",name:xd("发送用户消息","Send User Message","ユーザーメッセージを送信"),desc:xd("激活并模拟用户发送一条消息(走真实 LLM,耗时;未激活则先激活)","Activate and simulate a user message (goes through the real LLM, time-consuming; activates first if needed)","アクティブ化しユーザーメッセージを模擬送信(実際の LLM を経由、時間がかかる。未アクティブなら先にアクティブ化)"),params:[Jd({key:"userMessage",name:xd("用户消息","User Message","ユーザーメッセージ"),desc:xd("多语言,运行时按当前语言 pick","Multilang, picked by current language at runtime","多言語、実行時に現在の言語で pick"),type:"multilang_str"})],supportsAsync:!0,legacyActionType:"ai_agent_activate_and_send_user_message"}),qd({key:"injectDialogue",name:xd("注入对话","Inject Dialogue","対話を注入"),desc:xd("激活并注入一问一答(Q+A 直接进会话上下文,AI 回复前端伪流式播放,不调 LLM)","Activate and inject a Q+A pair into the session context (assistant reply pseudo-streamed on the client, no LLM call)","アクティブ化し Q+A をセッション文脈に注入(AI 返答はフロント擬似ストリーミング、LLM 呼び出しなし)"),params:[Jd({key:"userMessage",name:xd("用户消息","User Message","ユーザーメッセージ"),type:"multilang_str"}),Jd({key:"assistantReply",name:xd("AI回复","Assistant Reply","AI返答"),type:"multilang_str"}),Jd({key:"pseudoStreamCharIntervalMs",name:xd("伪流式节奏(毫秒/字符)","Pseudo-stream Interval (ms/char)","擬似ストリーミング間隔(ms/文字)"),desc:xd("不传按设备类型默认(PC 22ms,手机 30ms)","Defaults by device type when unset (PC 22ms, mobile 30ms)","未指定時はデバイス既定(PC 22ms、モバイル 30ms)"),type:"number",optional:!0})],legacyActionType:"ai_agent_activate_and_inject_dialogue"}),qd({key:"injectHiddenStateMessage",name:xd("注入旁白","Inject Hidden Narration","ナレーションを注入"),desc:xd("注入隐藏状态消息(旁白/上帝视角):AI 知道发生了什么但不回复、UI 不渲染;未激活则静默激活","Inject a hidden-state message (narration): the AI learns what happened but does not reply and the UI does not render it; silently activates if needed","隠し状態メッセージ(ナレーション)を注入。AI は状況を把握するが返答せず、UI にも表示されない。未アクティブなら静かにアクティブ化"),params:[Jd({key:"stateMessage",name:xd("旁白内容","State Message","ナレーション内容"),desc:xd("单一字符串(非多语言,仅进 LLM 上下文);建议第三人称系统口吻,如「用户刚点击了立即购买按钮」","Single string (not multilang; only enters LLM context); third-person system tone recommended","単一文字列(多言語ではない。LLM 文脈にのみ入る)。三人称のシステム口調を推奨"),type:"string"})],legacyActionType:"ai_agent_inject_hidden_state_message"}),qd({key:"injectAssistantMessage",name:xd("注入AI消息","Inject Assistant Message","AIメッセージを注入"),desc:xd("激活并模拟单条 AI 消息(单向 assistant 入库 + 前端伪流式,不调 LLM、不伪造用户提问)","Activate and simulate a single assistant message (one-way, pseudo-streamed on the client, no LLM call, no fake user turn)","アクティブ化し AI メッセージを1件模擬(一方向。フロント擬似ストリーミング、LLM 呼び出しなし)"),params:[Jd({key:"assistantMessage",name:xd("AI消息","Assistant Message","AIメッセージ"),type:"multilang_str"}),Jd({key:"pseudoStreamCharIntervalMs",name:xd("伪流式节奏(毫秒/字符)","Pseudo-stream Interval (ms/char)","擬似ストリーミング間隔(ms/文字)"),desc:xd("不传按设备类型默认(PC 22ms,手机 30ms)","Defaults by device type when unset (PC 22ms, mobile 30ms)","未指定時はデバイス既定(PC 22ms、モバイル 30ms)"),type:"number",optional:!0})],legacyActionType:"ai_agent_activate_and_inject_assistant_message"}),qd({key:"isEnabled",name:xd("是否启用","Is Enabled","有効か"),desc:xd("查询该智能体当前是否已启用(无副作用,可进条件槽)","Query whether this agent is currently enabled (pure)","このエージェントが現在有効かを取得(副作用なし)"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"ai_agent_enabled"}),qd({key:"isActive",name:xd("是否选中","Is Active","選択中か"),desc:xd("查询该智能体是否为当前选中/激活中的智能体(无副作用,可进条件槽)","Query whether this agent is the currently selected/active one (pure)","このエージェントが現在選択/アクティブ中かを取得(副作用なし)"),returns:zd({type:"boolean"}),pure:!0,legacyConditionFunc:"ai_agent_active"})]}),em({classKey:"audio_list",name:xd("音频列表","Audio List","オーディオリスト"),desc:xd("音频中心里的一个播放列表;无自身方法,作为 音频中心.播放列表 的参数使用","A playlist inside the audio center; has no methods, used as the argument of Audio.playList","オーディオセンター内のプレイリスト。メソッドなし、Audio.リスト再生 の引数として使用"),kind:"entity",groupKey:"content",entityInfo:Qd({listPath:"audioCenter.audioListData",selectorKey:"audio_list",usableAsVariableType:!0})}),em({classKey:"audio",name:xd("音频","Audio","オーディオ"),desc:xd("音频列表中的单条音频;无自身方法,作为 音频中心.播放列表 的可选定位参数使用","A single audio inside an audio list; has no methods, used as the optional locator argument of Audio.playList","オーディオリスト内の1件のオーディオ。メソッドなし、Audio.リスト再生 の任意指定引数として使用"),kind:"entity",groupKey:"content",entityInfo:Qd({listPath:"",parentPathSpec:["audioListId"],selectorKey:"audio",usableAsVariableType:!0})}),em({classKey:"target",name:xd("目标点","Target","ターゲット"),desc:xd("空间中的具名目的地点;无自身方法,作为 导航/摄像机移动 的目的地参数使用","Named destination point in space; has no methods, used as the destination argument of navigation/camera moves","空間内の名前付き目的地点。メソッドなし、ナビゲーション/カメラ移動の目的地引数として使用"),kind:"entity",groupKey:"content",entityInfo:Qd({listPath:"vrTargetList",selectorKey:"target",usableAsVariableType:!0})}),em({classKey:"wormhole",name:xd("虫洞","Wormhole","ワームホール"),desc:xd("导航中连接多个空间点的通道(如电梯);同组虫洞互通;无自身方法,仅作导航配置","Passage connecting spatial points in navigation (e.g. elevators); wormholes in the same group interconnect; configuration only","ナビゲーションで空間点をつなぐ通路(エレベーター等)。同グループ内は相互接続。メソッドなし、設定用"),kind:"entity",groupKey:"content",entityInfo:Qd({listPath:"vrWormholeList",selectorKey:"wormhole",usableAsVariableType:!0})}),em({classKey:"obstacle",name:xd("阻隔器","Obstacle","障害物"),desc:xd("在导航时阻断不可行走路径的体积;无自身方法,仅作导航配置","Volume blocking unwalkable paths during navigation; has no methods, configuration only","ナビゲーション時に通行不可経路を遮断するボリューム。メソッドなし、設定用"),kind:"entity",groupKey:"content",entityInfo:Qd({listPath:"vrObstacleList",selectorKey:"obstacle",usableAsVariableType:!0})})]}let bm=!1;function Rm(){if(!bm){bm=!0,sm(um()),sm(gm()),sm(Im()),sm(Om()),sm(Lm());for(const e of rm()){if("entity"!==e.kind)continue;const t=lm(e.classKey);0!==t.length&&(e.methods.some((e=>"addListener"===e.key))||e.methods.push(tm(0,t)))}console.log(`[XrApiCatalog] 目录注册完成:${rm().length} 个类`)}}function fm(e){switch(e){case j.TYPE_2D_IMAGE:return Wo.COMPONENT_2D_IMAGE;case j.TYPE_2D_VIDEO:return Wo.COMPONENT_2D_VIDEO;case j.TYPE_2D_TEXT:return Wo.COMPONENT_2D_TEXT;case j.TYPE_2D_PANEL:return Wo.COMPONENT_2D_PANEL;case j.TYPE_2D_ADVERTISEMENT:return Wo.COMPONENT_2D_ADVERTISEMENT;case j.TYPE_3D_BOX:return Wo.COMPONENT_3D_BOX;case j.TYPE_3D_MODEL:return Wo.COMPONENT_3D_MODEL;case j.TYPE_TAG:return Wo.COMPONENT_TAG;default:return Wo.COMPONENT_2D_IMAGE}}function km(e,t,a,n,s){if(Array.isArray(e)&&0!==e.length)for(const o of e)o.id&&n.has(o.id)||(o.createSourceId||(o.createSourceType=t,o.createSourceId=a),s.push(o),o.id&&n.add(o.id))}function Nm(e){if(!e)return;Array.isArray(e.triggerList)||(e.triggerList=[]);const t=new Set;for(const a of e.triggerList)a.id&&t.add(a.id);const a=[];if(Array.isArray(e.componentList))for(const n of e.componentList){const e=fm(n.type),s=n;if(km(s.triggerList,e,n.id,t,a),s.triggerList=[],n.type===j.TYPE_2D_IMAGE){const e=n;if(Array.isArray(e.sourceList))for(const s of e.sourceList){const e=s;km(e.triggerList,Wo.COMPONENT_2D_IMAGE,n.id,t,a),e.triggerList=[]}}else if(n.type===j.TYPE_2D_VIDEO){const e=n;if(Array.isArray(e.sourceList))for(const s of e.sourceList){const e=s;km(e.triggerList,Wo.COMPONENT_2D_VIDEO,n.id,t,a),e.triggerList=[]}}else if(n.type===j.TYPE_2D_PANEL){const e=n;if(Array.isArray(e.sceneDataList))for(const s of e.sceneDataList){const e=s;km(e.triggerList,Wo.COMPONENT_2D_PANEL,n.id,t,a),e.triggerList=[]}}}if(Array.isArray(e.sweepList))for(const n of e.sweepList){const e=n;km(e.triggerList,"sweep",n.id,t,a),e.triggerList=[]}if(Array.isArray(e.vrFloorList))for(const n of e.vrFloorList){const e=n;km(e.triggerList,"floor",n.id,t,a),e.triggerList=[]}if(Array.isArray(e.xrVirtualFloorList))for(const n of e.xrVirtualFloorList){const e=n;km(e.triggerList,"xr_virtual_floor",n.id,t,a),e.triggerList=[]}if(Array.isArray(e.variableList))for(const n of e.variableList){const e=n;km(e.triggerList,Wo.LOGIC_VARIABLE,n.key,t,a),e.triggerList=[]}const n=e;if(Array.isArray(n.variableExpressionWatcherList)){for(const e of n.variableExpressionWatcherList){const n=e;km(n.triggerList,Wo.LOGIC_CONDITION_WATCHER,e.id,t,a),n.triggerList=[]}Array.isArray(n.conditionWatcherList)&&0!==n.conditionWatcherList.length||(n.conditionWatcherList=n.variableExpressionWatcherList),delete n.variableExpressionWatcherList}if(Array.isArray(e.conditionWatcherList))for(const n of e.conditionWatcherList){const e=n;km(e.triggerList,Wo.LOGIC_CONDITION_WATCHER,n.id,t,a),e.triggerList=[]}if(Array.isArray(e.spaceFenceList))for(const n of e.spaceFenceList){const e=n;km(e.triggerList,Wo.SPACE_FENCE,n.id,t,a),e.triggerList=[]}if(Array.isArray(e.spaceFenceGroupList))for(const n of e.spaceFenceGroupList){const e=n;km(e.triggerList,Wo.SPACE_FENCE_GROUP,n.id,t,a),e.triggerList=[]}a.length>0&&e.triggerList.push(...a)}function Pm(e,t){const a=new hr;return a.key=e,a.placement=t,a}function Mm(e){return e.map((e=>Pm(e.key,e.placement)))}const wm=["left","right","capsule","more","hidden"];function vm(e,t){return wm.includes(e.placement)?Pm(e.key,e.placement):Pm(e.key,Mr(e.key,t))}function Dm(e){return Pm(e.key,"hidden"===e.placement?"hidden":"surface")}function Vm(e){return e.vrMainBarItems&&e.vrMainBarItems.length>0?e.vrMainBarItems.map((e=>vm(e,Or))):Or.map((t=>Pm(t.key,function(e,t){return!1==={fov:t.enabledFovBtn,d3:t.enabledD3ModeBtn,floorplan:t.enabledFloorPlanModeBtn,floor:t.enabledFloorSelectBtn,flow:t.enabledFlowBtn,measure:t.enabledMeasurementBtn,share:t.enabledShare,account:t.enabledStaffLogin||t.enabledGuestLogin}[e]?"hidden":Mr(e,Or)}(t.key,e))))}function Um(e){return e.vrInfoBarItems&&e.vrInfoBarItems.length>0?e.vrInfoBarItems.map(Dm):Lr.map((t=>Pm(t.key,function(e,t){switch(e){case"minimap":return t.enabledMinimap?"surface":"hidden";case"fullscreen":return t.enabledFullScreen?"surface":"hidden";case"hamburger":return t.enabledHamburgerMenu?"surface":"hidden";case"audio":return"hidden";default:return"surface"}}(t.key,e))))}function xm(e){return e.arBottomItems&&e.arBottomItems.length>0?e.arBottomItems.map((e=>vm(e,br))):Mm(br)}function Fm(e){return e.arInfoItems&&e.arInfoItems.length>0?e.arInfoItems.map(Dm):Mm(Rr)}function Bm(e){e.vrMainBarItems&&0!==e.vrMainBarItems.length||(e.vrMainBarItems=Vm(e)),e.vrInfoBarItems&&0!==e.vrInfoBarItems.length||(e.vrInfoBarItems=Um(e)),e.arBottomItems&&0!==e.arBottomItems.length||(e.arBottomItems=xm(e)),e.arInfoItems&&0!==e.arInfoItems.length||(e.arInfoItems=Fm(e))}function Gm(e){if(!e)return;let t=e.vrPlayerUiSettings;t||(t=new Qn,e.vrPlayerUiSettings=t),void 0===t.enabledMinimap&&["enabledFovBtn","enabledD3ModeBtn","enabledFloorPlanModeBtn","enabledFloorSelectBtn","enabledMinimap","enabledMeasurementBtn","enabledShare","enabledFullScreen"].forEach((e=>{t[e]=!0})),void 0===t.enabledFlowBtn&&(t.enabledFlowBtn=!1),void 0===t.enabledStaffLogin&&(t.enabledStaffLogin=!0),void 0===t.enabledGuestLogin&&(t.enabledGuestLogin=!0),void 0===t.enabledHamburgerMenu&&(t.enabledHamburgerMenu=!0),void 0===t.vrDefaultGlobalMute&&(t.vrDefaultGlobalMute=!1),void 0===t.arDefaultGlobalMute&&(t.arDefaultGlobalMute=!1),t.playerAppearance||(t.playerAppearance=new K),Bm(t)}function Km(e){e&&(function(e,t){const a=e,n=e=>{if(Array.isArray(e))for(const a of e)t(a)};if(n(e.variableList),Array.isArray(e.abilityList))for(const t of e.abilityList){const e=t;if(n(e.contextVariableList),n(e.activeActionListLocalVariableList),n(e.stopActionListLocalVariableList),Array.isArray(e.triggerList))for(const t of e.triggerList)n(t.localVariableList)}if(Array.isArray(a.vrFlowList))for(const e of a.vrFlowList){const t=e;if(n(t.flowScopeVariableList),Array.isArray(t.stepList))for(const e of t.stepList){const t=e;if(n(t.stepScopeVariableList),Array.isArray(t.triggerList))for(const e of t.triggerList){const t=e?.trigger;t&&n(t.localVariableList)}if(Array.isArray(t.finishInjectTriggerList))for(const e of t.finishInjectTriggerList)n(e.localVariableList);if(Array.isArray(t.buttonList))for(const e of t.buttonList)n(e.localVariableList)}}if(Array.isArray(e.triggerList))for(const t of e.triggerList)n(t.localVariableList);if(Array.isArray(e.backgroundThreadList))for(const t of e.backgroundThreadList)n(t.localVariableList);const s=e.prepareSettings;if(s&&(n(s.vrInitLocalVariableList),n(s.arInitLocalVariableList),n(s.allInitLocalVariableList)),Array.isArray(e.componentList))for(const t of e.componentList){const e=t;if(n(e.localVariableList),Array.isArray(e.triggerList))for(const t of e.triggerList)n(t.localVariableList)}if(Array.isArray(e.messageCardList))for(const t of e.messageCardList){const e=t;if(Array.isArray(e.buttonList))for(const t of e.buttonList)n(t.localVariableList)}}(e,Hm),function(e){if(Array.isArray(e.componentList))for(const t of e.componentList){if(t.type!==j.TYPE_2D_PANEL)continue;const e=t;if(Array.isArray(e.sceneDataList))for(const t of e.sceneDataList){const e=t;"enum-modifier"===e.mode&&(e.mode="variable-modifier");const a=e.enumModifierModeSettings;if(a&&a.variableKey&&(e.variableModifierModeSettings||(e.variableModifierModeSettings={}),e.variableModifierModeSettings.variableKey||(e.variableModifierModeSettings.variableKey=a.variableKey),e.variableModifierModeSettings.variableType||(e.variableModifierModeSettings.variableType="string"),e.enumModifierModeSettings=void 0),Array.isArray(t.buttonDataList))for(const e of t.buttonDataList){const t=e,a=t.enumOptionValue;if(void 0!==a&&""!==a){if(void 0!==t.optionValue&&""!==t.optionValue&&null!==t.optionValue||(t.optionValue=a),!t.optionLabel||!t.optionLabel.original_content){const e=new E;e.original_content=String(a),e.only_use_original_content=!0,t.optionLabel=e}t.enumOptionValue=void 0}}}}}(e),function(e){const t=e=>{if(e){if(e.actionType&&(e=>{if(e&&"logic_random_pick_enum"===e.actionType){e.actionType="logic_random_pick_from_recommend_options";const t=e.params||{};e.params={target:t.target??{scope:"global",key:""}}}})(e),Array.isArray(e.ifActionList))for(const a of e.ifActionList)t(a);if(Array.isArray(e.elseActionList))for(const a of e.elseActionList)t(a);if(Array.isArray(e.actionList))for(const a of e.actionList)t(a)}},a=e=>{if(Array.isArray(e))for(const a of e)t(a)};if(Array.isArray(e.triggerList))for(const t of e.triggerList)a(t.actionList);if(Array.isArray(e.componentList))for(const t of e.componentList)if(Array.isArray(t.triggerList))for(const e of t.triggerList)a(e.actionList);if(Array.isArray(e.abilityList))for(const t of e.abilityList){const e=t;if(a(e.activeActionList),a(e.stopActionList),Array.isArray(e.triggerList))for(const t of e.triggerList)a(t.actionList)}if(Array.isArray(e.vrFlowList))for(const t of e.vrFlowList){const e=t;if(Array.isArray(e.stepList))for(const t of e.stepList){const e=t;if(a(e.enterActionList),Array.isArray(e.arriveActionList))for(const t of e.arriveActionList)a(t.actionList);if(Array.isArray(e.triggerList))for(const t of e.triggerList){const e=t?.trigger;e&&a(e.actionList)}if(Array.isArray(e.finishInjectTriggerList))for(const t of e.finishInjectTriggerList)a(t.actionList);if(Array.isArray(e.buttonList))for(const t of e.buttonList)a(t.clickActionList)}}if(Array.isArray(e.backgroundThreadList))for(const t of e.backgroundThreadList)a(t.actionList);const n=e.prepareSettings;if(n&&(a(n.vrInitCompleteActionList),a(n.arInitCompleteActionList),a(n.allInitCompleteActionList)),Array.isArray(e.messageCardList))for(const t of e.messageCardList)if(Array.isArray(t.buttonList))for(const e of t.buttonList)a(e.clickActionList);if(Array.isArray(e.monitorList))for(const t of e.monitorList)if(Array.isArray(t.componentList))for(const e of t.componentList)a(e.clickActionList)}(e))}function Hm(e){if(!e)return;const t=e;if("enum"!==e.type)return;e.type="string";const a=(Array.isArray(t.enumOptions)?t.enumOptions:[]).map((e=>{const t=new pe;t.value=e;const a=new E;return a.original_content=e,a.only_use_original_content=!0,t.label=a,t}));Array.isArray(e.stringRecommendOptions)&&0!==e.stringRecommendOptions.length||(e.stringRecommendOptions=a),e.stringDefaultValue||(e.stringDefaultValue=t.enumDefaultValue??""),t.enumOptions=void 0,t.enumDefaultValue=void 0}function Wm(e){const t=e?.monitorList;if(Array.isArray(t))for(const e of t){if(!e)continue;if(e.displayMode!==Ns.POPUP&&e.displayMode!==Ns.FLOATING&&(e.displayMode=Ns.FLOATING),Array.isArray(e.sceneDataList)&&e.sceneDataList.length>0){e.defaultSceneId&&e.sceneDataList.some((t=>t&&t.id===e.defaultSceneId))||(e.defaultSceneId=e.sceneDataList[0].id);continue}const t=new Ps;t.name="画面 1",void 0!==e.size&&null!==e.size&&(t.size=e.size),void 0!==e.radius&&null!==e.radius&&(t.radius=e.radius),void 0!==e.backgroundColor&&null!==e.backgroundColor&&(t.backgroundColor=e.backgroundColor),void 0!==e.backgroundBlur&&null!==e.backgroundBlur&&(t.backgroundBlur=e.backgroundBlur),t.componentList=Array.isArray(e.componentList)?e.componentList:[],e.sceneDataList=[t],e.defaultSceneId=t.id}}const Xm="expression";function Ym(e){return e?.root?Jm(e.root):""}function Jm(e){const t=(e.children||[]).filter((e=>!!e));if(0===t.length)return"";const a=t.map((e=>{if(e.kind===Ze.GROUP){const t=Jm(e);return""===t?"false":`(${t})`}return function(e){if(e.funcName===Xm){const t=(e.args||[])[0],a=t&&null!=t.literalValue?String(t.literalValue).trim():"",n=a?`(${a})`:"false";return e.negate?`!(${n})`:n}const t=(e.args||[]).map(zm).join(", "),a=`${e.funcName}(${t})`;return e.negate?`!(${a})`:a}(e)})),n="or"===e.logicalOp?" || ":" && ",s=1===a.length?a[0]:a.join(n);return e.negate?`!(${s})`:s}function zm(e){if(e.argKind===et.VAR_REF){const t=e.variableScope||"global",a=e.variableKey||"";return a?"global"===t?`$${a}`:`_${t}.$${a}`:"undefined"}if(e.argKind===et.ARRAY_LITERAL)return`[${(e.arrayItems||[]).map(qm).join(", ")}]`;const t=e.literalType,a=e.literalValue;return"number"===t?$m("number"==typeof a?a:Number(a)||0):"boolean"===t?a?"true":"false":jm("string"==typeof a?a:String(a??""))}function qm(e){return"number"===e.type?$m("number"==typeof e.value?e.value:Number(e.value)||0):"boolean"===e.type?e.value?"true":"false":jm("string"==typeof e.value?e.value:String(e.value??""))}function jm(e){return JSON.stringify(e)}function $m(e){return Number.isFinite(e)?String(e):"0"}function Qm(e,t){const a={deps:[],hasCustomJs:!1};return e?.root?(Zm(e.root,t,a),a):a}function Zm(e,t,a){for(const n of e.children||[])n&&(n.kind===Ze.GROUP?Zm(n,t,a):ep(n,t,a))}function ep(e,t,a){if(e.funcName===Xm)return void(a.hasCustomJs=!0);for(const t of e.args||[])t&&t.argKind===et.VAR_REF&&t.variableKey&&a.deps.push({sourceType:"variable",sourceId:String(t.variableKey)});const n=t[e.funcName];if(!n||"none"===n.kind)return;if("no-id"===n.kind)return void a.deps.push({sourceType:n.sourceType,sourceId:"*"});const s=(e.args||[])[n.argIndex];let o="*";s&&s.argKind===et.LITERAL&&null!=s.literalValue&&(o=String(s.literalValue)),a.deps.push({sourceType:n.sourceType,sourceId:o})}function tp(e){const t=Math.min(100,Math.max(0,e.percent)),a="horizontal"===e.direction,n={transition:a?"width 0.3s ease":"height 0.3s ease"};a?(n.width=t+"%",n.height="100%"):(n.width="100%",n.height=t+"%",n.position="absolute",n.bottom="0",n.left="0");const s=e.color,o=e.colorEnd&&""!==e.colorEnd?e.colorEnd:e.color,r=a?"90deg":"0deg";switch(e.style){case"gradient":n.background=`linear-gradient(${r}, ${s}, ${o})`;break;case"striped":n.background=`linear-gradient(45deg,\n rgba(255,255,255,0.18) 25%, transparent 25%,\n transparent 50%, rgba(255,255,255,0.18) 50%,\n rgba(255,255,255,0.18) 75%, transparent 75%, transparent) ,\n ${s}`,n.backgroundSize="14px 14px, auto";break;case"striped-animated":n.background=`linear-gradient(45deg,\n rgba(255,255,255,0.22) 25%, transparent 25%,\n transparent 50%, rgba(255,255,255,0.22) 50%,\n rgba(255,255,255,0.22) 75%, transparent 75%, transparent) ,\n ${s}`,n.backgroundSize="14px 14px, auto",n.animation="vrtalk-progress-stripes 0.8s linear infinite";break;case"glow":n.background=`linear-gradient(180deg,\n rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.0) 50%) ,\n ${s}`,n.boxShadow=`0 0 6px ${s}66 inset, 0 0 4px ${s}88`;break;default:n.background=s}return n}const ap="\n@keyframes vrtalk-progress-stripes {\n from { background-position: 0 0, 0 0; }\n to { background-position: 28px 0, 0 0; }\n}\n",np=600,sp=32;function op(e,t,a,n,s){return ip(e,rp(e,t),a,n,t,s)}function rp(e,t){const n=e.points||[];if(n.length<2)return{legs:[],totalLengthM:0,sampleStepUsedM:e.sampleStepM};const s=!!e.closed&&n.length>=3,o=s?bl.NONE:e.roundTrip||bl.NONE,r=s?n.length:n.length-1,i=[];let l=e.speedMps>0?e.speedMps:.1;for(let e=0;e<r;e++){const t=n[e].speedOverrideMps;null!=t&&t>0&&(l=t),i.push(l)}let c=e.sampleStepM>.05?e.sampleStepM:.05;const d=function(e,t){let a=0;for(let t=1;t<e.length;t++)a+=Dp(e[t-1].position,e[t].position);return t&&e.length>=3&&(a+=Dp(e[e.length-1].position,e[0].position)),a}(n,s),m=o===bl.NONE?1:2;e.smoothing===Rl.SMOOTH&&d/c*m>np&&(c=d*m/np);const p=function(e,t,n,s,o,r){const i=e.mode===Ol.GROUND,l=i&&e.groundOffset||0,c=i&&r?r:null,d=(e,t,n,s)=>{let o=e.y;if(c){const t=c(e.x,e.y,e.z);null!=t&&isFinite(t)&&(o=t)}const r=new a(e.x,o+l,e.z);return{position:r,groundY:o,isControlPoint:!!t,controlPointId:t?t.id:"",segmentLength:s?Dp(s.position,r):0,speedMps:n,hoverMs:t?t.hoverMs:0,turnMode:t&&t.turnMode?t.turnMode:"while-moving",turnSpeedDegPerSec:t&&t.turnSpeedDegPerSec&&t.turnSpeedDegPerSec>0?t.turnSpeedDegPerSec:120}},m=[],p=t[0];m.push(d(p.position,p,n[0],null));const _=s?t.length:t.length-1;for(let a=0;a<_;a++){const r=t[a],i=t[(a+1)%t.length],l=n[a];if(e.smoothing===Rl.SMOOTH){const e=s?t[(a-1+t.length)%t.length]:t[a-1]||r,n=s?t[(a+2)%t.length]:t[a+2]||i,c=[];for(let t=1;t<=sp;t++)c.push(Pp(e.position,r.position,i.position,n.position,t/sp));let p=0,_=r.position;const y=[];for(const e of c)p+=Dp(_,e),y.push(p),_=e;const u=Math.max(1,Math.ceil(p/o));for(let e=1;e<=u;e++){const t=p*e/u,a=e===u?i.position:Mp(r.position,c,y,t);m.push(d(a,e===u?i:null,l,m[m.length-1]))}}else m.push(d(i.position,i,l,m[m.length-1]))}return m}(e,n,i,s,c,t),_=[p];o!==bl.NONE&&p.length>=2&&_.push(function(e){const t=[];for(let n=e.length-1;n>=0;n--){const s=e[n],o=t[t.length-1]||null;t.push({position:new a(s.position.x,s.position.y,s.position.z),groundY:s.groundY,isControlPoint:s.isControlPoint,controlPointId:s.controlPointId,segmentLength:o?e[n+1].segmentLength:0,speedMps:o?e[n+1].speedMps:s.speedMps,hoverMs:o?s.hoverMs:0,turnMode:s.turnMode,turnSpeedDegPerSec:s.turnSpeedDegPerSec})}return t}(p));let y=0;return _.forEach((e=>e.forEach((e=>y+=e.segmentLength)))),{legs:_,totalLengthM:y,sampleStepUsedM:c}}function ip(e,t,n,s,o,r){const i=[],l={totalLengthM:t.totalLengthM,estimatedDurationMs:0,keyframeCount:0,sampleStepUsedM:t.sampleStepUsedM};if(0===t.legs.length||t.legs[0].length<2)return{keyFrameList:i,stats:l};const c=e.orientMode!==Ll.NONE,d=e.orientMode===Ll.FULL;let m=new a(s.x,s.y,s.z),_=0;const u=Ap(e,s),g=(e,t,n,s,o)=>{const r=new de;if(r.id=y.randomUUID(),r.name=o,r.isTransformTranslate=!0,r.transformTranslate=new a(e.x,e.y,e.z),c&&t){r.isTransformRotate=!0;const e=Sp(u.forwardLocal,u.upLocal,t.yawDeg,t.pitchDeg),n=function(e,t){const n=Rp(bp(e.x,e.y,e.z)),s=Rp(t),o=[s,{x:s.x+180,y:180-s.y,z:s.z+180}];let r=null,i=1/0;for(const e of o){const t=new a(Lp(e.x,n.x),Lp(e.y,n.y),Lp(e.z,n.z)),s=Math.abs(t.x-n.x)+Math.abs(t.y-n.y)+Math.abs(t.z-n.z);s<i-1e-9&&(r=t,i=s)}return r}(m,e);r.transformRotate=n,m=new a(n.x,n.y,n.z)}r.easingAnimationSettings.easeFunction=p.LINEAR,r.easingAnimationSettings.duration=Math.max(1,Math.round(n)),r.easingAnimationSettings.waitTime=Math.max(0,Math.round(s)),_+=r.easingAnimationSettings.duration+r.easingAnimationSettings.waitTime,i.push(r)},E=t.legs.map((e=>function(e,t,a){const n=[];let s=0,o=0;for(let t=0;t<e.length;t++){const r=0===t?e[0].position:e[t-1].position,i=0===t?e[1]?e[1].position:e[0].position:e[t].position,l=i.x-r.x,c=i.y-r.y,d=i.z-r.z,m=Math.sqrt(l*l+c*c+d*d);m>1e-6&&(s=xp(Math.atan2(l,d))+0,o=a?-xp(Math.asin(Vp(c/m,-1,1))):0),n.push({yawDeg:s,pitchDeg:o})}return n}(e,0,d))),T=r&&r.supportHalfDistM?r.supportHalfDistM:0,A=e.mode===Ol.GROUND&&!!o&&T>.01,C=(t,n)=>{if(!A)return{position:t.position,orient:n};const s=hp(t.position.x,t.groundY,t.position.z,n.yawDeg,d,o,T,e.groundOffset||0);return{position:new a(t.position.x,s.y,t.position.z),orient:{yawDeg:n.yawDeg,pitchDeg:d?s.pitchDeg:0}}},S=t.legs[0],h=C(S[0],E[0][0]),I=h.orient;let O=h.position,L=h.orient.pitchDeg;if(e.startMode===fl.WALK_IN){const t=Dp(n,h.position),a=S.length>1?S[1].speedMps:e.speedMps;g(h.position,I,t/Math.max(.1,a)*1e3,0,"起点")}else g(h.position,I,1,0,"起点");let b=0;for(let a=0;a<t.legs.length;a++){const n=t.legs[a],s=E[a];if(a>0){const o=t.legs[a-1],r=o[o.length-1].hoverMs,i=C(n[0],s[0]);g(i.position,i.orient,e.turnDurationMs,r,"掉头"),O=i.position,L=i.orient.pitchDeg}for(let e=1;e<n.length;e++){const t=n[e],o=n[e-1];let r=1===e&&a>0?0:o.hoverMs;if(c&&e>1&&o.isControlPoint&&o.turnMode===kl.TURN_THEN_GO){const t=Op(s[e-1],s[e]);t>2&&(b++,g(O,{yawDeg:s[e].yawDeg,pitchDeg:L},t/Math.max(10,o.turnSpeedDegPerSec)*1e3,r,`转身 ${b}`),r=0)}const i=t.segmentLength/Math.max(.1,t.speedMps)*1e3;b++;const l=C(t,s[e]);g(l.position,l.orient,i,r,`路径 ${b}`),O=l.position,L=l.orient.pitchDeg}if(e.closed&&a===t.legs.length-1&&n.length>1){const e=n[n.length-1];if(c&&e.isControlPoint&&e.turnMode===kl.TURN_THEN_GO){const t=Op(s[n.length-1],I);t>2&&g(O,{yawDeg:I.yawDeg,pitchDeg:I.pitchDeg},t/Math.max(10,e.turnSpeedDegPerSec)*1e3,e.hoverMs,"回正")}}}if(t.legs.length>1){const a=t.legs[t.legs.length-1],n=a[a.length-1].hoverMs;g(O,I,e.turnDurationMs,n,"回正")}return{keyFrameList:i,stats:{totalLengthM:t.totalLengthM,estimatedDurationMs:_,keyframeCount:i.length,sampleStepUsedM:t.sampleStepUsedM}}}function lp(e){return e.roundTrip!==bl.BACK_LOOP||e.closed?e.closed?le.LOOP_FROM_ORIGINAL_STATE:le.STAY_AT_LAST_FRAME:le.LOOP_FROM_ORIGINAL_STATE}function cp(e,t){if(!e||e.length<=2)return(e||[]).map((e=>new a(e.x,e.y,e.z)));const n=new Array(e.length).fill(!1);n[0]=n[e.length-1]=!0;const s=[[0,e.length-1]];for(;s.length>0;){const[a,o]=s.pop();let r=-1,i=-1;for(let t=a+1;t<o;t++){const n=wp(e[t],e[a],e[o]);n>r&&(r=n,i=t)}r>t&&i>0&&(n[i]=!0,s.push([a,i],[i,o]))}const o=[];for(let t=0;t<e.length;t++)n[t]&&o.push(new a(e[t].x,e[t].y,e[t].z));return o}function dp(e,t,a){const n=Math.cos(Up(e)/2),s=Math.sin(Up(e)/2),o=Math.cos(Up(t)/2),r=Math.sin(Up(t)/2),i=Math.cos(Up(a)/2),l=Math.sin(Up(a)/2);return[s*o*i+n*r*l,n*r*i-s*o*l,n*o*l+s*r*i,n*o*i-s*r*l]}function mp(e){const t=dp(e.x,e.y,e.z),a=Math.sqrt(t[3]*t[3]+t[1]*t[1]);if(a<1e-6)return 0;let n=xp(2*Math.atan2(t[1]/a,t[3]/a));for(;n>180;)n-=360;for(;n<-180;)n+=360;return n}function pp(e,t,n){const s=Np(function(e,t){return Np(kp(Up(e)),fp(Up(t)))}(t,n),function(e){const t=dp(e.x,e.y,e.z),a=Math.sqrt(t[3]*t[3]+t[1]*t[1]);return a<1e-6?[1,0,0,0,1,0,0,0,1]:function(e){const[t,a,n,s]=e,o=t+t,r=a+a,i=n+n,l=t*o,c=t*r,d=t*i,m=a*r,p=a*i,_=n*i,y=s*o,u=s*r,g=s*i;return[1-(m+_),c-g,d+u,c+g,1-(l+_),p-y,d-u,p+y,1-(l+m)]}(function(e,t){const[a,n,s,o]=e,[r,i,l,c]=t;return[o*r+a*c+n*l-s*i,o*i-a*l+n*c+s*r,o*l+a*i-n*r+s*c,o*c-a*r-n*i-s*l]}(function(e){return[-e[0],-e[1],-e[2],e[3]]}([0,t[1]/a,0,t[3]/a]),t))}(e)),o=Rp(s);return new a(o.x,o.y,o.z)}function _p(e){const t=Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z);return t<1e-9?new a(0,0,1):new a(e.x/t,e.y/t,e.z/t)}function yp(e,t){return new a(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)}function up(e,t){const n=_p(e);let s=yp(t,n);s.x*s.x+s.y*s.y+s.z*s.z<1e-9&&(s=yp(new a(0,0,1),n),s.x*s.x+s.y*s.y+s.z*s.z<1e-9&&(s=yp(new a(1,0,0),n))),s=_p(s);const o=yp(n,s);return[s.x,o.x,n.x,s.y,o.y,n.y,s.z,o.z,n.z]}function gp(e){return[e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]]}function Ep(e,t){return new a(e[0]*t.x+e[1]*t.y+e[2]*t.z,e[3]*t.x+e[4]*t.y+e[5]*t.z,e[6]*t.x+e[7]*t.y+e[8]*t.z)}function Tp(e,t){const n=Up(e),s=Up(t);return new a(Math.cos(s)*Math.sin(n),-Math.sin(s),Math.cos(s)*Math.cos(n))}function Ap(e,t){const n=gp(bp(t.x,t.y,t.z)),s=_p(Ep(n,Tp(mp(t)-(e.forwardYawOffsetDeg||0),0)));let o=_p(Ep(n,new a(0,1,0)));const r=o.x*s.x+o.y*s.y+o.z*s.z;o=_p(new a(o.x-r*s.x,o.y-r*s.y,o.z-r*s.z));const i=Ip(o,s,e.upAdjustDeg||0);return{forwardLocal:_p(Ip(s,i,e.forwardAdjustDeg||0)),upLocal:_p(i)}}function Cp(e,t,n,s){const o=Rp(Sp(e,t,n,s));return new a(o.x,o.y,o.z)}function Sp(e,t,n,s){return Np(up(Tp(n,s),new a(0,1,0)),gp(up(e,t)))}function hp(e,t,a,n,s,o,r,i){const l=Math.max(.05,r),c=Up(n),d=Math.sin(c),m=Math.cos(c),p=t+.5,_=o(e+d*l,p,a+m*l),y=o(e-d*l,p,a-m*l),u=null!==_&&isFinite(_)?_:t,g=null!==y&&isFinite(y)?y:t;return{y:Math.max((u+g)/2,t)+i,pitchDeg:s?-xp(Math.atan2(u-g,2*l)):0}}function Ip(e,t,n){const s=_p(t),o=Up(n),r=Math.cos(o),i=Math.sin(o),l=e.x*s.x+e.y*s.y+e.z*s.z,c=yp(s,e);return new a(e.x*r+c.x*i+s.x*l*(1-r),e.y*r+c.y*i+s.y*l*(1-r),e.z*r+c.z*i+s.z*l*(1-r))}function Op(e,t){let a=Math.abs(t.yawDeg-e.yawDeg)%360;a>180&&(a=360-a);const n=Math.abs(t.pitchDeg-e.pitchDeg);return Math.max(a,n)}function Lp(e,t){let a=e;for(;a-t>180;)a-=360;for(;a-t<-180;)a+=360;return a}function bp(e,t,a){return Np(Np(fp(Up(e)),kp(Up(t))),function(e){const t=Math.cos(e),a=Math.sin(e);return[t,-a,0,a,t,0,0,0,1]}(Up(a)))}function Rp(e){const t=e[0],a=e[1],n=e[2],s=e[4],o=e[5],r=e[7],i=e[8],l=Math.asin(Vp(n,-1,1));let c,d;return Math.abs(n)<.9999999?(c=Math.atan2(-o,i),d=Math.atan2(-a,t)):(c=Math.atan2(r,s),d=0),{x:xp(c),y:xp(l),z:xp(d)}}function fp(e){const t=Math.cos(e),a=Math.sin(e);return[1,0,0,0,t,-a,0,a,t]}function kp(e){const t=Math.cos(e),a=Math.sin(e);return[t,0,a,0,1,0,-a,0,t]}function Np(e,t){const a=new Array(9).fill(0);for(let n=0;n<3;n++)for(let s=0;s<3;s++)a[3*n+s]=e[3*n]*t[s]+e[3*n+1]*t[3+s]+e[3*n+2]*t[6+s];return a}function Pp(e,t,a,n,s){const o=0+Math.max(1e-4,Math.sqrt(Dp(e,t))),r=o+Math.max(1e-4,Math.sqrt(Dp(t,a))),i=r+Math.max(1e-4,Math.sqrt(Dp(a,n))),l=o+(r-o)*s,c=vp(e,t,(l-0)/(o-0)),d=vp(t,a,(l-o)/(r-o)),m=vp(a,n,(l-r)/(i-r)),p=vp(c,d,(l-0)/(r-0)),_=vp(d,m,(l-o)/(i-o));return vp(p,_,(l-o)/(r-o))}function Mp(e,t,a,n){let s=e,o=0;for(let e=0;e<t.length;e++){if(a[e]>=n){const r=a[e]-o,i=r>1e-9?(n-o)/r:1;return vp(s,t[e],i)}s=t[e],o=a[e]}return t.length>0?t[t.length-1]:e}function wp(e,t,a){const n=a.x-t.x,s=a.y-t.y,o=a.z-t.z,r=e.x-t.x,i=e.y-t.y,l=e.z-t.z,c=n*n+s*s+o*o,d=c>1e-12?Vp((r*n+i*s+l*o)/c,0,1):0,m=t.x+n*d,p=t.y+s*d,_=t.z+o*d;return Math.sqrt((e.x-m)**2+(e.y-p)**2+(e.z-_)**2)}function vp(e,t,n){return new a(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n,e.z+(t.z-e.z)*n)}function Dp(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2+(e.z-t.z)**2)}function Vp(e,t,a){return Math.min(a,Math.max(t,e))}function Up(e){return e*Math.PI/180}function xp(e){return 180*e/Math.PI}return t})()));
|
|
2
2
|
//# sourceMappingURL=vrtalk-web-sdk.js.map
|