@galacean/cli 2.0.0-alpha.16 → 2.0.0-alpha.18

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.
Files changed (92) hide show
  1. package/dist/cli.bundle.cjs +136301 -135290
  2. package/dist/viewport-client/_static/{Accordion-8e8abfeb.js → Accordion-0c911a1d.js} +1 -1
  3. package/dist/viewport-client/_static/{AmbientLightAsset-20ad0c84.js → AmbientLightAsset-2b564ea8.js} +1 -1
  4. package/dist/viewport-client/_static/{AnimationClipAsset-fc42dad4.js → AnimationClipAsset-087c9158.js} +1 -1
  5. package/dist/viewport-client/_static/{AnimatorControllerAsset-2d28e356.js → AnimatorControllerAsset-f825b153.js} +1 -1
  6. package/dist/viewport-client/_static/{AnimatorStore-41d7a260.js → AnimatorStore-ddc4fa7d.js} +1 -1
  7. package/dist/viewport-client/_static/{AssetViewer-ee5df0a5.js → AssetViewer-0aeaf852.js} +1 -1
  8. package/dist/viewport-client/_static/{AudioAsset-4a8dee15.js → AudioAsset-d77ef263.js} +1 -1
  9. package/dist/viewport-client/_static/{AudioComponent-b49da961.js → AudioComponent-b970d050.js} +1 -1
  10. package/dist/viewport-client/_static/{Callout-5731416b.js → Callout-277ec44d.js} +1 -1
  11. package/dist/viewport-client/_static/{CameraComponent-d400a082.js → CameraComponent-b705e4a3.js} +1 -1
  12. package/dist/viewport-client/_static/{Component-49fa7a68.js → Component-96f61c04.js} +1 -1
  13. package/dist/viewport-client/_static/{DirectLight-33282025.js → DirectLight-7cbe4197.js} +1 -1
  14. package/dist/viewport-client/_static/{FontAsset-68e03b27.js → FontAsset-36b9cafc.js} +1 -1
  15. package/dist/viewport-client/_static/{FormItemArray-1eb0a655.js → FormItemArray-352ed0ac.js} +1 -1
  16. package/dist/viewport-client/_static/{GlTFAsset-f105daea.js → GlTFAsset-701bbfce.js} +1 -1
  17. package/dist/viewport-client/_static/{IconEdit-e6cba426.js → IconEdit-55a2716d.js} +1 -1
  18. package/dist/viewport-client/_static/{IconPointFilled-7903ac4b.js → IconPointFilled-b933141c.js} +1 -1
  19. package/dist/viewport-client/_static/{LightBaseComponent-64fe62fe.js → LightBaseComponent-307de151.js} +1 -1
  20. package/dist/viewport-client/_static/{LottieAnimationComponent-5a53d9a8.js → LottieAnimationComponent-972be35a.js} +1 -1
  21. package/dist/viewport-client/_static/{LottieAsset-4be66309.js → LottieAsset-2a69310b.js} +1 -1
  22. package/dist/viewport-client/_static/{MarkdownAsset-b5fb62bf.js → MarkdownAsset-e26b2de4.js} +1 -1
  23. package/dist/viewport-client/_static/{MaterialAsset-1b309564.js → MaterialAsset-6b41bf12.js} +1 -1
  24. package/dist/viewport-client/_static/{MaterialInspector-0f1fa214.js → MaterialInspector-ff293494.js} +1 -1
  25. package/dist/viewport-client/_static/{Menu-4b6f69f6.js → Menu-18592820.js} +1 -1
  26. package/dist/viewport-client/_static/{MeshAsset-4c7358f8.js → MeshAsset-a283132f.js} +1 -1
  27. package/dist/viewport-client/_static/{MeshRendererBaseComponent-7d9673f0.js → MeshRendererBaseComponent-b55bfe6c.js} +1 -1
  28. package/dist/viewport-client/_static/{MeshRendererComponent-ac7bf46b.js → MeshRendererComponent-8403268e.js} +1 -1
  29. package/dist/viewport-client/_static/{MeshThumbnail-e9c08166.js → MeshThumbnail-f0b0004e.js} +1 -1
  30. package/dist/viewport-client/_static/{ParticleRendererComponent-34dd0c15.js → ParticleRendererComponent-03bb2fbe.js} +1 -1
  31. package/dist/viewport-client/_static/{PhysicsMaterialAsset-af1ebf10.js → PhysicsMaterialAsset-4970ff7c.js} +1 -1
  32. package/dist/viewport-client/_static/{PhysicsStore-e7d36c5c.js → PhysicsStore-fe328fb7.js} +1 -1
  33. package/dist/viewport-client/_static/{PointLight-651ea32e.js → PointLight-5e460356.js} +1 -1
  34. package/dist/viewport-client/_static/{PostProcessComponent-fc2f6f21.js → PostProcessComponent-53161f23.js} +1 -1
  35. package/dist/viewport-client/_static/{PrefabAsset-a6b88bbd.js → PrefabAsset-80cc8081.js} +1 -1
  36. package/dist/viewport-client/_static/{PrimitiveMesh-dc3ad0fa.js → PrimitiveMesh-645ca19a.js} +1 -1
  37. package/dist/viewport-client/_static/{ProxyConfigs-85431ba7.js → ProxyConfigs-b55e4aeb.js} +1 -1
  38. package/dist/viewport-client/_static/{ReferencedMaterial-b96134c1.js → ReferencedMaterial-28c8660b.js} +1 -1
  39. package/dist/viewport-client/_static/{RenderTargetAsset-fab94566.js → RenderTargetAsset-4164b420.js} +1 -1
  40. package/dist/viewport-client/_static/{SceneAsset-7e22b810.js → SceneAsset-99fc791f.js} +1 -1
  41. package/dist/viewport-client/_static/{ShaderAsset-c9f375b5.js → ShaderAsset-89a9cae1.js} +1 -1
  42. package/dist/viewport-client/_static/{ShaderChunkAsset-e6717d7f.js → ShaderChunkAsset-ee5ba859.js} +1 -1
  43. package/dist/viewport-client/_static/{ShaderUIScriptAsset-259555e9.js → ShaderUIScriptAsset-4a26a9ac.js} +1 -1
  44. package/dist/viewport-client/_static/{SkinnedMeshRendererComponent-d64b225e.js → SkinnedMeshRendererComponent-29a6a49e.js} +1 -1
  45. package/dist/viewport-client/_static/{SpineAnimationComponent-ba68382f.js → SpineAnimationComponent-160639b7.js} +1 -1
  46. package/dist/viewport-client/_static/{SpineSkeletonDataAsset-8ea5b7b8.js → SpineSkeletonDataAsset-42354080.js} +1 -1
  47. package/dist/viewport-client/_static/{SpotLight-18d73c78.js → SpotLight-73b78d71.js} +1 -1
  48. package/dist/viewport-client/_static/{SpriteAsset-0c49dc5d.js → SpriteAsset-e54397b2.js} +1 -1
  49. package/dist/viewport-client/_static/{SpriteAtlasAsset-6461f25f.js → SpriteAtlasAsset-41619a60.js} +1 -1
  50. package/dist/viewport-client/_static/{SpriteBaseComponent-f1a5422d.js → SpriteBaseComponent-d95c34ed.js} +1 -1
  51. package/dist/viewport-client/_static/{SpriteMaskComponent-b2cd1787.js → SpriteMaskComponent-b6bddadf.js} +1 -1
  52. package/dist/viewport-client/_static/{SpriteRendererComponent-503d7e55.js → SpriteRendererComponent-5d811dc9.js} +1 -1
  53. package/dist/viewport-client/_static/{TextBaseComponent-186ad55d.js → TextBaseComponent-050b8059.js} +1 -1
  54. package/dist/viewport-client/_static/{TextRendererComponent-cffe7c03.js → TextRendererComponent-95f3699b.js} +1 -1
  55. package/dist/viewport-client/_static/{TextureAsset-be48e190.js → TextureAsset-75a25e73.js} +2 -2
  56. package/dist/viewport-client/_static/{Tooltip-01dd51dc.js → Tooltip-22c0daba.js} +1 -1
  57. package/dist/viewport-client/_static/{TrailRendererComponent-2bbe404b.js → TrailRendererComponent-3572a694.js} +1 -1
  58. package/dist/viewport-client/_static/{TransformBaseComponent-4fd596d1.js → TransformBaseComponent-aa739cb8.js} +1 -1
  59. package/dist/viewport-client/_static/{TransformComponent-540cfdc3.js → TransformComponent-c5be5f9a.js} +1 -1
  60. package/dist/viewport-client/_static/{XRReferenceImageAsset-b3c01eec.js → XRReferenceImageAsset-98f68cb0.js} +1 -1
  61. package/dist/viewport-client/_static/{audio-4bf84573.js → audio-a1a91dde.js} +1 -1
  62. package/dist/viewport-client/_static/index-016b99e9.js +1 -0
  63. package/dist/viewport-client/_static/{index-7e3053d3.js → index-1b0db457.js} +1 -1
  64. package/dist/viewport-client/_static/{index-1844727f.js → index-1f546123.js} +1 -1
  65. package/dist/viewport-client/_static/index-31757d8b.js +1 -0
  66. package/dist/viewport-client/_static/index-3a95e56a.js +1 -0
  67. package/dist/viewport-client/_static/{index-af55ef2b.js → index-3fc31454.js} +1 -1
  68. package/dist/viewport-client/_static/{index-3c825346.js → index-97a7d3f7.js} +1 -1
  69. package/dist/viewport-client/_static/{index-adfb8156.js → index-b95114db.js} +1 -1
  70. package/dist/viewport-client/_static/{index-f3f5cf05.js → index-be40a2f5.js} +1 -1
  71. package/dist/viewport-client/_static/{index-a6b152de.js → index-c9bf7845.js} +1 -1
  72. package/dist/viewport-client/_static/{index-c91bca3c.js → index-cb255df8.js} +4 -4
  73. package/dist/viewport-client/_static/{index-07b22cd4.js → index-cd8b825e.js} +1 -1
  74. package/dist/viewport-client/_static/{index-d7bb5fc3.js → index-d4694f60.js} +1 -1
  75. package/dist/viewport-client/_static/{index-07686e59.js → index-d84089cb.js} +1 -1
  76. package/dist/viewport-client/_static/index-ee1be6ff.js +1 -0
  77. package/dist/viewport-client/_static/index-f35e119a.js +1 -0
  78. package/dist/viewport-client/_static/index-f4e6ac29.js +1 -0
  79. package/dist/viewport-client/_static/{ktx2-encoder-486056b9.js → ktx2-encoder-a1e12b90.js} +1 -1
  80. package/dist/viewport-client/_static/{module-b106d3a2.js → module-1392e6a6.js} +1 -1
  81. package/dist/viewport-client/_static/{module-a20a329a.js → module-46400641.js} +1 -1
  82. package/dist/viewport-client/_static/{module-ea41b53d.js → module-c3512c4a.js} +1 -1
  83. package/dist/viewport-client/_static/postmen-9da013ae.js +1 -0
  84. package/dist/viewport-client/index.html +1 -1
  85. package/package.json +24 -29
  86. package/dist/viewport-client/_static/index-05673ab3.js +0 -1
  87. package/dist/viewport-client/_static/index-1aa955ce.js +0 -1
  88. package/dist/viewport-client/_static/index-39c4a09f.js +0 -1
  89. package/dist/viewport-client/_static/index-a44cbb78.js +0 -1
  90. package/dist/viewport-client/_static/index-a5d368cf.js +0 -1
  91. package/dist/viewport-client/_static/index-ad26cc11.js +0 -1
  92. package/dist/viewport-client/_static/postmen-c85935a0.js +0 -1
@@ -1 +1 @@
1
- var f=Object.defineProperty;var m=(r,e,t)=>e in r?f(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var o=(r,e,t)=>(m(r,typeof e!="symbol"?e+"":e,t),t);import{a as s,E as S,b as u}from"./ShaderUIScriptAsset-259555e9.js";import{t as P}from"./ShaderUIScriptAsset-259555e9.js";import{q as g,a$ as h}from"./index-c91bca3c.js";import"./index-7e3053d3.js";var l=Object.defineProperty,M=Object.getOwnPropertyDescriptor,b=(r,e,t,p)=>{for(var a=p>1?void 0:p?M(e,t):e,i=r.length-1,c;i>=0;i--)(c=r[i])&&(a=(p?c(e,t,a):c(a))||a);return p&&a&&l(e,t,a),a};class n extends s{constructor(){super(...arguments);o(this,"subType",S.StateMachine)}getMetaConfig(){let t=s.getRegisteredAssetMeta(s);return t={...t,defaultName:"StateMachineScript.ts",dragLayer:g.StateMachineScript},t}}b([h()],n.prototype,"subType",2);s.registerScriptConstruct(S.ShaderUI,u);s.registerScriptConstruct(S.StateMachine,n);export{S as EScriptSubType,s as ScriptAsset,u as ShaderUIScriptAsset,n as StateMachineScript,P as scriptTemplates};
1
+ var f=Object.defineProperty;var m=(r,e,t)=>e in r?f(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var o=(r,e,t)=>(m(r,typeof e!="symbol"?e+"":e,t),t);import{a as s,E as S,b as u}from"./ShaderUIScriptAsset-4a26a9ac.js";import{t as P}from"./ShaderUIScriptAsset-4a26a9ac.js";import{q as g,a$ as h}from"./index-cb255df8.js";import"./index-1b0db457.js";var l=Object.defineProperty,M=Object.getOwnPropertyDescriptor,b=(r,e,t,p)=>{for(var a=p>1?void 0:p?M(e,t):e,i=r.length-1,c;i>=0;i--)(c=r[i])&&(a=(p?c(e,t,a):c(a))||a);return p&&a&&l(e,t,a),a};class n extends s{constructor(){super(...arguments);o(this,"subType",S.StateMachine)}getMetaConfig(){let t=s.getRegisteredAssetMeta(s);return t={...t,defaultName:"StateMachineScript.ts",dragLayer:g.StateMachineScript},t}}b([h()],n.prototype,"subType",2);s.registerScriptConstruct(S.ShaderUI,u);s.registerScriptConstruct(S.StateMachine,n);export{S as EScriptSubType,s as ScriptAsset,u as ShaderUIScriptAsset,n as StateMachineScript,P as scriptTemplates};
@@ -1,4 +1,4 @@
1
- import{aH as X,aC as e,b3 as d,b6 as ce,bd as Y,aO as m,e6 as fe,aP as he,aF as ue,eH as Q,f8 as pe,b8 as E,f9 as ge,b9 as me,bj as xe,fa as ve,fb as Ce,fc as we,fd as be,fe as ye,ff as $e,fg as q,fh as J,fi as je,fj as Re,fk as Se,fl as Ie,fm as ke,ez as _,ey as k,fn as Me,fo as Pe}from"./index-c91bca3c.js";import{aT as w0,eA as b0,fX as y0,fY as $0,fp as j0,fQ as R0,fr as S0,fq as I0,aX as k0,fs as M0,dt as P0,aV as L0,c7 as T0,g5 as V0,g6 as E0,fG as Z0,fD as H0,fF as F0,fZ as A0,fI as D0,fH as B0,eI as z0,fR as N0,fE as O0,eB as _0,fJ as U0,fK as G0,fL as W0,b_ as K0,b$ as X0,bM as Y0,fM as Q0,bk as q0,fN as J0,eR as e1,fO as t1,fP as o1,fW as n1,fT as r1,fU as i1,fV as s1,fS as l1,g4 as a1,fx as d1,fu as c1,g2 as f1,c6 as h1,fz as u1,fy as p1,fA as g1,g1 as m1,f$ as x1,fw as v1,bi as C1,fC as w1,c8 as b1,g3 as y1,f_ as $1,dL as j1,fB as R1,g0 as S1,fv as I1,by as k1,ft as M1,g7 as P1}from"./index-c91bca3c.js";import{I as Le}from"./IconEdit-e6cba426.js";import{B as T1}from"./index-f3f5cf05.js";import{A as E1,a as Z1}from"./Accordion-8e8abfeb.js";import{S as F1}from"./Callout-5731416b.js";import{C as D1,D as B1,K as z1,d as N1,h as O1,j as _1,M as U1,i as G1,g as W1,e as K1,f as X1,a as Y1,b as Q1,c as q1,k as J1,S as eo}from"./Menu-4b6f69f6.js";import{T as oo}from"./Tooltip-01dd51dc.js";/**
1
+ import{aH as X,aC as e,b3 as d,b6 as ce,bd as Y,aO as m,e6 as fe,aP as he,aF as ue,eH as Q,f8 as pe,b8 as E,f9 as ge,b9 as me,bj as xe,fa as ve,fb as Ce,fc as we,fd as be,fe as ye,ff as $e,fg as q,fh as J,fi as je,fj as Re,fk as Se,fl as Ie,fm as ke,ez as _,ey as k,fn as Me,fo as Pe}from"./index-cb255df8.js";import{aT as w0,eA as b0,fX as y0,fY as $0,fp as j0,fQ as R0,fr as S0,fq as I0,aX as k0,fs as M0,dt as P0,aV as L0,c7 as T0,g5 as V0,g6 as E0,fG as Z0,fD as H0,fF as F0,fZ as A0,fI as D0,fH as B0,eI as z0,fR as N0,fE as O0,eB as _0,fJ as U0,fK as G0,fL as W0,b_ as K0,b$ as X0,bM as Y0,fM as Q0,bk as q0,fN as J0,eR as e1,fO as t1,fP as o1,fW as n1,fT as r1,fU as i1,fV as s1,fS as l1,g4 as a1,fx as d1,fu as c1,g2 as f1,c6 as h1,fz as u1,fy as p1,fA as g1,g1 as m1,f$ as x1,fw as v1,bi as C1,fC as w1,c8 as b1,g3 as y1,f_ as $1,dL as j1,fB as R1,g0 as S1,fv as I1,by as k1,ft as M1,g7 as P1}from"./index-cb255df8.js";import{I as Le}from"./IconEdit-55a2716d.js";import{B as T1}from"./index-be40a2f5.js";import{A as E1,a as Z1}from"./Accordion-0c911a1d.js";import{S as F1}from"./Callout-277ec44d.js";import{C as D1,D as B1,K as z1,d as N1,h as O1,j as _1,M as U1,i as G1,g as W1,e as K1,f as X1,a as Y1,b as Q1,c as q1,k as J1,S as eo}from"./Menu-18592820.js";import{T as oo}from"./Tooltip-22c0daba.js";/**
2
2
  * @license @tabler/icons-react v3.17.0 - MIT
3
3
  *
4
4
  * This source code is licensed under the MIT license.
@@ -1 +1 @@
1
- var Se=Object.defineProperty;var Te=(n,e,t)=>e in n?Se(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var u=(n,e,t)=>(Te(n,typeof e!="symbol"?e+"":e,t),t);import{aQ as E,aR as N,aS as p,dD as K,ea as $,aU as B,bN as Q,q as J,eu as xe,bP as Ae,bl as Re,co as L,E as O,eC as we,eD as Me,eE as Ie,p as y,C as R,s as b,e as A,ev as j,f as Pe,eF as f,eG as _,eH as te,aO as Ee,b_ as de,t as ue,b$ as he,eI as ze,aL as se,eJ as Le,x as je,eK as Oe,eL as S,eM as P,eg as q,eN as X,ay as fe,K as Be,bE as Fe,cA as De,cB as Ue,cD as qe,cC as ke,cz as Ve,cE as Ne}from"./index-c91bca3c.js";import"./index-7e3053d3.js";import"./postmen-c85935a0.js";import{c as W}from"./Component-49fa7a68.js";import{F as We}from"./FormItemArray-1eb0a655.js";import{S as $e}from"./SpriteBaseComponent-f1a5422d.js";import{T as He}from"./TextBaseComponent-186ad55d.js";import{T as I}from"./TransformBaseComponent-4fd596d1.js";import{S as Ge}from"./Callout-5731416b.js";import"./Accordion-8e8abfeb.js";import"./IconEdit-e6cba426.js";const Ke=E(({item:n,onPropsChange:e})=>{const{t}=N(),i=n.props;return p.jsxs(p.Fragment,{children:[p.jsx(K,{label:t("ui.transition.color.normal.label"),value:i.normal,onChange:a=>{e(r=>{r.normal=a})}}),p.jsx(K,{label:t("ui.transition.color.hover.label"),value:i.hover,onChange:a=>{e(r=>{r.hover=a})}}),p.jsx(K,{label:t("ui.transition.color.pressed.label"),value:i.pressed,onChange:a=>{e(r=>{r.pressed=a})}}),p.jsx(K,{label:t("ui.transition.color.disabled.label"),value:i.disabled,onChange:a=>{e(r=>{r.disabled=a})}})]})});function Qe(n,e){const t=n.props;e.normal.copyFrom(t.normal),e.hover.copyFrom(t.hover),e.pressed.copyFrom(t.pressed),e.disabled.copyFrom(t.disabled)}const Je=E(({item:n,onPropsChange:e})=>{const{t}=N(),i=n.props;return p.jsxs(p.Fragment,{children:[p.jsx($,{label:t("ui.transition.scale.normal.label"),value:i.normal,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.normal=a})}}),p.jsx($,{label:t("ui.transition.scale.hover.label"),value:i.hover,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.hover=a})}}),p.jsx($,{label:t("ui.transition.scale.pressed.label"),value:i.pressed,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.pressed=a})}}),p.jsx($,{label:t("ui.transition.scale.disabled.label"),value:i.disabled,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.disabled=a})}})]})});function Xe(n,e){const t=n.props;e.normal=t.normal,e.hover=t.hover,e.pressed=t.pressed,e.disabled=t.disabled}const re=new WeakMap;function Ye(n){const e=(re.get(n)??0)+1;return re.set(n,e),e}function ae(n,e){return re.get(n)===e}function Y(n,e,t,i,a){if(!i){if(!ae(e,t))return;a(null);return}n.getAssetByRef(i).then(r=>{ae(e,t)&&a((r==null?void 0:r.engineObject)??null)}).catch(r=>{ae(e,t)&&(console.warn("[SpriteTransitionOption] syncSpriteTransition failed:",r),a(null))})}function Ze(n,e,t){const{normal:i,hover:a,pressed:r,disabled:o}=e.props,l=Ye(t);Y(n.assetStore,t,l,i,c=>{t.normal=c}),Y(n.assetStore,t,l,a,c=>{t.hover=c}),Y(n.assetStore,t,l,r,c=>{t.pressed=c}),Y(n.assetStore,t,l,o,c=>{t.disabled=c})}function Z(n,e,t){if(!e)return t(null),()=>{};let i=!1;return n.getAssetByRef(e).then(a=>{i||t(a??null)}).catch(()=>{i||t(null)}),()=>{i=!0}}const et=E(({item:n,model:e,onPropsChange:t})=>{const[i,a]=B.useState(null),[r,o]=B.useState(null),[l,c]=B.useState(null),[g,m]=B.useState(null),{normal:s,hover:d,pressed:h,disabled:T}=n.props,{assetStore:C}=e.root,G=Object.values(C.assets).filter(v=>v.getMetaConfig().type==="sprite");return B.useEffect(()=>Z(C,s,a),[C,s]),B.useEffect(()=>Z(C,d,o),[C,d]),B.useEffect(()=>Z(C,h,c),[C,h]),B.useEffect(()=>Z(C,T,m),[C,T]),p.jsxs(p.Fragment,{children:[p.jsx(Q,{label:"Normal Sprite",dropLayer:J.Sprite,asset:i,value:i==null?void 0:i.name,assets:G,onSelect:v=>{t(U=>{U.normal=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.normal=null})},onLocate:()=>{s!=null&&s.refId&&C.selectAsset(s.refId)}}),p.jsx(Q,{label:"Hover Sprite",dropLayer:J.Sprite,asset:r,value:r==null?void 0:r.name,assets:G,onSelect:v=>{t(U=>{U.hover=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.hover=null})},onLocate:()=>{d!=null&&d.refId&&C.selectAsset(d.refId)}}),p.jsx(Q,{label:"Pressed Sprite",dropLayer:J.Sprite,asset:l,value:l==null?void 0:l.name,assets:G,onSelect:v=>{t(U=>{U.pressed=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.pressed=null})},onLocate:()=>{h!=null&&h.refId&&C.selectAsset(h.refId)}}),p.jsx(Q,{label:"Disabled Sprite",dropLayer:J.Sprite,asset:g,value:g==null?void 0:g.name,assets:G,onSelect:v=>{t(U=>{U.disabled=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.disabled=null})},onLocate:()=>{T!=null&&T.refId&&C.selectAsset(T.refId)}})]})});function tt(n,e,t){Ze(n,e,t)}function nt(n,e,t){if(!t)return null;const i=n.entities.get(t);if(!i)return null;for(let a=0,r=e.length;a<r;a++){const o=i.getComponentByTypeName(e[a]);if(o)return{ownerId:t,componentId:o.id}}return null}function it(n,e){n.selectEntity((e==null?void 0:e.ownerId)??null)}function at(n,e){const t=(e==null?void 0:e.ownerId)??null;return{entityId:t,entity:t?n.entities.get(t)??null:null}}const ye=E(n=>{const{inspectorConfig:{property:e,label:t,disabled:i,info:a,componentTypes:r},model:o,onModelChange:l}=n,c=o.root.sceneStore,g=c.rootEntity.children,m=c.entities,{entityId:s,entity:d}=at(c,o[e]??null),{t:h}=N();function T(C){l==null||l(e,nt(c,r,C))}return p.jsx(xe,{info:a,entities:g,entityMap:Ae(m),label:t,value:s,disabled:i,displayValue:d==null?void 0:d.name,placeholder:h("Select component..."),onSelect:T,onLocate:()=>{it(c,o[e]??null)},onDelete:()=>{T(null)}})}),oe={SpriteTransition:{class:"SpriteTransition",props:{target:null,normal:null,hover:null,pressed:null,disabled:null,duration:0}},ColorTransition:{class:"ColorTransition",props:{target:null,normal:{r:1,g:1,b:1,a:1},hover:{r:1,g:1,b:1,a:1},pressed:{r:1,g:1,b:1,a:1},disabled:{r:1,g:1,b:1,a:1},duration:0}},ScaleTransition:{class:"ScaleTransition",props:{target:null,normal:1,hover:1,pressed:1.2,disabled:1,duration:.1}}},rt=E(({item:n,index:e,model:t,onModelChange:i})=>{var g;const{t:a}=N();let r,o;switch(n.class){case"SpriteTransition":r=et,o=["Image"];break;case"ColorTransition":r=Ke,o=["Image","Text"];break;case"ScaleTransition":r=Je,o=["Image","Text"];break}const l=m=>{const s=L(t.transitions);m(s),i==null||i("transitions",s)},c=m=>{l(s=>{const d=s[e];d&&m(d)})};return p.jsxs(p.Fragment,{children:[p.jsx(ye,{inspectorConfig:{label:a("ui.transition.target.label"),info:a("ui.transition.target.info"),property:"target",componentTypes:o,value:((g=n.props.target)==null?void 0:g.ownerId)??null},model:n.props,onModelChange:(m,s)=>{c(d=>{d.props.target=s})}}),p.jsx(Re,{label:a("ui.transition.type.label"),info:a("ui.transition.type.info"),value:n.class,options:[{label:a("ui.transition.type.sprite"),value:"SpriteTransition"},{label:a("ui.transition.type.scale"),value:"ScaleTransition"},{label:a("ui.transition.type.color"),value:"ColorTransition"}],onChange:m=>{oe[m].class!==n.class&&c(d=>{const h=oe[m],T=d.props.target;d.class=h.class,d.props={...d.props,duration:h.props.duration,normal:L(h.props.normal),hover:L(h.props.hover),pressed:L(h.props.pressed),disabled:L(h.props.disabled),target:T}})}}),p.jsx(r,{item:n,model:t,onPropsChange:m=>{c(s=>{m(s.props)})}}),p.jsx($,{label:a("ui.transition.duration.label"),info:a("ui.transition.duration.info"),value:n.props.duration,min:0,max:2,step:.05,onChange:m=>{c(s=>{s.props.duration=m})}})]})}),ot=E(({model:n,inspectorConfig:e,onModelChange:t})=>{const{label:i}=e,{t:a}=N(),r=n.transitions,o=l=>{const c=L(r);l(c),t==null||t("transitions",c)};return p.jsx(We,{label:i,items:r.map((l,c)=>{const g={SpriteTransition:a("ui.transition.type.sprite"),ColorTransition:a("ui.transition.type.color"),ScaleTransition:a("ui.transition.type.scale")};return{removable:!0,children:p.jsx(rt,{item:l,index:c,model:n,onModelChange:t}),id:c+"",name:g[l.class]||l.class}}),addable:!0,onAdd:()=>{o(l=>{var m;const c=L(oe.SpriteTransition),g=(m=l[0])==null?void 0:m.props.target;c.props.target=g?L(g):null,l.push(c)})},onDelete:l=>{o(c=>{c.splice(parseInt(l.id),1)})}})});var st=Object.defineProperty,lt=Object.getOwnPropertyDescriptor,le=(n,e,t,i)=>{for(var a=i>1?void 0:i?lt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&st(e,t,a),a};let ee=class extends O{constructor(e,t){super(e,t);u(this,"_transitionMap",new Map);u(this,"interactive",!0);u(this,"transitions",[])}syncTransitionsFromModel(){const e=this.transitions,t=this._transitionMap;for(const[i,a]of Array.from(t.entries()))e.includes(i)||(a&&this.engineObject.removeTransition(a),t.delete(i));for(let i=0,a=e.length;i<a;i++)this.addTransition(e[i])}_onInitComplete(){const e=this.transitions;for(let t=0,i=e.length;t<i;t++)this.addTransition(e[t])}addTransition(e){var m;const t=e==null?void 0:e.class;if(!(t==="SpriteTransition"||t==="ColorTransition"||t==="ScaleTransition")){console.warn(`[ButtonComponent] Unsupported transition.class: ${t}`);return}const a=this.transitions;let r=a.indexOf(e);if(r===-1)r=a.push(e)-1;else{const s=this._transitionMap.get(a[r]);s&&(this.engineObject.removeTransition(s),this._transitionMap.delete(e))}const o=this._transitionMap;let l;const c=this.engineObject;switch(t){case"SpriteTransition":l=new Ie,tt(this.root,e,l);break;case"ColorTransition":l=new Me,Qe(e,l);break;case"ScaleTransition":l=new we,Xe(e,l);break}const g=e.props.target;if(g){const s=(m=this.root.sceneStore.entities.get(g.ownerId))==null?void 0:m.getComponentById(g.componentId);s==null||s.onReady().then(()=>{(s==null?void 0:s.status)==="ready"&&(l.target=s==null?void 0:s.engineObject)})}c.addTransition(l),o.set(a[r],l)}getTransition(e){return this._transitionMap.get(e)}};le([y({label:"ui.button.interactive.label",info:"ui.button.interactive.info",type:R.Toggle,onChange(n,e,t){const i=n.engineObject;i.interactive=t;const a=i._getInteractiveState(),r=i.transitions;for(let o=0,l=r.length;o<l;o++)r[o]._setState(a,!0)}}),b()],ee.prototype,"interactive",2);le([b({type:"methods",key:"addTransition",onSerialize:n=>n.map(e=>[{class:e.class,props:L(e.props)}]),onDeserialize:n=>n.map(e=>e[0])}),y({label:A("ui.button.transitions.label"),info:A("ui.button.transitions.info"),customComponent:ot,triggerAfterInit:!1,onChange(n){n.syncTransitionsFromModel();const e=n.engineObject,t=e._getInteractiveState(),i=e.transitions;for(let a=0,r=i.length;a<r;a++)i[a]._setState(t,!0)}}),b()],ee.prototype,"transitions",2);ee=le([W({type:"Button",componentsMenu:{group:"UI",label:"component.ui-button.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],ee);var be=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,pt=(n,e,t)=>e in n?be(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ne=(n,e,t,i)=>{for(var a=i>1?void 0:i?ct(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&be(e,t,a),a},dt=(n,e,t)=>(pt(n,typeof e!="symbol"?e+"":e,t),t);let F=class extends $e{constructor(e,t){super(e,t);u(this,"raycastEnabled",!0);u(this,"raycastPadding",{x:0,y:0,z:0,w:0});u(this,"material",{refId:F._internalImageMaterialRefId});this.formSchema.addGroup("ui.image.raycast.title",["raycastEnabled","raycastPadding"])}_onInitComplete(){this.raycastEnabled=!1,this.applyBoundPathChange("raycastEnabled",R.Toggle,!1)}};dt(F,"_internalImageMaterialRefId","0000204");ne([y({label:"ui.image.raycast.enabled.label",info:"ui.image.raycast.enabled.info",type:R.Toggle,bindPath:"raycastEnabled"}),b()],F.prototype,"raycastEnabled",2);ne([y({label:"ui.image.raycast.padding.label",info:"ui.image.raycast.padding.info",type:R.Vector4,slotMapping:{x:A("ui.image.raycast.padding.left"),y:A("ui.image.raycast.padding.down"),z:A("ui.image.raycast.padding.right"),w:A("ui.image.raycast.padding.up")}}),b()],F.prototype,"raycastPadding",2);ne([y({label:"ui.image.material.label",info:"ui.image.material.info",type:R.AssetPicker,assetType:"Material",customFilter:n=>{var e;return((e=n.engineObject.shader)==null?void 0:e.name)!=="particle-shader"},onChange:async n=>{const{material:e}=n,t=n.engineObject;if(!e){t.setMaterial(null);return}const{refId:i}=e;if(i===F._internalImageMaterialRefId)t.setMaterial(t.engine._getUIDefaultMaterial());else{const a=await n.root.assetStore.getAssetByRef(e);a?t.setMaterial(a.engineObject):console.error(`Material asset not found: ${e.refId}`)}}}),Pe({engineKey:"setMaterial",getEngineValue:n=>n.getMaterial()}),b({type:"methods",key:"setMaterial",onSerialize:n=>n?[[n]]:void 0,onDeserialize(n){return n?n[0][0]:void 0}})],F.prototype,"material",2);F=ne([W({type:"Image",componentsMenu:{group:"UI",label:"component.ui-image.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],F);var ut=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,gt=(n,e,t,i)=>{for(var a=i>1?void 0:i?ht(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&ut(e,t,a),a};let ge=class extends He{constructor(n,e){super(n,e)}};ge=gt([W({type:"Text",componentsMenu:{group:"UI",label:"component.ui-text.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],ge);function ce(n,e,t){var o;const i=(o=n._getParentTransform())==null?void 0:o._rect;if(!i)return;const a=n._rect,r=n.position.x;switch(e){case f.Left:n.alignLeft=r-i.x+a.x,t.push("alignLeft");break;case f.Right:n.alignRight=i.x+i.width-a.x-a.width-r,t.push("alignRight");break;case f.Center:n.alignCenter=r-i.x-i.width*.5+a.x+a.width*.5,t.push("alignCenter");break;case f.LeftAndRight:n.alignLeft=r-i.x+a.x,n.alignRight=i.x+i.width-a.x-a.width-r,t.push("alignLeft","alignRight");break}}function pe(n,e,t){var o;const i=(o=n._getParentTransform())==null?void 0:o._rect;if(!i)return;const a=n._rect,r=n.position.y;switch(e){case _.Top:n.alignTop=i.y+i.height-a.y-a.height-r,t.push("alignTop");break;case _.Bottom:n.alignBottom=r-i.y+a.y,t.push("alignBottom");break;case _.Middle:n.alignMiddle=r-i.y-i.height*.5+a.y+a.height*.5,t.push("alignMiddle");break;case _.TopAndBottom:n.alignTop=i.y+i.height-a.y-a.height-r,n.alignBottom=r-i.y+a.y,t.push("alignTop","alignBottom");break}}function mt(n,e,t=n.horizontalAlignment,i=n.verticalAlignment){e.length=0;const a=n.engineObject;return a.horizontalAlignment=f.None,a.verticalAlignment=_.None,ce(a,t,e),pe(a,i,e),a.horizontalAlignment=t,a.verticalAlignment=i,e}const ft=te({position:"relative",width:"95%",height:"100%","border-radius":"5px",background:"#00000000",border:"1px solid #646c75",display:"flex","justify-content":"center","align-items":"center","flex-shrink":0})(),yt=te({position:"absolute",width:"calc(100% - 40px)",height:"calc(100% - 33px)",border:"1px solid #646c75","border-radius":"5px","pointer-events":"none"})(),bt=te({display:"grid",width:"100%",padding:"var(--space-0_5)","grid-template-columns":"minmax(0px, 1.3fr) repeat(3, minmax(0px, 1fr))","grid-template-rows":"auto","column-gap":"var(--space-1)",alignItems:"center"})(),vt=te({display:"grid",columnGap:"$1","align-items":"flex-start","grid-column":"2 / -1","column-gap":"var(--space-1)","row-gap":"var(--space-1)"})(),me=Ee("div",{display:"grid",gap:"var(--space-1)",variants:{column:{1:{gridTemplateColumns:"1fr"},2:{gridTemplateColumns:"repeat(2, 1fr)"},3:{gridTemplateColumns:"repeat(3, 1fr)"}}}}),_t=[],D=E(()=>null),Ct=E(({model:n,onModelChange:e})=>{const t=n.engineObject,i=(s,d)=>{const h=mt(n,_t,s,d);for(let T=0;T<h.length;T++){const C=h[T];n._syncTransformToEditor(C,t[C]),e==null||e(C,n[C])}},a=s=>d=>{e==null||e(s,d)},r=s=>{switch(s){case f.None:return 1;case f.Left:case f.Right:case f.Center:return 2;case f.LeftAndRight:return 3;default:return 1}},o=(s,d="")=>p.jsx(ze,{startSlot:d,value:n[s],onValueChange:a(s)},s),l=s=>{const d=n.horizontalAlignment;let h=d;d&s?h=d&~s:d===f.Center||s===f.Center?h=s:h=d|s,e==null||e("horizontalAlignment",h),i(h,n.verticalAlignment)},c=s=>{const d=n.verticalAlignment;let h=d;d&s?h=d&~s:d===_.Middle||s===_.Middle?h=s:h=d|s,e==null||e("verticalAlignment",h),i(n.horizontalAlignment,h)},g=s=>!!(n.horizontalAlignment&s),m=s=>!!(n.verticalAlignment&s);return p.jsxs("div",{className:bt,children:[p.jsxs("div",{className:ft,id:"ring",children:[p.jsx("div",{className:yt}),p.jsx(k,{...St,isActive:g(f.Left),onClick:()=>l(f.Left)}),p.jsx(k,{...Tt,isActive:g(f.Right),onClick:()=>l(f.Right)}),p.jsx(k,{...xt,isActive:g(f.Center),onClick:()=>l(f.Center)}),p.jsx(k,{...At,isActive:m(_.Top),onClick:()=>c(_.Top)}),p.jsx(k,{...Rt,isActive:m(_.Bottom),onClick:()=>c(_.Bottom)}),p.jsx(k,{...wt,isActive:m(_.Middle),onClick:()=>c(_.Middle)})]}),p.jsxs("div",{className:vt,children:[p.jsxs(me,{column:r(n.horizontalAlignment),children:[p.jsx(de,{startSlot:n.horizontalAlignment===f.None?"Horizontal":"",value:n.horizontalAlignment,onValueChange:s=>{e==null||e("horizontalAlignment",s),i(s,n.verticalAlignment)},children:ue(f).map(s=>p.jsx(he,{value:s.value,children:s.label},s.value))}),n.horizontalAlignment===f.Left&&o("alignLeft"),n.horizontalAlignment===f.Right&&o("alignRight"),n.horizontalAlignment===f.Center&&o("alignCenter"),n.horizontalAlignment===f.LeftAndRight&&p.jsxs(p.Fragment,{children:[o("alignLeft","Left"),o("alignRight","Right")]})]}),p.jsxs(me,{column:r(n.verticalAlignment),children:[p.jsx(de,{startSlot:n.verticalAlignment===_.None?"Vertical":"",value:n.verticalAlignment,onValueChange:s=>{e==null||e("verticalAlignment",s),i(n.horizontalAlignment,s)},children:ue(_).map(s=>p.jsx(he,{value:s.value,children:s.label},s.value))}),n.verticalAlignment===_.Top&&o("alignTop"),n.verticalAlignment===_.Bottom&&o("alignBottom"),n.verticalAlignment===_.Middle&&o("alignMiddle"),n.verticalAlignment===_.TopAndBottom&&p.jsxs(p.Fragment,{children:[o("alignTop","Top"),o("alignBottom","Bottom")]})]})]})]})}),St={left:2,top:"cal(50% - 12px)",width:16,height:25,lw:10,lh:1,activeLH:3,orientation:"h"},Tt={right:2,top:"cal(50% - 12px)",width:16,height:25,lw:10,lh:1,activeLH:3,orientation:"h"},xt={left:"cal(50% - 12px)",top:"cal(50% - 4px)",width:24,height:8,lw:14,lh:1,activeLH:3,orientation:"h"},At={left:"cal(50% - 12px)",top:2,width:25,height:12,lw:1,lh:10,activeLW:3,orientation:"v"},Rt={left:"cal(50% - 12px)",bottom:2,width:25,height:12,lw:1,lh:10,activeLW:3,orientation:"v"},wt={left:"cal(50% - 12px)",top:"cal(50% - 4px)",width:8,h:24,lw:1,lh:14,activeLW:3,orientation:"v"},k=E(function({isActive:e,onClick:t,...i}){return p.jsx("button",{onClick:t,style:{background:"transparent",padding:0,border:0,cursor:"pointer",display:"flex",position:"absolute",justifyContent:"center",alignItems:"center",...i},children:p.jsx("span",{style:{display:"block",background:e?"#1e88e5":"#a8acb3",borderRadius:e?"2px":"0px",width:i.orientation==="h"?i.lw:e&&i.activeLW||i.lw,height:i.orientation==="v"?i.lh:e&&i.activeLH||i.lh,transition:"all 0.15s ease"}})})});var ve=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,It=(n,e,t)=>e in n?ve(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,M=(n,e,t,i)=>{for(var a=i>1?void 0:i?Mt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&ve(e,t,a),a},Pt=(n,e,t)=>(It(n,typeof e!="symbol"?e+"":e,t),t);let x=class extends I{constructor(e,t){super(e,t);u(this,"_tempPropertiesForPosition",[]);u(this,"_tempPropertiesForSize",[]);u(this,"disabled",!1);u(this,"size",{x:100,y:100});u(this,"pivot",{x:.5,y:.5});u(this,"alignment",{});u(this,"horizontalAlignment",f.None);u(this,"verticalAlignment",_.None);u(this,"alignLeft",0);u(this,"alignCenter",0);u(this,"alignRight",0);u(this,"alignTop",0);u(this,"alignMiddle",0);u(this,"alignBottom",0);u(this,"syncEngineToEditor",se((e=!1)=>{const t=this.engineObject,{size:i,pivot:a,position:r,rotation:o,scale:l}=t;!e&&this._isLock?(r.copyFrom(this.position),o.copyFrom(this.rotation),l.copyFrom(this.scale),i.copyFrom(this.size),a.copyFrom(this.pivot),t.horizontalAlignment=this.horizontalAlignment,t.alignLeft=this.alignLeft,t.alignCenter=this.alignCenter,t.alignRight=this.alignRight,t.verticalAlignment=this.verticalAlignment,t.alignTop=this.alignTop,t.alignMiddle=this.alignMiddle,t.alignBottom=this.alignBottom):(this._syncTransformToEditor("position",r),this._syncTransformToEditor("rotation",o),this._syncTransformToEditor("scale",l),this._syncTransformToEditor("size",i),this._syncTransformToEditor("pivot",a),this._syncTransformToEditor("horizontalAlignment",t.horizontalAlignment),this._syncTransformToEditor("alignLeft",t.alignLeft),this._syncTransformToEditor("alignCenter",t.alignCenter),this._syncTransformToEditor("alignRight",t.alignRight),this._syncTransformToEditor("verticalAlignment",t.verticalAlignment),this._syncTransformToEditor("alignTop",t.alignTop),this._syncTransformToEditor("alignMiddle",t.alignMiddle),this._syncTransformToEditor("alignBottom",t.alignBottom))}));u(this,"_engineParentEntity");u(this,"_isLock",!1);u(this,"_lockWorldMatrix");this._onParentChange=this._onParentChange.bind(this),this._onParentTransformChange=this._onParentTransformChange.bind(this),this.formSchema.addGroup("ui.transform.relativeLayout",["alignment"],{when:i=>{var a,r;return!((r=(a=i.entityModel)==null?void 0:a.getComponentByTypeName("UICanvas"))!=null&&r.isRootCanvas())}})}static roundVector2(e,t){return t.x=I.roundToThreeDecimal(e.x),t.y=I.roundToThreeDecimal(e.y),t}static equalVector2(e,t){return e.x===t.x&&e.y===t.y}_updateEditorSize(){const e=this.engineObject,t=I.roundVector2(e.size,I._tempVector2);I.copyVector2(t,this.size)}_updateEditorPosition(){const e=this.engineObject,t=I.roundVector3(e.position,I._tempVector3);I.copyVector3(t,this.position)}onInitComplete(){var e;this._onTransformModify=this._onTransformModify.bind(this),(e=this.engineObject.entity)==null||e._updateFlagManager.addListener(this._onTransformModify)}_onTransformModify(e){this.engineObject;const t=512,i=1024;e&t&&this._updateEditorSize(),(e&t||e&i)&&(this.horizontalAlignment||this.verticalAlignment)&&this._updateEditorPosition()}syncRotation(e=!1){!e&&this._isLock?this.engineObject.rotation.copyFrom(this.rotation):this._syncTransformToEditor("rotation",this.engineObject.rotation)}syncTransformToEditor(e){this._isLock||(super.syncTransformToEditor(e),this._syncTransformToEditor("size",e.size),this._syncTransformToEditor("pivot",e.pivot),this._syncTransformToEditor("horizontalAlignment",e.horizontalAlignment),this._syncTransformToEditor("alignLeft",e.alignLeft),this._syncTransformToEditor("alignCenter",e.alignCenter),this._syncTransformToEditor("alignRight",e.alignRight),this._syncTransformToEditor("verticalAlignment",e.verticalAlignment),this._syncTransformToEditor("alignTop",e.alignTop),this._syncTransformToEditor("alignMiddle",e.alignMiddle),this._syncTransformToEditor("alignBottom",e.alignBottom))}destroy(e){var t,i;(i=(t=this.engineObject)==null?void 0:t.entity)==null||i._updateFlagManager.removeListener(this._onTransformModify),super.destroy(e)}checkCanDisable(){return{code:1,msg:"ui.transform.error.cant-disable"}}checkCanDeletable(){return{code:1,msg:"ui.transform.error.cant-delete"}}_onPositionChange(){const{horizontalAlignment:e,verticalAlignment:t}=this;if(e||t){const i=this.engineObject,a=this._tempPropertiesForPosition;a.length=0,i.horizontalAlignment=f.None,i.verticalAlignment=_.None,i.position.copyFrom(this.position),ce(i,e,a),pe(i,t,a),i.horizontalAlignment=e,i.verticalAlignment=t;for(let r=0;r<a.length;r++){const o=a[r];this._syncTransformToEditor(o,i[o])}}else this.engineObject.position.copyFrom(this.position)}_onParentChange(e){e&Le.Parent&&this._updateParent(this.engineObject.entity.parent)}_updateParent(e){const t=this._engineParentEntity;t!==e&&(t&&t._updateFlagManager.removeListener(this._onParentTransformChange),e&&e._updateFlagManager.addListener(this._onParentTransformChange),this._engineParentEntity=e,this._onParentTransformChange())}_onParentTransformChange(){this.engineObject.worldMatrix.copyFrom(this._lockWorldMatrix),this.syncEngineToEditor(!0)}lock(e){this._isLock=!0,this._lockWorldMatrix?this._lockWorldMatrix.copyFrom(e):this._lockWorldMatrix=e.clone();const t=this.engineObject.entity;t._registerModifyListener(this._onParentChange),this._updateParent(t.parent)}unlock(){var e;this._isLock=!1,this.engineObject.entity._unRegisterModifyListener(this._onParentChange),(e=this._engineParentEntity)==null||e._updateFlagManager.removeListener(this._onParentTransformChange)}onShow(){this.syncEngineToEditor(!0)}get ignoreToJSON(){return!0}getEditable(){return!this.disabled}onAddToEntity(e){for(let t=0;t<e.components.length;t++){const i=e.components[t];if((i.type==="Transform"||i.type==="UITransform")&&i!==this){e.removeComponent(i);break}}e.setComponentIndex(this,0)}getAnimatableProperties(){let e=[];const t=i=>{if(!(i!=null&&i.length))return e;i.filter(a=>a.property==="alignment"?!1:!a.when||a.when(this)).forEach(a=>{a.type==="Group"?t(a.children):e.push({property:a.property,label:a.label,type:a.type})})};return t(this.formSchema.items),e=e.concat(this._additionAnimatableProperties),e}_syncTransformToEditor(e,t){switch(e){case"horizontalAlignment":case"verticalAlignment":{this[e]!==t&&(this[e]=t,this.notifyPropertyChange(e,!1));break}case"alignLeft":case"alignCenter":case"alignRight":case"alignTop":case"alignMiddle":case"alignBottom":{const i=I.roundToThreeDecimal(t);this[e]!==i&&(this[e]=i,this.notifyPropertyChange(e,!1));break}case"size":case"pivot":{const i=this[e],a=x.roundVector2(t,x._tempVector2);x.equalVector2(a,i)||(i.x=a.x,i.y=a.y,this.notifyPropertyChange(e,!1));break}default:super._syncTransformToEditor(e,t);break}}};Pt(x,"_tempVector2",{x:0,y:0});M([je],x.prototype,"disabled",2);M([y({label:A("ui.transform.size.label"),info:A("ui.transform.size.info"),type:R.Vector2,slotMapping:{x:"W",y:"H"},onChange:(n,e,t)=>{const i=n.engineObject,a=n.size,{x:r,y:o}=i.size,{horizontalAlignment:l,verticalAlignment:c}=n,g=I.roundToThreeDecimal(r)!==a.x,m=I.roundToThreeDecimal(o)!==a.y;if(!(!g&&!m))if(l||c){const s=n._tempPropertiesForSize;s.length=0,s.push("position"),i.horizontalAlignment=f.None,i.verticalAlignment=_.None,i.size.copyFrom(a),ce(i,l,s),pe(i,c,s),i.horizontalAlignment=l,i.verticalAlignment=c;for(let d=0;d<s.length;d++){const h=s[d];n._syncTransformToEditor(h,i[h])}}else i.size.copyFrom(a)}}),b()],x.prototype,"size",2);M([y({label:A("ui.transform.pivot.label"),info:A("ui.transform.pivot.info"),type:R.Vector2,onChange:(n,e,t)=>{const i=n.pivot,a=n.engineObject;a.pivot.set(i.x,i.y),n._syncTransformToEditor("position",a.position)}}),b()],x.prototype,"pivot",2);M([y({customComponent:Ct,when:n=>{var e,t;return!((t=(e=n.entityModel)==null?void 0:e.getComponentByTypeName("UICanvas"))!=null&&t.isRootCanvas())}})],x.prototype,"alignment",2);M([y({label:A("ui.transform.horizontalAlignment.label"),customComponent:D,onChange:n=>{n.engineObject.horizontalAlignment=n.horizontalAlignment}}),b()],x.prototype,"horizontalAlignment",2);M([y({label:A("ui.transform.verticalAlignment.label"),customComponent:D,onChange:n=>{n.engineObject.verticalAlignment=n.verticalAlignment}}),b()],x.prototype,"verticalAlignment",2);M([y({label:A("ui.transform.alignLeft.label"),customComponent:D,onChange:n=>{n.engineObject.alignLeft=n.alignLeft,n._updateEditorPosition()}}),b()],x.prototype,"alignLeft",2);M([y({label:A("ui.transform.alignCenter.label"),customComponent:D,onChange:n=>{n.engineObject.alignCenter=n.alignCenter,n._updateEditorPosition()}}),b()],x.prototype,"alignCenter",2);M([y({label:A("ui.transform.alignRight.label"),customComponent:D,onChange:n=>{n.engineObject.alignRight=n.alignRight,n._updateEditorPosition()}}),b()],x.prototype,"alignRight",2);M([y({label:A("ui.transform.alignTop.label"),customComponent:D,onChange:n=>{n.engineObject.alignTop=n.alignTop,n._updateEditorPosition()}}),b()],x.prototype,"alignTop",2);M([y({label:A("ui.transform.alignMiddle.label"),customComponent:D,onChange:n=>{n.engineObject.alignMiddle=n.alignMiddle,n._updateEditorPosition()}}),b()],x.prototype,"alignMiddle",2);M([y({label:A("ui.transform.alignBottom.label"),customComponent:D,onChange:n=>{n.engineObject.alignBottom=n.alignBottom,n._updateEditorPosition()}}),b()],x.prototype,"alignBottom",2);M([se],x.prototype,"syncRotation",1);x=M([W({type:"UITransform",componentsMenu:{group:"UI",label:"component.ui-transform.title"},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],x);const Et=E(({model:n,inspectorConfig:e})=>{const{t}=N(),i=n.enabled?t("ui.canvas.warning.not-root-canvas-reason-not-closest"):t("ui.canvas.warning.not-root-canvas-reason-disabled");return p.jsxs(Ge,{type:"warning",css:{width:"100%"},children:[t("ui.canvas.warning.not-root-canvas")," ",i]})});function V(n){n.run().then(e=>{n.isActive()&&(n.shouldApply&&!n.shouldApply(e)||n.apply(e))}).catch(()=>{})}function zt(n,e){var t;return e?((t=n.entities.get(e.ownerId))==null?void 0:t.getComponentById(e.componentId))??null:null}var _e=Object.defineProperty,Lt=Object.getOwnPropertyDescriptor,jt=(n,e,t)=>e in n?_e(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,z=(n,e,t,i)=>{for(var a=i>1?void 0:i?Lt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&_e(e,t,a),a},Ce=(n,e,t)=>(jt(n,typeof e!="symbol"?e+"":e,t),t);let w=class extends O{constructor(e,t){super(e,t);u(this,"_cameraListener");u(this,"_initReadySequence",0);u(this,"_cameraReadySequence",0);u(this,"_poseReadySequence",0);u(this,"_sizeReadySequence",0);u(this,"_canvasReadySequence",0);u(this,"debouncedRootCanvasCheck",Oe(this._triggerRootCanvasCheck.bind(this),500,{edges:["trailing"]}));u(this,"warning","");u(this,"renderMode",S.ScreenSpaceOverlay);u(this,"referenceResolution",{x:800,y:600});u(this,"referenceResolutionPerUnit",100);u(this,"renderCamera",null);u(this,"resolutionAdaptationMode",P.HeightAdaptation);u(this,"sortOrder",0);u(this,"distance",10);this._onCanvasSizeListener=this._onCanvasSizeListener.bind(this),this._triggerRootCanvasCheck=this._triggerRootCanvasCheck.bind(this),this._onCameraModifyListener=this._onCameraModifyListener.bind(this),this._onCameraTransformListener=this._onCameraTransformListener.bind(this),this.formSchema.addGroup("ui.canvas.adaptation",["referenceResolution","resolutionAdaptationMode","referenceResolutionPerUnit"],{collapsible:!1,when:i=>i.isRootCanvas()})}onInitComplete(){this.applyBoundPathChange("renderMode",R.Select,S.WorldSpace);const e=this._getTransformModel();if(!e)return;const t=++this._initReadySequence;V({run:async()=>(await e.onReady(),e),isActive:()=>this._isSequenceActive(t,this._initReadySequence),shouldApply:()=>{var i;return((i=this._getTransformModel())==null?void 0:i.status)==="ready"},apply:()=>{q.on("UICanvasEnabled",this.debouncedRootCanvasCheck),q.on("UICanvasDisable",this.debouncedRootCanvasCheck),this._engineObject.engine.canvas._sizeUpdateFlagManager.addListener(this._onCanvasSizeListener);const i=this.root.projectStore.currentScene;i&&(i.initComplete?this.debouncedRootCanvasCheck():V({run:async()=>(await i.onReady(),i),isActive:()=>this._isSequenceActive(t,this._initReadySequence),shouldApply:a=>a.status==="ready",apply:()=>{this.debouncedRootCanvasCheck()}}))}})}_isSequenceActive(e,t){return!this.destroyed&&e===t}_triggerRootCanvasCheck(){var e,t;this._enabled&&this.isRootCanvas()?(this._onRenderCameraDirty(),this._onRenderModeDirty()):(this._setCameraListener(null),(t=(e=this.entityModel)==null?void 0:e.transform)==null||t.unlock(),this._setTransformDisabled(!1))}_onRenderModeDirty(){var t,i;switch(this.renderMode){case S.ScreenSpaceCamera:case S.ScreenSpaceOverlay:this._adapterPoseInScreenSpace(),this._adapterSizeInScreenSpace(),this._setTransformDisabled(!0);break;case S.WorldSpace:(i=(t=this.entityModel)==null?void 0:t.transform)==null||i.unlock(),this._setTransformDisabled(!1);break}}_setCameraListener(e){if(e){const t=++this._cameraReadySequence;V({run:async()=>(await e.onReady(),e),isActive:()=>this._isSequenceActive(t,this._cameraReadySequence),shouldApply:i=>i.status==="ready",apply:i=>{const a=i.engineObject,r=this._cameraListener;r!==a&&(this._cameraListener=a,r&&(r.entity._updateFlagManager.removeListener(this._onCameraTransformListener),r._unRegisterModifyListener(this._onCameraModifyListener)),a&&(a.entity._updateFlagManager.addListener(this._onCameraTransformListener),a._registerModifyListener(this._onCameraModifyListener)))}})}else{this._cameraReadySequence++;const t=this._cameraListener;t&&(t.entity._updateFlagManager.removeListener(this._onCameraTransformListener),t._unRegisterModifyListener(this._onCameraModifyListener)),this._cameraListener=null}}_onRenderCameraDirty(){this._setCameraListener(this.renderMode===S.ScreenSpaceCamera?this._getCameraModel():null)}onEnabled(){super.onEnabled(),q.dispatch("UICanvasEnabled",this)}onDisabled(){super.onDisabled(),q.dispatch("UICanvasDisable",this)}isRootCanvas(){var e;return!!((e=this.engineObject)!=null&&e._isRootCanvas)}destroy(e){this._initReadySequence++,this._cameraReadySequence++,this._poseReadySequence++,this._sizeReadySequence++,this._canvasReadySequence++,q.off("UICanvasEnabled",this.debouncedRootCanvasCheck),q.off("UICanvasDisable",this.debouncedRootCanvasCheck),this._setCameraListener(null),this._engineObject.engine.canvas._sizeUpdateFlagManager.removeListener(this._onCanvasSizeListener),super.destroy(e)}_setTransformDisabled(e){var i;const t=(i=this.entityModel)==null?void 0:i.transform;t&&(t.disabled=e)}_onCameraModifyListener(e){switch(e){case X.ProjectionType:case X.AspectRatio:this._adapterSizeInScreenSpace();break;case X.FieldOfView:!this._cameraListener.isOrthographic&&this._adapterSizeInScreenSpace();break;case X.OrthographicSize:this._cameraListener.isOrthographic&&this._adapterSizeInScreenSpace();break}}_onCameraTransformListener(){this.renderMode===S.ScreenSpaceCamera&&this._adapterPoseInScreenSpace()}_adapterPoseInScreenSpace(){var a,r;const e=this.engineObject,t=e.entity.transform,i=this._getCameraModel();if(this.renderMode===S.ScreenSpaceCamera&&i){const o=++this._poseReadySequence;V({run:async()=>(await i.onReady(),i),isActive:()=>this._isSequenceActive(o,this._poseReadySequence),shouldApply:l=>l.status==="ready",apply:l=>{var g,m;const c=l.engineObject;if(!this._isSameEntityOrChildEntity(c.entity)){const{transform:s}=c.entity,{worldPosition:d,worldForward:h}=s,T=e.distance;t.setWorldPosition(d.x+h.x*T,d.y+h.y*T,d.z+h.z*T),t.worldRotationQuaternion.copyFrom(s.worldRotationQuaternion),(m=(g=this.entityModel)==null?void 0:g.transform)==null||m.lock(t.worldMatrix),this._syncPose()}}})}else{this._poseReadySequence++;const{canvas:o}=e.engine,l=o.height,c=o.width;t.setWorldPosition(c*.5,l*.5,0),t.worldRotationQuaternion.set(0,0,0,1),(r=(a=this.entityModel)==null?void 0:a.transform)==null||r.lock(t.worldMatrix),this._syncPose()}}_adapterSizeInScreenSpace(){let e,t;const i=this._getCameraModel();if(this.renderMode===S.ScreenSpaceCamera&&i){const a=++this._sizeReadySequence;V({run:async()=>(await i.onReady(),i),isActive:()=>this._isSequenceActive(a,this._sizeReadySequence),shouldApply:r=>r.status==="ready",apply:r=>{const o=r.engineObject;t=o.isOrthographic?o.orthographicSize*2:2*(Math.tan(Fe.degreeToRadian(o.fieldOfView*.5))*this.engineObject.distance),e=o.aspectRatio*t,this._applySize(e,t)}})}else{this._sizeReadySequence++;const{canvas:a}=this.engineObject.engine;this._applySize(a.width,a.height)}}_onCanvasSizeListener(){const e=++this._canvasReadySequence;V({run:async()=>(await this.onReady(),this),isActive:()=>this._isSequenceActive(e,this._canvasReadySequence),shouldApply:t=>t.status==="ready",apply:()=>{const t=this._getCameraModel(),i=this.renderMode;if(i===S.ScreenSpaceOverlay||i===S.ScreenSpaceCamera&&!t){const a=this.engineObject,{canvas:r}=a.engine;a.entity.transform.setWorldPosition(r.width*.5,r.height*.5,0),this._adapterSizeInScreenSpace()}}})}_applySize(e,t){const i=this.engineObject.entity.transform,{x:a,y:r}=this.referenceResolution;let o,l,c;switch(this.resolutionAdaptationMode){case P.WidthAdaptation:o=l=c=e/a;break;case P.HeightAdaptation:o=l=c=t/r;break;case P.BothAdaptation:o=e/a,l=t/r,c=(o+l)*.5;break;case P.ExpandAdaptation:o=l=c=Math.min(e/a,t/r);break;case P.ShrinkAdaptation:o=l=c=Math.max(e/a,t/r);break}const g=w._tempMat;fe.affineTransformation(w._tempVec3.set(o,l,c),i.worldRotationQuaternion,i.worldPosition,g),i.worldMatrix.copyFrom(g),i.size.set(e/o,t/l),this._syncPose()}_syncPose(){var t;const e=(t=this.entityModel)==null?void 0:t.transform;e&&e.syncEngineToEditor(!0)}_getTransformModel(){var e;return(e=this.entityModel)==null?void 0:e.transform}_getCameraModel(){return zt(this.root.sceneStore,this.renderCamera)}_isSameEntityOrChildEntity(e){const t=this.engineObject.entity;for(;e;){if(e===t)return!0;e=e.parent}return!1}};Ce(w,"_tempVec3",new Be);Ce(w,"_tempMat",new fe);z([y({label:"ui.canvas.warning.label",info:"ui.canvas.warning.info",customComponent:Et,when:n=>!n.isRootCanvas()})],w.prototype,"warning",2);z([y({label:"ui.canvas.render-mode.label",info:"ui.canvas.render-mode.info",type:R.Select,value:S.ScreenSpaceOverlay,when:n=>n.isRootCanvas(),triggerAfterInit:!1,options:[{label:"ui.canvas.render-mode.screen-space-overlay",value:S.ScreenSpaceOverlay},{label:"ui.canvas.render-mode.screen-space-camera",value:S.ScreenSpaceCamera},{label:"ui.canvas.render-mode.world-space",value:S.WorldSpace}],onChange(n,e,t){n._onRenderCameraDirty(),n._onRenderModeDirty()}}),b()],w.prototype,"renderMode",2);z([y({label:"ui.canvas.resolution.label",info:"ui.canvas.resolution.info",type:R.Vector2,slotMapping:{x:"W",y:"H"},triggerAfterInit:!1,when:n=>n.isRootCanvas()&&n.renderMode!==S.WorldSpace,onChange:(n,e,t)=>{n._adapterSizeInScreenSpace()}}),b()],w.prototype,"referenceResolution",2);z([y({label:"ui.canvas.resolution-per-unit.label",info:"ui.canvas.resolution-per-unit.info",type:R.Number,when:n=>n.isRootCanvas(),bindPath:"referenceResolutionPerUnit"}),b()],w.prototype,"referenceResolutionPerUnit",2);z([y({label:"ui.canvas.render-camera.label",info:"ui.canvas.render-camera.info",customComponent:ye,triggerAfterInit:!1,componentTypes:["Camera"],when:n=>n.isRootCanvas()&&n.renderMode===S.ScreenSpaceCamera,onChange:(n,e,t)=>{n._onRenderCameraDirty(),n._onRenderModeDirty()}}),b()],w.prototype,"renderCamera",2);z([y({label:"ui.canvas.adaptation-mode.label",info:"ui.canvas.adaptation-mode.info",type:R.Select,value:P.HeightAdaptation,triggerAfterInit:!1,when:n=>n.isRootCanvas()&&n.renderMode!==S.WorldSpace,options:[{label:"ui.canvas.adaptation-mode.width",value:P.WidthAdaptation},{label:"ui.canvas.adaptation-mode.height",value:P.HeightAdaptation},{label:"ui.canvas.adaptation-mode.both",value:P.BothAdaptation},{label:"ui.canvas.adaptation-mode.expand",value:P.ExpandAdaptation},{label:"ui.canvas.adaptation-mode.shrink",value:P.ShrinkAdaptation}],onChange(n,e,t){n._adapterSizeInScreenSpace()}}),b()],w.prototype,"resolutionAdaptationMode",2);z([y({label:"ui.canvas.sort-order.label",info:"ui.canvas.sort-order.info",type:R.Number,when:n=>n.isRootCanvas()&&n.renderMode===S.ScreenSpaceOverlay,bindPath:"sortOrder"}),b()],w.prototype,"sortOrder",2);z([y({label:"ui.canvas.distance.label",info:"ui.canvas.distance.info",type:R.Number,when:n=>n.isRootCanvas()&&n.renderMode===S.ScreenSpaceCamera,bindPath:"distance",triggerAfterInit:!1,onChange:(n,e,t)=>{n.renderCamera&&(n._adapterPoseInScreenSpace(),n._adapterSizeInScreenSpace())}}),b()],w.prototype,"distance",2);z([se],w.prototype,"_setTransformDisabled",1);w=z([W({type:"UICanvas",componentsMenu:{group:"UI",label:"component.ui-canvas.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel},unique:!0})],w);var Ot=Object.defineProperty,Bt=Object.getOwnPropertyDescriptor,ie=(n,e,t,i)=>{for(var a=i>1?void 0:i?Bt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&Ot(e,t,a),a};let H=class extends O{constructor(e,t){super(e,t);u(this,"alpha",1);u(this,"interactive",!0);u(this,"ignoreParentGroup",!1)}};ie([y({label:"ui.group.alpha.label",info:"ui.group.alpha.info",type:R.Slider,bindPath:"alpha",min:0,max:1,dragStep:.02}),b()],H.prototype,"alpha",2);ie([y({label:"ui.group.interactive.label",info:"ui.group.interactive.info",type:R.Toggle,bindPath:"interactive"}),b()],H.prototype,"interactive",2);ie([y({label:"ui.group.ignore-parent.label",info:"ui.group.ignore-parent.info",type:R.Toggle,bindPath:"ignoreParentGroup"}),b()],H.prototype,"ignoreParentGroup",2);H=ie([W({type:"UIGroup",componentsMenu:{group:"UI",label:"component.ui-group.title"},unique:!0})],H);O.registerCustomEngineComponent("UICanvas",De);O.registerCustomEngineComponent("UIGroup",Ue);O.registerCustomEngineComponent("Image",qe);O.registerCustomEngineComponent("Button",ke);O.registerCustomEngineComponent("UITransform",Ve);O.registerCustomEngineComponent("Text",Ne);export{ee as ButtonComponent,F as ImageComponent,ge as TextComponent,w as UICanvasComponent,H as UIGroupComponent,x as UITransformComponent};
1
+ var Se=Object.defineProperty;var Te=(n,e,t)=>e in n?Se(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var u=(n,e,t)=>(Te(n,typeof e!="symbol"?e+"":e,t),t);import{aQ as E,aR as N,aS as p,dD as K,ea as $,aU as B,bN as Q,q as J,eu as xe,bP as Ae,bl as Re,co as L,E as O,eC as we,eD as Me,eE as Ie,p as y,C as R,s as b,e as A,ev as j,f as Pe,eF as f,eG as _,eH as te,aO as Ee,b_ as de,t as ue,b$ as he,eI as ze,aL as se,eJ as Le,x as je,eK as Oe,eL as S,eM as P,eg as q,eN as X,ay as fe,K as Be,bE as Fe,cA as De,cB as Ue,cD as qe,cC as ke,cz as Ve,cE as Ne}from"./index-cb255df8.js";import"./index-1b0db457.js";import"./postmen-9da013ae.js";import{c as W}from"./Component-96f61c04.js";import{F as We}from"./FormItemArray-352ed0ac.js";import{S as $e}from"./SpriteBaseComponent-d95c34ed.js";import{T as He}from"./TextBaseComponent-050b8059.js";import{T as I}from"./TransformBaseComponent-aa739cb8.js";import{S as Ge}from"./Callout-277ec44d.js";import"./Accordion-0c911a1d.js";import"./IconEdit-55a2716d.js";const Ke=E(({item:n,onPropsChange:e})=>{const{t}=N(),i=n.props;return p.jsxs(p.Fragment,{children:[p.jsx(K,{label:t("ui.transition.color.normal.label"),value:i.normal,onChange:a=>{e(r=>{r.normal=a})}}),p.jsx(K,{label:t("ui.transition.color.hover.label"),value:i.hover,onChange:a=>{e(r=>{r.hover=a})}}),p.jsx(K,{label:t("ui.transition.color.pressed.label"),value:i.pressed,onChange:a=>{e(r=>{r.pressed=a})}}),p.jsx(K,{label:t("ui.transition.color.disabled.label"),value:i.disabled,onChange:a=>{e(r=>{r.disabled=a})}})]})});function Qe(n,e){const t=n.props;e.normal.copyFrom(t.normal),e.hover.copyFrom(t.hover),e.pressed.copyFrom(t.pressed),e.disabled.copyFrom(t.disabled)}const Je=E(({item:n,onPropsChange:e})=>{const{t}=N(),i=n.props;return p.jsxs(p.Fragment,{children:[p.jsx($,{label:t("ui.transition.scale.normal.label"),value:i.normal,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.normal=a})}}),p.jsx($,{label:t("ui.transition.scale.hover.label"),value:i.hover,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.hover=a})}}),p.jsx($,{label:t("ui.transition.scale.pressed.label"),value:i.pressed,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.pressed=a})}}),p.jsx($,{label:t("ui.transition.scale.disabled.label"),value:i.disabled,min:.5,max:2,step:.05,onChange:a=>{e(r=>{r.disabled=a})}})]})});function Xe(n,e){const t=n.props;e.normal=t.normal,e.hover=t.hover,e.pressed=t.pressed,e.disabled=t.disabled}const re=new WeakMap;function Ye(n){const e=(re.get(n)??0)+1;return re.set(n,e),e}function ae(n,e){return re.get(n)===e}function Y(n,e,t,i,a){if(!i){if(!ae(e,t))return;a(null);return}n.getAssetByRef(i).then(r=>{ae(e,t)&&a((r==null?void 0:r.engineObject)??null)}).catch(r=>{ae(e,t)&&(console.warn("[SpriteTransitionOption] syncSpriteTransition failed:",r),a(null))})}function Ze(n,e,t){const{normal:i,hover:a,pressed:r,disabled:o}=e.props,l=Ye(t);Y(n.assetStore,t,l,i,c=>{t.normal=c}),Y(n.assetStore,t,l,a,c=>{t.hover=c}),Y(n.assetStore,t,l,r,c=>{t.pressed=c}),Y(n.assetStore,t,l,o,c=>{t.disabled=c})}function Z(n,e,t){if(!e)return t(null),()=>{};let i=!1;return n.getAssetByRef(e).then(a=>{i||t(a??null)}).catch(()=>{i||t(null)}),()=>{i=!0}}const et=E(({item:n,model:e,onPropsChange:t})=>{const[i,a]=B.useState(null),[r,o]=B.useState(null),[l,c]=B.useState(null),[g,m]=B.useState(null),{normal:s,hover:d,pressed:h,disabled:T}=n.props,{assetStore:C}=e.root,G=Object.values(C.assets).filter(v=>v.getMetaConfig().type==="sprite");return B.useEffect(()=>Z(C,s,a),[C,s]),B.useEffect(()=>Z(C,d,o),[C,d]),B.useEffect(()=>Z(C,h,c),[C,h]),B.useEffect(()=>Z(C,T,m),[C,T]),p.jsxs(p.Fragment,{children:[p.jsx(Q,{label:"Normal Sprite",dropLayer:J.Sprite,asset:i,value:i==null?void 0:i.name,assets:G,onSelect:v=>{t(U=>{U.normal=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.normal=null})},onLocate:()=>{s!=null&&s.refId&&C.selectAsset(s.refId)}}),p.jsx(Q,{label:"Hover Sprite",dropLayer:J.Sprite,asset:r,value:r==null?void 0:r.name,assets:G,onSelect:v=>{t(U=>{U.hover=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.hover=null})},onLocate:()=>{d!=null&&d.refId&&C.selectAsset(d.refId)}}),p.jsx(Q,{label:"Pressed Sprite",dropLayer:J.Sprite,asset:l,value:l==null?void 0:l.name,assets:G,onSelect:v=>{t(U=>{U.pressed=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.pressed=null})},onLocate:()=>{h!=null&&h.refId&&C.selectAsset(h.refId)}}),p.jsx(Q,{label:"Disabled Sprite",dropLayer:J.Sprite,asset:g,value:g==null?void 0:g.name,assets:G,onSelect:v=>{t(U=>{U.disabled=(v==null?void 0:v.getCurrentRef())??null})},onDelete:()=>{t(v=>{v.disabled=null})},onLocate:()=>{T!=null&&T.refId&&C.selectAsset(T.refId)}})]})});function tt(n,e,t){Ze(n,e,t)}function nt(n,e,t){if(!t)return null;const i=n.entities.get(t);if(!i)return null;for(let a=0,r=e.length;a<r;a++){const o=i.getComponentByTypeName(e[a]);if(o)return{ownerId:t,componentId:o.id}}return null}function it(n,e){n.selectEntity((e==null?void 0:e.ownerId)??null)}function at(n,e){const t=(e==null?void 0:e.ownerId)??null;return{entityId:t,entity:t?n.entities.get(t)??null:null}}const ye=E(n=>{const{inspectorConfig:{property:e,label:t,disabled:i,info:a,componentTypes:r},model:o,onModelChange:l}=n,c=o.root.sceneStore,g=c.rootEntity.children,m=c.entities,{entityId:s,entity:d}=at(c,o[e]??null),{t:h}=N();function T(C){l==null||l(e,nt(c,r,C))}return p.jsx(xe,{info:a,entities:g,entityMap:Ae(m),label:t,value:s,disabled:i,displayValue:d==null?void 0:d.name,placeholder:h("Select component..."),onSelect:T,onLocate:()=>{it(c,o[e]??null)},onDelete:()=>{T(null)}})}),oe={SpriteTransition:{class:"SpriteTransition",props:{target:null,normal:null,hover:null,pressed:null,disabled:null,duration:0}},ColorTransition:{class:"ColorTransition",props:{target:null,normal:{r:1,g:1,b:1,a:1},hover:{r:1,g:1,b:1,a:1},pressed:{r:1,g:1,b:1,a:1},disabled:{r:1,g:1,b:1,a:1},duration:0}},ScaleTransition:{class:"ScaleTransition",props:{target:null,normal:1,hover:1,pressed:1.2,disabled:1,duration:.1}}},rt=E(({item:n,index:e,model:t,onModelChange:i})=>{var g;const{t:a}=N();let r,o;switch(n.class){case"SpriteTransition":r=et,o=["Image"];break;case"ColorTransition":r=Ke,o=["Image","Text"];break;case"ScaleTransition":r=Je,o=["Image","Text"];break}const l=m=>{const s=L(t.transitions);m(s),i==null||i("transitions",s)},c=m=>{l(s=>{const d=s[e];d&&m(d)})};return p.jsxs(p.Fragment,{children:[p.jsx(ye,{inspectorConfig:{label:a("ui.transition.target.label"),info:a("ui.transition.target.info"),property:"target",componentTypes:o,value:((g=n.props.target)==null?void 0:g.ownerId)??null},model:n.props,onModelChange:(m,s)=>{c(d=>{d.props.target=s})}}),p.jsx(Re,{label:a("ui.transition.type.label"),info:a("ui.transition.type.info"),value:n.class,options:[{label:a("ui.transition.type.sprite"),value:"SpriteTransition"},{label:a("ui.transition.type.scale"),value:"ScaleTransition"},{label:a("ui.transition.type.color"),value:"ColorTransition"}],onChange:m=>{oe[m].class!==n.class&&c(d=>{const h=oe[m],T=d.props.target;d.class=h.class,d.props={...d.props,duration:h.props.duration,normal:L(h.props.normal),hover:L(h.props.hover),pressed:L(h.props.pressed),disabled:L(h.props.disabled),target:T}})}}),p.jsx(r,{item:n,model:t,onPropsChange:m=>{c(s=>{m(s.props)})}}),p.jsx($,{label:a("ui.transition.duration.label"),info:a("ui.transition.duration.info"),value:n.props.duration,min:0,max:2,step:.05,onChange:m=>{c(s=>{s.props.duration=m})}})]})}),ot=E(({model:n,inspectorConfig:e,onModelChange:t})=>{const{label:i}=e,{t:a}=N(),r=n.transitions,o=l=>{const c=L(r);l(c),t==null||t("transitions",c)};return p.jsx(We,{label:i,items:r.map((l,c)=>{const g={SpriteTransition:a("ui.transition.type.sprite"),ColorTransition:a("ui.transition.type.color"),ScaleTransition:a("ui.transition.type.scale")};return{removable:!0,children:p.jsx(rt,{item:l,index:c,model:n,onModelChange:t}),id:c+"",name:g[l.class]||l.class}}),addable:!0,onAdd:()=>{o(l=>{var m;const c=L(oe.SpriteTransition),g=(m=l[0])==null?void 0:m.props.target;c.props.target=g?L(g):null,l.push(c)})},onDelete:l=>{o(c=>{c.splice(parseInt(l.id),1)})}})});var st=Object.defineProperty,lt=Object.getOwnPropertyDescriptor,le=(n,e,t,i)=>{for(var a=i>1?void 0:i?lt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&st(e,t,a),a};let ee=class extends O{constructor(e,t){super(e,t);u(this,"_transitionMap",new Map);u(this,"interactive",!0);u(this,"transitions",[])}syncTransitionsFromModel(){const e=this.transitions,t=this._transitionMap;for(const[i,a]of Array.from(t.entries()))e.includes(i)||(a&&this.engineObject.removeTransition(a),t.delete(i));for(let i=0,a=e.length;i<a;i++)this.addTransition(e[i])}_onInitComplete(){const e=this.transitions;for(let t=0,i=e.length;t<i;t++)this.addTransition(e[t])}addTransition(e){var m;const t=e==null?void 0:e.class;if(!(t==="SpriteTransition"||t==="ColorTransition"||t==="ScaleTransition")){console.warn(`[ButtonComponent] Unsupported transition.class: ${t}`);return}const a=this.transitions;let r=a.indexOf(e);if(r===-1)r=a.push(e)-1;else{const s=this._transitionMap.get(a[r]);s&&(this.engineObject.removeTransition(s),this._transitionMap.delete(e))}const o=this._transitionMap;let l;const c=this.engineObject;switch(t){case"SpriteTransition":l=new Ie,tt(this.root,e,l);break;case"ColorTransition":l=new Me,Qe(e,l);break;case"ScaleTransition":l=new we,Xe(e,l);break}const g=e.props.target;if(g){const s=(m=this.root.sceneStore.entities.get(g.ownerId))==null?void 0:m.getComponentById(g.componentId);s==null||s.onReady().then(()=>{(s==null?void 0:s.status)==="ready"&&(l.target=s==null?void 0:s.engineObject)})}c.addTransition(l),o.set(a[r],l)}getTransition(e){return this._transitionMap.get(e)}};le([y({label:"ui.button.interactive.label",info:"ui.button.interactive.info",type:R.Toggle,onChange(n,e,t){const i=n.engineObject;i.interactive=t;const a=i._getInteractiveState(),r=i.transitions;for(let o=0,l=r.length;o<l;o++)r[o]._setState(a,!0)}}),b()],ee.prototype,"interactive",2);le([b({type:"methods",key:"addTransition",onSerialize:n=>n.map(e=>[{class:e.class,props:L(e.props)}]),onDeserialize:n=>n.map(e=>e[0])}),y({label:A("ui.button.transitions.label"),info:A("ui.button.transitions.info"),customComponent:ot,triggerAfterInit:!1,onChange(n){n.syncTransitionsFromModel();const e=n.engineObject,t=e._getInteractiveState(),i=e.transitions;for(let a=0,r=i.length;a<r;a++)i[a]._setState(t,!0)}}),b()],ee.prototype,"transitions",2);ee=le([W({type:"Button",componentsMenu:{group:"UI",label:"component.ui-button.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],ee);var be=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,pt=(n,e,t)=>e in n?be(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ne=(n,e,t,i)=>{for(var a=i>1?void 0:i?ct(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&be(e,t,a),a},dt=(n,e,t)=>(pt(n,typeof e!="symbol"?e+"":e,t),t);let F=class extends $e{constructor(e,t){super(e,t);u(this,"raycastEnabled",!0);u(this,"raycastPadding",{x:0,y:0,z:0,w:0});u(this,"material",{refId:F._internalImageMaterialRefId});this.formSchema.addGroup("ui.image.raycast.title",["raycastEnabled","raycastPadding"])}_onInitComplete(){this.raycastEnabled=!1,this.applyBoundPathChange("raycastEnabled",R.Toggle,!1)}};dt(F,"_internalImageMaterialRefId","0000204");ne([y({label:"ui.image.raycast.enabled.label",info:"ui.image.raycast.enabled.info",type:R.Toggle,bindPath:"raycastEnabled"}),b()],F.prototype,"raycastEnabled",2);ne([y({label:"ui.image.raycast.padding.label",info:"ui.image.raycast.padding.info",type:R.Vector4,slotMapping:{x:A("ui.image.raycast.padding.left"),y:A("ui.image.raycast.padding.down"),z:A("ui.image.raycast.padding.right"),w:A("ui.image.raycast.padding.up")}}),b()],F.prototype,"raycastPadding",2);ne([y({label:"ui.image.material.label",info:"ui.image.material.info",type:R.AssetPicker,assetType:"Material",customFilter:n=>{var e;return((e=n.engineObject.shader)==null?void 0:e.name)!=="particle-shader"},onChange:async n=>{const{material:e}=n,t=n.engineObject;if(!e){t.setMaterial(null);return}const{refId:i}=e;if(i===F._internalImageMaterialRefId)t.setMaterial(t.engine._getUIDefaultMaterial());else{const a=await n.root.assetStore.getAssetByRef(e);a?t.setMaterial(a.engineObject):console.error(`Material asset not found: ${e.refId}`)}}}),Pe({engineKey:"setMaterial",getEngineValue:n=>n.getMaterial()}),b({type:"methods",key:"setMaterial",onSerialize:n=>n?[[n]]:void 0,onDeserialize(n){return n?n[0][0]:void 0}})],F.prototype,"material",2);F=ne([W({type:"Image",componentsMenu:{group:"UI",label:"component.ui-image.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],F);var ut=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,gt=(n,e,t,i)=>{for(var a=i>1?void 0:i?ht(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&ut(e,t,a),a};let ge=class extends He{constructor(n,e){super(n,e)}};ge=gt([W({type:"Text",componentsMenu:{group:"UI",label:"component.ui-text.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],ge);function ce(n,e,t){var o;const i=(o=n._getParentTransform())==null?void 0:o._rect;if(!i)return;const a=n._rect,r=n.position.x;switch(e){case f.Left:n.alignLeft=r-i.x+a.x,t.push("alignLeft");break;case f.Right:n.alignRight=i.x+i.width-a.x-a.width-r,t.push("alignRight");break;case f.Center:n.alignCenter=r-i.x-i.width*.5+a.x+a.width*.5,t.push("alignCenter");break;case f.LeftAndRight:n.alignLeft=r-i.x+a.x,n.alignRight=i.x+i.width-a.x-a.width-r,t.push("alignLeft","alignRight");break}}function pe(n,e,t){var o;const i=(o=n._getParentTransform())==null?void 0:o._rect;if(!i)return;const a=n._rect,r=n.position.y;switch(e){case _.Top:n.alignTop=i.y+i.height-a.y-a.height-r,t.push("alignTop");break;case _.Bottom:n.alignBottom=r-i.y+a.y,t.push("alignBottom");break;case _.Middle:n.alignMiddle=r-i.y-i.height*.5+a.y+a.height*.5,t.push("alignMiddle");break;case _.TopAndBottom:n.alignTop=i.y+i.height-a.y-a.height-r,n.alignBottom=r-i.y+a.y,t.push("alignTop","alignBottom");break}}function mt(n,e,t=n.horizontalAlignment,i=n.verticalAlignment){e.length=0;const a=n.engineObject;return a.horizontalAlignment=f.None,a.verticalAlignment=_.None,ce(a,t,e),pe(a,i,e),a.horizontalAlignment=t,a.verticalAlignment=i,e}const ft=te({position:"relative",width:"95%",height:"100%","border-radius":"5px",background:"#00000000",border:"1px solid #646c75",display:"flex","justify-content":"center","align-items":"center","flex-shrink":0})(),yt=te({position:"absolute",width:"calc(100% - 40px)",height:"calc(100% - 33px)",border:"1px solid #646c75","border-radius":"5px","pointer-events":"none"})(),bt=te({display:"grid",width:"100%",padding:"var(--space-0_5)","grid-template-columns":"minmax(0px, 1.3fr) repeat(3, minmax(0px, 1fr))","grid-template-rows":"auto","column-gap":"var(--space-1)",alignItems:"center"})(),vt=te({display:"grid",columnGap:"$1","align-items":"flex-start","grid-column":"2 / -1","column-gap":"var(--space-1)","row-gap":"var(--space-1)"})(),me=Ee("div",{display:"grid",gap:"var(--space-1)",variants:{column:{1:{gridTemplateColumns:"1fr"},2:{gridTemplateColumns:"repeat(2, 1fr)"},3:{gridTemplateColumns:"repeat(3, 1fr)"}}}}),_t=[],D=E(()=>null),Ct=E(({model:n,onModelChange:e})=>{const t=n.engineObject,i=(s,d)=>{const h=mt(n,_t,s,d);for(let T=0;T<h.length;T++){const C=h[T];n._syncTransformToEditor(C,t[C]),e==null||e(C,n[C])}},a=s=>d=>{e==null||e(s,d)},r=s=>{switch(s){case f.None:return 1;case f.Left:case f.Right:case f.Center:return 2;case f.LeftAndRight:return 3;default:return 1}},o=(s,d="")=>p.jsx(ze,{startSlot:d,value:n[s],onValueChange:a(s)},s),l=s=>{const d=n.horizontalAlignment;let h=d;d&s?h=d&~s:d===f.Center||s===f.Center?h=s:h=d|s,e==null||e("horizontalAlignment",h),i(h,n.verticalAlignment)},c=s=>{const d=n.verticalAlignment;let h=d;d&s?h=d&~s:d===_.Middle||s===_.Middle?h=s:h=d|s,e==null||e("verticalAlignment",h),i(n.horizontalAlignment,h)},g=s=>!!(n.horizontalAlignment&s),m=s=>!!(n.verticalAlignment&s);return p.jsxs("div",{className:bt,children:[p.jsxs("div",{className:ft,id:"ring",children:[p.jsx("div",{className:yt}),p.jsx(k,{...St,isActive:g(f.Left),onClick:()=>l(f.Left)}),p.jsx(k,{...Tt,isActive:g(f.Right),onClick:()=>l(f.Right)}),p.jsx(k,{...xt,isActive:g(f.Center),onClick:()=>l(f.Center)}),p.jsx(k,{...At,isActive:m(_.Top),onClick:()=>c(_.Top)}),p.jsx(k,{...Rt,isActive:m(_.Bottom),onClick:()=>c(_.Bottom)}),p.jsx(k,{...wt,isActive:m(_.Middle),onClick:()=>c(_.Middle)})]}),p.jsxs("div",{className:vt,children:[p.jsxs(me,{column:r(n.horizontalAlignment),children:[p.jsx(de,{startSlot:n.horizontalAlignment===f.None?"Horizontal":"",value:n.horizontalAlignment,onValueChange:s=>{e==null||e("horizontalAlignment",s),i(s,n.verticalAlignment)},children:ue(f).map(s=>p.jsx(he,{value:s.value,children:s.label},s.value))}),n.horizontalAlignment===f.Left&&o("alignLeft"),n.horizontalAlignment===f.Right&&o("alignRight"),n.horizontalAlignment===f.Center&&o("alignCenter"),n.horizontalAlignment===f.LeftAndRight&&p.jsxs(p.Fragment,{children:[o("alignLeft","Left"),o("alignRight","Right")]})]}),p.jsxs(me,{column:r(n.verticalAlignment),children:[p.jsx(de,{startSlot:n.verticalAlignment===_.None?"Vertical":"",value:n.verticalAlignment,onValueChange:s=>{e==null||e("verticalAlignment",s),i(n.horizontalAlignment,s)},children:ue(_).map(s=>p.jsx(he,{value:s.value,children:s.label},s.value))}),n.verticalAlignment===_.Top&&o("alignTop"),n.verticalAlignment===_.Bottom&&o("alignBottom"),n.verticalAlignment===_.Middle&&o("alignMiddle"),n.verticalAlignment===_.TopAndBottom&&p.jsxs(p.Fragment,{children:[o("alignTop","Top"),o("alignBottom","Bottom")]})]})]})]})}),St={left:2,top:"cal(50% - 12px)",width:16,height:25,lw:10,lh:1,activeLH:3,orientation:"h"},Tt={right:2,top:"cal(50% - 12px)",width:16,height:25,lw:10,lh:1,activeLH:3,orientation:"h"},xt={left:"cal(50% - 12px)",top:"cal(50% - 4px)",width:24,height:8,lw:14,lh:1,activeLH:3,orientation:"h"},At={left:"cal(50% - 12px)",top:2,width:25,height:12,lw:1,lh:10,activeLW:3,orientation:"v"},Rt={left:"cal(50% - 12px)",bottom:2,width:25,height:12,lw:1,lh:10,activeLW:3,orientation:"v"},wt={left:"cal(50% - 12px)",top:"cal(50% - 4px)",width:8,h:24,lw:1,lh:14,activeLW:3,orientation:"v"},k=E(function({isActive:e,onClick:t,...i}){return p.jsx("button",{onClick:t,style:{background:"transparent",padding:0,border:0,cursor:"pointer",display:"flex",position:"absolute",justifyContent:"center",alignItems:"center",...i},children:p.jsx("span",{style:{display:"block",background:e?"#1e88e5":"#a8acb3",borderRadius:e?"2px":"0px",width:i.orientation==="h"?i.lw:e&&i.activeLW||i.lw,height:i.orientation==="v"?i.lh:e&&i.activeLH||i.lh,transition:"all 0.15s ease"}})})});var ve=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,It=(n,e,t)=>e in n?ve(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,M=(n,e,t,i)=>{for(var a=i>1?void 0:i?Mt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&ve(e,t,a),a},Pt=(n,e,t)=>(It(n,typeof e!="symbol"?e+"":e,t),t);let x=class extends I{constructor(e,t){super(e,t);u(this,"_tempPropertiesForPosition",[]);u(this,"_tempPropertiesForSize",[]);u(this,"disabled",!1);u(this,"size",{x:100,y:100});u(this,"pivot",{x:.5,y:.5});u(this,"alignment",{});u(this,"horizontalAlignment",f.None);u(this,"verticalAlignment",_.None);u(this,"alignLeft",0);u(this,"alignCenter",0);u(this,"alignRight",0);u(this,"alignTop",0);u(this,"alignMiddle",0);u(this,"alignBottom",0);u(this,"syncEngineToEditor",se((e=!1)=>{const t=this.engineObject,{size:i,pivot:a,position:r,rotation:o,scale:l}=t;!e&&this._isLock?(r.copyFrom(this.position),o.copyFrom(this.rotation),l.copyFrom(this.scale),i.copyFrom(this.size),a.copyFrom(this.pivot),t.horizontalAlignment=this.horizontalAlignment,t.alignLeft=this.alignLeft,t.alignCenter=this.alignCenter,t.alignRight=this.alignRight,t.verticalAlignment=this.verticalAlignment,t.alignTop=this.alignTop,t.alignMiddle=this.alignMiddle,t.alignBottom=this.alignBottom):(this._syncTransformToEditor("position",r),this._syncTransformToEditor("rotation",o),this._syncTransformToEditor("scale",l),this._syncTransformToEditor("size",i),this._syncTransformToEditor("pivot",a),this._syncTransformToEditor("horizontalAlignment",t.horizontalAlignment),this._syncTransformToEditor("alignLeft",t.alignLeft),this._syncTransformToEditor("alignCenter",t.alignCenter),this._syncTransformToEditor("alignRight",t.alignRight),this._syncTransformToEditor("verticalAlignment",t.verticalAlignment),this._syncTransformToEditor("alignTop",t.alignTop),this._syncTransformToEditor("alignMiddle",t.alignMiddle),this._syncTransformToEditor("alignBottom",t.alignBottom))}));u(this,"_engineParentEntity");u(this,"_isLock",!1);u(this,"_lockWorldMatrix");this._onParentChange=this._onParentChange.bind(this),this._onParentTransformChange=this._onParentTransformChange.bind(this),this.formSchema.addGroup("ui.transform.relativeLayout",["alignment"],{when:i=>{var a,r;return!((r=(a=i.entityModel)==null?void 0:a.getComponentByTypeName("UICanvas"))!=null&&r.isRootCanvas())}})}static roundVector2(e,t){return t.x=I.roundToThreeDecimal(e.x),t.y=I.roundToThreeDecimal(e.y),t}static equalVector2(e,t){return e.x===t.x&&e.y===t.y}_updateEditorSize(){const e=this.engineObject,t=I.roundVector2(e.size,I._tempVector2);I.copyVector2(t,this.size)}_updateEditorPosition(){const e=this.engineObject,t=I.roundVector3(e.position,I._tempVector3);I.copyVector3(t,this.position)}onInitComplete(){var e;this._onTransformModify=this._onTransformModify.bind(this),(e=this.engineObject.entity)==null||e._updateFlagManager.addListener(this._onTransformModify)}_onTransformModify(e){this.engineObject;const t=512,i=1024;e&t&&this._updateEditorSize(),(e&t||e&i)&&(this.horizontalAlignment||this.verticalAlignment)&&this._updateEditorPosition()}syncRotation(e=!1){!e&&this._isLock?this.engineObject.rotation.copyFrom(this.rotation):this._syncTransformToEditor("rotation",this.engineObject.rotation)}syncTransformToEditor(e){this._isLock||(super.syncTransformToEditor(e),this._syncTransformToEditor("size",e.size),this._syncTransformToEditor("pivot",e.pivot),this._syncTransformToEditor("horizontalAlignment",e.horizontalAlignment),this._syncTransformToEditor("alignLeft",e.alignLeft),this._syncTransformToEditor("alignCenter",e.alignCenter),this._syncTransformToEditor("alignRight",e.alignRight),this._syncTransformToEditor("verticalAlignment",e.verticalAlignment),this._syncTransformToEditor("alignTop",e.alignTop),this._syncTransformToEditor("alignMiddle",e.alignMiddle),this._syncTransformToEditor("alignBottom",e.alignBottom))}destroy(e){var t,i;(i=(t=this.engineObject)==null?void 0:t.entity)==null||i._updateFlagManager.removeListener(this._onTransformModify),super.destroy(e)}checkCanDisable(){return{code:1,msg:"ui.transform.error.cant-disable"}}checkCanDeletable(){return{code:1,msg:"ui.transform.error.cant-delete"}}_onPositionChange(){const{horizontalAlignment:e,verticalAlignment:t}=this;if(e||t){const i=this.engineObject,a=this._tempPropertiesForPosition;a.length=0,i.horizontalAlignment=f.None,i.verticalAlignment=_.None,i.position.copyFrom(this.position),ce(i,e,a),pe(i,t,a),i.horizontalAlignment=e,i.verticalAlignment=t;for(let r=0;r<a.length;r++){const o=a[r];this._syncTransformToEditor(o,i[o])}}else this.engineObject.position.copyFrom(this.position)}_onParentChange(e){e&Le.Parent&&this._updateParent(this.engineObject.entity.parent)}_updateParent(e){const t=this._engineParentEntity;t!==e&&(t&&t._updateFlagManager.removeListener(this._onParentTransformChange),e&&e._updateFlagManager.addListener(this._onParentTransformChange),this._engineParentEntity=e,this._onParentTransformChange())}_onParentTransformChange(){this.engineObject.worldMatrix.copyFrom(this._lockWorldMatrix),this.syncEngineToEditor(!0)}lock(e){this._isLock=!0,this._lockWorldMatrix?this._lockWorldMatrix.copyFrom(e):this._lockWorldMatrix=e.clone();const t=this.engineObject.entity;t._registerModifyListener(this._onParentChange),this._updateParent(t.parent)}unlock(){var e;this._isLock=!1,this.engineObject.entity._unRegisterModifyListener(this._onParentChange),(e=this._engineParentEntity)==null||e._updateFlagManager.removeListener(this._onParentTransformChange)}onShow(){this.syncEngineToEditor(!0)}get ignoreToJSON(){return!0}getEditable(){return!this.disabled}onAddToEntity(e){for(let t=0;t<e.components.length;t++){const i=e.components[t];if((i.type==="Transform"||i.type==="UITransform")&&i!==this){e.removeComponent(i);break}}e.setComponentIndex(this,0)}getAnimatableProperties(){let e=[];const t=i=>{if(!(i!=null&&i.length))return e;i.filter(a=>a.property==="alignment"?!1:!a.when||a.when(this)).forEach(a=>{a.type==="Group"?t(a.children):e.push({property:a.property,label:a.label,type:a.type})})};return t(this.formSchema.items),e=e.concat(this._additionAnimatableProperties),e}_syncTransformToEditor(e,t){switch(e){case"horizontalAlignment":case"verticalAlignment":{this[e]!==t&&(this[e]=t,this.notifyPropertyChange(e,!1));break}case"alignLeft":case"alignCenter":case"alignRight":case"alignTop":case"alignMiddle":case"alignBottom":{const i=I.roundToThreeDecimal(t);this[e]!==i&&(this[e]=i,this.notifyPropertyChange(e,!1));break}case"size":case"pivot":{const i=this[e],a=x.roundVector2(t,x._tempVector2);x.equalVector2(a,i)||(i.x=a.x,i.y=a.y,this.notifyPropertyChange(e,!1));break}default:super._syncTransformToEditor(e,t);break}}};Pt(x,"_tempVector2",{x:0,y:0});M([je],x.prototype,"disabled",2);M([y({label:A("ui.transform.size.label"),info:A("ui.transform.size.info"),type:R.Vector2,slotMapping:{x:"W",y:"H"},onChange:(n,e,t)=>{const i=n.engineObject,a=n.size,{x:r,y:o}=i.size,{horizontalAlignment:l,verticalAlignment:c}=n,g=I.roundToThreeDecimal(r)!==a.x,m=I.roundToThreeDecimal(o)!==a.y;if(!(!g&&!m))if(l||c){const s=n._tempPropertiesForSize;s.length=0,s.push("position"),i.horizontalAlignment=f.None,i.verticalAlignment=_.None,i.size.copyFrom(a),ce(i,l,s),pe(i,c,s),i.horizontalAlignment=l,i.verticalAlignment=c;for(let d=0;d<s.length;d++){const h=s[d];n._syncTransformToEditor(h,i[h])}}else i.size.copyFrom(a)}}),b()],x.prototype,"size",2);M([y({label:A("ui.transform.pivot.label"),info:A("ui.transform.pivot.info"),type:R.Vector2,onChange:(n,e,t)=>{const i=n.pivot,a=n.engineObject;a.pivot.set(i.x,i.y),n._syncTransformToEditor("position",a.position)}}),b()],x.prototype,"pivot",2);M([y({customComponent:Ct,when:n=>{var e,t;return!((t=(e=n.entityModel)==null?void 0:e.getComponentByTypeName("UICanvas"))!=null&&t.isRootCanvas())}})],x.prototype,"alignment",2);M([y({label:A("ui.transform.horizontalAlignment.label"),customComponent:D,onChange:n=>{n.engineObject.horizontalAlignment=n.horizontalAlignment}}),b()],x.prototype,"horizontalAlignment",2);M([y({label:A("ui.transform.verticalAlignment.label"),customComponent:D,onChange:n=>{n.engineObject.verticalAlignment=n.verticalAlignment}}),b()],x.prototype,"verticalAlignment",2);M([y({label:A("ui.transform.alignLeft.label"),customComponent:D,onChange:n=>{n.engineObject.alignLeft=n.alignLeft,n._updateEditorPosition()}}),b()],x.prototype,"alignLeft",2);M([y({label:A("ui.transform.alignCenter.label"),customComponent:D,onChange:n=>{n.engineObject.alignCenter=n.alignCenter,n._updateEditorPosition()}}),b()],x.prototype,"alignCenter",2);M([y({label:A("ui.transform.alignRight.label"),customComponent:D,onChange:n=>{n.engineObject.alignRight=n.alignRight,n._updateEditorPosition()}}),b()],x.prototype,"alignRight",2);M([y({label:A("ui.transform.alignTop.label"),customComponent:D,onChange:n=>{n.engineObject.alignTop=n.alignTop,n._updateEditorPosition()}}),b()],x.prototype,"alignTop",2);M([y({label:A("ui.transform.alignMiddle.label"),customComponent:D,onChange:n=>{n.engineObject.alignMiddle=n.alignMiddle,n._updateEditorPosition()}}),b()],x.prototype,"alignMiddle",2);M([y({label:A("ui.transform.alignBottom.label"),customComponent:D,onChange:n=>{n.engineObject.alignBottom=n.alignBottom,n._updateEditorPosition()}}),b()],x.prototype,"alignBottom",2);M([se],x.prototype,"syncRotation",1);x=M([W({type:"UITransform",componentsMenu:{group:"UI",label:"component.ui-transform.title"},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel}})],x);const Et=E(({model:n,inspectorConfig:e})=>{const{t}=N(),i=n.enabled?t("ui.canvas.warning.not-root-canvas-reason-not-closest"):t("ui.canvas.warning.not-root-canvas-reason-disabled");return p.jsxs(Ge,{type:"warning",css:{width:"100%"},children:[t("ui.canvas.warning.not-root-canvas")," ",i]})});function V(n){n.run().then(e=>{n.isActive()&&(n.shouldApply&&!n.shouldApply(e)||n.apply(e))}).catch(()=>{})}function zt(n,e){var t;return e?((t=n.entities.get(e.ownerId))==null?void 0:t.getComponentById(e.componentId))??null:null}var _e=Object.defineProperty,Lt=Object.getOwnPropertyDescriptor,jt=(n,e,t)=>e in n?_e(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,z=(n,e,t,i)=>{for(var a=i>1?void 0:i?Lt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&_e(e,t,a),a},Ce=(n,e,t)=>(jt(n,typeof e!="symbol"?e+"":e,t),t);let w=class extends O{constructor(e,t){super(e,t);u(this,"_cameraListener");u(this,"_initReadySequence",0);u(this,"_cameraReadySequence",0);u(this,"_poseReadySequence",0);u(this,"_sizeReadySequence",0);u(this,"_canvasReadySequence",0);u(this,"debouncedRootCanvasCheck",Oe(this._triggerRootCanvasCheck.bind(this),500,{edges:["trailing"]}));u(this,"warning","");u(this,"renderMode",S.ScreenSpaceOverlay);u(this,"referenceResolution",{x:800,y:600});u(this,"referenceResolutionPerUnit",100);u(this,"renderCamera",null);u(this,"resolutionAdaptationMode",P.HeightAdaptation);u(this,"sortOrder",0);u(this,"distance",10);this._onCanvasSizeListener=this._onCanvasSizeListener.bind(this),this._triggerRootCanvasCheck=this._triggerRootCanvasCheck.bind(this),this._onCameraModifyListener=this._onCameraModifyListener.bind(this),this._onCameraTransformListener=this._onCameraTransformListener.bind(this),this.formSchema.addGroup("ui.canvas.adaptation",["referenceResolution","resolutionAdaptationMode","referenceResolutionPerUnit"],{collapsible:!1,when:i=>i.isRootCanvas()})}onInitComplete(){this.applyBoundPathChange("renderMode",R.Select,S.WorldSpace);const e=this._getTransformModel();if(!e)return;const t=++this._initReadySequence;V({run:async()=>(await e.onReady(),e),isActive:()=>this._isSequenceActive(t,this._initReadySequence),shouldApply:()=>{var i;return((i=this._getTransformModel())==null?void 0:i.status)==="ready"},apply:()=>{q.on("UICanvasEnabled",this.debouncedRootCanvasCheck),q.on("UICanvasDisable",this.debouncedRootCanvasCheck),this._engineObject.engine.canvas._sizeUpdateFlagManager.addListener(this._onCanvasSizeListener);const i=this.root.projectStore.currentScene;i&&(i.initComplete?this.debouncedRootCanvasCheck():V({run:async()=>(await i.onReady(),i),isActive:()=>this._isSequenceActive(t,this._initReadySequence),shouldApply:a=>a.status==="ready",apply:()=>{this.debouncedRootCanvasCheck()}}))}})}_isSequenceActive(e,t){return!this.destroyed&&e===t}_triggerRootCanvasCheck(){var e,t;this._enabled&&this.isRootCanvas()?(this._onRenderCameraDirty(),this._onRenderModeDirty()):(this._setCameraListener(null),(t=(e=this.entityModel)==null?void 0:e.transform)==null||t.unlock(),this._setTransformDisabled(!1))}_onRenderModeDirty(){var t,i;switch(this.renderMode){case S.ScreenSpaceCamera:case S.ScreenSpaceOverlay:this._adapterPoseInScreenSpace(),this._adapterSizeInScreenSpace(),this._setTransformDisabled(!0);break;case S.WorldSpace:(i=(t=this.entityModel)==null?void 0:t.transform)==null||i.unlock(),this._setTransformDisabled(!1);break}}_setCameraListener(e){if(e){const t=++this._cameraReadySequence;V({run:async()=>(await e.onReady(),e),isActive:()=>this._isSequenceActive(t,this._cameraReadySequence),shouldApply:i=>i.status==="ready",apply:i=>{const a=i.engineObject,r=this._cameraListener;r!==a&&(this._cameraListener=a,r&&(r.entity._updateFlagManager.removeListener(this._onCameraTransformListener),r._unRegisterModifyListener(this._onCameraModifyListener)),a&&(a.entity._updateFlagManager.addListener(this._onCameraTransformListener),a._registerModifyListener(this._onCameraModifyListener)))}})}else{this._cameraReadySequence++;const t=this._cameraListener;t&&(t.entity._updateFlagManager.removeListener(this._onCameraTransformListener),t._unRegisterModifyListener(this._onCameraModifyListener)),this._cameraListener=null}}_onRenderCameraDirty(){this._setCameraListener(this.renderMode===S.ScreenSpaceCamera?this._getCameraModel():null)}onEnabled(){super.onEnabled(),q.dispatch("UICanvasEnabled",this)}onDisabled(){super.onDisabled(),q.dispatch("UICanvasDisable",this)}isRootCanvas(){var e;return!!((e=this.engineObject)!=null&&e._isRootCanvas)}destroy(e){this._initReadySequence++,this._cameraReadySequence++,this._poseReadySequence++,this._sizeReadySequence++,this._canvasReadySequence++,q.off("UICanvasEnabled",this.debouncedRootCanvasCheck),q.off("UICanvasDisable",this.debouncedRootCanvasCheck),this._setCameraListener(null),this._engineObject.engine.canvas._sizeUpdateFlagManager.removeListener(this._onCanvasSizeListener),super.destroy(e)}_setTransformDisabled(e){var i;const t=(i=this.entityModel)==null?void 0:i.transform;t&&(t.disabled=e)}_onCameraModifyListener(e){switch(e){case X.ProjectionType:case X.AspectRatio:this._adapterSizeInScreenSpace();break;case X.FieldOfView:!this._cameraListener.isOrthographic&&this._adapterSizeInScreenSpace();break;case X.OrthographicSize:this._cameraListener.isOrthographic&&this._adapterSizeInScreenSpace();break}}_onCameraTransformListener(){this.renderMode===S.ScreenSpaceCamera&&this._adapterPoseInScreenSpace()}_adapterPoseInScreenSpace(){var a,r;const e=this.engineObject,t=e.entity.transform,i=this._getCameraModel();if(this.renderMode===S.ScreenSpaceCamera&&i){const o=++this._poseReadySequence;V({run:async()=>(await i.onReady(),i),isActive:()=>this._isSequenceActive(o,this._poseReadySequence),shouldApply:l=>l.status==="ready",apply:l=>{var g,m;const c=l.engineObject;if(!this._isSameEntityOrChildEntity(c.entity)){const{transform:s}=c.entity,{worldPosition:d,worldForward:h}=s,T=e.distance;t.setWorldPosition(d.x+h.x*T,d.y+h.y*T,d.z+h.z*T),t.worldRotationQuaternion.copyFrom(s.worldRotationQuaternion),(m=(g=this.entityModel)==null?void 0:g.transform)==null||m.lock(t.worldMatrix),this._syncPose()}}})}else{this._poseReadySequence++;const{canvas:o}=e.engine,l=o.height,c=o.width;t.setWorldPosition(c*.5,l*.5,0),t.worldRotationQuaternion.set(0,0,0,1),(r=(a=this.entityModel)==null?void 0:a.transform)==null||r.lock(t.worldMatrix),this._syncPose()}}_adapterSizeInScreenSpace(){let e,t;const i=this._getCameraModel();if(this.renderMode===S.ScreenSpaceCamera&&i){const a=++this._sizeReadySequence;V({run:async()=>(await i.onReady(),i),isActive:()=>this._isSequenceActive(a,this._sizeReadySequence),shouldApply:r=>r.status==="ready",apply:r=>{const o=r.engineObject;t=o.isOrthographic?o.orthographicSize*2:2*(Math.tan(Fe.degreeToRadian(o.fieldOfView*.5))*this.engineObject.distance),e=o.aspectRatio*t,this._applySize(e,t)}})}else{this._sizeReadySequence++;const{canvas:a}=this.engineObject.engine;this._applySize(a.width,a.height)}}_onCanvasSizeListener(){const e=++this._canvasReadySequence;V({run:async()=>(await this.onReady(),this),isActive:()=>this._isSequenceActive(e,this._canvasReadySequence),shouldApply:t=>t.status==="ready",apply:()=>{const t=this._getCameraModel(),i=this.renderMode;if(i===S.ScreenSpaceOverlay||i===S.ScreenSpaceCamera&&!t){const a=this.engineObject,{canvas:r}=a.engine;a.entity.transform.setWorldPosition(r.width*.5,r.height*.5,0),this._adapterSizeInScreenSpace()}}})}_applySize(e,t){const i=this.engineObject.entity.transform,{x:a,y:r}=this.referenceResolution;let o,l,c;switch(this.resolutionAdaptationMode){case P.WidthAdaptation:o=l=c=e/a;break;case P.HeightAdaptation:o=l=c=t/r;break;case P.BothAdaptation:o=e/a,l=t/r,c=(o+l)*.5;break;case P.ExpandAdaptation:o=l=c=Math.min(e/a,t/r);break;case P.ShrinkAdaptation:o=l=c=Math.max(e/a,t/r);break}const g=w._tempMat;fe.affineTransformation(w._tempVec3.set(o,l,c),i.worldRotationQuaternion,i.worldPosition,g),i.worldMatrix.copyFrom(g),i.size.set(e/o,t/l),this._syncPose()}_syncPose(){var t;const e=(t=this.entityModel)==null?void 0:t.transform;e&&e.syncEngineToEditor(!0)}_getTransformModel(){var e;return(e=this.entityModel)==null?void 0:e.transform}_getCameraModel(){return zt(this.root.sceneStore,this.renderCamera)}_isSameEntityOrChildEntity(e){const t=this.engineObject.entity;for(;e;){if(e===t)return!0;e=e.parent}return!1}};Ce(w,"_tempVec3",new Be);Ce(w,"_tempMat",new fe);z([y({label:"ui.canvas.warning.label",info:"ui.canvas.warning.info",customComponent:Et,when:n=>!n.isRootCanvas()})],w.prototype,"warning",2);z([y({label:"ui.canvas.render-mode.label",info:"ui.canvas.render-mode.info",type:R.Select,value:S.ScreenSpaceOverlay,when:n=>n.isRootCanvas(),triggerAfterInit:!1,options:[{label:"ui.canvas.render-mode.screen-space-overlay",value:S.ScreenSpaceOverlay},{label:"ui.canvas.render-mode.screen-space-camera",value:S.ScreenSpaceCamera},{label:"ui.canvas.render-mode.world-space",value:S.WorldSpace}],onChange(n,e,t){n._onRenderCameraDirty(),n._onRenderModeDirty()}}),b()],w.prototype,"renderMode",2);z([y({label:"ui.canvas.resolution.label",info:"ui.canvas.resolution.info",type:R.Vector2,slotMapping:{x:"W",y:"H"},triggerAfterInit:!1,when:n=>n.isRootCanvas()&&n.renderMode!==S.WorldSpace,onChange:(n,e,t)=>{n._adapterSizeInScreenSpace()}}),b()],w.prototype,"referenceResolution",2);z([y({label:"ui.canvas.resolution-per-unit.label",info:"ui.canvas.resolution-per-unit.info",type:R.Number,when:n=>n.isRootCanvas(),bindPath:"referenceResolutionPerUnit"}),b()],w.prototype,"referenceResolutionPerUnit",2);z([y({label:"ui.canvas.render-camera.label",info:"ui.canvas.render-camera.info",customComponent:ye,triggerAfterInit:!1,componentTypes:["Camera"],when:n=>n.isRootCanvas()&&n.renderMode===S.ScreenSpaceCamera,onChange:(n,e,t)=>{n._onRenderCameraDirty(),n._onRenderModeDirty()}}),b()],w.prototype,"renderCamera",2);z([y({label:"ui.canvas.adaptation-mode.label",info:"ui.canvas.adaptation-mode.info",type:R.Select,value:P.HeightAdaptation,triggerAfterInit:!1,when:n=>n.isRootCanvas()&&n.renderMode!==S.WorldSpace,options:[{label:"ui.canvas.adaptation-mode.width",value:P.WidthAdaptation},{label:"ui.canvas.adaptation-mode.height",value:P.HeightAdaptation},{label:"ui.canvas.adaptation-mode.both",value:P.BothAdaptation},{label:"ui.canvas.adaptation-mode.expand",value:P.ExpandAdaptation},{label:"ui.canvas.adaptation-mode.shrink",value:P.ShrinkAdaptation}],onChange(n,e,t){n._adapterSizeInScreenSpace()}}),b()],w.prototype,"resolutionAdaptationMode",2);z([y({label:"ui.canvas.sort-order.label",info:"ui.canvas.sort-order.info",type:R.Number,when:n=>n.isRootCanvas()&&n.renderMode===S.ScreenSpaceOverlay,bindPath:"sortOrder"}),b()],w.prototype,"sortOrder",2);z([y({label:"ui.canvas.distance.label",info:"ui.canvas.distance.info",type:R.Number,when:n=>n.isRootCanvas()&&n.renderMode===S.ScreenSpaceCamera,bindPath:"distance",triggerAfterInit:!1,onChange:(n,e,t)=>{n.renderCamera&&(n._adapterPoseInScreenSpace(),n._adapterSizeInScreenSpace())}}),b()],w.prototype,"distance",2);z([se],w.prototype,"_setTransformDisabled",1);w=z([W({type:"UICanvas",componentsMenu:{group:"UI",label:"component.ui-canvas.title"},dependentComponent:{type:"UITransform",dependentMode:j.AutoAdd},mutuallyComponent:{type:"Transform",dependentMode:j.AutoDel},unique:!0})],w);var Ot=Object.defineProperty,Bt=Object.getOwnPropertyDescriptor,ie=(n,e,t,i)=>{for(var a=i>1?void 0:i?Bt(e,t):e,r=n.length-1,o;r>=0;r--)(o=n[r])&&(a=(i?o(e,t,a):o(a))||a);return i&&a&&Ot(e,t,a),a};let H=class extends O{constructor(e,t){super(e,t);u(this,"alpha",1);u(this,"interactive",!0);u(this,"ignoreParentGroup",!1)}};ie([y({label:"ui.group.alpha.label",info:"ui.group.alpha.info",type:R.Slider,bindPath:"alpha",min:0,max:1,dragStep:.02}),b()],H.prototype,"alpha",2);ie([y({label:"ui.group.interactive.label",info:"ui.group.interactive.info",type:R.Toggle,bindPath:"interactive"}),b()],H.prototype,"interactive",2);ie([y({label:"ui.group.ignore-parent.label",info:"ui.group.ignore-parent.info",type:R.Toggle,bindPath:"ignoreParentGroup"}),b()],H.prototype,"ignoreParentGroup",2);H=ie([W({type:"UIGroup",componentsMenu:{group:"UI",label:"component.ui-group.title"},unique:!0})],H);O.registerCustomEngineComponent("UICanvas",De);O.registerCustomEngineComponent("UIGroup",Ue);O.registerCustomEngineComponent("Image",qe);O.registerCustomEngineComponent("Button",ke);O.registerCustomEngineComponent("UITransform",Ve);O.registerCustomEngineComponent("Text",Ne);export{ee as ButtonComponent,F as ImageComponent,ge as TextComponent,w as UICanvasComponent,H as UIGroupComponent,x as UITransformComponent};
@@ -0,0 +1 @@
1
+ import{C,D as s,F as l,H as c,P as S,a as d,S as J}from"./PhysicsStore-fe328fb7.js";import"./index-cb255df8.js";import"./index-1b0db457.js";import"./Component-96f61c04.js";import"./postmen-9da013ae.js";import"./FormItemArray-352ed0ac.js";import"./Accordion-0c911a1d.js";import"./IconEdit-55a2716d.js";export{C as CharacterControllerComponent,s as DynamicColliderComponent,l as FixedJointComponent,c as HingeJointComponent,S as PhysicsStore,d as SpringJointComponent,J as StaticColliderComponent};
@@ -0,0 +1 @@
1
+ import{E as s,c as S,b as i,a as d,S as h}from"./ShaderAsset-89a9cae1.js";import{S as T}from"./ShaderUIScriptAsset-4a26a9ac.js";import"./index-cb255df8.js";import"./index-1b0db457.js";import"./ProxyConfigs-b55e4aeb.js";import"./IconPointFilled-b933141c.js";import"./index-97a7d3f7.js";export{s as EShaderPropertyType,S as ShaderAsset,i as ShaderPropertyEnumType,d as ShaderPropertyRangeType,h as ShaderTemplateConfigs,T as ShaderUIScript};
@@ -0,0 +1 @@
1
+ import{A as l,a as C,b}from"./AnimationClipAsset-087c9158.js";import"./index-cb255df8.js";import"./index-1b0db457.js";import"./postmen-9da013ae.js";import"./AssetViewer-0aeaf852.js";import"./assetEditorActions-c4e5962f.js";import"./encode-ac4bb64e.js";import"./meshopt_simplifier.module-cd99529d.js";import"./module-c3512c4a.js";import"./module-46400641.js";export{l as AnimationClipAsset,C as AnimationClipInspector,b as AnimationClipViewer};
@@ -1 +1 @@
1
- var se=Object.defineProperty;var re=(t,e,n)=>e in t?se(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var k=(t,e,n)=>(re(t,typeof e!="symbol"?e+"":e,n),n);import{dc as ie,dd as oe,de as ae,df as M,dg as le}from"./index-c91bca3c.js";import{T as fe}from"./TaskQueue-05c94a4d.js";class ce{constructor(e=4,n){k(this,"_taskQueue",[]);k(this,"_workerStatus",0);k(this,"_workerItems");this.limitedCount=e,this._workerCreator=n,this._workerItems=new Array(e)}prepareWorker(){const e=this.limitedCount,n=new Array(e);for(let r=0;r<e;r++)n.push(this._initWorker(r));return Promise.all(n)}postMessage(e){return new Promise((n,r)=>{const s=this._getIdleWorkerId();if(this._workerStatus|=1<<s,s!==-1){const u=this._workerItems;Promise.resolve(u[s]??this._initWorker(s)).then(()=>{const a=u[s];a.resolve=n,a.reject=r,a.worker.postMessage(e)}).catch(a=>{this._workerStatus^=1<<s,r(a)})}else this._taskQueue.push({resolve:n,reject:r,message:e})})}destroy(){const e=this._workerItems;for(let n=0,r=e.length;n<r;n++){const s=e[n];s.worker.terminate(),s.reject=null,s.resolve=null}e.length=0,this._taskQueue.length=0,this._workerStatus=0}_initWorker(e){return Promise.resolve(this._workerCreator()).then(n=>{const r=s=>{const u=this._workerItems[e];u!=null&&u.reject&&(u.reject(s.error||new Error("Worker error")),this._nextTask(e))};return n.addEventListener("message",this._onMessage.bind(this,e)),n.addEventListener("error",r),n.onerror=r,this._workerItems[e]={worker:n,resolve:null,reject:null},n})}_getIdleWorkerId(){for(let e=0,n=this.limitedCount;e<n;e++)if(!(this._workerStatus&1<<e))return e;return-1}_onMessage(e,n){n.data.error?this._workerItems[e].reject(n.data.error):this._workerItems[e].resolve(n),this._nextTask(e)}_nextTask(e){if(this._taskQueue.length){const n=this._taskQueue.shift(),r=this._workerItems[e];r.resolve=n.resolve,r.reject=n.reject,r.worker.postMessage(n.message)}else this._workerStatus^=1<<e}}const G=0,Q=0,ue=0,he=2,_e=0,de=0,ge=2,ye=1,Y=64,Ue=0;class pe{constructor(){this.vkFormat=Ue,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=G,this.levels=[],this.dataFormatDescriptor=[{vendorId:ue,descriptorType:Q,descriptorBlockSize:0,versionNumber:he,colorModel:_e,colorPrimaries:ye,transferFunction:ge,flags:de,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class L{constructor(e,n,r,s){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(e.buffer,e.byteOffset+n,r),this._littleEndian=s,this._offset=0}_nextUint8(){const e=this._dataView.getUint8(this._offset);return this._offset+=1,e}_nextUint16(){const e=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,e}_nextUint32(){const e=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint64(){const e=this._dataView.getUint32(this._offset,this._littleEndian),n=this._dataView.getUint32(this._offset+4,this._littleEndian),r=e+2**32*n;return this._offset+=8,r}_nextInt32(){const e=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint8Array(e){const n=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,e);return this._offset+=e,n}_skip(e){return this._offset+=e,this}_scan(e,n=0){const r=this._offset;let s=0;for(;this._dataView.getUint8(this._offset)!==n&&s<e;)s++,this._offset++;return s<e&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+r,s)}}const xe="KTX-Parse v0.7.1",H=new Uint8Array([0]),_=[171,75,84,88,32,50,48,187,13,10,26,10],K=68;function W(t){return new TextEncoder().encode(t)}function N(t){return new TextDecoder().decode(t)}function A(t){let e=0;for(const s of t)e+=s.byteLength;const n=new Uint8Array(e);let r=0;for(const s of t)n.set(new Uint8Array(s),r),r+=s.byteLength;return n}function me(t,e){const n=Math.max(t,e),r=Math.min(t,e);let s=n;for(;s%r!==0;)s+=n;return s}function j(t,e=4){return Math.ceil(t/e)*e-t}function we(t){return t.levels[0].levelData.byteLength/De(t,0)}function De(t,e){let n=1;const r=[t.pixelWidth,t.pixelHeight,t.pixelDepth],s=ke(t);for(let u=0;u<3;u++)if(r[u]>0){const a=Math.ceil(Math.floor(r[u]*Math.pow(2,-e))/s[u]);n*=Math.max(1,a)}return t.layerCount>0&&(n*=t.layerCount),t.faceCount>0&&(n*=t.faceCount),n}function ke(t){const[e,n,r]=t.dataFormatDescriptor[0].texelBlockDimension;return[e+1,n+1,r+1]}function be(t){const e=new Uint8Array(t.buffer,t.byteOffset,_.length);if(e[0]!==_[0]||e[1]!==_[1]||e[2]!==_[2]||e[3]!==_[3]||e[4]!==_[4]||e[5]!==_[5]||e[6]!==_[6]||e[7]!==_[7]||e[8]!==_[8]||e[9]!==_[9]||e[10]!==_[10]||e[11]!==_[11])throw new Error("Missing KTX 2.0 identifier.");const n=new pe,r=17*Uint32Array.BYTES_PER_ELEMENT,s=new L(t,_.length,r,!0);n.vkFormat=s._nextUint32(),n.typeSize=s._nextUint32(),n.pixelWidth=s._nextUint32(),n.pixelHeight=s._nextUint32(),n.pixelDepth=s._nextUint32(),n.layerCount=s._nextUint32(),n.faceCount=s._nextUint32();const u=s._nextUint32();n.supercompressionScheme=s._nextUint32();const a=s._nextUint32(),y=s._nextUint32(),c=s._nextUint32(),S=s._nextUint32(),b=s._nextUint64(),x=s._nextUint64(),U=u*3*8,m=new L(t,_.length+r,U,!0);for(let d=0;d<u;d++)n.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+m._nextUint64(),m._nextUint64()),uncompressedByteLength:m._nextUint64()});const l=new L(t,a,y,!0),D={vendorId:l._skip(4)._nextUint16(),descriptorType:l._nextUint16(),versionNumber:l._nextUint16(),descriptorBlockSize:l._nextUint16(),colorModel:l._nextUint8(),colorPrimaries:l._nextUint8(),transferFunction:l._nextUint8(),flags:l._nextUint8(),texelBlockDimension:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],bytesPlane:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],samples:[]},B=6,w=4,T=(D.descriptorBlockSize/4-B)/w;for(let d=0;d<T;d++){const p={bitOffset:l._nextUint16(),bitLength:l._nextUint8(),channelType:l._nextUint8(),samplePosition:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};p.channelType&Y?(p.sampleLower=l._nextInt32(),p.sampleUpper=l._nextInt32()):(p.sampleLower=l._nextUint32(),p.sampleUpper=l._nextUint32()),D.samples[d]=p}n.dataFormatDescriptor.length=0,n.dataFormatDescriptor.push(D);const h=new L(t,c,S,!0);for(;h._offset<S;){const d=h._nextUint32(),p=h._scan(d),I=N(p);if(n.keyValue[I]=h._nextUint8Array(d-p.byteLength-1),I.match(/^ktx/i)){const C=N(n.keyValue[I]);n.keyValue[I]=C.substring(0,C.lastIndexOf("\0"))}const ne=d%4?4-d%4:0;h._skip(ne)}if(x<=0)return n;const i=new L(t,b,x,!0),o=i._nextUint16(),f=i._nextUint16(),g=i._nextUint32(),v=i._nextUint32(),O=i._nextUint32(),q=i._nextUint32(),P=[];for(let d=0;d<u;d++)P.push({imageFlags:i._nextUint32(),rgbSliceByteOffset:i._nextUint32(),rgbSliceByteLength:i._nextUint32(),alphaSliceByteOffset:i._nextUint32(),alphaSliceByteLength:i._nextUint32()});const R=b+i._offset,V=R+g,F=V+v,$=F+O,J=new Uint8Array(t.buffer,t.byteOffset+R,g),Z=new Uint8Array(t.buffer,t.byteOffset+V,v),ee=new Uint8Array(t.buffer,t.byteOffset+F,O),te=new Uint8Array(t.buffer,t.byteOffset+$,q);return n.globalData={endpointCount:o,selectorCount:f,imageDescs:P,endpointsData:J,selectorsData:Z,tablesData:ee,extendedData:te},n}function E(){return E=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},E.apply(this,arguments)}const Be={keepWriter:!1};function ve(t,e={}){e=E({},Be,e);let n=new ArrayBuffer(0);if(t.globalData){const i=new ArrayBuffer(20+t.globalData.imageDescs.length*5*4),o=new DataView(i);o.setUint16(0,t.globalData.endpointCount,!0),o.setUint16(2,t.globalData.selectorCount,!0),o.setUint32(4,t.globalData.endpointsData.byteLength,!0),o.setUint32(8,t.globalData.selectorsData.byteLength,!0),o.setUint32(12,t.globalData.tablesData.byteLength,!0),o.setUint32(16,t.globalData.extendedData.byteLength,!0);for(let f=0;f<t.globalData.imageDescs.length;f++){const g=t.globalData.imageDescs[f];o.setUint32(20+f*5*4+0,g.imageFlags,!0),o.setUint32(20+f*5*4+4,g.rgbSliceByteOffset,!0),o.setUint32(20+f*5*4+8,g.rgbSliceByteLength,!0),o.setUint32(20+f*5*4+12,g.alphaSliceByteOffset,!0),o.setUint32(20+f*5*4+16,g.alphaSliceByteLength,!0)}n=A([i,t.globalData.endpointsData,t.globalData.selectorsData,t.globalData.tablesData,t.globalData.extendedData])}const r=[];let s=t.keyValue;e.keepWriter||(s=E({},t.keyValue,{KTXwriter:xe}));for(const i in s){const o=s[i],f=W(i),g=typeof o=="string"?A([W(o),H]):o,v=f.byteLength+1+g.byteLength,O=j(v,4);r.push(A([new Uint32Array([v]),f,H,g,new Uint8Array(O).fill(0)]))}const u=A(r);if(t.dataFormatDescriptor.length!==1||t.dataFormatDescriptor[0].descriptorType!==Q)throw new Error("Only BASICFORMAT Data Format Descriptor output supported.");const a=t.dataFormatDescriptor[0],y=new ArrayBuffer(28+a.samples.length*16),c=new DataView(y),S=24+a.samples.length*16;if(c.setUint32(0,y.byteLength,!0),c.setUint16(4,a.vendorId,!0),c.setUint16(6,a.descriptorType,!0),c.setUint16(8,a.versionNumber,!0),c.setUint16(10,S,!0),c.setUint8(12,a.colorModel),c.setUint8(13,a.colorPrimaries),c.setUint8(14,a.transferFunction),c.setUint8(15,a.flags),!Array.isArray(a.texelBlockDimension))throw new Error("texelBlockDimension is now an array. For dimensionality `d`, set `d - 1`.");c.setUint8(16,a.texelBlockDimension[0]),c.setUint8(17,a.texelBlockDimension[1]),c.setUint8(18,a.texelBlockDimension[2]),c.setUint8(19,a.texelBlockDimension[3]);for(let i=0;i<8;i++)c.setUint8(20+i,a.bytesPlane[i]);for(let i=0;i<a.samples.length;i++){const o=a.samples[i],f=28+i*16;if(o.channelID)throw new Error("channelID has been renamed to channelType.");c.setUint16(f+0,o.bitOffset,!0),c.setUint8(f+2,o.bitLength),c.setUint8(f+3,o.channelType),c.setUint8(f+4,o.samplePosition[0]),c.setUint8(f+5,o.samplePosition[1]),c.setUint8(f+6,o.samplePosition[2]),c.setUint8(f+7,o.samplePosition[3]),o.channelType&Y?(c.setInt32(f+8,o.sampleLower,!0),c.setInt32(f+12,o.sampleUpper,!0)):(c.setUint32(f+8,o.sampleLower,!0),c.setUint32(f+12,o.sampleUpper,!0))}const b=_.length+K+t.levels.length*3*8,x=b+y.byteLength;let U=n.byteLength>0?x+u.byteLength:0;U%8&&(U+=8-U%8);const m=[],l=new DataView(new ArrayBuffer(t.levels.length*3*8)),D=new Uint32Array(t.levels.length);let B=0;t.supercompressionScheme===G&&(B=me(we(t),4));let w=(U||x+u.byteLength)+n.byteLength;for(let i=t.levels.length-1;i>=0;i--){if(w%B){const f=j(w,B);m.push(new Uint8Array(f)),w+=f}const o=t.levels[i];m.push(o.levelData),D[i]=w,w+=o.levelData.byteLength}for(let i=0;i<t.levels.length;i++){const o=t.levels[i];l.setBigUint64(i*24+0,BigInt(D[i]),!0),l.setBigUint64(i*24+8,BigInt(o.levelData.byteLength),!0),l.setBigUint64(i*24+16,BigInt(o.uncompressedByteLength),!0)}const T=new ArrayBuffer(K),h=new DataView(T);return h.setUint32(0,t.vkFormat,!0),h.setUint32(4,t.typeSize,!0),h.setUint32(8,t.pixelWidth,!0),h.setUint32(12,t.pixelHeight,!0),h.setUint32(16,t.pixelDepth,!0),h.setUint32(20,t.layerCount,!0),h.setUint32(24,t.faceCount,!0),h.setUint32(28,t.levels.length,!0),h.setUint32(32,t.supercompressionScheme,!0),h.setUint32(36,b,!0),h.setUint32(40,y.byteLength,!0),h.setUint32(44,x,!0),h.setUint32(48,u.byteLength,!0),h.setBigUint64(52,BigInt(n.byteLength>0?U:0),!0),h.setBigUint64(60,BigInt(n.byteLength),!0),new Uint8Array(A([new Uint8Array(_).buffer,T,l.buffer,y,u,U>0?new ArrayBuffer(U-(x+u.byteLength)):new ArrayBuffer(0),n,...m]))}function Le(t,e){const n=be(t);return n.keyValue.GalaceanTextureParams=new Uint8Array([e.wrapModeU,e.wrapModeV,e.filterMode,e.anisoLevel]),ve(n)}const Ae=new fe,X=ie("ktx2","upload-cache");class Se{get(e){return Ae.enqueue(()=>oe(e,X))}set(e,n){return ae(e,n,X)}}const z=new Se,Te=le("ktx2");class Oe{constructor(){k(this,"encoderWorkerPool");k(this,"initPromise");this.encoderWorkerPool=new ce(4,()=>new Worker(new URL("/_static/ktx2-worker-a04f41ea.js",self.location),{type:"module"})),this.initPromise=this.encoderWorkerPool.prepareWorker()}async encode(e,n={isUASTC:!1,enableDebug:!1,qualityLevel:255,generateMipmap:!0,isSetKTX2SRGBTransferFunc:!1}){let r;const s=M.create();if(Array.isArray(e)&&Array.isArray(e[0])){for(const a of e)for(const y of a)s.update(y);r=s.hex()}else if(Array.isArray(e)){for(const a of e)s.update(a);r=s.hex()}else r=M(e);const u=r+JSON.stringify(n);try{const a=await z.get(u);if(a)return a}catch(a){console.error(a)}return this._encode(u,e,n)}setTextureParams(e,n){return Le(e,n)}async _encode(e,n,r={isUASTC:!1,enableDebug:!1,qualityLevel:255,generateMipmap:!0,isSetKTX2SRGBTransferFunc:!1}){Te.info(`cannot find cache, use worker encoder for ${e}`),await this.initPromise;const{data:s}=await this.encoderWorkerPool.postMessage({buffer:n,options:r});return z.set(e,s),s}}const Re=new Oe;export{Re as k};
1
+ var se=Object.defineProperty;var re=(t,e,n)=>e in t?se(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var k=(t,e,n)=>(re(t,typeof e!="symbol"?e+"":e,n),n);import{dc as ie,dd as oe,de as ae,df as M,dg as le}from"./index-cb255df8.js";import{T as fe}from"./TaskQueue-05c94a4d.js";class ce{constructor(e=4,n){k(this,"_taskQueue",[]);k(this,"_workerStatus",0);k(this,"_workerItems");this.limitedCount=e,this._workerCreator=n,this._workerItems=new Array(e)}prepareWorker(){const e=this.limitedCount,n=new Array(e);for(let r=0;r<e;r++)n.push(this._initWorker(r));return Promise.all(n)}postMessage(e){return new Promise((n,r)=>{const s=this._getIdleWorkerId();if(this._workerStatus|=1<<s,s!==-1){const u=this._workerItems;Promise.resolve(u[s]??this._initWorker(s)).then(()=>{const a=u[s];a.resolve=n,a.reject=r,a.worker.postMessage(e)}).catch(a=>{this._workerStatus^=1<<s,r(a)})}else this._taskQueue.push({resolve:n,reject:r,message:e})})}destroy(){const e=this._workerItems;for(let n=0,r=e.length;n<r;n++){const s=e[n];s.worker.terminate(),s.reject=null,s.resolve=null}e.length=0,this._taskQueue.length=0,this._workerStatus=0}_initWorker(e){return Promise.resolve(this._workerCreator()).then(n=>{const r=s=>{const u=this._workerItems[e];u!=null&&u.reject&&(u.reject(s.error||new Error("Worker error")),this._nextTask(e))};return n.addEventListener("message",this._onMessage.bind(this,e)),n.addEventListener("error",r),n.onerror=r,this._workerItems[e]={worker:n,resolve:null,reject:null},n})}_getIdleWorkerId(){for(let e=0,n=this.limitedCount;e<n;e++)if(!(this._workerStatus&1<<e))return e;return-1}_onMessage(e,n){n.data.error?this._workerItems[e].reject(n.data.error):this._workerItems[e].resolve(n),this._nextTask(e)}_nextTask(e){if(this._taskQueue.length){const n=this._taskQueue.shift(),r=this._workerItems[e];r.resolve=n.resolve,r.reject=n.reject,r.worker.postMessage(n.message)}else this._workerStatus^=1<<e}}const G=0,Q=0,ue=0,he=2,_e=0,de=0,ge=2,ye=1,Y=64,Ue=0;class pe{constructor(){this.vkFormat=Ue,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=G,this.levels=[],this.dataFormatDescriptor=[{vendorId:ue,descriptorType:Q,descriptorBlockSize:0,versionNumber:he,colorModel:_e,colorPrimaries:ye,transferFunction:ge,flags:de,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class L{constructor(e,n,r,s){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(e.buffer,e.byteOffset+n,r),this._littleEndian=s,this._offset=0}_nextUint8(){const e=this._dataView.getUint8(this._offset);return this._offset+=1,e}_nextUint16(){const e=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,e}_nextUint32(){const e=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint64(){const e=this._dataView.getUint32(this._offset,this._littleEndian),n=this._dataView.getUint32(this._offset+4,this._littleEndian),r=e+2**32*n;return this._offset+=8,r}_nextInt32(){const e=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint8Array(e){const n=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,e);return this._offset+=e,n}_skip(e){return this._offset+=e,this}_scan(e,n=0){const r=this._offset;let s=0;for(;this._dataView.getUint8(this._offset)!==n&&s<e;)s++,this._offset++;return s<e&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+r,s)}}const xe="KTX-Parse v0.7.1",H=new Uint8Array([0]),_=[171,75,84,88,32,50,48,187,13,10,26,10],K=68;function W(t){return new TextEncoder().encode(t)}function N(t){return new TextDecoder().decode(t)}function A(t){let e=0;for(const s of t)e+=s.byteLength;const n=new Uint8Array(e);let r=0;for(const s of t)n.set(new Uint8Array(s),r),r+=s.byteLength;return n}function me(t,e){const n=Math.max(t,e),r=Math.min(t,e);let s=n;for(;s%r!==0;)s+=n;return s}function j(t,e=4){return Math.ceil(t/e)*e-t}function we(t){return t.levels[0].levelData.byteLength/De(t,0)}function De(t,e){let n=1;const r=[t.pixelWidth,t.pixelHeight,t.pixelDepth],s=ke(t);for(let u=0;u<3;u++)if(r[u]>0){const a=Math.ceil(Math.floor(r[u]*Math.pow(2,-e))/s[u]);n*=Math.max(1,a)}return t.layerCount>0&&(n*=t.layerCount),t.faceCount>0&&(n*=t.faceCount),n}function ke(t){const[e,n,r]=t.dataFormatDescriptor[0].texelBlockDimension;return[e+1,n+1,r+1]}function be(t){const e=new Uint8Array(t.buffer,t.byteOffset,_.length);if(e[0]!==_[0]||e[1]!==_[1]||e[2]!==_[2]||e[3]!==_[3]||e[4]!==_[4]||e[5]!==_[5]||e[6]!==_[6]||e[7]!==_[7]||e[8]!==_[8]||e[9]!==_[9]||e[10]!==_[10]||e[11]!==_[11])throw new Error("Missing KTX 2.0 identifier.");const n=new pe,r=17*Uint32Array.BYTES_PER_ELEMENT,s=new L(t,_.length,r,!0);n.vkFormat=s._nextUint32(),n.typeSize=s._nextUint32(),n.pixelWidth=s._nextUint32(),n.pixelHeight=s._nextUint32(),n.pixelDepth=s._nextUint32(),n.layerCount=s._nextUint32(),n.faceCount=s._nextUint32();const u=s._nextUint32();n.supercompressionScheme=s._nextUint32();const a=s._nextUint32(),y=s._nextUint32(),c=s._nextUint32(),S=s._nextUint32(),b=s._nextUint64(),x=s._nextUint64(),U=u*3*8,m=new L(t,_.length+r,U,!0);for(let d=0;d<u;d++)n.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+m._nextUint64(),m._nextUint64()),uncompressedByteLength:m._nextUint64()});const l=new L(t,a,y,!0),D={vendorId:l._skip(4)._nextUint16(),descriptorType:l._nextUint16(),versionNumber:l._nextUint16(),descriptorBlockSize:l._nextUint16(),colorModel:l._nextUint8(),colorPrimaries:l._nextUint8(),transferFunction:l._nextUint8(),flags:l._nextUint8(),texelBlockDimension:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],bytesPlane:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],samples:[]},B=6,w=4,T=(D.descriptorBlockSize/4-B)/w;for(let d=0;d<T;d++){const p={bitOffset:l._nextUint16(),bitLength:l._nextUint8(),channelType:l._nextUint8(),samplePosition:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};p.channelType&Y?(p.sampleLower=l._nextInt32(),p.sampleUpper=l._nextInt32()):(p.sampleLower=l._nextUint32(),p.sampleUpper=l._nextUint32()),D.samples[d]=p}n.dataFormatDescriptor.length=0,n.dataFormatDescriptor.push(D);const h=new L(t,c,S,!0);for(;h._offset<S;){const d=h._nextUint32(),p=h._scan(d),I=N(p);if(n.keyValue[I]=h._nextUint8Array(d-p.byteLength-1),I.match(/^ktx/i)){const C=N(n.keyValue[I]);n.keyValue[I]=C.substring(0,C.lastIndexOf("\0"))}const ne=d%4?4-d%4:0;h._skip(ne)}if(x<=0)return n;const i=new L(t,b,x,!0),o=i._nextUint16(),f=i._nextUint16(),g=i._nextUint32(),v=i._nextUint32(),O=i._nextUint32(),q=i._nextUint32(),P=[];for(let d=0;d<u;d++)P.push({imageFlags:i._nextUint32(),rgbSliceByteOffset:i._nextUint32(),rgbSliceByteLength:i._nextUint32(),alphaSliceByteOffset:i._nextUint32(),alphaSliceByteLength:i._nextUint32()});const R=b+i._offset,V=R+g,F=V+v,$=F+O,J=new Uint8Array(t.buffer,t.byteOffset+R,g),Z=new Uint8Array(t.buffer,t.byteOffset+V,v),ee=new Uint8Array(t.buffer,t.byteOffset+F,O),te=new Uint8Array(t.buffer,t.byteOffset+$,q);return n.globalData={endpointCount:o,selectorCount:f,imageDescs:P,endpointsData:J,selectorsData:Z,tablesData:ee,extendedData:te},n}function E(){return E=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},E.apply(this,arguments)}const Be={keepWriter:!1};function ve(t,e={}){e=E({},Be,e);let n=new ArrayBuffer(0);if(t.globalData){const i=new ArrayBuffer(20+t.globalData.imageDescs.length*5*4),o=new DataView(i);o.setUint16(0,t.globalData.endpointCount,!0),o.setUint16(2,t.globalData.selectorCount,!0),o.setUint32(4,t.globalData.endpointsData.byteLength,!0),o.setUint32(8,t.globalData.selectorsData.byteLength,!0),o.setUint32(12,t.globalData.tablesData.byteLength,!0),o.setUint32(16,t.globalData.extendedData.byteLength,!0);for(let f=0;f<t.globalData.imageDescs.length;f++){const g=t.globalData.imageDescs[f];o.setUint32(20+f*5*4+0,g.imageFlags,!0),o.setUint32(20+f*5*4+4,g.rgbSliceByteOffset,!0),o.setUint32(20+f*5*4+8,g.rgbSliceByteLength,!0),o.setUint32(20+f*5*4+12,g.alphaSliceByteOffset,!0),o.setUint32(20+f*5*4+16,g.alphaSliceByteLength,!0)}n=A([i,t.globalData.endpointsData,t.globalData.selectorsData,t.globalData.tablesData,t.globalData.extendedData])}const r=[];let s=t.keyValue;e.keepWriter||(s=E({},t.keyValue,{KTXwriter:xe}));for(const i in s){const o=s[i],f=W(i),g=typeof o=="string"?A([W(o),H]):o,v=f.byteLength+1+g.byteLength,O=j(v,4);r.push(A([new Uint32Array([v]),f,H,g,new Uint8Array(O).fill(0)]))}const u=A(r);if(t.dataFormatDescriptor.length!==1||t.dataFormatDescriptor[0].descriptorType!==Q)throw new Error("Only BASICFORMAT Data Format Descriptor output supported.");const a=t.dataFormatDescriptor[0],y=new ArrayBuffer(28+a.samples.length*16),c=new DataView(y),S=24+a.samples.length*16;if(c.setUint32(0,y.byteLength,!0),c.setUint16(4,a.vendorId,!0),c.setUint16(6,a.descriptorType,!0),c.setUint16(8,a.versionNumber,!0),c.setUint16(10,S,!0),c.setUint8(12,a.colorModel),c.setUint8(13,a.colorPrimaries),c.setUint8(14,a.transferFunction),c.setUint8(15,a.flags),!Array.isArray(a.texelBlockDimension))throw new Error("texelBlockDimension is now an array. For dimensionality `d`, set `d - 1`.");c.setUint8(16,a.texelBlockDimension[0]),c.setUint8(17,a.texelBlockDimension[1]),c.setUint8(18,a.texelBlockDimension[2]),c.setUint8(19,a.texelBlockDimension[3]);for(let i=0;i<8;i++)c.setUint8(20+i,a.bytesPlane[i]);for(let i=0;i<a.samples.length;i++){const o=a.samples[i],f=28+i*16;if(o.channelID)throw new Error("channelID has been renamed to channelType.");c.setUint16(f+0,o.bitOffset,!0),c.setUint8(f+2,o.bitLength),c.setUint8(f+3,o.channelType),c.setUint8(f+4,o.samplePosition[0]),c.setUint8(f+5,o.samplePosition[1]),c.setUint8(f+6,o.samplePosition[2]),c.setUint8(f+7,o.samplePosition[3]),o.channelType&Y?(c.setInt32(f+8,o.sampleLower,!0),c.setInt32(f+12,o.sampleUpper,!0)):(c.setUint32(f+8,o.sampleLower,!0),c.setUint32(f+12,o.sampleUpper,!0))}const b=_.length+K+t.levels.length*3*8,x=b+y.byteLength;let U=n.byteLength>0?x+u.byteLength:0;U%8&&(U+=8-U%8);const m=[],l=new DataView(new ArrayBuffer(t.levels.length*3*8)),D=new Uint32Array(t.levels.length);let B=0;t.supercompressionScheme===G&&(B=me(we(t),4));let w=(U||x+u.byteLength)+n.byteLength;for(let i=t.levels.length-1;i>=0;i--){if(w%B){const f=j(w,B);m.push(new Uint8Array(f)),w+=f}const o=t.levels[i];m.push(o.levelData),D[i]=w,w+=o.levelData.byteLength}for(let i=0;i<t.levels.length;i++){const o=t.levels[i];l.setBigUint64(i*24+0,BigInt(D[i]),!0),l.setBigUint64(i*24+8,BigInt(o.levelData.byteLength),!0),l.setBigUint64(i*24+16,BigInt(o.uncompressedByteLength),!0)}const T=new ArrayBuffer(K),h=new DataView(T);return h.setUint32(0,t.vkFormat,!0),h.setUint32(4,t.typeSize,!0),h.setUint32(8,t.pixelWidth,!0),h.setUint32(12,t.pixelHeight,!0),h.setUint32(16,t.pixelDepth,!0),h.setUint32(20,t.layerCount,!0),h.setUint32(24,t.faceCount,!0),h.setUint32(28,t.levels.length,!0),h.setUint32(32,t.supercompressionScheme,!0),h.setUint32(36,b,!0),h.setUint32(40,y.byteLength,!0),h.setUint32(44,x,!0),h.setUint32(48,u.byteLength,!0),h.setBigUint64(52,BigInt(n.byteLength>0?U:0),!0),h.setBigUint64(60,BigInt(n.byteLength),!0),new Uint8Array(A([new Uint8Array(_).buffer,T,l.buffer,y,u,U>0?new ArrayBuffer(U-(x+u.byteLength)):new ArrayBuffer(0),n,...m]))}function Le(t,e){const n=be(t);return n.keyValue.GalaceanTextureParams=new Uint8Array([e.wrapModeU,e.wrapModeV,e.filterMode,e.anisoLevel]),ve(n)}const Ae=new fe,X=ie("ktx2","upload-cache");class Se{get(e){return Ae.enqueue(()=>oe(e,X))}set(e,n){return ae(e,n,X)}}const z=new Se,Te=le("ktx2");class Oe{constructor(){k(this,"encoderWorkerPool");k(this,"initPromise");this.encoderWorkerPool=new ce(4,()=>new Worker(new URL("/_static/ktx2-worker-a04f41ea.js",self.location),{type:"module"})),this.initPromise=this.encoderWorkerPool.prepareWorker()}async encode(e,n={isUASTC:!1,enableDebug:!1,qualityLevel:255,generateMipmap:!0,isSetKTX2SRGBTransferFunc:!1}){let r;const s=M.create();if(Array.isArray(e)&&Array.isArray(e[0])){for(const a of e)for(const y of a)s.update(y);r=s.hex()}else if(Array.isArray(e)){for(const a of e)s.update(a);r=s.hex()}else r=M(e);const u=r+JSON.stringify(n);try{const a=await z.get(u);if(a)return a}catch(a){console.error(a)}return this._encode(u,e,n)}setTextureParams(e,n){return Le(e,n)}async _encode(e,n,r={isUASTC:!1,enableDebug:!1,qualityLevel:255,generateMipmap:!0,isSetKTX2SRGBTransferFunc:!1}){Te.info(`cannot find cache, use worker encoder for ${e}`),await this.initPromise;const{data:s}=await this.encoderWorkerPool.postMessage({buffer:n,options:r});return z.set(e,s),s}}const Re=new Oe;export{Re as k};
@@ -1 +1 @@
1
- import{W as de,as as he,at as me,au as pe,av as ve,N as Se,K as v,a5 as ue,aw as we,X as ke,ax as q,ay as H,b as j,az as Q,aA as be,aB as ye}from"./index-c91bca3c.js";function ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ce=function(){return!!e})()}function V(e,r){return V=Object.setPrototypeOf||function(n,t){return n.__proto__=t,n},V(e,r)}function R(e,r,a){return ce()?R=Reflect.construct:R=function(t,i,s){var o=[null];o.push.apply(o,i);var h=Function.bind.apply(t,o),u=new h;return s&&V(u,s.prototype),u},R.apply(null,arguments)}function X(e,r){for(var a=0;a<r.length;a++){var n=r[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function A(e,r,a){return r&&X(e.prototype,r),a&&X(e,a),e}function p(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),r&&V(e,r)}function ee(e,r){return r!=null&&typeof Symbol<"u"&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](e):e instanceof r}var M=function(e){return e[e.Controller=0]="Controller",e[e.LeftController=1]="LeftController",e[e.RightController=2]="RightController",e[e.Camera=3]="Camera",e[e.LeftCamera=4]="LeftCamera",e[e.RightCamera=5]="RightCamera",e[e.LeftHand=6]="LeftHand",e[e.RightHand=7]="RightHand",e}({}),k=function(e){return e[e.None=0]="None",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized",e[e.Running=3]="Running",e[e.Paused=4]="Paused",e}({}),Me=function(){function e(a){this._xrManager=a}var r=e.prototype;return r.attachCamera=function(n,t){var i=this._xrManager.inputManager.getTrackedDevice(n),s=i._camera;if(s!==t){switch(s&&(s._cameraType=q.Normal),n){case M.Camera:t._cameraType=q.XRCenterCamera;break;case M.LeftCamera:t._cameraType=q.XRLeftCamera;break;case M.RightCamera:t._cameraType=q.XRRightCamera;break}i._camera=t}},r.detachCamera=function(n){var t=this._xrManager.inputManager.getTrackedDevice(n),i=t._camera;return i&&(i._cameraType=q.Normal),t._camera=null,i},r._onSessionStart=function(){},r._onUpdate=function(){for(var n=this._xrManager.inputManager._cameras,t=this._xrManager.sessionManager._platformSession,i=0,s=n.length;i<s;i++){var o=n[i],h=o._camera;if(h){var u=h.entity.transform,c=o.pose;u.position=c.position,u.rotationQuaternion=c.rotation;var f=h.viewport,_=o.viewport,l=_.x,g=_.y,d=_.width,m=_.height;l===f.x&&g===f.y&&d===f.z&&m===f.w||(h.viewport=f.set(l,g,d,m)),H.equals(h.projectionMatrix,o.projectionMatrix)||(h.projectionMatrix=o.projectionMatrix),h.renderTarget||h._adjustPixelViewport(t.framebufferWidth,t.framebufferHeight)}}},r._onSessionExit=function(){for(var n=this._xrManager.inputManager._cameras,t=0,i=n.length;t<i;t++){var s;(s=n[t]._camera)==null||s._updatePixelViewport()}},r._getIgnoreClearFlags=function(n){return n===q.XRCenterCamera?this._xrManager.sessionManager.state===k.Running?j.Color:j.None:j.None},r._onDestroy=function(){},A(e,[{key:"fixedFoveation",get:function(){var n=this._xrManager.sessionManager,t=n._platformSession;if(t)return t.getFixedFoveation();throw new Error("XR session is not available.")},set:function(n){var t=this._xrManager.sessionManager,i=t._platformSession;if(i)i.setFixedFoveation(n);else throw new Error("XR session is not available.")}}]),e}(),O=function(){this.position=new v,this.rotation=new ye,this.matrix=new H,this.inverseMatrix=new H},w=function(e){return e[e.NotTracking=0]="NotTracking",e[e.Tracking=1]="Tracking",e[e.TrackingLost=2]="TrackingLost",e}({}),fe=function(r){this.type=r,this.trackingState=w.NotTracking},xe=function(e){p(r,e);function r(){var a;return a=e.apply(this,arguments)||this,a.pose=new O,a.viewport=new be,a.projectionMatrix=new H,a}return r}(fe),b=function(e){return e[e.None=0]="None",e[e.Select=1]="Select",e[e.Trigger=1]="Trigger",e[e.Squeeze=2]="Squeeze",e[e.TouchPad=4]="TouchPad",e[e.AButton=8]="AButton",e[e.BButton=16]="BButton",e}({}),Ce=function(e){p(r,e);function r(){var n;return n=e.apply(this,arguments)||this,n.gripPose=new O,n.targetRayPose=new O,n.pressedButtons=b.None,n.down=b.None,n.up=b.None,n}var a=r.prototype;return a.isButtonDown=function(t){return(this.down&t)!==0},a.isButtonUp=function(t){return(this.up&t)!==0},a.isButtonHeldDown=function(t){return(this.pressedButtons&t)!==0},r}(fe),P=function(e){return e[e.SelectStart=0]="SelectStart",e[e.Select=1]="Select",e[e.SelectEnd=2]="SelectEnd",e[e.SqueezeStart=3]="SqueezeStart",e[e.Squeeze=4]="Squeeze",e[e.SqueezeEnd=5]="SqueezeEnd",e}({}),te=function(e){return e[e.Gaze=0]="Gaze",e[e.TrackedPointer=1]="TrackedPointer",e[e.Screen=2]="Screen",e}({}),Ee=function(){function e(a,n){this._xrManager=a,this._engine=n,this.onTrackedDeviceChanged=new Q,this._cameras=[],this._controllers=[],this._added=[],this._removed=[],this._trackedDevices=[],this._statusSnapshot=[];for(var t=this,i=t._trackedDevices,s=t._controllers,o=t._cameras,h=0;h<6;h++)switch(h){case M.Camera:case M.LeftCamera:case M.RightCamera:o.push(i[h]=new xe(h));break;case M.Controller:case M.LeftController:case M.RightController:s.push(i[h]=new Ce(h));break}this._statusSnapshot.fill(w.NotTracking,0,i.length)}var r=e.prototype;return r.getTrackedDevice=function(n){return this._trackedDevices[n]},r._onUpdate=function(){var n=this,t=n._added,i=n._removed,s=n._statusSnapshot,o=this,h=o._trackedDevices,u=o._controllers;t.length=i.length=0;for(var c=0,f=u.length;c<f;c++){var _=u[c];_.down=_.up=0}for(var l=this._xrManager.sessionManager,g=l._platformSession,d=g.events,m=0,S=d.length;m<S;m++)this._handleEvent(d[m]);g.resetEvents(),g.frame.updateInputs(h);for(var x=0,z=h.length;x<z;x++){var F=h[x];if(F){var E=F.trackingState;s[x]===w.Tracking?E!==w.Tracking&&i.push(F):E===w.Tracking&&t.push(F),s[x]=E}}(t.length>0||i.length>0)&&this.onTrackedDeviceChanged.invoke(t,i)},r._onDestroy=function(){this.onTrackedDeviceChanged.removeAll()},r._handleEvent=function(n){var t=this._trackedDevices[n.input];switch(n.targetRayMode){case te.TrackedPointer:switch(n.type){case P.SelectStart:t.down|=b.Select,t.pressedButtons|=b.Select;break;case P.SelectEnd:t.up|=b.Select,t.pressedButtons&=~b.Select;break;case P.SqueezeStart:t.down|=b.Squeeze,t.pressedButtons|=b.Squeeze;break;case P.SqueezeEnd:t.up|=b.Squeeze,t.pressedButtons&=~b.Squeeze;break}break;case te.Screen:var i=this,s=i._engine,o=s.inputManager._pointerManager._target,h=s.canvas._webCanvas,u=h.clientWidth,c=h.clientHeight,f=u*(n.x+1)*.5,_=c*(n.y+1)*.5;switch(n.type){case P.SelectStart:o.dispatchEvent(this._makeUpPointerEvent("pointerdown",n.id,f,_));break;case P.Select:o.dispatchEvent(this._makeUpPointerEvent("pointermove",n.id,f,_));break;case P.SelectEnd:o.dispatchEvent(this._makeUpPointerEvent("pointerup",n.id,f,_)),o.dispatchEvent(this._makeUpPointerEvent("pointerleave",n.id,f,_));break}break}},r._makeUpPointerEvent=function(n,t,i,s){var o={pointerId:t,clientX:i,clientY:s};switch(n){case"pointerdown":o.button=0,o.buttons=1;break;case"pointermove":o.button=-1,o.buttons=1;break;case"pointerup":o.button=0,o.buttons=0;break;case"pointerleave":o.button=0,o.buttons=0;break}return new PointerEvent(n,o)},r.addTrackedDeviceChangedListener=function(n){this.onTrackedDeviceChanged.on(n)},r.removeTrackedDeviceChangedListener=function(n){this.onTrackedDeviceChanged.off(n)},e}(),_e=function(e){return e[e.None=0]="None",e[e.AR=1]="AR",e[e.VR=2]="VR",e}({}),Pe=function(){function e(a,n){this._xrManager=a,this._engine=n,this.onStateChanged=new Q,this._mode=_e.None,this._state=k.None,this._rhi=n._hardwareRenderer,this._raf=requestAnimationFrame.bind(window),this._caf=cancelAnimationFrame.bind(window),this._onSessionExit=this._onSessionExit.bind(this)}var r=e.prototype;return r.isSupportedMode=function(n){return this._xrManager._platformDevice.isSupportedSessionMode(n)},r.run=function(){var n=this,t=n._platformSession,i=n._engine;if(!t)throw new Error("Without session to run.");t.start(),this._setState(k.Running),this._xrManager._onSessionStart(),i.isPaused||(i.pause(),i.resume())},r.stop=function(){var n=this,t=n._platformSession,i=n._engine,s=n._rhi;if(!t)throw new Error("Without session to stop.");if(this._state!==k.Running)throw new Error("Session is not running.");s._mainFrameBuffer=null,s._mainFrameWidth=s._mainFrameHeight=0,t.stop(),this._setState(k.Paused),this._xrManager._onSessionStop(),i.isPaused||(i.pause(),i.resume())},r._setState=function(n){this._state=n,this.onStateChanged.invoke(n)},r._initialize=function(n,t){var i=this;return new Promise(function(s,o){for(var h=i._xrManager,u=[],c=0,f=t.length;c<f;c++){var _=t[c],l=_._platformFeature;l&&u.push(l)}h._platformDevice.requestSession(i._rhi,n,u).then(function(g){i._mode=n,i._platformSession=g,i._setState(k.Initialized),g.setSessionExitCallBack(i._onSessionExit),g.addEventListener(),h._onSessionInit(),s()},o)})},r._onUpdate=function(){var n=this,t=n._rhi,i=n._platformSession;t._mainFrameBuffer=i.framebuffer,t._mainFrameWidth=i.framebufferWidth,t._mainFrameHeight=i.framebufferHeight},r._getRequestAnimationFrame=function(){return this._state===k.Running?this._platformSession.requestAnimationFrame:this._raf},r._getCancelAnimationFrame=function(){return this._state===k.Running?this._platformSession.cancelAnimationFrame:this._caf},r._exit=function(){var n=this,t=n._platformSession;return t?t.end():Promise.reject("Without session to stop.")},r._onSessionExit=function(){var n=this,t=n._rhi,i=n._platformSession,s=n._engine;t._mainFrameBuffer=null,t._mainFrameWidth=t._mainFrameHeight=0,i.removeEventListener(),this._platformSession=null,this._setState(k.None),this._xrManager._onSessionExit(),s.isPaused||(s.pause(),s.resume())},r._onDestroy=function(){this.onStateChanged.removeAll(),this._raf=this._caf=null},r.addStateChangedListener=function(n){this.onStateChanged.on(n)},r.removeStateChangedListener=function(n){this.onStateChanged.off(n)},A(e,[{key:"mode",get:function(){return this._mode}},{key:"state",get:function(){return this._state}},{key:"supportedFrameRate",get:function(){return this._platformSession.supportedFrameRates}},{key:"frameRate",get:function(){return this._platformSession.frameRate}}]),e}(),K=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}var a=r.prototype;return a.isSupportedFeature=function(t){return this._platformDevice.isSupportedFeature(r._featureMap.get(t))},a.addFeature=function(t){for(var i=arguments.length,s=new Array(i>1?i-1:0),o=1;o<i;o++)s[o-1]=arguments[o];if(this.sessionManager._platformSession)throw new Error("Cannot add feature when the session is initialized.");if(!this._platformDevice.isSupportedFeature(r._featureMap.get(t)))throw new Error("The feature is not supported");for(var h=this.features,u=0,c=h.length;u<c;u++)if(ee(h[u],t))throw new Error("The feature has been added");var f=R(t,[].concat([this],s));return h.push(f),f},a.getFeature=function(t){for(var i=this.features,s=0,o=i.length;s<o;s++){var h=i[s];if(ee(h,t))return h}},a.enterXR=function(t,i){var s=this;i===void 0&&(i=!0);var o=this.sessionManager;if(o._platformSession)throw new Error("Please exit XR immersive mode first.");if(!this._origin)throw new Error("Please set origin before enter XR.");return new Promise(function(h,u){o.isSupportedMode(t).then(function(){o._setState(k.Initializing),o._initialize(t,s.features).then(function(){i&&o.run(),h()},u)},u)})},a.exitXR=function(){var t=this;return new Promise(function(i,s){t.sessionManager._exit().then(function(){i()},s)})},a._initialize=function(t,i){this._features=[],this._platformDevice=i,this.sessionManager=new Pe(this,t),this.inputManager=new Ee(this,t),this.cameraManager=new Me(this)},a._update=function(){var t=this.sessionManager;if(t.state===k.Running){t._onUpdate(),this.inputManager._onUpdate(),this.cameraManager._onUpdate();for(var i=this.features,s=0,o=i.length;s<o;s++){var h=i[s];h.enabled&&h._onUpdate()}}},a._destroy=function(){var t=this;this.sessionManager._platformSession?this.exitXR().then(function(){t.sessionManager._onDestroy(),t.inputManager._onDestroy(),t.cameraManager._onDestroy()}):(this.sessionManager._onDestroy(),this.inputManager._onDestroy(),this.cameraManager._onDestroy())},a._getRequestAnimationFrame=function(){return this.sessionManager._getRequestAnimationFrame()},a._getCancelAnimationFrame=function(){return this.sessionManager._getCancelAnimationFrame()},a._getCameraIgnoreClearFlags=function(t){return this.cameraManager._getIgnoreClearFlags(t)},a._onSessionStop=function(){for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionStop()}},a._onSessionInit=function(){for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionInit()}},a._onSessionStart=function(){this.cameraManager._onSessionStart();for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionStart()}},a._onSessionExit=function(){this.cameraManager._onSessionExit();for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionExit(),o._onDestroy()}t.length=0},A(r,[{key:"features",get:function(){return this._features}},{key:"origin",get:function(){return this._origin},set:function(t){if(this.sessionManager._platformSession)throw new Error("Cannot set origin when the session is initialized.");this._origin=t}}]),r}(he);K._featureMap=new Map;function W(e){return function(r){K._featureMap.set(r,e)}}function Te(e,r){r.forEach(function(a){Object.getOwnPropertyNames(a.prototype).forEach(function(n){Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(a.prototype,n)||Object.create(null))})})}Te(he,[K]);var le=function(){function e(a,n){for(var t=arguments.length,i=new Array(t>2?t-2:0),s=2;s<t;s++)i[s-2]=arguments[s];var o;this._xrManager=a,this._type=n,this._enabled=!0,this._platformFeature=(o=a._platformDevice).createPlatformFeature.apply(o,[].concat([n],i)),this._onEnable()}var r=e.prototype;return r._onEnable=function(){},r._onDisable=function(){},r._onUpdate=function(){},r._onSessionInit=function(){},r._onSessionStart=function(){},r._onSessionStop=function(){},r._onSessionExit=function(){},r._onDestroy=function(){},A(e,[{key:"enabled",get:function(){return this._enabled},set:function(n){this.enabled!==n&&(this._enabled=n,n?this._onEnable():this._onDisable())}}]),e}(),y=function(e){return e[e.AnchorTracking=0]="AnchorTracking",e[e.ImageTracking=1]="ImageTracking",e[e.PlaneTracking=2]="PlaneTracking",e[e.HitTest=3]="HitTest",e}({}),U=function(e){return e[e.None=0]="None",e[e.Submitted=1]="Submitted",e[e.Resolved=2]="Resolved",e[e.Rejected=3]="Rejected",e[e.Destroyed=4]="Destroyed",e[e.WaitingDestroy=5]="WaitingDestroy",e}({}),T=function(e){p(r,e);function r(){var n;return n=e.apply(this,arguments)||this,n.onChanged=new Q,n._requestTrackings=[],n._tracked=[],n._added=[],n._updated=[],n._removed=[],n._statusSnapshot={},n}var a=r.prototype;return a._onUpdate=function(){var t=this._xrManager.sessionManager,i=t._platformSession,s=i.frame,o=this,h=o._platformFeature,u=o._requestTrackings,c=o._statusSnapshot,f=o._tracked,_=o._added,l=o._updated,g=o._removed;if(!(!s||!u.length)&&h.checkAvailable(i,s,u)){_.length=l.length=g.length=0,h.getTrackedResult(i,s,u,this._generateTracked);for(var d=0,m=u.length;d<m;d++){var S=u[d];switch(S.state){case U.Destroyed:for(var x=S.tracked,z=0,F=x.length;z<F;z++){var E=x[z],$=E.id;c[$]===w.Tracking&&(g.push(E),f.splice(f.indexOf(E),1)),c[$]=w.NotTracking}break;case U.Resolved:for(var Y=S.tracked,B=0,ge=Y.length;B<ge;B++){var C=Y[B],L=C.id;C.state===w.Tracking?c[L]===w.Tracking?l.push(C):(_.push(C),c[L]=w.Tracking,f.push(C)):(c[L]===w.Tracking&&(g.push(C),f.splice(f.indexOf(C),1)),c[L]=C.state)}break}}for(var N=u.length-1;N>=0;N--)u[N].state===U.Destroyed&&u.splice(N,1);(_.length>0||l.length>0||g.length>0)&&this.onChanged.invoke(_,l,g)}},a._onSessionStop=function(){this._added.length=this._updated.length=this._removed.length=0},a._onSessionExit=function(){this._requestTrackings.length=this._tracked.length=this._added.length=this._updated.length=this._removed.length=0,this.onChanged.removeAll()},a._addRequestTracking=function(t){var i=this,s=i._platformFeature;if(this._xrManager.sessionManager._platformSession&&!s.canModifyRequestTrackingAfterInit)throw new Error(y[this._type]+" request tracking cannot be modified after initialization.");this._requestTrackings.push(t),s.onAddRequestTracking(t)},a._removeRequestTracking=function(t){var i=this,s=i._platformFeature;if(this._xrManager.sessionManager._platformSession&&!s.canModifyRequestTrackingAfterInit)throw new Error(y[this._type]+" request tracking cannot be modified after initialization.");s.onDelRequestTracking(t)},a._removeAllRequestTrackings=function(){var t=this,i=t._platformFeature;if(this._xrManager.sessionManager._platformSession&&!i.canModifyRequestTrackingAfterInit)throw new Error(y[this._type]+" request tracking cannot be modified after initialization.");for(var s=this,o=s._requestTrackings,h=0,u=o.length;h<u;h++)i.onDelRequestTracking(o[h])},a.addChangedListener=function(t){this.onChanged.on(t)},a.removeChangedListener=function(t){this.onChanged.off(t)},r}(le);T._uuid=0;var J=function(){this.pose=new O,this.state=w.NotTracking},ne=function(e){return e[e.Plane=1]="Plane",e[e.All=1]="All",e}({}),Ae=function(){this.point=new v,this.normal=new v};function D(e,r,a,n){var t=arguments.length,i=t<3?r:n===null?n=Object.getOwnPropertyDescriptor(r,a):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,r,a,n);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(i=(t<3?s(i):t>3?s(r,a,i):s(r,a))||i);return t>3&&i&&Object.defineProperty(r,a,i),i}var Fe=function(e){return e[e.None=0]="None",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e[e.EveryThing=3]="EveryThing",e}({}),Z=function(){this.state=U.None,this.tracked=[]},qe=function(e){p(r,e);function r(a){var n;return n=e.call(this)||this,n.detectionMode=a,n}return r}(Z),De=function(e){p(r,e);function r(){var a;return a=e.apply(this,arguments)||this,a.polygon=[],a.attributesDirty=!1,a}return r}(J),I=function(e){p(r,e);function r(n,t){t===void 0&&(t=Fe.EveryThing);var i;return i=e.call(this,n,y.PlaneTracking,t)||this,i._addRequestTracking(new qe(t)),i}var a=r.prototype;return a._generateTracked=function(){var t=new De;return t.id=T._uuid++,t},A(r,[{key:"detectionMode",get:function(){return this._requestTrackings[0].detectionMode}},{key:"trackedPlanes",get:function(){return this._tracked}}]),r}(T);I=D([W(y.PlaneTracking)],I);var re=function(e){p(r,e);function r(n){var t;return t=e.call(this,n,y.HitTest)||this,t._tempRay=new pe,t._tempPlane=new ve,t._tempVec2=new Se,t._tempVec30=new v,t._tempVec31=new v,t._tempVec32=new v,t._tempVec33=new v,t._tempVec34=new v,t._tempVec35=new v,t}var a=r.prototype;return a.hitTest=function(t,i){var s=[];return i&ne.Plane&&this._hitTestPlane(t,s),s},a.screenHitTest=function(t,i,s){var o=this,h=o._xrManager;if(h.sessionManager.mode!==_e.AR)throw new Error("Only AR mode supports using screen ray hit test.");var u=h.inputManager.getTrackedDevice(M.Camera),c=u._camera;if(!c)throw new Error("No camera available.");var f=c.screenPointToRay(this._tempVec2.set(t,i),this._tempRay);return this.hitTest(f,s)},a._hitTestPlane=function(t,i){var s=this._xrManager.getFeature(I);if(!s||!s.enabled)throw new Error("The plane estimation function needs to be turned on for plane hit test.");for(var o=this,h=o._tempPlane,u=o._tempVec30,c=o._tempVec31,f=o._tempVec32,_=s.trackedPlanes,l=0,g=_.length;l<g;l++){var d=_[l];u.set(0,1,0).transformNormal(d.pose.matrix),h.normal.copyFrom(u),h.distance=-v.dot(u,d.pose.position);var m=t.intersectPlane(h);if(m>=0&&(t.getPoint(m,c),v.transformToVec3(c,d.pose.inverseMatrix,f),this._checkPointerWithinPlane(f,d))){var S=new Ae;S.point.copyFrom(c),S.normal.copyFrom(u),S.distance=m,S.trackedObject=d,S.trackableType=ne.Plane,i.push(S)}}},a._checkPointerWithinPlane=function(t,i){for(var s=this,o=s._tempVec33,h=s._tempVec34,u=s._tempVec35,c=i.polygon,f=c.length,_=c[f-1],l=0,g=0;g<f;g++){var d=c[g];v.subtract(d,_,o),v.subtract(t,_,h),v.cross(o,h,u);var m=u.y;if(l===0)m>0?l=1:m<0&&(l=-1);else if(m>0&&l<0||m<0&&l>0)return!1;_=d}return!0},r}(le);re=D([W(y.HitTest)],re);var ze=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}return r}(J),Le=function(e){p(r,e);function r(a,n){var t;return t=e.call(this)||this,t.position=a,t.rotation=n,t}return r}(Z),ae=function(e){p(r,e);function r(n){var t;return t=e.call(this,n,y.AnchorTracking)||this,t._anchors=[],t}var a=r.prototype;return a.addAnchor=function(t,i){if(!this._enabled)throw new Error("Cannot add an anchor from a disabled anchor manager.");var s=this,o=s._anchors,h=new Le(t,i),u=this._generateTracked();return h.tracked[0]=u,this._addRequestTracking(h),o.push(u),u},a.removeAnchor=function(t){if(!this._enabled)throw new Error("Cannot remove an anchor from a disabled anchor manager.");for(var i=this,s=i._requestTrackings,o=i._anchors,h=0,u=s.length;h<u;h++){var c=s[h];if(c.tracked[0]===t){this._removeRequestTracking(c);break}}o.splice(o.indexOf(t),1)},a.clearAnchors=function(){if(!this._enabled)throw new Error("Cannot remove anchors from a disabled anchor manager.");this._removeAllRequestTrackings()},a._generateTracked=function(){var t=new ze;return t.id=T._uuid++,t},A(r,[{key:"trackingAnchors",get:function(){return this._anchors}},{key:"trackedAnchors",get:function(){return this._tracked}}]),r}(T);ae=D([W(y.AnchorTracking)],ae);var Ne=function(e){p(r,e);function r(a){var n;return n=e.call(this)||this,n.image=a,n}return r}(Z),Re=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}return r}(J),ie=function(e){p(r,e);function r(n,t){var i;i=e.call(this,n,y.ImageTracking,t)||this,i._trackingImages=t;var s=t?t.length:0;if(s>0)for(var o=0,h=t.length;o<h;o++)i._addRequestTracking(new Ne(t[o]));else console.warn("No image to be tracked.");return i}var a=r.prototype;return a._generateTracked=function(){var t=new Re;return t.id=T._uuid++,t},A(r,[{key:"trackingImages",get:function(){return this._trackingImages}},{key:"trackedImages",get:function(){return this._tracked}}]),r}(T);ie=D([W(y.ImageTracking)],ie);var Ue=function(r,a,n){this.name=r,this.imageSource=a,this.physicalWidth=n},oe=function(){function e(){}return e.decode=function(a,n){return new ue(function(t,i){var s=n.nextFloat32();n.nextUint8();var o=new Image;o.onload=function(){t(new Ue("",o,s))},o.src=URL.createObjectURL(new window.Blob([n.nextImagesData(1)[0]]))})},e}();oe=D([me("XRReferenceImage")],oe);function G(){return G=Object.assign||function(r){for(var a=1;a<arguments.length;a++){var n=arguments[a];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r},G.apply(this,arguments)}var se=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}var a=r.prototype;return a.load=function(t,i){return new ue(function(s,o){i._request(t.url,G({},t,{type:"arraybuffer"})).then(function(h){we(h,i.engine).then(function(u){s(u)})}).catch(o)})},r}(ke);se=D([de("XRReferenceImage",[])],se);export{Ue as X,_e as a,M as b,k as c,ae as d,ie as e,I as f,Fe as g};
1
+ import{W as de,as as he,at as me,au as pe,av as ve,N as Se,K as v,a5 as ue,aw as we,X as ke,ax as q,ay as H,b as j,az as Q,aA as be,aB as ye}from"./index-cb255df8.js";function ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ce=function(){return!!e})()}function V(e,r){return V=Object.setPrototypeOf||function(n,t){return n.__proto__=t,n},V(e,r)}function R(e,r,a){return ce()?R=Reflect.construct:R=function(t,i,s){var o=[null];o.push.apply(o,i);var h=Function.bind.apply(t,o),u=new h;return s&&V(u,s.prototype),u},R.apply(null,arguments)}function X(e,r){for(var a=0;a<r.length;a++){var n=r[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function A(e,r,a){return r&&X(e.prototype,r),a&&X(e,a),e}function p(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),r&&V(e,r)}function ee(e,r){return r!=null&&typeof Symbol<"u"&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](e):e instanceof r}var M=function(e){return e[e.Controller=0]="Controller",e[e.LeftController=1]="LeftController",e[e.RightController=2]="RightController",e[e.Camera=3]="Camera",e[e.LeftCamera=4]="LeftCamera",e[e.RightCamera=5]="RightCamera",e[e.LeftHand=6]="LeftHand",e[e.RightHand=7]="RightHand",e}({}),k=function(e){return e[e.None=0]="None",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized",e[e.Running=3]="Running",e[e.Paused=4]="Paused",e}({}),Me=function(){function e(a){this._xrManager=a}var r=e.prototype;return r.attachCamera=function(n,t){var i=this._xrManager.inputManager.getTrackedDevice(n),s=i._camera;if(s!==t){switch(s&&(s._cameraType=q.Normal),n){case M.Camera:t._cameraType=q.XRCenterCamera;break;case M.LeftCamera:t._cameraType=q.XRLeftCamera;break;case M.RightCamera:t._cameraType=q.XRRightCamera;break}i._camera=t}},r.detachCamera=function(n){var t=this._xrManager.inputManager.getTrackedDevice(n),i=t._camera;return i&&(i._cameraType=q.Normal),t._camera=null,i},r._onSessionStart=function(){},r._onUpdate=function(){for(var n=this._xrManager.inputManager._cameras,t=this._xrManager.sessionManager._platformSession,i=0,s=n.length;i<s;i++){var o=n[i],h=o._camera;if(h){var u=h.entity.transform,c=o.pose;u.position=c.position,u.rotationQuaternion=c.rotation;var f=h.viewport,_=o.viewport,l=_.x,g=_.y,d=_.width,m=_.height;l===f.x&&g===f.y&&d===f.z&&m===f.w||(h.viewport=f.set(l,g,d,m)),H.equals(h.projectionMatrix,o.projectionMatrix)||(h.projectionMatrix=o.projectionMatrix),h.renderTarget||h._adjustPixelViewport(t.framebufferWidth,t.framebufferHeight)}}},r._onSessionExit=function(){for(var n=this._xrManager.inputManager._cameras,t=0,i=n.length;t<i;t++){var s;(s=n[t]._camera)==null||s._updatePixelViewport()}},r._getIgnoreClearFlags=function(n){return n===q.XRCenterCamera?this._xrManager.sessionManager.state===k.Running?j.Color:j.None:j.None},r._onDestroy=function(){},A(e,[{key:"fixedFoveation",get:function(){var n=this._xrManager.sessionManager,t=n._platformSession;if(t)return t.getFixedFoveation();throw new Error("XR session is not available.")},set:function(n){var t=this._xrManager.sessionManager,i=t._platformSession;if(i)i.setFixedFoveation(n);else throw new Error("XR session is not available.")}}]),e}(),O=function(){this.position=new v,this.rotation=new ye,this.matrix=new H,this.inverseMatrix=new H},w=function(e){return e[e.NotTracking=0]="NotTracking",e[e.Tracking=1]="Tracking",e[e.TrackingLost=2]="TrackingLost",e}({}),fe=function(r){this.type=r,this.trackingState=w.NotTracking},xe=function(e){p(r,e);function r(){var a;return a=e.apply(this,arguments)||this,a.pose=new O,a.viewport=new be,a.projectionMatrix=new H,a}return r}(fe),b=function(e){return e[e.None=0]="None",e[e.Select=1]="Select",e[e.Trigger=1]="Trigger",e[e.Squeeze=2]="Squeeze",e[e.TouchPad=4]="TouchPad",e[e.AButton=8]="AButton",e[e.BButton=16]="BButton",e}({}),Ce=function(e){p(r,e);function r(){var n;return n=e.apply(this,arguments)||this,n.gripPose=new O,n.targetRayPose=new O,n.pressedButtons=b.None,n.down=b.None,n.up=b.None,n}var a=r.prototype;return a.isButtonDown=function(t){return(this.down&t)!==0},a.isButtonUp=function(t){return(this.up&t)!==0},a.isButtonHeldDown=function(t){return(this.pressedButtons&t)!==0},r}(fe),P=function(e){return e[e.SelectStart=0]="SelectStart",e[e.Select=1]="Select",e[e.SelectEnd=2]="SelectEnd",e[e.SqueezeStart=3]="SqueezeStart",e[e.Squeeze=4]="Squeeze",e[e.SqueezeEnd=5]="SqueezeEnd",e}({}),te=function(e){return e[e.Gaze=0]="Gaze",e[e.TrackedPointer=1]="TrackedPointer",e[e.Screen=2]="Screen",e}({}),Ee=function(){function e(a,n){this._xrManager=a,this._engine=n,this.onTrackedDeviceChanged=new Q,this._cameras=[],this._controllers=[],this._added=[],this._removed=[],this._trackedDevices=[],this._statusSnapshot=[];for(var t=this,i=t._trackedDevices,s=t._controllers,o=t._cameras,h=0;h<6;h++)switch(h){case M.Camera:case M.LeftCamera:case M.RightCamera:o.push(i[h]=new xe(h));break;case M.Controller:case M.LeftController:case M.RightController:s.push(i[h]=new Ce(h));break}this._statusSnapshot.fill(w.NotTracking,0,i.length)}var r=e.prototype;return r.getTrackedDevice=function(n){return this._trackedDevices[n]},r._onUpdate=function(){var n=this,t=n._added,i=n._removed,s=n._statusSnapshot,o=this,h=o._trackedDevices,u=o._controllers;t.length=i.length=0;for(var c=0,f=u.length;c<f;c++){var _=u[c];_.down=_.up=0}for(var l=this._xrManager.sessionManager,g=l._platformSession,d=g.events,m=0,S=d.length;m<S;m++)this._handleEvent(d[m]);g.resetEvents(),g.frame.updateInputs(h);for(var x=0,z=h.length;x<z;x++){var F=h[x];if(F){var E=F.trackingState;s[x]===w.Tracking?E!==w.Tracking&&i.push(F):E===w.Tracking&&t.push(F),s[x]=E}}(t.length>0||i.length>0)&&this.onTrackedDeviceChanged.invoke(t,i)},r._onDestroy=function(){this.onTrackedDeviceChanged.removeAll()},r._handleEvent=function(n){var t=this._trackedDevices[n.input];switch(n.targetRayMode){case te.TrackedPointer:switch(n.type){case P.SelectStart:t.down|=b.Select,t.pressedButtons|=b.Select;break;case P.SelectEnd:t.up|=b.Select,t.pressedButtons&=~b.Select;break;case P.SqueezeStart:t.down|=b.Squeeze,t.pressedButtons|=b.Squeeze;break;case P.SqueezeEnd:t.up|=b.Squeeze,t.pressedButtons&=~b.Squeeze;break}break;case te.Screen:var i=this,s=i._engine,o=s.inputManager._pointerManager._target,h=s.canvas._webCanvas,u=h.clientWidth,c=h.clientHeight,f=u*(n.x+1)*.5,_=c*(n.y+1)*.5;switch(n.type){case P.SelectStart:o.dispatchEvent(this._makeUpPointerEvent("pointerdown",n.id,f,_));break;case P.Select:o.dispatchEvent(this._makeUpPointerEvent("pointermove",n.id,f,_));break;case P.SelectEnd:o.dispatchEvent(this._makeUpPointerEvent("pointerup",n.id,f,_)),o.dispatchEvent(this._makeUpPointerEvent("pointerleave",n.id,f,_));break}break}},r._makeUpPointerEvent=function(n,t,i,s){var o={pointerId:t,clientX:i,clientY:s};switch(n){case"pointerdown":o.button=0,o.buttons=1;break;case"pointermove":o.button=-1,o.buttons=1;break;case"pointerup":o.button=0,o.buttons=0;break;case"pointerleave":o.button=0,o.buttons=0;break}return new PointerEvent(n,o)},r.addTrackedDeviceChangedListener=function(n){this.onTrackedDeviceChanged.on(n)},r.removeTrackedDeviceChangedListener=function(n){this.onTrackedDeviceChanged.off(n)},e}(),_e=function(e){return e[e.None=0]="None",e[e.AR=1]="AR",e[e.VR=2]="VR",e}({}),Pe=function(){function e(a,n){this._xrManager=a,this._engine=n,this.onStateChanged=new Q,this._mode=_e.None,this._state=k.None,this._rhi=n._hardwareRenderer,this._raf=requestAnimationFrame.bind(window),this._caf=cancelAnimationFrame.bind(window),this._onSessionExit=this._onSessionExit.bind(this)}var r=e.prototype;return r.isSupportedMode=function(n){return this._xrManager._platformDevice.isSupportedSessionMode(n)},r.run=function(){var n=this,t=n._platformSession,i=n._engine;if(!t)throw new Error("Without session to run.");t.start(),this._setState(k.Running),this._xrManager._onSessionStart(),i.isPaused||(i.pause(),i.resume())},r.stop=function(){var n=this,t=n._platformSession,i=n._engine,s=n._rhi;if(!t)throw new Error("Without session to stop.");if(this._state!==k.Running)throw new Error("Session is not running.");s._mainFrameBuffer=null,s._mainFrameWidth=s._mainFrameHeight=0,t.stop(),this._setState(k.Paused),this._xrManager._onSessionStop(),i.isPaused||(i.pause(),i.resume())},r._setState=function(n){this._state=n,this.onStateChanged.invoke(n)},r._initialize=function(n,t){var i=this;return new Promise(function(s,o){for(var h=i._xrManager,u=[],c=0,f=t.length;c<f;c++){var _=t[c],l=_._platformFeature;l&&u.push(l)}h._platformDevice.requestSession(i._rhi,n,u).then(function(g){i._mode=n,i._platformSession=g,i._setState(k.Initialized),g.setSessionExitCallBack(i._onSessionExit),g.addEventListener(),h._onSessionInit(),s()},o)})},r._onUpdate=function(){var n=this,t=n._rhi,i=n._platformSession;t._mainFrameBuffer=i.framebuffer,t._mainFrameWidth=i.framebufferWidth,t._mainFrameHeight=i.framebufferHeight},r._getRequestAnimationFrame=function(){return this._state===k.Running?this._platformSession.requestAnimationFrame:this._raf},r._getCancelAnimationFrame=function(){return this._state===k.Running?this._platformSession.cancelAnimationFrame:this._caf},r._exit=function(){var n=this,t=n._platformSession;return t?t.end():Promise.reject("Without session to stop.")},r._onSessionExit=function(){var n=this,t=n._rhi,i=n._platformSession,s=n._engine;t._mainFrameBuffer=null,t._mainFrameWidth=t._mainFrameHeight=0,i.removeEventListener(),this._platformSession=null,this._setState(k.None),this._xrManager._onSessionExit(),s.isPaused||(s.pause(),s.resume())},r._onDestroy=function(){this.onStateChanged.removeAll(),this._raf=this._caf=null},r.addStateChangedListener=function(n){this.onStateChanged.on(n)},r.removeStateChangedListener=function(n){this.onStateChanged.off(n)},A(e,[{key:"mode",get:function(){return this._mode}},{key:"state",get:function(){return this._state}},{key:"supportedFrameRate",get:function(){return this._platformSession.supportedFrameRates}},{key:"frameRate",get:function(){return this._platformSession.frameRate}}]),e}(),K=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}var a=r.prototype;return a.isSupportedFeature=function(t){return this._platformDevice.isSupportedFeature(r._featureMap.get(t))},a.addFeature=function(t){for(var i=arguments.length,s=new Array(i>1?i-1:0),o=1;o<i;o++)s[o-1]=arguments[o];if(this.sessionManager._platformSession)throw new Error("Cannot add feature when the session is initialized.");if(!this._platformDevice.isSupportedFeature(r._featureMap.get(t)))throw new Error("The feature is not supported");for(var h=this.features,u=0,c=h.length;u<c;u++)if(ee(h[u],t))throw new Error("The feature has been added");var f=R(t,[].concat([this],s));return h.push(f),f},a.getFeature=function(t){for(var i=this.features,s=0,o=i.length;s<o;s++){var h=i[s];if(ee(h,t))return h}},a.enterXR=function(t,i){var s=this;i===void 0&&(i=!0);var o=this.sessionManager;if(o._platformSession)throw new Error("Please exit XR immersive mode first.");if(!this._origin)throw new Error("Please set origin before enter XR.");return new Promise(function(h,u){o.isSupportedMode(t).then(function(){o._setState(k.Initializing),o._initialize(t,s.features).then(function(){i&&o.run(),h()},u)},u)})},a.exitXR=function(){var t=this;return new Promise(function(i,s){t.sessionManager._exit().then(function(){i()},s)})},a._initialize=function(t,i){this._features=[],this._platformDevice=i,this.sessionManager=new Pe(this,t),this.inputManager=new Ee(this,t),this.cameraManager=new Me(this)},a._update=function(){var t=this.sessionManager;if(t.state===k.Running){t._onUpdate(),this.inputManager._onUpdate(),this.cameraManager._onUpdate();for(var i=this.features,s=0,o=i.length;s<o;s++){var h=i[s];h.enabled&&h._onUpdate()}}},a._destroy=function(){var t=this;this.sessionManager._platformSession?this.exitXR().then(function(){t.sessionManager._onDestroy(),t.inputManager._onDestroy(),t.cameraManager._onDestroy()}):(this.sessionManager._onDestroy(),this.inputManager._onDestroy(),this.cameraManager._onDestroy())},a._getRequestAnimationFrame=function(){return this.sessionManager._getRequestAnimationFrame()},a._getCancelAnimationFrame=function(){return this.sessionManager._getCancelAnimationFrame()},a._getCameraIgnoreClearFlags=function(t){return this.cameraManager._getIgnoreClearFlags(t)},a._onSessionStop=function(){for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionStop()}},a._onSessionInit=function(){for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionInit()}},a._onSessionStart=function(){this.cameraManager._onSessionStart();for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionStart()}},a._onSessionExit=function(){this.cameraManager._onSessionExit();for(var t=this.features,i=0,s=t.length;i<s;i++){var o=t[i];o.enabled&&o._onSessionExit(),o._onDestroy()}t.length=0},A(r,[{key:"features",get:function(){return this._features}},{key:"origin",get:function(){return this._origin},set:function(t){if(this.sessionManager._platformSession)throw new Error("Cannot set origin when the session is initialized.");this._origin=t}}]),r}(he);K._featureMap=new Map;function W(e){return function(r){K._featureMap.set(r,e)}}function Te(e,r){r.forEach(function(a){Object.getOwnPropertyNames(a.prototype).forEach(function(n){Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(a.prototype,n)||Object.create(null))})})}Te(he,[K]);var le=function(){function e(a,n){for(var t=arguments.length,i=new Array(t>2?t-2:0),s=2;s<t;s++)i[s-2]=arguments[s];var o;this._xrManager=a,this._type=n,this._enabled=!0,this._platformFeature=(o=a._platformDevice).createPlatformFeature.apply(o,[].concat([n],i)),this._onEnable()}var r=e.prototype;return r._onEnable=function(){},r._onDisable=function(){},r._onUpdate=function(){},r._onSessionInit=function(){},r._onSessionStart=function(){},r._onSessionStop=function(){},r._onSessionExit=function(){},r._onDestroy=function(){},A(e,[{key:"enabled",get:function(){return this._enabled},set:function(n){this.enabled!==n&&(this._enabled=n,n?this._onEnable():this._onDisable())}}]),e}(),y=function(e){return e[e.AnchorTracking=0]="AnchorTracking",e[e.ImageTracking=1]="ImageTracking",e[e.PlaneTracking=2]="PlaneTracking",e[e.HitTest=3]="HitTest",e}({}),U=function(e){return e[e.None=0]="None",e[e.Submitted=1]="Submitted",e[e.Resolved=2]="Resolved",e[e.Rejected=3]="Rejected",e[e.Destroyed=4]="Destroyed",e[e.WaitingDestroy=5]="WaitingDestroy",e}({}),T=function(e){p(r,e);function r(){var n;return n=e.apply(this,arguments)||this,n.onChanged=new Q,n._requestTrackings=[],n._tracked=[],n._added=[],n._updated=[],n._removed=[],n._statusSnapshot={},n}var a=r.prototype;return a._onUpdate=function(){var t=this._xrManager.sessionManager,i=t._platformSession,s=i.frame,o=this,h=o._platformFeature,u=o._requestTrackings,c=o._statusSnapshot,f=o._tracked,_=o._added,l=o._updated,g=o._removed;if(!(!s||!u.length)&&h.checkAvailable(i,s,u)){_.length=l.length=g.length=0,h.getTrackedResult(i,s,u,this._generateTracked);for(var d=0,m=u.length;d<m;d++){var S=u[d];switch(S.state){case U.Destroyed:for(var x=S.tracked,z=0,F=x.length;z<F;z++){var E=x[z],$=E.id;c[$]===w.Tracking&&(g.push(E),f.splice(f.indexOf(E),1)),c[$]=w.NotTracking}break;case U.Resolved:for(var Y=S.tracked,B=0,ge=Y.length;B<ge;B++){var C=Y[B],L=C.id;C.state===w.Tracking?c[L]===w.Tracking?l.push(C):(_.push(C),c[L]=w.Tracking,f.push(C)):(c[L]===w.Tracking&&(g.push(C),f.splice(f.indexOf(C),1)),c[L]=C.state)}break}}for(var N=u.length-1;N>=0;N--)u[N].state===U.Destroyed&&u.splice(N,1);(_.length>0||l.length>0||g.length>0)&&this.onChanged.invoke(_,l,g)}},a._onSessionStop=function(){this._added.length=this._updated.length=this._removed.length=0},a._onSessionExit=function(){this._requestTrackings.length=this._tracked.length=this._added.length=this._updated.length=this._removed.length=0,this.onChanged.removeAll()},a._addRequestTracking=function(t){var i=this,s=i._platformFeature;if(this._xrManager.sessionManager._platformSession&&!s.canModifyRequestTrackingAfterInit)throw new Error(y[this._type]+" request tracking cannot be modified after initialization.");this._requestTrackings.push(t),s.onAddRequestTracking(t)},a._removeRequestTracking=function(t){var i=this,s=i._platformFeature;if(this._xrManager.sessionManager._platformSession&&!s.canModifyRequestTrackingAfterInit)throw new Error(y[this._type]+" request tracking cannot be modified after initialization.");s.onDelRequestTracking(t)},a._removeAllRequestTrackings=function(){var t=this,i=t._platformFeature;if(this._xrManager.sessionManager._platformSession&&!i.canModifyRequestTrackingAfterInit)throw new Error(y[this._type]+" request tracking cannot be modified after initialization.");for(var s=this,o=s._requestTrackings,h=0,u=o.length;h<u;h++)i.onDelRequestTracking(o[h])},a.addChangedListener=function(t){this.onChanged.on(t)},a.removeChangedListener=function(t){this.onChanged.off(t)},r}(le);T._uuid=0;var J=function(){this.pose=new O,this.state=w.NotTracking},ne=function(e){return e[e.Plane=1]="Plane",e[e.All=1]="All",e}({}),Ae=function(){this.point=new v,this.normal=new v};function D(e,r,a,n){var t=arguments.length,i=t<3?r:n===null?n=Object.getOwnPropertyDescriptor(r,a):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,r,a,n);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(i=(t<3?s(i):t>3?s(r,a,i):s(r,a))||i);return t>3&&i&&Object.defineProperty(r,a,i),i}var Fe=function(e){return e[e.None=0]="None",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e[e.EveryThing=3]="EveryThing",e}({}),Z=function(){this.state=U.None,this.tracked=[]},qe=function(e){p(r,e);function r(a){var n;return n=e.call(this)||this,n.detectionMode=a,n}return r}(Z),De=function(e){p(r,e);function r(){var a;return a=e.apply(this,arguments)||this,a.polygon=[],a.attributesDirty=!1,a}return r}(J),I=function(e){p(r,e);function r(n,t){t===void 0&&(t=Fe.EveryThing);var i;return i=e.call(this,n,y.PlaneTracking,t)||this,i._addRequestTracking(new qe(t)),i}var a=r.prototype;return a._generateTracked=function(){var t=new De;return t.id=T._uuid++,t},A(r,[{key:"detectionMode",get:function(){return this._requestTrackings[0].detectionMode}},{key:"trackedPlanes",get:function(){return this._tracked}}]),r}(T);I=D([W(y.PlaneTracking)],I);var re=function(e){p(r,e);function r(n){var t;return t=e.call(this,n,y.HitTest)||this,t._tempRay=new pe,t._tempPlane=new ve,t._tempVec2=new Se,t._tempVec30=new v,t._tempVec31=new v,t._tempVec32=new v,t._tempVec33=new v,t._tempVec34=new v,t._tempVec35=new v,t}var a=r.prototype;return a.hitTest=function(t,i){var s=[];return i&ne.Plane&&this._hitTestPlane(t,s),s},a.screenHitTest=function(t,i,s){var o=this,h=o._xrManager;if(h.sessionManager.mode!==_e.AR)throw new Error("Only AR mode supports using screen ray hit test.");var u=h.inputManager.getTrackedDevice(M.Camera),c=u._camera;if(!c)throw new Error("No camera available.");var f=c.screenPointToRay(this._tempVec2.set(t,i),this._tempRay);return this.hitTest(f,s)},a._hitTestPlane=function(t,i){var s=this._xrManager.getFeature(I);if(!s||!s.enabled)throw new Error("The plane estimation function needs to be turned on for plane hit test.");for(var o=this,h=o._tempPlane,u=o._tempVec30,c=o._tempVec31,f=o._tempVec32,_=s.trackedPlanes,l=0,g=_.length;l<g;l++){var d=_[l];u.set(0,1,0).transformNormal(d.pose.matrix),h.normal.copyFrom(u),h.distance=-v.dot(u,d.pose.position);var m=t.intersectPlane(h);if(m>=0&&(t.getPoint(m,c),v.transformToVec3(c,d.pose.inverseMatrix,f),this._checkPointerWithinPlane(f,d))){var S=new Ae;S.point.copyFrom(c),S.normal.copyFrom(u),S.distance=m,S.trackedObject=d,S.trackableType=ne.Plane,i.push(S)}}},a._checkPointerWithinPlane=function(t,i){for(var s=this,o=s._tempVec33,h=s._tempVec34,u=s._tempVec35,c=i.polygon,f=c.length,_=c[f-1],l=0,g=0;g<f;g++){var d=c[g];v.subtract(d,_,o),v.subtract(t,_,h),v.cross(o,h,u);var m=u.y;if(l===0)m>0?l=1:m<0&&(l=-1);else if(m>0&&l<0||m<0&&l>0)return!1;_=d}return!0},r}(le);re=D([W(y.HitTest)],re);var ze=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}return r}(J),Le=function(e){p(r,e);function r(a,n){var t;return t=e.call(this)||this,t.position=a,t.rotation=n,t}return r}(Z),ae=function(e){p(r,e);function r(n){var t;return t=e.call(this,n,y.AnchorTracking)||this,t._anchors=[],t}var a=r.prototype;return a.addAnchor=function(t,i){if(!this._enabled)throw new Error("Cannot add an anchor from a disabled anchor manager.");var s=this,o=s._anchors,h=new Le(t,i),u=this._generateTracked();return h.tracked[0]=u,this._addRequestTracking(h),o.push(u),u},a.removeAnchor=function(t){if(!this._enabled)throw new Error("Cannot remove an anchor from a disabled anchor manager.");for(var i=this,s=i._requestTrackings,o=i._anchors,h=0,u=s.length;h<u;h++){var c=s[h];if(c.tracked[0]===t){this._removeRequestTracking(c);break}}o.splice(o.indexOf(t),1)},a.clearAnchors=function(){if(!this._enabled)throw new Error("Cannot remove anchors from a disabled anchor manager.");this._removeAllRequestTrackings()},a._generateTracked=function(){var t=new ze;return t.id=T._uuid++,t},A(r,[{key:"trackingAnchors",get:function(){return this._anchors}},{key:"trackedAnchors",get:function(){return this._tracked}}]),r}(T);ae=D([W(y.AnchorTracking)],ae);var Ne=function(e){p(r,e);function r(a){var n;return n=e.call(this)||this,n.image=a,n}return r}(Z),Re=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}return r}(J),ie=function(e){p(r,e);function r(n,t){var i;i=e.call(this,n,y.ImageTracking,t)||this,i._trackingImages=t;var s=t?t.length:0;if(s>0)for(var o=0,h=t.length;o<h;o++)i._addRequestTracking(new Ne(t[o]));else console.warn("No image to be tracked.");return i}var a=r.prototype;return a._generateTracked=function(){var t=new Re;return t.id=T._uuid++,t},A(r,[{key:"trackingImages",get:function(){return this._trackingImages}},{key:"trackedImages",get:function(){return this._tracked}}]),r}(T);ie=D([W(y.ImageTracking)],ie);var Ue=function(r,a,n){this.name=r,this.imageSource=a,this.physicalWidth=n},oe=function(){function e(){}return e.decode=function(a,n){return new ue(function(t,i){var s=n.nextFloat32();n.nextUint8();var o=new Image;o.onload=function(){t(new Ue("",o,s))},o.src=URL.createObjectURL(new window.Blob([n.nextImagesData(1)[0]]))})},e}();oe=D([me("XRReferenceImage")],oe);function G(){return G=Object.assign||function(r){for(var a=1;a<arguments.length;a++){var n=arguments[a];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r},G.apply(this,arguments)}var se=function(e){p(r,e);function r(){return e.apply(this,arguments)||this}var a=r.prototype;return a.load=function(t,i){return new ue(function(s,o){i._request(t.url,G({},t,{type:"arraybuffer"})).then(function(h){we(h,i.engine).then(function(u){s(u)})}).catch(o)})},r}(ke);se=D([de("XRReferenceImage",[])],se);export{Ue as X,_e as a,M as b,k as c,ae as d,ie as e,I as f,Fe as g};