@galacean/cli 2.0.0-alpha.12 → 2.0.0-alpha.14

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 (160) hide show
  1. package/dist/cli.bundle.cjs +134 -135
  2. package/dist/viewport-client/_static/Accordion-3d330bc6.js +1 -0
  3. package/dist/viewport-client/_static/{AmbientLightAsset-f70b95f1.js → AmbientLightAsset-bdbc4e1d.js} +2 -2
  4. package/dist/viewport-client/_static/AnimationClipAsset-9167378a.js +1 -0
  5. package/dist/viewport-client/_static/AnimatorControllerAsset-21dc6332.js +1 -0
  6. package/dist/viewport-client/_static/AnimatorStore-18d3c551.js +1 -0
  7. package/dist/viewport-client/_static/{AssetViewer-bc198e16.js → AssetViewer-64cd01fa.js} +1 -1
  8. package/dist/viewport-client/_static/AudioAsset-0c828c80.js +1 -0
  9. package/dist/viewport-client/_static/AudioComponent-fbff3825.js +1 -0
  10. package/dist/viewport-client/_static/{Callout-cb4a55ff.js → Callout-ba7e2adf.js} +1 -1
  11. package/dist/viewport-client/_static/CameraComponent-74975570.js +1 -0
  12. package/dist/viewport-client/_static/{Component-f923abb1.js → Component-ed7aa0ab.js} +1 -1
  13. package/dist/viewport-client/_static/DirectLight-b884e7db.js +1 -0
  14. package/dist/viewport-client/_static/FontAsset-d1ced18d.js +5 -0
  15. package/dist/viewport-client/_static/FormItemArray-6d69acd4.js +6 -0
  16. package/dist/viewport-client/_static/{GlTFAsset-9c68f862.js → GlTFAsset-2723b84a.js} +9 -9
  17. package/dist/viewport-client/_static/IconEdit-ab77303f.js +6 -0
  18. package/dist/viewport-client/_static/{IconPointFilled-a304fd34.js → IconPointFilled-811fc660.js} +1 -1
  19. package/dist/viewport-client/_static/LightBaseComponent-12dc27d1.js +1 -0
  20. package/dist/viewport-client/_static/LottieAnimationComponent-c48c5eb5.js +1 -0
  21. package/dist/viewport-client/_static/LottieAsset-3692580d.js +6 -0
  22. package/dist/viewport-client/_static/MarkdownAsset-bcb90be4.js +1 -0
  23. package/dist/viewport-client/_static/MaterialAsset-6ef9b4ed.js +1 -0
  24. package/dist/viewport-client/_static/MaterialInspector-e8242674.js +1 -0
  25. package/dist/viewport-client/_static/Menu-0b8da92f.js +17 -0
  26. package/dist/viewport-client/_static/MeshAsset-ca9305e5.js +1 -0
  27. package/dist/viewport-client/_static/MeshRendererBaseComponent-9efd3943.js +1 -0
  28. package/dist/viewport-client/_static/MeshRendererComponent-c9a03641.js +1 -0
  29. package/dist/viewport-client/_static/{MeshThumbnail-49273f71.js → MeshThumbnail-ab28b3b8.js} +1 -1
  30. package/dist/viewport-client/_static/ParticleRendererComponent-96947c1d.js +26 -0
  31. package/dist/viewport-client/_static/PhysicsMaterialAsset-4a1e5ea3.js +1 -0
  32. package/dist/viewport-client/_static/PhysicsStore-33cac578.js +1 -0
  33. package/dist/viewport-client/_static/PointLight-fd514526.js +1 -0
  34. package/dist/viewport-client/_static/PostProcessComponent-d0ea27a4.js +6 -0
  35. package/dist/viewport-client/_static/PrefabAsset-9179b95c.js +1 -0
  36. package/dist/viewport-client/_static/PrimitiveMesh-0572a073.js +1 -0
  37. package/dist/viewport-client/_static/ProxyConfigs-3a5fd860.js +1 -0
  38. package/dist/viewport-client/_static/{ReferencedMaterial-a87818f3.js → ReferencedMaterial-5773c9d2.js} +1 -1
  39. package/dist/viewport-client/_static/RenderTargetAsset-ab6e06d2.js +1 -0
  40. package/dist/viewport-client/_static/SceneAsset-385fa837.js +1 -0
  41. package/dist/viewport-client/_static/{ShaderAsset-cb3ff628.js → ShaderAsset-f4514b03.js} +6 -6
  42. package/dist/viewport-client/_static/ShaderChunkAsset-34116f2c.js +5 -0
  43. package/dist/viewport-client/_static/{ShaderUIScriptAsset-d13fa4e2.js → ShaderUIScriptAsset-fc503291.js} +5 -5
  44. package/dist/viewport-client/_static/SkinnedMeshRendererComponent-494ad439.js +1 -0
  45. package/dist/viewport-client/_static/SpineAnimationComponent-3918d7b5.js +1 -0
  46. package/dist/viewport-client/_static/SpineSkeletonDataAsset-27244892.js +1 -0
  47. package/dist/viewport-client/_static/SpotLight-f9972dc0.js +1 -0
  48. package/dist/viewport-client/_static/SpriteAsset-558ffca8.js +6 -0
  49. package/dist/viewport-client/_static/SpriteAtlasAsset-cdc34386.js +1 -0
  50. package/dist/viewport-client/_static/SpriteBaseComponent-3edafa31.js +1 -0
  51. package/dist/viewport-client/_static/SpriteMaskComponent-de2e5231.js +1 -0
  52. package/dist/viewport-client/_static/SpriteRendererComponent-e999e735.js +1 -0
  53. package/dist/viewport-client/_static/{TextBaseComponent-69233798.js → TextBaseComponent-ce1402c3.js} +2 -2
  54. package/dist/viewport-client/_static/TextRendererComponent-f7c0deae.js +1 -0
  55. package/dist/viewport-client/_static/TextureAsset-39fb07fe.js +36 -0
  56. package/dist/viewport-client/_static/Tooltip-82063435.js +1 -0
  57. package/dist/viewport-client/_static/TrailRendererComponent-37f5c981.js +1 -0
  58. package/dist/viewport-client/_static/TransformBaseComponent-713d57e9.js +1 -0
  59. package/dist/viewport-client/_static/TransformComponent-40a57948.js +1 -0
  60. package/dist/viewport-client/_static/XRReferenceImageAsset-2f6ff226.js +1 -0
  61. package/dist/viewport-client/_static/audio-7120ec91.js +1 -0
  62. package/dist/viewport-client/_static/glTFIO-79bbca27.js +1 -0
  63. package/dist/viewport-client/_static/index-483b5738.js +1 -0
  64. package/dist/viewport-client/_static/{index-98982ce2.js → index-74130ff3.js} +1 -1
  65. package/dist/viewport-client/_static/index-78269e76.js +1 -0
  66. package/dist/viewport-client/_static/index-7834b582.js +1 -0
  67. package/dist/viewport-client/_static/{index-237c84cd.js → index-7917f782.js} +3 -3
  68. package/dist/viewport-client/_static/index-7acd49d2.js +1 -0
  69. package/dist/viewport-client/_static/index-9d3917da.js +1 -0
  70. package/dist/viewport-client/_static/index-a9b2675e.js +1 -0
  71. package/dist/viewport-client/_static/index-aec7e708.js +11487 -0
  72. package/dist/viewport-client/_static/index-b5582401.js +1 -0
  73. package/dist/viewport-client/_static/{index-e46ec5b1.js → index-bfe6f30e.js} +7 -7
  74. package/dist/viewport-client/_static/index-c63c9606.js +2 -0
  75. package/dist/viewport-client/_static/index-cd1fee9d.js +1 -0
  76. package/dist/viewport-client/_static/index-e73ceaed.js +1 -0
  77. package/dist/viewport-client/_static/index-e8a45e82.js +1 -0
  78. package/dist/viewport-client/_static/index-f2cb64af.js +1 -0
  79. package/dist/viewport-client/_static/index-fbe040bf.js +31 -0
  80. package/dist/viewport-client/_static/ktx2-encoder-53b21bdc.js +1 -0
  81. package/dist/viewport-client/_static/{module-5c85b07e.js → module-220b3921.js} +1 -1
  82. package/dist/viewport-client/_static/{module-6406b050.js → module-8816772d.js} +1 -1
  83. package/dist/viewport-client/_static/{module-107b7430.js → module-ffeaf99f.js} +1 -1
  84. package/dist/viewport-client/_static/postmen-2f47f6bb.js +1 -0
  85. package/dist/viewport-client/index.html +2 -2
  86. package/package.json +1 -1
  87. package/dist/viewport-client/_static/Accordion-4897319b.js +0 -6
  88. package/dist/viewport-client/_static/AnimationClipAsset-01f3deb6.js +0 -1
  89. package/dist/viewport-client/_static/AnimatorControllerAsset-b7424e9c.js +0 -1
  90. package/dist/viewport-client/_static/AnimatorStore-fd98c00e.js +0 -1
  91. package/dist/viewport-client/_static/AssetPreviewer-24e31d97.js +0 -6
  92. package/dist/viewport-client/_static/AudioAsset-eae03324.js +0 -1
  93. package/dist/viewport-client/_static/AudioComponent-44070c2c.js +0 -1
  94. package/dist/viewport-client/_static/CameraComponent-907ac745.js +0 -1
  95. package/dist/viewport-client/_static/CanvasRenderer-9dd98cb3.js +0 -1
  96. package/dist/viewport-client/_static/DirectLight-58f5fe9e.js +0 -1
  97. package/dist/viewport-client/_static/FontAsset-abfb9a8a.js +0 -5
  98. package/dist/viewport-client/_static/FormItemArray-66be8701.js +0 -1
  99. package/dist/viewport-client/_static/IconPlayerPlayFilled-b058c98f.js +0 -6
  100. package/dist/viewport-client/_static/InstanceEditorAsset-a70e73fe.js +0 -1
  101. package/dist/viewport-client/_static/LightBaseComponent-fbc3ae49.js +0 -1
  102. package/dist/viewport-client/_static/LottieAnimationComponent-1c3e02a5.js +0 -1
  103. package/dist/viewport-client/_static/LottieAsset-377c1419.js +0 -1
  104. package/dist/viewport-client/_static/MarkdownAsset-7ea387a9.js +0 -1
  105. package/dist/viewport-client/_static/MaterialAsset-74a15124.js +0 -1
  106. package/dist/viewport-client/_static/MaterialInspector-aec1248b.js +0 -1
  107. package/dist/viewport-client/_static/Menu-cd3be298.js +0 -17
  108. package/dist/viewport-client/_static/MeshAsset-73e2cc8e.js +0 -1
  109. package/dist/viewport-client/_static/MeshRendererBaseComponent-3a0e09ed.js +0 -1
  110. package/dist/viewport-client/_static/MeshRendererComponent-5385d30f.js +0 -1
  111. package/dist/viewport-client/_static/ParticleRendererComponent-5a7b57d9.js +0 -21
  112. package/dist/viewport-client/_static/PhysicsMaterialAsset-a5ac9f82.js +0 -1
  113. package/dist/viewport-client/_static/PhysicsStore-0729e76d.js +0 -1
  114. package/dist/viewport-client/_static/PointLight-0e1d1546.js +0 -1
  115. package/dist/viewport-client/_static/PostProcessComponent-8276d33c.js +0 -1
  116. package/dist/viewport-client/_static/PrefabAsset-1a7edfbd.js +0 -1
  117. package/dist/viewport-client/_static/PrimitiveMesh-3ce6fa2f.js +0 -1
  118. package/dist/viewport-client/_static/ProxyConfigs-4de3304c.js +0 -1
  119. package/dist/viewport-client/_static/RenderTargetAsset-33c0d9e7.js +0 -1
  120. package/dist/viewport-client/_static/SceneAsset-8917c210.js +0 -1
  121. package/dist/viewport-client/_static/ShaderChunkAsset-83f923f4.js +0 -5
  122. package/dist/viewport-client/_static/SkinnedMeshRendererComponent-2a8323bf.js +0 -1
  123. package/dist/viewport-client/_static/SpineAnimationComponent-e733d50f.js +0 -1
  124. package/dist/viewport-client/_static/SpineSkeletonDataAsset-b64a3ee3.js +0 -1
  125. package/dist/viewport-client/_static/SpotLight-ca6c0c3b.js +0 -1
  126. package/dist/viewport-client/_static/SpriteAsset-9a31ec24.js +0 -1
  127. package/dist/viewport-client/_static/SpriteAtlasAsset-a862db46.js +0 -1
  128. package/dist/viewport-client/_static/SpriteBaseComponent-f6f1731f.js +0 -1
  129. package/dist/viewport-client/_static/SpriteMaskComponent-778be04f.js +0 -1
  130. package/dist/viewport-client/_static/SpriteRendererComponent-2b4d153b.js +0 -1
  131. package/dist/viewport-client/_static/TextRendererComponent-130b4e99.js +0 -1
  132. package/dist/viewport-client/_static/TextureAsset-28fedf2a.js +0 -36
  133. package/dist/viewport-client/_static/ThumbnailMixin-35997457.js +0 -1
  134. package/dist/viewport-client/_static/ThumbnailRegistry-495c18c9.js +0 -1
  135. package/dist/viewport-client/_static/Tooltip-33f770ba.js +0 -1
  136. package/dist/viewport-client/_static/TrailRendererComponent-148550b5.js +0 -1
  137. package/dist/viewport-client/_static/TransformBaseComponent-02318c5a.js +0 -1
  138. package/dist/viewport-client/_static/TransformComponent-96106065.js +0 -1
  139. package/dist/viewport-client/_static/ViewerManager-202b570a.js +0 -1
  140. package/dist/viewport-client/_static/XRReferenceImageAsset-6a6adb3b.js +0 -1
  141. package/dist/viewport-client/_static/audio-244358e2.js +0 -1
  142. package/dist/viewport-client/_static/glTFIO-45ff9a17.js +0 -1
  143. package/dist/viewport-client/_static/index-0a8702e2.js +0 -11217
  144. package/dist/viewport-client/_static/index-37c74ae9.js +0 -26
  145. package/dist/viewport-client/_static/index-4cca0201.js +0 -1
  146. package/dist/viewport-client/_static/index-59732f86.js +0 -1
  147. package/dist/viewport-client/_static/index-6c8198f6.js +0 -2
  148. package/dist/viewport-client/_static/index-6f827618.js +0 -1
  149. package/dist/viewport-client/_static/index-803ca489.js +0 -1
  150. package/dist/viewport-client/_static/index-85a6cf6a.js +0 -1
  151. package/dist/viewport-client/_static/index-b3d51f87.js +0 -1
  152. package/dist/viewport-client/_static/index-be6bc38a.js +0 -177
  153. package/dist/viewport-client/_static/index-c403cbcd.js +0 -1
  154. package/dist/viewport-client/_static/index-e73966ae.js +0 -1
  155. package/dist/viewport-client/_static/index-e95b4498.js +0 -1
  156. package/dist/viewport-client/_static/index-f5a67a46.js +0 -1
  157. package/dist/viewport-client/_static/ktx-parse.modern-6c9f771f.js +0 -1
  158. package/dist/viewport-client/_static/ktx2-encoder-1e63c1eb.js +0 -1
  159. package/dist/viewport-client/_static/postmen-45d4c238.js +0 -1
  160. package/dist/viewport-client/_static/utilities-e09052e3.js +0 -11
@@ -0,0 +1 @@
1
+ var ce=Object.defineProperty;var pe=(o,t,e)=>t in o?ce(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var p=(o,t,e)=>(pe(o,typeof t!="symbol"?t+"":t,e),e);import{aQ as j,aR as z,aS as l,bm as X,cC as P,bl as oe,ej as L,dQ as ne,bN as de,q as ye,cR as q,ek as B,el as J,em as I,en as N,cy as E,f as he,z as me,s as y,p as h,e as r,eo as ue,E as se,ep as U,eq as S,er as V,C as m,es as Y,et as fe,eu as G,dZ as re,ev as be,ew as ge,bq as Ce,cP as W,bs as xe,bt as Se}from"./index-aec7e708.js";import{r as ae}from"./index-e8a45e82.js";import{c as A}from"./Component-ed7aa0ab.js";import"./postmen-2f47f6bb.js";import{F as Pe}from"./FormItemArray-6d69acd4.js";const je={BoxColliderShape:["size","isTrigger","position","rotation","material"],CapsuleColliderShape:["radius","height","upAxis","isTrigger","position","rotation","material"],PlaneColliderShape:["isTrigger","position","rotation","material"],SphereColliderShape:["radius","isTrigger","position","rotation","material"]};function ve(o){const t={};return Object.keys(o.props).forEach(e=>{je[o.class].includes(e)&&(t[e]=o.props[e])}),t}const ze=async(o,t,e)=>{const i=o.engineObject,n=i.shapes;if(n.length===e.length&&e.every((s,a)=>Oe(s.class,n[a]))){for(let s=0;s<e.length;s++)await H(n[s],e[s]),Q(n[s],e[s]);return}i.clearShapes();for(let s=0;s<e.length;s++){const a=e[s],d=De(a);await H(d,a),Q(d,a),i.addShape(d)}};async function H(o,t){const e=t.props.material;if(e!=null&&e.refId)try{const i=await ae.assetStore.getAssetByRef(e);i!=null&&i.engineObject&&(o.material=i.engineObject)}catch(i){console.error(i)}}function Oe(o,t){switch(o){case"BoxColliderShape":return t instanceof N;case"CapsuleColliderShape":return t instanceof I;case"PlaneColliderShape":return t instanceof J;case"SphereColliderShape":return t instanceof B;default:return!1}}function De(o){switch(o.class){case"BoxColliderShape":return new N;case"CapsuleColliderShape":return new I;case"PlaneColliderShape":return new J;case"SphereColliderShape":return new B}}function Q(o,t){const e=t.props;if(o instanceof N&&e.size){const s=o.size;s.copyFrom(e.size),o.size=s}else o instanceof I?(e.radius!==void 0&&(o.radius=e.radius),e.height!==void 0&&(o.height=e.height),e.upAxis!==void 0&&(o.upAxis=e.upAxis)):o instanceof B&&e.radius!==void 0&&(o.radius=e.radius);o.isTrigger=e.isTrigger;const i=o.position;i.copyFrom(e.position),o.position=i;const n=o.rotation;n.copyFrom(e.rotation),o.rotation=n}const _e=o=>o.map(t=>{if(t instanceof N)return{class:"BoxColliderShape",props:{isTrigger:t.isTrigger,size:{x:t.size.x,y:t.size.y,z:t.size.z},position:{x:t.position.x,y:t.position.y,z:t.position.z},rotation:{x:t.rotation.x,y:t.rotation.y,z:t.rotation.z}}};if(t instanceof I)return{class:"CapsuleColliderShape",props:{isTrigger:t.isTrigger,radius:t.radius,height:t.height,upAxis:t.upAxis,position:{x:t.position.x,y:t.position.y,z:t.position.z},rotation:{x:t.rotation.x,y:t.rotation.y,z:t.rotation.z}}};if(t instanceof J)return{class:"PlaneColliderShape",props:{isTrigger:t.isTrigger,position:{x:t.position.x,y:t.position.y,z:t.position.z},rotation:{x:t.rotation.x,y:t.rotation.y,z:t.rotation.z}}};if(t instanceof B)return{class:"SphereColliderShape",props:{isTrigger:t.isTrigger,radius:t.radius,position:{x:t.position.x,y:t.position.y,z:t.position.z},rotation:{x:t.rotation.x,y:t.rotation.y,z:t.rotation.z}}}}),we=j(({item:o,onItemChange:t})=>{const{t:e}=z();return l.jsx(l.Fragment,{children:l.jsx(X,{label:e("physics.shape.box.size.title"),info:e("physics.shape.box.size.info"),min:0,value:{x:o.props.size.x,y:o.props.size.y,z:o.props.size.z},onChange:(i,n)=>{const s=i==null?void 0:i[n];typeof s=="number"&&t(a=>{a.props.size={...a.props.size,[n]:s}})}})})}),Te=j(()=>l.jsx(l.Fragment,{})),Ae=j(({item:o,onItemChange:t})=>{const{t:e}=z();return l.jsx(l.Fragment,{children:l.jsx(P,{label:e("physics.shape.sphere.radius.title"),info:e("physics.shape.sphere.radius.info"),value:o.props.radius,min:0,onChange:i=>{typeof i=="number"&&t(n=>{n.props.radius=i})}})})}),Me=j(({item:o,onItemChange:t})=>{const{t:e}=z();return l.jsxs(l.Fragment,{children:[l.jsx(P,{label:e("physics.shape.capsule.radius.title"),info:e("physics.shape.capsule.radius.info"),value:o.props.radius,min:0,onChange:i=>{typeof i=="number"&&t(n=>{n.props.radius=i})}}),l.jsx(P,{label:e("physics.shape.capsule.height.title"),info:e("physics.shape.capsule.height.info"),value:o.props.height,min:0,onChange:i=>{typeof i=="number"&&t(n=>{n.props.height=i})}}),l.jsx(oe,{label:e("physics.shape.capsule.up-axis.title"),info:e("physics.shape.capsule.up-axis.info"),options:[{label:"X",value:L.X},{label:"Y",value:L.Y},{label:"Z",value:L.Z}],value:o.props.upAxis,onChange:i=>{t(n=>{n.props.upAxis=i})}})]})}),Fe={BoxColliderShape:we,CapsuleColliderShape:Me,PlaneColliderShape:Te,SphereColliderShape:Ae},Z={BoxColliderShape:{class:"BoxColliderShape",props:{isTrigger:!1,material:{refId:"0000401"},size:{x:1,y:1,z:1},position:{x:0,y:0,z:0},rotation:{x:0,y:0,z:0}}},CapsuleColliderShape:{class:"CapsuleColliderShape",props:{isTrigger:!1,material:{refId:"0000401"},radius:.5,height:2,upAxis:L.Y,position:{x:0,y:0,z:0},rotation:{x:0,y:0,z:0}}},PlaneColliderShape:{class:"PlaneColliderShape",props:{isTrigger:!1,material:{refId:"0000401"},position:{x:0,y:0,z:0},rotation:{x:0,y:0,z:0}}},SphereColliderShape:{class:"SphereColliderShape",props:{isTrigger:!1,material:{refId:"0000401"},radius:.5,position:{x:0,y:0,z:0},rotation:{x:0,y:0,z:0}}}},Ve=j(({item:o,onItemChange:t})=>{var d;const{t:e}=z(),i=Fe[o.class],n=ae.assetStore,s=Object.values(n.assets).filter(c=>c.getMetaConfig().type==="PhysicsMaterial"),a=n.assets[(d=o.props.material)==null?void 0:d.refId];return l.jsxs(l.Fragment,{children:[l.jsx(ne,{label:e("physics.collider.trigger.title"),info:e("physics.collider.trigger.info"),value:o.props.isTrigger,onChange:c=>{t(f=>{f.props.isTrigger=c})}}),l.jsx(de,{label:e("physics.collider.material.title"),info:e("physics.collider.material.info"),dropLayer:ye.PhysicsMaterial,value:a==null?void 0:a.name,assets:s,onSelect:c=>{t(f=>{f.props.material=c.getCurrentRef()})},onLocate:()=>{a&&a.id&&n.selectAsset(a.id)}}),l.jsx(i,{item:o,onItemChange:t}),l.jsx(X,{label:e("physics.collider.local-position.title"),info:e("physics.collider.local-position.info"),value:{x:o.props.position.x,y:o.props.position.y,z:o.props.position.z},onChange:(c,f)=>{const u=c==null?void 0:c[f];typeof u=="number"&&t(b=>{b.props.position={...b.props.position,[f]:u}})}}),l.jsx(X,{label:e("physics.collider.rotation.title"),info:e("physics.collider.rotation.info"),value:{x:o.props.rotation.x,y:o.props.rotation.y,z:o.props.rotation.z},onChange:(c,f)=>{const u=c==null?void 0:c[f];typeof u=="number"&&t(b=>{b.props.rotation={...b.props.rotation,[f]:u}})}})]})}),Be=j(({collider:o,item:t,index:e,onModelChange:i})=>{const{t:n}=z(),s=[{label:n("physics.shape.box.title"),value:"BoxColliderShape"},{label:n("physics.shape.capsule.title"),value:"CapsuleColliderShape"}];o.engineObject instanceof q||(s.push({label:n("physics.shape.plane.title"),value:"PlaneColliderShape"}),s.push({label:n("physics.shape.sphere.title"),value:"SphereColliderShape"}));const d=c=>{const f=o.colliderShapes,u=E(f),b=u[e];b&&(c(b),i==null||i("colliderShapes",u))};return l.jsxs(l.Fragment,{children:[l.jsx(oe,{label:n("physics.shape.type.title"),info:n("physics.shape.type.info"),value:t.class,options:s,onChange:c=>{Z[c].class!==t.class&&d(u=>{Object.assign(u,E(Z[c]))})}}),l.jsx(Ve,{item:t,onItemChange:d})]})}),Ie=j(({model:o,inspectorConfig:t,onModelChange:e})=>{const{label:i}=t,n=o.colliderShapes,{t:s}=z(),a=d=>{const c=E(n);d(c),e==null||e("colliderShapes",c)};return l.jsx(Pe,{label:i,items:n.map((d,c)=>({removable:!0,children:l.jsx(Be,{collider:o,item:d,index:c,onModelChange:e}),id:`${c}`,name:s("physics.shape.item-name",{index:c})})),addable:!0,onAdd:()=>{a(d=>{d.push(E(Z.BoxColliderShape))})},onDelete:d=>{a(c=>{c.splice(+d.id,1)})},addItemText:s("physics.shape.add")})});var Ne=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Le=(o,t,e,i)=>{for(var n=i>1?void 0:i?$e(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&Ne(t,e,n),n};async function Ee(o,t){let e;switch(o.class){case"BoxColliderShape":{e=new N;const i=e.size,n=o.props.size;n&&(i.set(n.x,n.y,n.z),e.size=i);break}case"CapsuleColliderShape":{e=new I,o.props.radius!==void 0&&(e.radius=o.props.radius),o.props.height!==void 0&&(e.height=o.props.height),o.props.upAxis!==void 0&&(e.upAxis=o.props.upAxis);break}case"PlaneColliderShape":{e=new J;break}case"SphereColliderShape":{e=new B,o.props.radius!==void 0&&(e.radius=o.props.radius);break}default:throw new Error(`Unknown collider shape class: ${o.class}`)}if(o.props.isTrigger!==void 0&&(e.isTrigger=o.props.isTrigger),o.props.position){const i=o.props.position,n=e.position;n.set(i.x,i.y,i.z),e.position=n}if(o.props.rotation){const i=o.props.rotation,n=e.rotation;n.set(i.x,i.y,i.z),e.rotation=n}if(o.props.material){const i=o.props.material;if(i.refId){const n=await t.getAssetByRef({refId:i.refId});if(!(n!=null&&n.engineObject))throw ue(`Physics material is not ready for refId: ${i.refId}`);e.material=n.engineObject}}return e}class R extends se{constructor(){super(...arguments);p(this,"colliderShapes",[])}}Le([he({engineKey:"addShape",editorKey:"colliderShapes",getPath:"shapes",valueType:me.Object,getEngineValue:o=>o.shapes,getEditorValue:_e}),y({type:"methods",key:"addShape",canonicalizeToProps:!0,onSerialize:o=>o.map(t=>[{class:t.class,props:ve(t)}]),onDeserialize:o=>o.map(t=>t[0]),resolveMethodArguments:async(o,t)=>{const e=[];for(const i of o)if(i&&typeof i=="object"&&"class"in i&&"props"in i){const s=await Ee(i,t.root.assetStore);e.push(s)}else e.push(i);return e}}),h({label:r("physics.collider.title"),info:r("physics.collider.info"),customComponent:Ie,onChange:ze})],R.prototype,"colliderShapes",2);var Je=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Xe=(o,t,e,i)=>{for(var n=i>1?void 0:i?Re(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&Je(t,e,n),n};let k=class extends R{constructor(o,t){super(o,t)}};k=Xe([A({type:"StaticCollider",componentsMenu:{group:"physics",label:"component.static-collider.title"}})],k);const ee=o=>Object.keys(S).filter(t=>(o&S[t])!==0).map(t=>String(S[t])),qe=j(({model:o,onModelChange:t})=>{const e=n=>{const a=n.map(d=>parseInt(d)).reduce((d,c)=>d|c,S.None);t==null||t("constraints",a)},{t:i}=z();return l.jsxs(l.Fragment,{children:[l.jsx(U,{label:i("physics.collider-constraints.freeze-position.title"),info:i("physics.collider-constraints.freeze-position.info"),type:"multiple",value:ee(o.constraints),options:[{value:S.FreezePositionX.toString(),label:"X"},{value:S.FreezePositionY.toString(),label:"Y"},{value:S.FreezePositionZ.toString(),label:"Z"}],onChange:e}),l.jsx(U,{label:i("physics.collider-constraints.freeze-rotation.title"),info:i("physics.collider-constraints.freeze-rotation.info"),type:"multiple",value:ee(o.constraints),options:[{value:S.FreezeRotationX.toString(),label:"X"},{value:S.FreezeRotationY.toString(),label:"Y"},{value:S.FreezeRotationZ.toString(),label:"Z"}],onChange:e})]})});var Ye=Object.defineProperty,Ze=Object.getOwnPropertyDescriptor,C=(o,t,e,i)=>{for(var n=i>1?void 0:i?Ze(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&Ye(t,e,n),n};let g=class extends R{constructor(t,e){super(t,e);p(this,"isKinematic",!1);p(this,"collisionDetectionMode",V.Discrete);p(this,"constraints",S.None);p(this,"mass",1);p(this,"useGravity",!0);p(this,"linearDamping",0);p(this,"angularDamping",.05);p(this,"automaticCenterOfMass",!0);p(this,"centerOfMass",{x:0,y:0,z:0});p(this,"automaticInertiaTensor",!0);p(this,"inertiaTensor",{x:1,y:1,z:1});p(this,"linearVelocity",{x:0,y:0,z:0});p(this,"angularVelocity",{x:0,y:0,z:0});p(this,"maxAngularVelocity",100);p(this,"maxDepenetrationVelocity",10000000331813535e16);p(this,"sleepThreshold",.005);p(this,"solverIterations",4)}onEnabled(){this.applyBoundPathChange("enabled",m.Toggle,!1)}onInitComplete(){this.applyBoundPathChange("enabled",m.Toggle,!1)}};C([y(),h({label:r("physics.dynamic-collider.kinematic.title"),info:r("physics.dynamic-collider.kinematic.info"),type:m.Boolean,bindPath:"isKinematic"})],g.prototype,"isKinematic",2);C([y(),h({label:r("physics.dynamic-collider.collision-detection-mode.title"),type:m.Select,bindPath:"collisionDetectionMode",options:[{label:r("physics.dynamic-collider.collision-detection-mode.discrete"),value:V.Discrete},{label:r("physics.dynamic-collider.collision-detection-mode.continuous"),value:V.Continuous},{label:r("physics.dynamic-collider.collision-detection-mode.continuous-dynamic"),value:V.ContinuousDynamic},{label:r("physics.dynamic-collider.collision-detection-mode.continuous-speculative"),value:V.ContinuousSpeculative}]})],g.prototype,"collisionDetectionMode",2);C([y(),h({label:r("physics.dynamic-collider.constraints.title"),info:r("physics.dynamic-collider.constraints.info"),customComponent:qe,bindPath:"constraints"})],g.prototype,"constraints",2);C([y(),h({label:r("physics.dynamic-collider.mass.title"),info:r("physics.dynamic-collider.mass.info"),bindPath:"mass",min:0,type:m.Number})],g.prototype,"mass",2);C([y(),h({label:r("physics.dynamic-collider.gravity.title"),info:r("physics.dynamic-collider.gravity.info"),bindPath:"useGravity",type:m.Boolean})],g.prototype,"useGravity",2);C([y(),h({label:r("physics.dynamic-collider.linear-damping.title"),info:r("physics.dynamic-collider.linear-damping.info"),bindPath:"linearDamping",min:0,type:m.Number})],g.prototype,"linearDamping",2);C([y(),h({label:r("physics.dynamic-collider.angular-damping.title"),info:r("physics.dynamic-collider.angular-damping.info"),bindPath:"angularDamping",min:0,type:m.Number})],g.prototype,"angularDamping",2);C([y(),h({label:r("physics.dynamic-collider.automatic-center-of-mass.title"),info:r("physics.dynamic-collider.automatic-center-of-mass.info"),bindPath:"automaticCenterOfMass",type:m.Boolean,onChange:(o,t,e)=>{if(e){const i=o.engineObject.centerOfMass;o.centerOfMass={x:i.x,y:i.y,z:i.z}}}})],g.prototype,"automaticCenterOfMass",2);C([y(),h({label:r("physics.dynamic-collider.center-of-mass.title"),info:r("physics.dynamic-collider.center-of-mass.info"),type:m.Vector3,bindPath:"centerOfMass",when:o=>!o.automaticCenterOfMass})],g.prototype,"centerOfMass",2);C([y(),h({label:r("physics.dynamic-collider.automatic-inertia-tensor.title"),info:r("physics.dynamic-collider.automatic-inertia-tensor.info"),bindPath:"automaticInertiaTensor",type:m.Boolean,onChange:(o,t,e)=>{if(e){const i=o.engineObject.inertiaTensor;o.inertiaTensor={x:i.x,y:i.y,z:i.z}}}})],g.prototype,"automaticInertiaTensor",2);C([y(),h({label:r("physics.dynamic-collider.inertia-tensor.title"),info:r("physics.dynamic-collider.inertia-tensor.info"),type:m.Vector3,bindPath:"inertiaTensor",when:o=>!o.automaticInertiaTensor})],g.prototype,"inertiaTensor",2);C([y(),h({label:r("physics.dynamic-collider.linear-velocity.title"),info:r("physics.dynamic-collider.linear-velocity.info"),type:m.Vector3,bindPath:"linearVelocity"})],g.prototype,"linearVelocity",2);C([y(),h({label:r("physics.dynamic-collider.angular-velocity.title"),info:r("physics.dynamic-collider.angular-velocity.info"),type:m.Vector3,bindPath:"angularVelocity"})],g.prototype,"angularVelocity",2);C([y(),h({label:r("physics.dynamic-collider.max-angular-velocity.title"),info:r("physics.dynamic-collider.max-angular-velocity.info"),bindPath:"maxAngularVelocity",min:0,type:m.Number})],g.prototype,"maxAngularVelocity",2);C([y(),h({label:r("physics.dynamic-collider.max-depenetration-velocity.title"),info:r("physics.dynamic-collider.max-depenetration-velocity.info"),bindPath:"maxDepenetrationVelocity",min:0,type:m.Number})],g.prototype,"maxDepenetrationVelocity",2);C([y(),h({label:r("physics.dynamic-collider.sleep-threshold.title"),info:r("physics.dynamic-collider.sleep-threshold.info"),bindPath:"sleepThreshold",min:0,type:m.Number})],g.prototype,"sleepThreshold",2);C([y(),h({label:r("physics.dynamic-collider.solver-iterations.title"),info:r("physics.dynamic-collider.solver-iterations.info"),bindPath:"solverIterations",min:0,max:10,dragStep:1,type:m.Slider})],g.prototype,"solverIterations",2);g=C([A({type:"DynamicCollider",componentsMenu:{group:"physics",label:"component.dynamic-collider.title"}})],g);var Ge=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor,$=(o,t,e,i)=>{for(var n=i>1?void 0:i?Ke(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&Ge(t,e,n),n};let T=class extends R{constructor(t,e){super(t,e);p(this,"stepOffset",.5);p(this,"upDirection",{x:0,y:1,z:0});p(this,"slopeLimit",45);p(this,"nonWalkableMode",Y.PreventClimbing)}async bindEngineObject(t){await super.bindEngineObject(t),t.enabled=!1}};$([y(),h({label:r("physics.character.step-offset.title"),info:r("physics.character.step-offset.info"),bindPath:"stepOffset",min:0,type:m.Number})],T.prototype,"stepOffset",2);$([y(),h({label:r("physics.character.up-direction.title"),info:r("physics.character.up-direction.info"),type:m.Vector3,bindPath:"upDirection"})],T.prototype,"upDirection",2);$([y(),h({label:r("physics.character.slop-limit.title"),info:r("physics.character.slop-limit.info"),bindPath:"slopeLimit",min:0,max:180,type:m.Number})],T.prototype,"slopeLimit",2);$([y(),h({label:r("physics.character.non-walkable-mode.title"),info:r("physics.character.non-walkable-mode.info"),bindPath:"nonWalkableMode",type:m.Select,options:[{label:r("physics.character.non-walkable-mode.prevent-climbing"),value:Y.PreventClimbing},{label:r("physics.character.non-walkable-mode.prevent-climbing-and-force-sliding"),value:Y.PreventClimbingAndForceSliding}]})],T.prototype,"nonWalkableMode",2);T=$([A({type:"CharacterController",componentsMenu:{label:r("component.physics.character.title"),group:"physics"}})],T);function Ue(o,t){if(!t)return null;const e=o.entities.get(t),i=(e==null?void 0:e.getComponentByTypeName("DynamicCollider"))||(e==null?void 0:e.getComponentByTypeName("StaticCollider"));return i?{ownerId:t,componentId:i.id}:null}const We=j(o=>{const{inspectorConfig:t,model:e,onModelChange:i}=o,{property:n,label:s,disabled:a,info:d}=t,{ownerId:c}=e[n]||{},f=o.model.root.sceneStore,u=c&&f.entities.get(c),b=F=>{i==null||i(n,Ue(f,F))},{t:x}=z(),le=Array.from(f.entities.values());return l.jsx(l.Fragment,{children:l.jsx(fe,{label:x(s),info:x(d),entities:le,value:c,disabled:a,customFilter:F=>{let K=null;return e.entityModelId!==F.id&&(K=F.getComponentByTypeName("DynamicCollider")||F.getComponentByTypeName("StaticCollider")),K},displayValue:u==null?void 0:u.name,placeholder:x("physics.collider-picker.placeholder"),onSelect:b,onLocate:()=>{o.model.root.sceneStore.selectEntity(c)},onDelete:()=>{b(null)}})})});var He=Object.defineProperty,Qe=Object.getOwnPropertyDescriptor,D=(o,t,e,i)=>{for(var n=i>1?void 0:i?Qe(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&He(t,e,n),n};class v extends se{constructor(){super(...arguments);p(this,"connectedCollider",null);p(this,"anchor",{x:0,y:0,z:0});p(this,"automaticConnectedAnchor",!0);p(this,"connectedAnchor",{x:0,y:0,z:0});p(this,"breakForce",Number.MAX_VALUE);p(this,"breakTorque",Number.MAX_VALUE);p(this,"massScale",1);p(this,"connectedMassScale",1)}async applyBoundPathChange(e,i,n){var s,a;if(e==="connectedCollider"){const d=n,c=((a=(s=this.root.sceneStore.entities.get(d==null?void 0:d.ownerId))==null?void 0:s.getComponentById(d==null?void 0:d.componentId))==null?void 0:a.engineObject)??null;await super.applyBoundPathChange(e,i,c);return}await super.applyBoundPathChange(e,i,n)}}D([y(),h({label:r("physics.joint.connected-collider.title"),info:r("physics.joint.connected-collider.info"),customComponent:We,bindPath:"connectedCollider"})],v.prototype,"connectedCollider",2);D([y(),h({label:r("physics.joint.anchor.title"),type:m.Vector3,bindPath:"anchor",onChange(o,t,e){if(o.automaticConnectedAnchor){const i=o.engineObject.connectedAnchor;o.connectedAnchor={x:i.x,y:i.y,z:i.z}}}})],v.prototype,"anchor",2);D([y(),h({label:r("physics.joint.automatic-connected-anchor.title"),type:m.Boolean,bindPath:"automaticConnectedAnchor",onChange(o,t,e){if(e){const i=o.engineObject.connectedAnchor;o.connectedAnchor={x:i.x,y:i.y,z:i.z}}}})],v.prototype,"automaticConnectedAnchor",2);D([y(),h({label:r("physics.joint.connected-anchor.title"),type:m.Vector3,bindPath:"connectedAnchor",when:o=>!o.automaticConnectedAnchor})],v.prototype,"connectedAnchor",2);D([y(),h({label:r("physics.joint.break-force.title"),type:m.Number,bindPath:"breakForce"})],v.prototype,"breakForce",2);D([y(),h({label:r("physics.joint.break-torque.title"),type:m.Number,bindPath:"breakTorque"})],v.prototype,"breakTorque",2);D([y(),h({label:r("physics.joint.mass-scale.title"),type:m.Number,bindPath:"massScale"})],v.prototype,"massScale",2);D([y(),h({label:r("physics.joint.connected-mass-scale.title"),type:m.Number,bindPath:"connectedMassScale"})],v.prototype,"connectedMassScale",2);var ke=Object.defineProperty,et=Object.getOwnPropertyDescriptor,tt=(o,t,e,i)=>{for(var n=i>1?void 0:i?et(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&ke(t,e,n),n};let te=class extends v{constructor(o,t){super(o,t)}};te=tt([A({type:"FixedJoint",componentsMenu:{label:r("component.physics.fixed-joint.title"),group:"physics"},dependentComponent:{type:"DynamicCollider",dependentMode:G.AutoAdd}})],te);const it=j(o=>{const{inspectorConfig:t,model:e,onModelChange:i}=o,{property:n,label:s,info:a}=t,d=e.useLimits,c=e.useSpring,f=e[n],u=f.props,{t:b}=z();return l.jsx(l.Fragment,{children:d?l.jsxs(re,{label:b(s),info:b(a),children:[l.jsx(P,{label:b("physics.joint-limits.min"),value:u.min,onChange:x=>{u.max<x&&(u.max=x),u.min=x,i(n,f)}}),l.jsx(P,{label:b("physics.joint-limits.max"),value:u.max,onChange:x=>{x<u.min&&(x=u.min),u.max=x,i(n,f)}}),c?l.jsxs(l.Fragment,{children:[l.jsx(P,{label:b("physics.joint-limits.stiffness"),value:u.stiffness,onChange:x=>{u.stiffness=x,i(n,f)}}),l.jsx(P,{label:b("physics.joint-limits.damping"),value:u.damping,onChange:x=>{u.damping=x,i(n,f)}})]}):l.jsx(P,{label:b("physics.joint-limits.contact-distance"),value:u.contactDistance,onChange:x=>{u.contactDistance=x,i(n,f)}})]}):null})}),ot=j(o=>{const{inspectorConfig:t,model:e,onModelChange:i}=o,{property:n,label:s,info:a}=t,d=e.useMotor,c=e[n],f=c.props,{t:u}=z();return l.jsx(l.Fragment,{children:d?l.jsxs(re,{label:u(s),info:u(a),children:[l.jsx(P,{label:u("physics.joint-motor.target-velocity"),value:f.targetVelocity,onChange:b=>{f.targetVelocity=b,i(n,c)}}),l.jsx(P,{label:u("physics.joint-motor.force-limit"),value:f.forceLimit,onChange:b=>{f.forceLimit=b,i(n,c)}}),l.jsx(P,{label:u("physics.joint-motor.gear-ratio"),value:f.gearRatio,onChange:b=>{f.gearRatio=b,i(n,c)}}),l.jsx(ne,{label:u("physics.joint-motor.free-spin"),value:f.freeSpin,onChange:b=>{f.freeSpin=b,i(n,c)}})]}):null})});var nt=Object.defineProperty,st=Object.getOwnPropertyDescriptor,w=(o,t,e,i)=>{for(var n=i>1?void 0:i?st(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&nt(t,e,n),n};let O=class extends v{constructor(t,e){super(t,e);p(this,"axis",{x:1,y:0,z:0});p(this,"useLimits",!1);p(this,"useSpring",!1);p(this,"limits",{class:"JointLimits",props:{max:0,min:0,contactDistance:-1,stiffness:0,damping:0}});p(this,"useMotor",!1);p(this,"motor",{class:"JointMotor",props:{targetVelocity:0,forceLimit:Number.MAX_VALUE,gearRatio:1,freeSpin:!1}})}async applyBoundPathChange(t,e,i){if(t==="limits"){const n=this._buildLimitsFromModel(i);if(!n)return;await super.applyBoundPathChange(t,e,n);return}if(t==="motor"){const n=this._buildMotorFromModel(i);if(!n)return;await super.applyBoundPathChange(t,e,n);return}await super.applyBoundPathChange(t,e,i)}_buildLimitsFromModel(t){const e=t==null?void 0:t.props;if(!e)return null;const i=new be;return i.max=e.max,i.min=e.min,i.contactDistance=e.contactDistance,i.stiffness=e.stiffness,i.damping=e.damping,i}_buildMotorFromModel(t){const e=t==null?void 0:t.props;if(!e)return null;const i=new ge;return i.targetVelocity=e.targetVelocity,i.forceLimit=e.forceLimit,i.gearRatio=e.gearRatio,i.freeSpin=e.freeSpin,i}};w([y(),h({label:r("physics.hinge-joint.axis.title"),type:m.Vector3,bindPath:"axis"})],O.prototype,"axis",2);w([y(),h({label:r("physics.hinge-joint.use-limits.title"),type:m.Boolean,bindPath:"useLimits"})],O.prototype,"useLimits",2);w([y(),h({label:r("physics.hinge-joint.use-spring.title"),type:m.Boolean,bindPath:"useSpring"})],O.prototype,"useSpring",2);w([y(),h({label:r("physics.hinge-joint.limits.title"),customComponent:it,bindPath:"limits"})],O.prototype,"limits",2);w([y(),h({label:r("physics.hinge-joint.use-motor.title"),type:m.Boolean,bindPath:"useMotor"})],O.prototype,"useMotor",2);w([y(),h({label:r("physics.hinge-joint.motor.title"),customComponent:ot,bindPath:"motor"})],O.prototype,"motor",2);O=w([A({type:"HingeJoint",componentsMenu:{label:r("component.physics.hinge-joint.title"),group:"physics"},dependentComponent:{type:"DynamicCollider",dependentMode:G.AutoAdd}})],O);var rt=Object.defineProperty,at=Object.getOwnPropertyDescriptor,M=(o,t,e,i)=>{for(var n=i>1?void 0:i?at(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&rt(t,e,n),n};let _=class extends v{constructor(t,e){super(t,e);p(this,"spring",10);p(this,"damper",.2);p(this,"minDistance",0);p(this,"maxDistance",0);p(this,"tolerance",.025)}};M([y(),h({label:r("physics.spring-joint.spring.title"),type:m.Number,bindPath:"spring"})],_.prototype,"spring",2);M([y(),h({label:r("physics.spring-joint.damper.title"),type:m.Number,bindPath:"damper"})],_.prototype,"damper",2);M([y(),h({label:r("physics.spring-joint.min-distance.title"),type:m.Number,bindPath:"minDistance"})],_.prototype,"minDistance",2);M([y(),h({label:r("physics.spring-joint.max-distance.title"),type:m.Number,bindPath:"maxDistance"})],_.prototype,"maxDistance",2);M([y(),h({label:r("physics.spring-joint.tolerance.title"),type:m.Number,bindPath:"tolerance"})],_.prototype,"tolerance",2);_=M([A({type:"SpringJoint",componentsMenu:{label:r("component.physics.spring-joint.title"),group:"physics"},dependentComponent:{type:"DynamicCollider",dependentMode:G.AutoAdd}})],_);class lt extends Ce{constructor(){super(...arguments);p(this,"_isPlaying",!1)}onPlay(e){this._isPlaying=e,this._toggleAll(e)}onAddComponent(e){!this._isPlaying&&(e instanceof W||e instanceof q)&&(e.enabled=!1)}_toggleAll(e){var a;const i=(a=this.engine.sceneManager.activeScene)==null?void 0:a.rootEntities;if(!i)return;const n=[],s=[];i.forEach(d=>{d.getComponentsIncludeChildren(W,n),d.getComponentsIncludeChildren(q,s)}),n.forEach(d=>{d.enabled=e}),s.forEach(d=>{d.enabled=e})}}var ct=Object.defineProperty,pt=Object.getOwnPropertyDescriptor,dt=(o,t,e,i)=>{for(var n=i>1?void 0:i?pt(t,e):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&ct(t,e,n),n};let ie=class{constructor(){p(this,"script")}init(){this.script=xe.addScript(lt)}};ie=dt([Se({type:"physicsStore"})],ie);export{T as C,g as D,te as F,O as H,ie as P,k as S,_ as a};
@@ -0,0 +1 @@
1
+ var m=Object.defineProperty;var c=(o,t,e)=>t in o?m(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var a=(o,t,e)=>(c(o,typeof t!="symbol"?t+"":t,e),e);import{s as f,p as h,C as g}from"./index-aec7e708.js";import"./index-e8a45e82.js";import{c as b}from"./Component-ed7aa0ab.js";import"./postmen-2f47f6bb.js";import{L as u}from"./LightBaseComponent-12dc27d1.js";var P=Object.defineProperty,d=Object.getOwnPropertyDescriptor,l=(o,t,e,p)=>{for(var n=p>1?void 0:p?d(t,e):t,i=o.length-1,r;i>=0;i--)(r=o[i])&&(n=(p?r(t,e,n):r(n))||n);return p&&n&&P(t,e,n),n};let s=class extends u{constructor(t,e){super(t,e);a(this,"distance",60)}};l([f(),h({type:g.Number,bindPath:"distance",label:"light.point.distance.label",info:"light.point.distance.info"})],s.prototype,"distance",2);s=l([b({type:"PointLight",componentsMenu:{group:"light",label:"component.light.point.title"}})],s);export{s as PointLightComponent};
@@ -0,0 +1,6 @@
1
+ var $=Object.defineProperty;var G=(e,t,s)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var E=(e,t,s)=>(G(e,typeof t!="symbol"?t+"":t,s),s);import{aG as _,aU as q,aS as l,aX as Q,dC as H,e as u,aD as J,aP as D,dD as K,aT as M,dE as U,aQ as A,dF as S,dG as W,dH as X,dI as Y,bm as Z,dJ as ee,dK as te,dL as se,bN as oe,q as re,dM as ne,dN as ae,dO as ce,bl as le,t as ie,dP as fe,dQ as pe,dR as me,cC as ue,dS as B,dT as L,cy as be,E as de,a as z,s as C,p as T,C as w,l as ye,g as he}from"./index-aec7e708.js";import{u as ge}from"./index-e8a45e82.js";import{c as Pe}from"./Component-ed7aa0ab.js";import{D as je,M as Ee}from"./Menu-0b8da92f.js";import{A as xe,a as Ce}from"./Accordion-3d330bc6.js";/**
2
+ * @license @tabler/icons-react v3.24.0 - MIT
3
+ *
4
+ * This source code is licensed under the MIT license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */var Te=_("outline","edit","IconEdit",[["path",{d:"M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1",key:"svg-0"}],["path",{d:"M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z",key:"svg-1"}],["path",{d:"M16 5l3 3",key:"svg-2"}]]);function ke(e){const{renameable:t,onDelete:s,removable:a,checkable:c,defaultChecked:r,onCheckedChange:o}=e;return l.jsxs(D,{align:"v",css:{flex:1,justifyContent:"space-between"},children:[l.jsxs(D,{children:[c&&l.jsx(K,{style:{marginRight:"5px"},checked:r,onCheckedChange:o,onClick:n=>n.stopPropagation()}),l.jsx("span",{children:e.title})]}),l.jsxs(D,{gap:"xxs",children:[t&&l.jsx(M,{as:"div",variant:"subtle","aria-hidden":!0,tabIndex:-1,size:"xs",onClick:n=>{n.preventDefault(),n.stopPropagation(),s&&s()},children:l.jsx(Te,{size:"14px"})}),a&&l.jsx(M,{as:"div",variant:"subtle","aria-hidden":!0,tabIndex:-1,size:"xs",onClick:n=>{n.preventDefault(),n.stopPropagation(),s&&s()},children:l.jsx(U,{size:"14px"})})]})]})}const O={TonemappingEffect:"post-process.effects.tone-mapping.title",BloomEffect:"post-process.effects.bloom.title"};function Ie(e){const{label:t,info:s,items:a=[],menuItems:c=[],onClickMenu:r,onDelete:o,addItemText:n="Add Item",defaultValue:p,onCheckedChange:f}=e,b=i=>()=>{o&&o(i)},P=q.useMemo(()=>a.length?a.map(i=>`${i.id}`):[],[a]),j=l.jsxs(Q,{size:"sm",variant:"soft",css:{width:"100%",marginTop:"$1","& > svg":{marginRight:"$1"}},children:[l.jsx(H,{size:"12px"}),String(u(n))]});return l.jsxs(J,{label:u(t),info:s,direction:"column",children:[a.length&&l.jsx(xe,{type:"multiple",defaultValue:p??P,"data-state":"closed",children:a.map(i=>l.jsx(Ce,{value:`${i.id}`,title:l.jsx(ke,{title:u(O[i.name]),onDelete:b(i),removable:i.removable,renameable:i.renameable,checkable:i.checkable,defaultChecked:i.defaultChecked,onCheckedChange:k=>{f&&f(k,i)}}),arrow:!!i.children,children:i.children&&l.jsx(D,{direction:"column",children:i.children})},i.name))}),l.jsx(je,{trigger:j,children:c.map(i=>l.jsx(Ee,{name:u(O[i.name]),onClick:()=>{r&&r(i)}},i.id))})]})}const h={TonemappingEffect:{constructor:B},BloomEffect:{constructor:L,defaultValue:{intensity:1,dirtIntensity:1}}},d={highQualityFiltering:{label:"post-process.effects.bloom.high-quality-filtering.label",info:"post-process.effects.bloom.high-quality-filtering.info"},scatter:{label:"post-process.effects.bloom.scatter.label",info:"post-process.effects.bloom.scatter.info"},downScale:{label:"post-process.effects.bloom.down-scale.label",info:"post-process.effects.bloom.down-scale.info"},threshold:{label:"post-process.effects.bloom.threshold.label",info:"post-process.effects.bloom.threshold.info"},intensity:{label:"post-process.effects.bloom.intensity.label",info:"post-process.effects.bloom.intensity.info"},tint:{label:"post-process.effects.bloom.tint.label",info:"post-process.effects.bloom.tint.info"},dirtTexture:{label:"post-process.effects.bloom.dirt-texture.label",info:"post-process.effects.bloom.dirt-texture.info"},dirtIntensity:{label:"post-process.effects.bloom.dirt-intensity.label",info:"post-process.effects.bloom.dirt-intensity.info"},mode:{label:"post-process.effects.tone-mapping.mode.label",info:"post-process.effects.tone-mapping.mode.info"}},De=A(({item:e,effectIndex:t,effect:s,onParameterChange:a})=>{const{assetStore:c}=ge();return s?l.jsx(l.Fragment,{children:e.parameters.map((r,o)=>{var b,P,j,i,k,F,V,v,N;const{name:n,value:p}=r,f=s[n];if(!(f instanceof S))return null;switch(f.constructor){case me:return l.jsx(ue,{label:u(((b=d[n])==null?void 0:b.label)??n),min:f.min,max:f.max,value:Number(p),dragStep:.01,onChange:m=>{a(t,o,m)}},o);case fe:return l.jsx(pe,{label:u(((P=d[n])==null?void 0:P.label)??n),value:!!p,onChange:m=>{a(t,o,m)}},o);case ce:return l.jsx(le,{label:u(((j=d[n])==null?void 0:j.label)??n),options:ie(f.enumType,void 0,m=>u(`post-process.effects.options.${m.toLocaleLowerCase()}`)),value:p,onChange:m=>{a(t,o,m)}},o);case ne:return l.jsx(ae,{label:u(((i=d[n])==null?void 0:i.label)??n),value:p,onChange:m=>{a(t,o,m)}},o);case se:{const m=c.assets,I=m[(k=r.value)==null?void 0:k.refId],R=Object.values(m).filter(y=>y.getMetaConfig().type==="Texture"&&!y.isSubAsset);return l.jsx(oe,{label:u(((F=d[n])==null?void 0:F.label)??n),dropLayer:re.Texture,assets:R,asset:I,value:I==null?void 0:I.name,placeholder:u("texture.select-texture"),onSelect:y=>{a(t,o,y.getCurrentRef())},onLocate:()=>{var y;c.selectAsset((y=r.value)==null?void 0:y.refId)},onDelete:()=>{a(t,o,null)}},o)}case ee:return l.jsx(te,{label:u(((V=d[n])==null?void 0:V.label)??n),value:p,onChange:m=>{a(t,o,m)}},o);case Y:return l.jsx(Z,{label:u(((v=d[n])==null?void 0:v.label)??n),value:p,onChange:m=>{a(t,o,m)}},o);case W:return l.jsx(X,{label:u(((N=d[n])==null?void 0:N.label)??n),value:p,onChange:m=>{a(t,o,m)}},o);default:return null}})}):null}),we=A(({model:e,onModelChange:t})=>{const s=e.effects,a=r=>{const o=be(s);r(o),t==null||t("effects",o)},c=(r,o,n)=>{a(p=>{var b;const f=p[r];(b=f==null?void 0:f.parameters)!=null&&b[o]&&(f.parameters[o]={...f.parameters[o],value:n})})};return l.jsx(Ie,{label:u("post-process.effects.title"),addItemText:u("post-process.effects.add"),menuItems:Object.keys(h).map(r=>({id:r,name:r})),onClickMenu:r=>{const o=r.name;a(n=>{n.some(p=>p.name===o)||n.push({name:o,enabled:!0,parameters:[]})})},onCheckedChange:(r,o)=>{a(n=>{const p=n[Number(o.id)];p&&(p.enabled=r)})},onDelete:r=>{a(o=>{o.splice(Number(r.id),1)})},items:s.map((r,o)=>{var f;const n=(f=h[r.name])==null?void 0:f.constructor,p=n?e.engineObject.getEffect(n):null;return{children:l.jsx(De,{item:r,effectIndex:o,effect:p,onParameterChange:c}),id:String(o),name:r.name,removable:!0,checkable:!0,defaultChecked:r.enabled}})})});function ze(e){return e==null||typeof e!="object"?e:"r"in e&&"g"in e&&"b"in e&&"a"in e?{r:e.r,g:e.g,b:e.b,a:e.a}:"x"in e&&"y"in e&&"z"in e&&"w"in e?{x:e.x,y:e.y,z:e.z,w:e.w}:"x"in e&&"y"in e&&"z"in e?{x:e.x,y:e.y,z:e.z}:"x"in e&&"y"in e?{x:e.x,y:e.y}:e}function Se(e,t,s){if(s.parameters.length>0)return;const a=h[e].defaultValue??{},c=[];for(const r in t){const o=t[r];if(!(o instanceof S))continue;const n=a[r];n!==void 0&&(o.value=n),c.push({name:r,value:ze(n??o.value)??null})}s.parameters=c}async function Fe(e,t,s){var a;if(s!=null&&s.refId){const c=await e.root.assetStore.getAssetByRef(s);t.value=(c==null?void 0:c.engineObject)??null;return}if((a=t.value)!=null&&a.copyFrom&&s&&typeof s=="object"){t.value.copyFrom(s);return}t.value=s}async function Ve(e,t){const s=e.engineObject,a=new Set;for(let c=0;c<t.length;c++){const r=t[c],{name:o,enabled:n}=r;if(!h[o])continue;const p=h[o].constructor;a.add(p);let f=s.getEffect(p);if(f||(f=s.addEffect(p)),!!f){Se(o,f,r),f.enabled=n;for(let b=0;b<r.parameters.length;b++){const{name:P,value:j}=r.parameters[b],i=f[P];i instanceof S&&await Fe(e,i,j)}}}for(const c of Object.keys(h)){const r=h[c].constructor;a.has(r)||s.getEffect(r)&&s.removeEffect(r)}}function ve(e){const t={};return e.forEach(s=>{t[s.name]={value:s.value}}),t}function Ne(e){const t=[];for(const s in e)s!=="enabled"&&t.push({name:s,value:e[s].value});return t}function Me(e){return e.map(t=>({params:[{classType:t.name}],result:{props:Object.assign(ve(t.parameters),{enabled:t.enabled})}}))}function Oe(e){return e.map(t=>({name:t.params[0].classType,enabled:t.result.props.enabled,parameters:Ne(t.result.props)}))}var Ae=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,x=(e,t,s,a)=>{for(var c=a>1?void 0:a?Be(t,s):t,r=e.length-1,o;r>=0;r--)(o=e[r])&&(c=(a?o(t,s,c):o(c))||c);return a&&c&&Ae(t,s,c),c};const Le={TonemappingEffect:{constructor:B},BloomEffect:{constructor:L,defaultValue:{intensity:1,dirtIntensity:1}}};let g=class extends de{constructor(t,s){super(t,s);E(this,"isGlobal",!0);E(this,"blendDistance",0);E(this,"priority",0);E(this,"layer",[z.Layer0]);E(this,"effects",[])}};x([C(),T({label:"post-process.global.title",info:"post-process.global.info",type:w.Toggle,bindPath:"isGlobal"})],g.prototype,"isGlobal",2);x([C(),T({label:"post-process.blend-distance.title",info:"post-process.blend-distance.info",type:w.Number,bindPath:"blendDistance",min:0,dragStep:.01,when:e=>!e.isGlobal})],g.prototype,"blendDistance",2);x([C(),T({label:"post-process.priority.title",info:"post-process.priority.info",type:w.Number,bindPath:"priority",dragStep:1})],g.prototype,"priority",2);x([C(ye()),T({label:"post-process.layer.title",info:"post-process.layer.info",type:w.Select,...he([z.Nothing,z.Everything]),bindPath:"layer"})],g.prototype,"layer",2);x([C({type:"methods",key:"addEffect",onSerialize:Me,onDeserialize:Oe,resolveMethodArguments:async e=>e.map(t=>{var s;if(t&&typeof t=="object"&&"classType"in t){const a=t.classType,c=(s=Le[a])==null?void 0:s.constructor;if(!c)throw new Error(`Effect constructor not found for: ${a}`);return c}return t})}),T({customComponent:we,onChange:async(e,t,s)=>{await Ve(e,s)}})],g.prototype,"effects",2);g=x([Pe({type:"PostProcess",componentsMenu:{label:"component.post-process.title"}})],g);export{g as P};
@@ -0,0 +1 @@
1
+ var z=Object.defineProperty;var k=(d,t,e)=>t in d?z(d,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):d[t]=e;var b=(d,t,e)=>(k(d,typeof t!="symbol"?t+"":t,e),e);import{dX as N,dY as F,aQ as j,aR as L,aS as C,bN as R,q as O,aV as G,aD as $,dZ as U,C as V,ct as J,d_ as P,by as K,e as S,d$ as D,e0 as W,e1 as Q,e2 as q,e3 as X,dV as Y,de as Z,e4 as H,_ as v,m as tt,a$ as et,x as st,aL as B,n as nt,dr as it}from"./index-aec7e708.js";import{T as at}from"./TaskQueue-05c94a4d.js";import{u as x,I as rt}from"./index-e8a45e82.js";import"./postmen-2f47f6bb.js";import{A as ot}from"./AssetViewer-64cd01fa.js";class w{static update(t,e){!this.entity&&(this.entity=t.createChild("prefab"));const s=this.tempCloneEntity=e.engineObject.instantiate();this.entity.addChild(s)}static clear(){this.entity.clearChildren(),this.tempCloneEntity&&this.tempCloneEntity.destroy()}}b(w,"entity"),b(w,"tempCloneEntity");const M=new F("buildGltfAssetTemplateDiffs");function dt(d,t){var s;M.info("START",{sceneRootName:d==null?void 0:d.name,sceneRootRotation:(s=d==null?void 0:d.transform)!=null&&s.rotation?{x:d.transform.rotation.x,y:d.transform.rotation.y,z:d.transform.rotation.z}:null,sceneChildCount:d==null?void 0:d.childCount,baselineRootName:t==null?void 0:t.name,baselineChildCount:t==null?void 0:t.childCount});const e=N(d,t);return M.info("RESULT",{diffCount:e?Object.keys(e.entityProps??{}).length:0,paths:e?Object.keys(e.entityProps??{}):[]}),e}const ct=j(({asset:d})=>{const{dependentAssets:t}=d,{configDataStore:e}=x(),{t:s}=L(),a=j(({dependentAssetInfo:n})=>{const{assetStore:i}=x(),r=Object.values(i.assets).filter(c=>{const l=c.getMetaConfig().type,y=c.id===n.id,u=c.id===d.id,h=!y&&!u&&!c.isSubAsset;return n.type==="glTF"||n.type==="Prefab"?l==="glTF"||l==="Prefab"&&h:c.getMetaConfig().type===n.type&&h}),o=i.assets[n.id],p=o==null?void 0:o.name;return C.jsx(R,{dropLayer:O.Asset,placeholder:s("prefab.inspector.missed"),assets:r,onSelect:c=>{d.replaceDependentAsset(n,c)},onLocate:()=>{i.selectAsset(n.id)},value:p,asset:o})});return C.jsxs(C.Fragment,{children:[C.jsx(G,{title:s("prefab.inspector.basic-info"),defaultOpen:!0,children:e.isBuc&&C.jsx($,{label:s("prefab.inspector.url")})}),C.jsx(U,{label:s("prefab.inspector.dependent-assets"),children:t.map((n,i)=>C.jsx(a,{dependentAssetInfo:n},`${n.id}-${i}`))})]})}),pt={entities:[{id:"defaultPrefab",name:"prefab",isActive:!0,transform:{class:"Transform",props:{position:{x:0,y:0,z:0},rotation:{x:0,y:0,z:0},scale:{x:1,y:1,z:1}}},parent:null,children:[],isClone:!1,components:[]}]};class lt extends ot{constructor(){super(...arguments);b(this,"_animators",[]);b(this,"_particles",[])}setViewAsset(e,s){const a=e.entityManager.rootEntities[0];this._entity=a.engineObject,s.addChild(this._entity),a.getComponentsIncludeChildren("Animator",this._animators).forEach(r=>{r.applyBoundPathChange("enabled",V.Toggle,r.enabled)}),this._entity.getComponentsIncludeChildren(J,this._particles).forEach(r=>{r.generator.stop(!1,P.StopEmittingAndClear),r.generator.main.simulationSpeed=1,r.generator.play()})}stopViewAsset(){super.stopViewAsset(),this._particles.forEach(e=>{e.generator.stop(!1,P.StopEmittingAndClear)})}}var ft=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,E=(d,t,e,s)=>{for(var a=s>1?void 0:s?ht(t,e):t,n=d.length-1,i;n>=0;n--)(i=d[n])&&(a=(s?i(t,e,a):i(a))||a);return s&&a&&ft(t,e,a),a};const I=it("PrefabAsset"),T=new F("PrefabAsset");let _=class extends rt{constructor(t){super(t);b(this,"acceptDragLayer",O.Entity);b(this,"_entityManager");b(this,"_contentQueue",new at);b(this,"entities",[]);b(this,"dependentAssets",[]);b(this,"_skipInitUpdateContent",!1);this._entityManager=new q(t)}static async createByEntity(t){var e,s,a;if(t.isPrefabSubEntity||t.isGLTFRefEntity){K.error(S("prefab.error.create-from-sub"));return}D()&&W();try{T.info("createByEntity START",{entityName:t.name,entityId:t.id,isGLTFWrap:t.isGLTFWrapEntity,childCount:(e=t.children)==null?void 0:e.length,childNames:(s=t.children)==null?void 0:s.map(i=>i.name),hasGLTFChild:(a=t.children)==null?void 0:a.some(i=>i.isGLTFRefEntity)});const{assetFacade:n}=t.root;await t.root.runInUndoGroup("asset.create",async()=>{const i=await n.createAssetByAdd({assetType:"Prefab",name:t.name});i.addInstance(t,{undoable:!0}),await i.updateByEntity(t,!1,{undoable:!0})})}finally{D()&&Q()}}get entityManager(){return this._entityManager}async initByMain(t,e){const{dependentAssets:s}=this.meta;this.url=e;const a=JSON.parse(await t.text());if(this.entities=a.entities,this.dependentAssets=s,this._skipInitUpdateContent){this._skipInitUpdateContent=!1;return}await this._updateContent()}async initByCreation(){return this.entities=pt.entities,this._skipInitUpdateContent=!0,this.getMainData()}async updateByEntity(t,e=!1,s){var r;T.info("updateByEntity START",{entityName:t.name,entityId:t.id,isGLTFWrap:t.isGLTFWrapEntity,updateInstanceFrom:e});const{entities:a,assets:n}=this._getEntityDataIncludeChildren(t,[],new Set);T.info("updateByEntity serialized",{entityCount:a.length,entities:a.map(o=>{var p;return{name:o.name,isClone:o.isClone,instanceAssetId:(p=o.instance)==null?void 0:p.assetId,hasAssetTemplateDiffs:!!o.assetTemplateDiffs,assetTemplateDiffKeys:o.assetTemplateDiffs?Object.keys(o.assetTemplateDiffs.entityProps??{}):[]}})});const i=a[0];(r=i.transform)!=null&&r.props&&(i.transform.props.position={x:0,y:0,z:0}),i.parent=null,this.entities=a,this.dependentAssets=Array.from(n,o=>({id:o.id,name:o.name,type:o.getMetaConfig().type})),this._updateCreateByAddResumeSnapshot(),e&&this.addInstance(t),await this._updateContent(s!=null&&s.undoable?{undoable:!0}:void 0)}async refreshFromData(t){await this._updateContent(t)}replaceDependentAsset(t,e){const s=JSON.stringify(this.entities);this.entities=JSON.parse(s.replace(new RegExp(t.id,"g"),e.id)),t.id=e.id,t.name=e.name,this._updateContent()}destroy(){super.destroy(),this.engineObject&&(this.engineObject._root.destroy(),this.engineObject.destroy())}unpackAllInstances(){this._instances.forEach((t,e)=>{const s=t.entities.get(e);s==null||s.unpackPrefab()}),super.unpackAllInstances()}async instantiate(t,e,s){var o,p;const a=this._entityManager.rootEntities[0].id,n=this._entityManager.getEntityFilesById(a);e&&((p=(o=n[0])==null?void 0:o.transform)!=null&&p.props)&&(n[0].transform.props.position=e.position,n[0].transform.props.rotation=e.rotation,n[0].transform.props.scale=e.scale),s!=null&&s.expectedRootId&&n[0]&&(n[0].id=s.expectedRootId);const r=(await t.deserializeEntities(n))[0];return r.convertToPrefabRefEntity(),this.addInstance(r,s),this._bindInstantiatedEntity(r,s),r}_updateCreateByAddResumeSnapshot(){const t=this.getMainData(),e=this.getMetaData(),s=this.name??"Prefab",a=t==null?null:new Blob([t instanceof ArrayBuffer||typeof t=="string"?t:JSON.stringify(t)]);this.root.assetStore.updateCreateByAddResumeSnapshot(this.id,{assetName:s,serializedMeta:JSON.stringify(e),mainBlob:a})}_bindInstantiatedEntity(t,e){const s=this._entityManager.rootEntities[0];if(!s)return;const{entityMappings:a,componentMappings:n}=this._collectInstanceMappings(s,t);if(!a.length)return;const{prefab:i}=this.root.domainStore.state,r=i.byAssetId[this.id]??[];for(const p of r){const c=i.bindings[p];if((c==null?void 0:c.instanceRootEntityId)===t.id){const l=[],y=this.root.domainStore.getNormalizedState(),u=y.entities[t.id];if(u){l.push({op:u.instance?"replace":"add",path:`/entities/${t.id}/instance`,value:{bindingId:p,assetId:this.id,assetKind:"Prefab",role:"root",sourceEntityId:c.sourceRootEntityId}});for(const h of n){const f=X(y,t.id,h.sceneComponentId);f&&l.push({op:f.instance?"replace":"add",path:`/entities/${t.id}/components/${h.sceneComponentId}/instance`,value:{bindingId:p,role:"linked",sourceComponentKey:h.sourceComponentKey}})}}l.length>0&&this.root.domainStore.applySystem(l);return}}let o=1;for(const p of r){const c=i.bindings[p];c&&c.sourceRevision>o&&(o=c.sourceRevision)}this.root.prefabFacade.bindExistingInstance({assetId:this.id,instanceRootEntityId:t.id,sourceRevision:o,entityMappings:a,componentMappings:n,undoable:(e==null?void 0:e.undoable)===!0})}_collectInstanceMappings(t,e){const s=[],a=[],n=(i,r,o)=>{var h;const p=(i==null?void 0:i.id)??r.id;s.push({sceneEntityId:r.id,sourceEntityId:p,role:o});const c=(i==null?void 0:i.components)??[],l=r.components??[];for(let f=0;f<l.length;f++){const m=l[f];if(!(m!=null&&m.id))continue;const g=((h=c[f])==null?void 0:h.id)??m.id;a.push({sceneEntityId:r.id,sceneComponentId:m.id,sourceComponentKey:g})}const y=(i==null?void 0:i.selfChildren)??[],u=r.selfChildren??[];for(let f=0;f<u.length;f++)n(y[f],u[f],"linked")};return n(t,e,"root"),{entityMappings:s,componentMappings:a}}async replaceInstance(t,e,s){var o;const a=e.entities.get(t),n=(o=a==null?void 0:a.engineObject)==null?void 0:o.transform,i=n?{position:{x:n.position.x,y:n.position.y,z:n.position.z},rotation:{x:n.rotation.x,y:n.rotation.y,z:n.rotation.z},scale:{x:n.scale.x,y:n.scale.y,z:n.scale.z}}:void 0,r=await this.instantiate(e,i,s);return r.convertToPrefabRefEntity(),e.replaceEntity(t,r),r}_instantiateEngineObject(){return this.engineObject.instantiate()}_onDrop(t,e){if(!e||e.id===this.id)return;this.dropping=!1;const{sceneStore:s,sceneUIStore:a}=this.root,n=Array.from(a.selectedKeys);if(n.length>1)for(let i=0;i<n.length;i++)_.createByEntity(s.entities.get(n[i]));else Y({title:S("prefab.replace.title").toString(),description:S("prefab.replace.description",{name:this.name}).toString(),confirmText:S("prefab.replace.confirm").toString(),onConfirm:()=>{const i=s.entities.get(n[0]);this.updateByEntity(i,!0)}})}_rebaseInstanceRevisions(){const{prefabFacade:t,domainStore:e}=this.root,s=e.state.prefab.byAssetId[this.id];if(!s||s.length===0)return;let a=0;for(const n of s){const i=e.state.prefab.bindings[n];i&&i.sourceRevision>a&&(a=i.sourceRevision)}t.updatePrefabContent(this.id,a+1)}_getEntityDataIncludeChildren(t,e,s){var i,r,o,p;const a=this.root.assetStore,n=t.toJSON(!0);if(e.push(n),!t.isGLTFRefEntity)t.components.forEach(c=>{var y;const l=Z(c);for(const u in l)if(l[u].type==="AssetPicker"){const h=(y=c[u])==null?void 0:y.refId;if(h){const f=a.assets[h];f&&s.add(f)}}}),t.children.map(c=>!c.prefabEntityRemoved&&this._getEntityDataIncludeChildren(c,e,s)),(i=t.strippedEntity)==null||i.clear();else{const c=a.assets[t.instanceAssetId];s.add(c);let l=null;try{l=(r=c.instantiateEngineObject)==null?void 0:r.call(c),T.info("_getEntityDataIncludeChildren glTF branch",{entityName:t.name,instanceAssetId:t.instanceAssetId,hasBaseline:!!l,sceneChildCount:(o=t.selfChildren??t.children)==null?void 0:o.length,sceneChildRotations:(p=t.selfChildren??t.children)==null?void 0:p.map(g=>{const A=g.transform;return A!=null&&A.rotation?{x:A.rotation.x,y:A.rotation.y,z:A.rotation.z}:null})});const m=(l==null?void 0:l.childCount)>0?l.getChild(0):l;if(m&&t.engineObject){const g=dt(t.engineObject,m);T.info("diffs result",{diffs:g}),g&&(n.assetTemplateDiffs=g)}}finally{l==null||l.destroy()}const y=t.entityManager.strippedEntities,u=t.getAddedComponents(),h=t.getAddedEntities(),f=new Set;u.forEach(m=>{f.add(m.strippedId)}),h.forEach(m=>{f.add(m.strippedId)}),f.forEach(m=>{const g=y.get(m);this._getEntityDataIncludeChildren(g,e,s)})}return{entities:e,assets:s}}_updateContent(t){return this._contentQueue.enqueue(async()=>{try{await this._updateContentInternal(t)}catch(e){if(e instanceof Error&&e.message==="cancelled")return;I.error("_updateContent failed:",e)}})}async _updateContentInternal(t){const{url:e,dependentAssets:s}=this,a=(t==null?void 0:t.persist)!==!1;await Promise.all(s.map(p=>this.root.assetStore.getAssetByRef({refId:p.id}))),await this._entityManager.init(this);const n=this.engineObject;if(n){this.root.assetStore.engineObjectToAssetMap.delete(n);try{n.destroy()}catch(p){I.warn("failed to destroy oldEngineObject:",p)}}const i=new H(this.engine,e);this.bindEngineObject(i),this.root.assetStore.engineObjectToAssetMap.set(i,this);let r=this._entityManager.rootEntities[0];r||(r=this._entityManager.createEntity("prefab","defaultPrefab"),r.bindEngineObject(new v(this.engine,"prefab")),I.error(`The prefab which id is ${this.id} is broken, use default prefab instead.`)),r.engineObject||(I.warn("rootEntity engineObject is null, binding new Entity"),r.bindEngineObject(new v(this.engine,"prefab"))),this._markAsTemplate(r),i._root=r.engineObject,r.once("delete",()=>{I.error(`The prefab which id is ${this.id} is broken.`),this._updateContent().catch(p=>{I.error(`Failed to rebuild broken prefab which id is ${this.id}.`,p)})}),this._updateDragTempEntity(),this.updateThumbnail(),a&&(this.root.assetFacade.persistAssetMeta(this.id),this.root.assetFacade.persistAssetMain(this.id));const o=t!=null&&t.undoable?{undoable:!0}:void 0;await Promise.all(Array.from(this._instances,([p,c])=>this.replaceInstance(p,c,o))),this._rebaseInstanceRevisions()}_markAsTemplate(t){const e=t.engineObject;if(!e){I.warn("_markAsTemplate: engineObject is null",{prefabId:this.id,entityModelId:t.id});return}const s=e;s._templateResource||s._markAsTemplate(this.engineObject),t.selfChildren.forEach(a=>{this._markAsTemplate(a)})}};E([tt()],_.prototype,"entities",2);E([et(),st],_.prototype,"dependentAssets",2);E([B],_.prototype,"replaceDependentAsset",1);E([B],_.prototype,"_onDrop",1);_=E([nt({type:"Prefab",label:S("asset.prefab.title"),extname:"prefab",dragLayer:O.Prefab,customInspector:ct,viewer:lt,thumbnail:w,async bundle(d){return{content:new Blob([d.content],{type:"application/json"})}}})],_);export{_ as PrefabAsset};
@@ -0,0 +1 @@
1
+ var wt=Object.defineProperty;var Mt=(C,s,n)=>s in C?wt(C,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):C[s]=n;var A=(C,s,n)=>(Mt(C,typeof s!="symbol"?s+"":s,n),n);import{K as it,U as q,bE as Rt,af as dt,ag as mt,ah as ft,aj as yt,bF as Pt,ad as at,bG as ct,ae as rt,bH as It,j as At,_ as Ht,O as _t,p as B,e as b,C as T,t as Bt,m as V,n as Tt,o as Vt,q as Nt}from"./index-aec7e708.js";import"./index-e8a45e82.js";import"./meshopt_simplifier.module-cd99529d.js";import{a as Et}from"./bundlers-9b0d37fc.js";import{M as Dt}from"./MeshThumbnail-ab28b3b8.js";const z=class z{static createSphere(s=.5,n=18){n=Math.max(2,Math.floor(n));const e=n+1,o=e*e,c=n*n,p=z._generateIndices(o,c*6),R=Math.PI,t=R*2,a=1/e,y=1/n,m=8,h=new Float32Array(o*m);for(let x=0;x<o;++x){const u=x%e,d=x*a|0,l=u*y,i=d*y,M=l*t,f=i*R,v=Math.sin(f),I=-s*Math.cos(M)*v,P=s*Math.cos(f),S=s*Math.sin(M)*v;let r=x*m;h[r++]=I,h[r++]=P,h[r++]=S,h[r++]=I,h[r++]=P,h[r++]=S,h[r++]=l,h[r++]=i}let w=0;for(let x=0;x<c;++x){const u=x%n,l=(x*y|0)*e+u,i=l+1,M=l+e,f=M+1;p[w++]=i,p[w++]=l,p[w++]=f,p[w++]=l,p[w++]=M,p[w++]=f}const g=new q;return g.min.set(-s,-s,-s),g.max.set(s,s,s),{indices:p,vertices:h,bounds:g}}static createCuboid(s=1,n=1,e=1){const o=s/2,c=n/2,p=e/2,R=8,t=new Float32Array(24*R);t[0]=-o,t[1]=c,t[2]=-p,t[6]=0,t[7]=0,t[8]=o,t[9]=c,t[10]=-p,t[14]=1,t[15]=0,t[16]=o,t[17]=c,t[18]=p,t[22]=1,t[23]=1,t[24]=-o,t[25]=c,t[26]=p,t[30]=0,t[31]=1;for(let m=0;m<4;m++){let h=R*m+3;t[h++]=0,t[h++]=1,t[h++]=0}t[32]=-o,t[33]=-c,t[34]=-p,t[38]=0,t[39]=1,t[40]=o,t[41]=-c,t[42]=-p,t[46]=1,t[47]=1,t[48]=o,t[49]=-c,t[50]=p,t[54]=1,t[55]=0,t[56]=-o,t[57]=-c,t[58]=p,t[62]=0,t[63]=0;for(let m=0;m<4;m++){let h=R*m+35;t[h++]=0,t[h++]=-1,t[h++]=0}t[64]=-o,t[65]=c,t[66]=-p,t[70]=0,t[71]=0,t[72]=-o,t[73]=c,t[74]=p,t[78]=1,t[79]=0,t[80]=-o,t[81]=-c,t[82]=p,t[86]=1,t[87]=1,t[88]=-o,t[89]=-c,t[90]=-p,t[94]=0,t[95]=1;for(let m=0;m<4;m++){let h=R*m+67;t[h++]=-1,t[h++]=0,t[h++]=0}t[96]=o,t[97]=c,t[98]=-p,t[102]=1,t[103]=0,t[104]=o,t[105]=c,t[106]=p,t[110]=0,t[111]=0,t[112]=o,t[113]=-c,t[114]=p,t[118]=0,t[119]=1,t[120]=o,t[121]=-c,t[122]=-p,t[126]=1,t[127]=1;for(let m=0;m<4;m++){let h=R*m+99;t[h++]=1,t[h++]=0,t[h++]=0}t[128]=-o,t[129]=c,t[130]=p,t[134]=0,t[135]=0,t[136]=o,t[137]=c,t[138]=p,t[142]=1,t[143]=0,t[144]=o,t[145]=-c,t[146]=p,t[150]=1,t[151]=1,t[152]=-o,t[153]=-c,t[154]=p,t[158]=0,t[159]=1;for(let m=0;m<4;m++){let h=R*m+131;t[h++]=0,t[h++]=0,t[h++]=1}t[160]=-o,t[161]=c,t[162]=-p,t[166]=1,t[167]=0,t[168]=o,t[169]=c,t[170]=-p,t[174]=0,t[175]=0,t[176]=o,t[177]=-c,t[178]=-p,t[182]=0,t[183]=1,t[184]=-o,t[185]=-c,t[186]=-p,t[190]=1,t[191]=1;for(let m=0;m<4;m++){let h=R*m+163;t[h++]=0,t[h++]=0,t[h++]=-1}const a=new Uint16Array(36);a[0]=0,a[1]=2,a[2]=1,a[3]=2,a[4]=0,a[5]=3,a[6]=4,a[7]=6,a[8]=7,a[9]=6,a[10]=4,a[11]=5,a[12]=8,a[13]=10,a[14]=9,a[15]=10,a[16]=8,a[17]=11,a[18]=12,a[19]=14,a[20]=15,a[21]=14,a[22]=12,a[23]=13,a[24]=16,a[25]=18,a[26]=17,a[27]=18,a[28]=16,a[29]=19,a[30]=20,a[31]=22,a[32]=23,a[33]=22,a[34]=20,a[35]=21;const y=new q;return y.min.set(-o,-c,-p),y.max.set(o,c,p),{vertices:t,bounds:y,indices:a}}static createPlane(s=1,n=1,e=1,o=1){e=Math.max(1,Math.floor(e)),o=Math.max(1,Math.floor(o));const c=e+1,p=o+1,R=s/2,t=n/2,a=s/e,y=n/o,m=c*p,h=o*e,w=z._generateIndices(m,h*6),g=1/c,x=1/e,u=1/o,d=8,l=new Float32Array(m*d);for(let f=0;f<m;++f){const v=f%c,I=f*g|0;let P=f*d;l[P++]=v*a-R,l[P++]=0,l[P++]=I*y-t,l[P++]=0,l[P++]=1,l[P++]=0,l[P++]=v*x,l[P++]=I*u}let i=0;for(let f=0;f<h;++f){const v=f%e,P=(f*x|0)*c+v,S=P+1,r=P+c,E=r+1;w[i++]=P,w[i++]=r,w[i++]=S,w[i++]=r,w[i++]=E,w[i++]=S}const M=new q;return M.min.set(-R,0,-t),M.max.set(R,0,t),{bounds:M,vertices:l,indices:w}}static createCylinder(s=.5,n=.5,e=2,o=20,c=1){o=Math.floor(o),c=Math.floor(c);const p=o+1,R=c+1,t=e*.5,a=e/c,y=p*R,m=o*c,h=o*2,w=y+2+h,g=z._generateIndices(w,m*6+h*3),x=1/p,u=1/o,d=1/c,l=8,i=new Float32Array(w*l);let M=0;const f=Math.PI,v=Math.PI*2,I=n-s,P=I/e,S=I/c;for(let F=0;F<y;++F){const Z=F%p,W=F*x|0,O=Z*u,J=W*d,$=f+O*v,et=Math.sin($),ht=Math.cos($),ut=n-W*S,xt=ut*et,vt=W*a-t,Ct=ut*ht;let L=F*l;i[L++]=xt,i[L++]=vt,i[L++]=Ct,i[L++]=et,i[L++]=P,i[L++]=ht,i[L++]=O,i[L++]=1-J}for(let F=0;F<m;++F){const Z=F%o,O=(F*u|0)*p+Z,J=O+1,$=O+p,et=$+1;g[M++]=J,g[M++]=$,g[M++]=O,g[M++]=J,g[M++]=et,g[M++]=$}let r=y*l;i[r++]=0,i[r++]=-t,i[r++]=0,i[r++]=0,i[r++]=-1,i[r++]=0,i[r++]=.5,i[r++]=.5,i[r++]=0,i[r++]=t,i[r++]=0,i[r++]=0,i[r++]=1,i[r++]=0,i[r++]=.5,i[r++]=.5,r=(y+2)*l;const E=1/(s*2),j=1/(n*2),D=p*c;for(let F=0;F<o;++F){const Z=F*l;let W=i[Z],O=i[Z+2];i[r++]=W,i[r++]=-t,i[r++]=O,i[r++]=0,i[r++]=-1,i[r++]=0,i[r++]=W*j+.5,i[r++]=.5-O*j;const J=(F+D)*l;W=i[J],O=i[J+2],i[r++]=W,i[r++]=t,i[r++]=O,i[r++]=0,i[r++]=1,i[r++]=0,i[r++]=W*E+.5,i[r++]=.5-O*E}const Y=y+1,X=y+2,U=X+1;for(let F=0;F<o;++F){const Z=F*2,W=F===o-1?0:Z+2;g[M++]=y,g[M++]=X+W,g[M++]=X+Z,g[M++]=Y,g[M++]=U+Z,g[M++]=U+W}const Q=new q,K=Math.max(s,n);return Q.min.set(-K,-t,-K),Q.max.set(K,t,K),{bounds:Q,vertices:i,indices:g}}static createTorus(s=.5,n=.1,e=30,o=30,c=360){e=Math.floor(e),o=Math.floor(o);const p=(e+1)*(o+1),R=e*o,t=z._generateIndices(p,R*6),a=8,y=new Float32Array(p*a);c=c/180*Math.PI;let m=0;const h=z._tempVec30;for(let x=0;x<=e;x++)for(let u=0;u<=o;u++){const d=u/o*c,l=x/e*Math.PI*2,i=Math.cos(l),M=Math.sin(l),f=Math.cos(d),v=Math.sin(d),I=(s+n*i)*f,P=(s+n*i)*v,S=n*M;y[m++]=I,y[m++]=P,y[m++]=S;const r=s*f,E=s*v;h.set(I-r,P-E,S).normalize(),y[m++]=h.x,y[m++]=h.y,y[m++]=h.z,y[m++]=u/o,y[m++]=x/e}m=0;for(let x=1;x<=e;x++)for(let u=1;u<=o;u++){const d=(o+1)*x+u-1,l=(o+1)*(x-1)+u-1,i=(o+1)*(x-1)+u,M=(o+1)*x+u;t[m++]=d,t[m++]=l,t[m++]=M,t[m++]=l,t[m++]=i,t[m++]=M}const w=new q,g=s+n;return w.min.set(-g,-g,-n),w.max.set(g,g,n),{bounds:w,vertices:y,indices:t}}static createCone(s=.5,n=2,e=20,o=1){e=Math.floor(e),o=Math.floor(o);const c=e+1,p=o+1,R=n*.5,t=n/o,a=c*p,y=e*o,m=a+1+e,h=z._generateIndices(m,y*6+e*3),w=1/c,g=1/e,x=1/o,u=8,d=new Float32Array(m*8);let l=0;const i=Math.PI,M=Math.PI*2,f=s/n;for(let r=0;r<a;++r){const E=r%c,j=r*w|0,D=E*g,Y=j*x,X=i+D*M,U=Math.sin(X),Q=Math.cos(X),K=s-j*s,F=K*U,Z=j*t-R,W=K*Q;let O=r*u;d[O++]=F,d[O++]=Z,d[O++]=W,d[O++]=U,d[O++]=f,d[O++]=Q,d[O++]=D,d[O++]=1-Y}for(let r=0;r<y;++r){const E=r%e,D=(r*g|0)*c+E,Y=D+1,X=D+c,U=X+1;h[l++]=Y,h[l++]=X,h[l++]=D,h[l++]=Y,h[l++]=U,h[l++]=X}let v=a*u;d[v++]=0,d[v++]=-R,d[v++]=0,d[v++]=0,d[v++]=-1,d[v++]=0,d[v++]=.5,d[v++]=.5,v=(a+1)*u;const I=1/(s*2);for(let r=0;r<e;++r){const E=d[r*u],j=d[r*u+2];d[v++]=E,d[v++]=-R,d[v++]=j,d[v++]=0,d[v++]=-1,d[v++]=0,d[v++]=E*I+.5,d[v++]=.5-j*I}const P=a+1;for(let r=0;r<e;++r){const E=r,j=r===e-1?0:E+1;h[l++]=a,h[l++]=P+j,h[l++]=P+E}const S=new q;return S.min.set(-s,-R,-s),S.max.set(s,R,s),{bounds:S,vertices:d,indices:h}}static createCapsule(s=.5,n=2,e=6,o=1){e=Math.max(2,Math.floor(e)),o=Math.floor(o);const c=e+1,p=o+1,R=n*.5,t=n/o,a=c*p,y=e*o,m=c*c,h=e*e,w=a+2*m,g=z._generateIndices(w,(y+2*h)*6),x=1/c,u=1/e,d=1/o,l=Math.PI,i=Math.PI*2,M=8,f=new Float32Array(w*M);let v=0;for(let P=0;P<a;++P){const S=P%c,r=P*x|0,E=S*u,j=r*d,D=l+E*i,Y=Math.sin(D),X=Math.cos(D);let U=P*M;f[U++]=s*Y,f[U++]=r*t-R,f[U++]=s*X,f[U++]=Y,f[U++]=0,f[U++]=X,f[U++]=E,f[U++]=1-j}for(let P=0;P<y;++P){const S=P%e,E=(P*u|0)*c+S,j=E+1,D=E+c,Y=D+1;g[v++]=j,g[v++]=D,g[v++]=E,g[v++]=j,g[v++]=Y,g[v++]=D}z._createCapsuleCap(s,n,e,l,i,a,1,f,g,v),z._createCapsuleCap(s,n,e,l,-i,a+m,-1,f,g,v+6*h);const I=new q;return I.min.set(-s,-s-R,-s),I.max.set(s,s+R,s),{bounds:I,vertices:f,indices:g}}static _generateIndices(s,n){let e=null;return s>65535?e=new Uint32Array(n):e=new Uint16Array(n),e}static _createCapsuleCap(s,n,e,o,c,p,R,t,a,y){const m=e+1,h=n*.5*R,w=m*m,g=e*e,x=1/m,u=1/e,d=8;for(let l=0;l<w;++l){const i=l%m,M=l*x|0,f=i*u,v=M*u,I=o+f*c,P=v*Math.PI*.5,S=Math.sin(P),r=s*Math.sin(I)*S,E=s*Math.cos(P)*R+h,j=s*Math.cos(I)*S;let D=(l+p)*d;t[D++]=r,t[D++]=E,t[D++]=j,t[D++]=r,t[D++]=E-h,t[D++]=j,t[D++]=f,t[D++]=v}for(let l=0;l<g;++l){const i=l%e,f=(l*u|0)*m+i+p,v=f+1,I=f+m,P=I+1;a[y++]=v,a[y++]=f,a[y++]=P,a[y++]=f,a[y++]=I,a[y++]=P}}static createSubdivisionSurfaceSphereData(s=.5,n=3){n=Rt.clamp(Math.floor(n),1,6);const e=new Float32Array(3*(6*Math.pow(4,n)+2)),o=new Float32Array(24*Math.pow(4,n));this._subdiveCatmullClark(n,e,o);const c=e.length/3,p=o.length/4,R=c+Math.pow(2,n+1)-1,t=R+16,a=new Float32Array(t*8),y=this._generateIndices(c,p*6);let m=0;const h={};for(let x=0;x<c;x++){let u=3*x,d=e[u],l=e[u+1],i=e[u+2];const M=1/Math.sqrt(d*d+l*l+i*i);if(d*=M,l*=M,i*=M,u=8*x,a[u]=d*s,a[u+1]=l*s,a[u+2]=i*s,a[u+3]=d,a[u+4]=l,a[u+5]=i,a[u+6]=(Math.PI-Math.atan2(i,d))/(2*Math.PI),a[u+7]=Math.acos(l)/Math.PI,a[u+6]===0){const f=8*(c+m++);a.set(a.subarray(u,u+8),f),a[f+6]=1,h[u/8]=f/8}}let w=0;this._spherePoleIdx=0;for(let x=0;x<p;x++){const u=4*x;let d=o[u],l=o[u+1],i=o[u+2],M=o[u+3];const f=8*d,v=8*l,I=8*i,P=8*M;a[f+2]+a[v+2]+a[I+2]<0&&(a[f+6]===0&&(d=h[d]),a[v+6]===0&&(l=h[l]),a[I+6]===0&&(i=h[i]),a[P+6]===0&&(M=h[M])),y[w]=d,y[w+1]=l,y[w+2]=i,this._generateAndReplacePoleUV(y,a,w,R),y[w+3]=d,y[w+4]=i,y[w+5]=M,this._generateAndReplacePoleUV(y,a,w+3,R),w+=6}const g=new q;return g.min.set(-s,-s,-s),g.max.set(s,s,s),{indices:y,vertices:a,bounds:g}}static _generateAndReplacePoleUV(s,n,e,o){const c=n[8*s[e]+7];if(c===0||c===1){const p=8*s[e],R=8*(o+this._spherePoleIdx);n.set(n.subarray(p,p+8),R),n[R+6]=.5*(n[p+6]+n[8*s[e+1]+6]+n[8*s[e+2]+6]-.5),s[e]=o+this._spherePoleIdx++}}static _subdiveCatmullClark(s,n,e){const o=new Map,c=new Array;n.set(this._sphereSeedPositions),e.set(this._sphereSeedCells);for(let p=0;p<s;p++){const R=6*Math.pow(4,p),t=4*R+2;o.clear(),c.length=0;for(let w=0;w<R;w++){const g=c[w]={facePoint:new it,adjacentEdges:new Array(4)};for(let x=0;x<4;x++){const u=3*e[4*w+x];g.facePoint.x+=.25*n[u],g.facePoint.y+=.25*n[u+1],g.facePoint.z+=.25*n[u+2]}for(let x=0;x<4;x++){const u=e[4*w+x],d=e[4*w+(x+1)%4],l=Math.min(u,d)*t+Math.max(u,d);if(!o.has(l)){const v={edgePoint:new it,edgePointIndex:void 0},I=3*u,P=3*d;v.edgePoint.set(.25*(n[I]+n[P]),.25*(n[I+1]+n[P+1]),.25*(n[I+2]+n[P+2])),o.set(l,v)}const i=o.get(l);g.adjacentEdges[x]=i;const M=i.edgePoint,f=g.facePoint;M.x+=.25*f.x,M.y+=.25*f.y,M.z+=.25*f.z}}const a=R+2,y=a+R;let m=0;this._sphereEdgeIdx=0;const h=e.slice(0,4*R);for(let w=0;w<R;w++){const g=c[w];g.facePoint.copyToArray(n,3*(a+w));const x=a+w;let u,d,l;for(let i=0;i<4;i++){const M=h[m++];switch(i){case 0:{const v=g.adjacentEdges[i%4],I=g.adjacentEdges[(i+3)%4];d=this._calculateEdgeIndex(n,v,y),u=this._calculateEdgeIndex(n,I,y),l=u;break}case 1:case 2:{const v=g.adjacentEdges[i%4];u=d,d=this._calculateEdgeIndex(n,v,y);break}case 3:{u=d,d=l;break}}const f=4*(4*w+i);e[f]=M,e[f+1]=d,e[f+2]=x,e[f+3]=u}}}}static _calculateEdgeIndex(s,n,e){if(n.edgePointIndex!==void 0)return n.edgePointIndex;{n.edgePoint.copyToArray(s,3*(e+this._sphereEdgeIdx));const o=e+this._sphereEdgeIdx++;return n.edgePointIndex=o,o}}};A(z,"_tempVec30",new it),A(z,"_sphereSeedPositions",new Float32Array([-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,-1])),A(z,"_sphereSeedCells",new Float32Array([0,1,2,3,3,2,4,5,5,4,6,7,7,0,3,5,7,6,1,0,6,4,2,1])),A(z,"_sphereEdgeIdx",0),A(z,"_spherePoleIdx",0);let k=z;function Ft(){return[new at(ct.Position,0,rt.Vector3,0),new at(ct.Normal,12,rt.Vector3,0),new at(ct.UV,24,rt.Vector2,0)]}function lt(C,s,{vertices:n,indices:e,bounds:o}){const c=new dt(s,mt.VertexBuffer,n,ft.Static),p=new dt(s,mt.IndexBuffer,e,ft.Static);C.setVertexElements(Ft()),C.setIndexBufferBinding(p,e instanceof Uint16Array?yt.UInt16:yt.UInt32),C.setVertexBufferBinding(c,32),C.bounds=o,C.subMesh?C.subMesh.count=e.length:C.addSubMesh(0,e.length)}class St extends It{constructor(s,n,e){super(s),this.engine=n,this.generateData=e}restoreContent(){lt(this.resource,this.engine,this.generateData())}}function Ot(C,s,n){s.resourceManager.addContentRestorer(new St(C,s,n))}function jt(C,s,n){const e=new Pt(C,s);return Ot(e,C,n),lt(e,C,n()),e}var Ut=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,_=(C,s,n,e)=>{for(var o=e>1?void 0:e?zt(s,n):s,c=C.length-1,p;c>=0;c--)(p=C[c])&&(o=(e?p(s,n,o):p(o))||o);return e&&o&&Ut(s,n,o),o},bt=(C=>(C.Sphere="sphere",C.Cuboid="cuboid",C.Plane="plane",C.Cylinder="cylinder",C.Torus="torus",C.Cone="cone",C.Capsule="capsule",C))(bt||{});const gt=C=>C.type==="sphere",ot=C=>C.type==="capsule",st=C=>C.type==="cone",pt=C=>C.type==="cuboid",G=C=>C.type==="cylinder",tt=C=>C.type==="torus",nt=C=>C.type==="plane",N=C=>C._updateData();let H=class extends At{constructor(s){super(s);A(this,"type","sphere");A(this,"sphereRadius",.5);A(this,"sphereStep",3);A(this,"capsuleRadius",.5);A(this,"capsuleHeight",2);A(this,"capsuleRadialSegments",6);A(this,"capsuleHeightSegments",1);A(this,"coneRadius",.5);A(this,"coneHeight",2);A(this,"coneRadialSegment",20);A(this,"coneHeightSegment",1);A(this,"cuboidWidth",1);A(this,"cuboidHeight",1);A(this,"cuboidDepth",1);A(this,"cylinderRadiusTop",.5);A(this,"cylinderRadiusBottom",.5);A(this,"cylinderHeight",2);A(this,"cylinderRadialSegment",20);A(this,"cylinderHeightSegment",1);A(this,"planeWidth",1);A(this,"planeHeight",1);A(this,"planeHorizontalSegments",1);A(this,"planeVerticalSegments",1);A(this,"torusRadius",.5);A(this,"torusTubeRadius",.1);A(this,"torusRadialSegments",30);A(this,"torusTubularSegments",30);A(this,"torusArc",360)}async initByCreation(s,n,e){const c=(typeof(e==null?void 0:e.primitiveType)=="string"?e.primitiveType:"").trim().toLowerCase();return{type:{sphere:"sphere",cube:"cuboid",cuboid:"cuboid",cylinder:"cylinder",plane:"plane",capsule:"capsule",cone:"cone",torus:"torus"}[c]??"sphere"}}async initByMain(s,n){const e=JSON.parse(await s.text()),o=this.engine,c=e.type;for(const y in e)this[y]=e[y];const p=jt(o,c,()=>this._generateDataByType(this.type));this.bindEngineObject(p);const R=new Ht(o,c&&c.charAt(0).toUpperCase()+c.slice(1)),t=R.addComponent(_t);t.mesh=this.engineObject;const a=await this.root.assetStore.getAssetByRef({refId:"0000200"});t.setMaterial(a.engineObject),this.setDragTempEntity(R)}instantiate(){const s=this.root.sceneStore.createEntity(),n=this.getDragTempEntity();return s.initByEngineObject(n.clone()),s}_updateData(){const s=this.engine,n=this._engineObject;lt(n,s,this._generateDataByType(this.type))}_generateDataByType(s){switch(s){case"sphere":return k.createSubdivisionSurfaceSphereData(this.sphereRadius,this.sphereStep);case"capsule":return k.createCapsule(this.capsuleRadius,this.capsuleHeight,this.capsuleRadialSegments,this.capsuleHeightSegments);case"cone":return k.createCone(this.coneRadius,this.coneHeight,this.coneRadialSegment,this.coneHeightSegment);case"cuboid":return k.createCuboid(this.cuboidWidth,this.cuboidHeight,this.cuboidDepth);case"cylinder":return k.createCylinder(this.cylinderRadiusTop,this.cylinderRadiusBottom,this.cylinderHeight,this.cylinderRadialSegment,this.cylinderHeightSegment);case"plane":return k.createPlane(this.planeWidth,this.planeHeight,this.planeHorizontalSegments,this.planeVerticalSegments);case"torus":return k.createTorus(this.torusRadius,this.torusTubeRadius,this.torusRadialSegments,this.torusTubularSegments,this.torusArc);default:return k.createSphere(this.sphereRadius,this.sphereStep)}}};_([B({label:b("asset.primitive-mesh.type.label"),info:b("asset.primitive-mesh.type.info"),type:T.Select,value:"sphere",options:Bt(bt),onChange(C){C._updateData()}}),V()],H.prototype,"type",2);_([B({label:b("asset.primitive-mesh.sphere.radius.label"),info:b("asset.primitive-mesh.sphere.radius.info"),type:T.Number,min:0,dragStep:.1,when:gt,onChange:N}),V()],H.prototype,"sphereRadius",2);_([B({label:b("asset.primitive-mesh.sphere.step.label"),info:b("asset.primitive-mesh.sphere.step.info"),type:T.Number,min:1,dragStep:1,when:gt,onChange:N}),V()],H.prototype,"sphereStep",2);_([B({label:b("asset.primitive-mesh.capsule.radius.label"),info:b("asset.primitive-mesh.capsule.radius.info"),type:T.Number,min:0,dragStep:.1,when:ot,onChange:N}),V()],H.prototype,"capsuleRadius",2);_([B({label:b("asset.primitive-mesh.capsule.height.label"),info:b("asset.primitive-mesh.capsule.height.info"),type:T.Number,min:0,dragStep:.1,when:ot,onChange:N}),V()],H.prototype,"capsuleHeight",2);_([B({label:b("asset.primitive-mesh.capsule.radial-segments.label"),info:b("asset.primitive-mesh.capsule.radial-segments.info"),type:T.Number,min:1,dragStep:1,when:ot,onChange:N}),V()],H.prototype,"capsuleRadialSegments",2);_([B({label:b("asset.primitive-mesh.capsule.height-segments.label"),info:b("asset.primitive-mesh.capsule.height-segments.info"),type:T.Number,min:1,dragStep:1,when:ot,onChange:N}),V()],H.prototype,"capsuleHeightSegments",2);_([B({label:b("asset.primitive-mesh.cone.radius.label"),info:b("asset.primitive-mesh.cone.radius.info"),type:T.Number,min:0,dragStep:.1,when:st,onChange:N}),V()],H.prototype,"coneRadius",2);_([B({label:b("asset.primitive-mesh.cone.height.label"),info:b("asset.primitive-mesh.cone.height.info"),type:T.Number,min:0,dragStep:.1,when:st,onChange:N}),V()],H.prototype,"coneHeight",2);_([B({label:b("asset.primitive-mesh.cone.radial-segments.label"),info:b("asset.primitive-mesh.cone.radial-segments.info"),type:T.Number,min:1,dragStep:1,when:st,onChange:N}),V()],H.prototype,"coneRadialSegment",2);_([B({label:b("asset.primitive-mesh.cone.height-segments.label"),info:b("asset.primitive-mesh.cone.height-segments.info"),type:T.Number,min:1,dragStep:1,when:st,onChange:N}),V()],H.prototype,"coneHeightSegment",2);_([B({label:b("asset.primitive-mesh.cuboid.width.label"),info:b("asset.primitive-mesh.cuboid.width.info"),type:T.Number,min:0,dragStep:.1,when:pt,onChange:N}),V()],H.prototype,"cuboidWidth",2);_([B({label:b("asset.primitive-mesh.cuboid.height.label"),info:b("asset.primitive-mesh.cuboid.height.info"),type:T.Number,min:0,dragStep:.1,when:pt,onChange:N}),V()],H.prototype,"cuboidHeight",2);_([B({label:b("asset.primitive-mesh.cuboid.depth.label"),info:b("asset.primitive-mesh.cuboid.depth.info"),type:T.Number,min:0,dragStep:.1,when:pt,onChange:N}),V()],H.prototype,"cuboidDepth",2);_([B({label:b("asset.primitive-mesh.cylinder.radius-top.label"),info:b("asset.primitive-mesh.cylinder.radius-top.info"),type:T.Number,min:0,dragStep:.1,when:G,onChange:N}),V()],H.prototype,"cylinderRadiusTop",2);_([B({label:b("asset.primitive-mesh.cylinder.radius-bottom.label"),info:b("asset.primitive-mesh.cylinder.radius-bottom.info"),type:T.Number,min:0,dragStep:.1,when:G,onChange:N}),V()],H.prototype,"cylinderRadiusBottom",2);_([B({label:b("asset.primitive-mesh.cylinder.height.label"),info:b("asset.primitive-mesh.cylinder.height.info"),type:T.Number,min:0,dragStep:.1,when:G,onChange:N}),V()],H.prototype,"cylinderHeight",2);_([B({label:b("asset.primitive-mesh.cylinder.radial-segments.label"),info:b("asset.primitive-mesh.cylinder.radial-segments.info"),type:T.Number,min:1,dragStep:1,when:G,onChange:N}),V()],H.prototype,"cylinderRadialSegment",2);_([B({label:b("asset.primitive-mesh.cylinder.height-segments.label"),info:b("asset.primitive-mesh.cylinder.height-segments.info"),type:T.Number,min:1,dragStep:1,when:G,onChange:N}),V()],H.prototype,"cylinderHeightSegment",2);_([B({label:b("asset.primitive-mesh.plane.width.label"),info:b("asset.primitive-mesh.plane.width.info"),type:T.Number,min:0,dragStep:.1,when:nt,onChange:N}),V()],H.prototype,"planeWidth",2);_([B({label:b("asset.primitive-mesh.plane.height.label"),info:b("asset.primitive-mesh.plane.height.info"),type:T.Number,min:0,dragStep:.1,when:nt,onChange:N}),V()],H.prototype,"planeHeight",2);_([B({label:b("asset.primitive-mesh.plane.horizontal-segments.label"),info:b("asset.primitive-mesh.plane.horizontal-segments.info"),type:T.Number,min:1,dragStep:1,when:nt,onChange:N}),V()],H.prototype,"planeHorizontalSegments",2);_([B({label:b("asset.primitive-mesh.plane.vertical-segments.label"),info:b("asset.primitive-mesh.plane.vertical-segments.info"),type:T.Number,min:1,dragStep:1,when:nt,onChange:N}),V()],H.prototype,"planeVerticalSegments",2);_([B({label:b("asset.primitive-mesh.torus.radius.label"),info:b("asset.primitive-mesh.torus.radius.info"),type:T.Number,min:0,dragStep:.1,when:tt,onChange:N}),V()],H.prototype,"torusRadius",2);_([B({label:b("asset.primitive-mesh.torus.tube-radius.label"),info:b("asset.primitive-mesh.torus.tube-radius.info"),type:T.Number,min:0,dragStep:.1,when:tt,onChange:N}),V()],H.prototype,"torusTubeRadius",2);_([B({label:b("asset.primitive-mesh.torus.radial-segments.label"),info:b("asset.primitive-mesh.torus.radial-segments.info"),type:T.Number,min:1,dragStep:1,when:tt,onChange:N}),V()],H.prototype,"torusRadialSegments",2);_([B({label:b("asset.primitive-mesh.torus.tubular-segments.label"),info:b("asset.primitive-mesh.torus.tubular-segments.info"),type:T.Number,min:1,dragStep:1,when:tt,onChange:N}),V()],H.prototype,"torusTubularSegments",2);_([B({label:b("asset.primitive-mesh.torus.arc.label"),info:b("asset.primitive-mesh.torus.arc.info"),type:T.Number,min:0,dragStep:.1,when:tt,onChange:N}),V()],H.prototype,"torusArc",2);H=_([Tt({type:"PrimitiveMesh",label:b("asset.primitive-mesh.title"),loaderType:"PrimitiveMesh",importMenuConfig:{type:Vt.Add},defaultName:"Mesh",dragLayer:Nt.PrimitiveMesh,thumbnail:Dt,async bundle({content:C}){return{content:new Blob([Et(await C.text())])}}})],H);export{H as PrimitiveMesh};
@@ -0,0 +1 @@
1
+ import{C as n,z as g,T as A,V as C,B as I,R as h,F as x,t as R,G as y,H as m,I as P,J as E,K as B,N as V}from"./index-aec7e708.js";import"./index-e8a45e82.js";var w=(e=>(e.Vector2="Vector2",e.Vector3="Vector3",e.Vector4="Vector4",e.Color="Color",e.Float="Float",e.Texture="Texture",e.Boolean="Boolean",e.Integer="Integer",e))(w||{});function t(e,r){return e.indexOf(r)!==-1}function u(e,r,a){const o=r.engineObject.shaderData;a==="enable"?o.enableMacro(e):o.disableMacro(e)}async function l(e,r,a,o,d){var T;const i=e.engineObject.shaderData;let s;const p=r.toString();switch(o){case n.Slider:case n.Number:case"Float":i.setFloat(p,a);break;case n.Toggle:case n.Boolean:case n.Select:case"Integer":i.setInt(p,Number(a));break;case n.AssetPicker:case"Texture":if(a){const c=await e.root.assetStore.getAssetByRef(a);if(c){const b=c.engineObject;i.setTexture(p,b),d&&u(d,e,"enable")}else i.setTexture(p,null),d&&u(d,e,"disable"),console.error(`${p} in ${e.name} is missing.`)}else i.setTexture(p,null),d&&u(d,e,"disable");break;case n.Vector2:case"Vector2":s=i.getVector2(p),a==null?i.setVector2(p,a):s?(s.x=a.x,s.y=a.y):i.setVector2(p,new V(a.x,a.y));break;case n.Vector3:case"Vector3":s=i.getVector3(p),a==null?i.setVector3(p,a):s?(s.x=a.x,s.y=a.y,s.z=a.z):i.setVector3(p,new B(a.x,a.y,a.z));break;case n.Vector4:case"Vector4":s=i.getVector4(p),a==null?i.setVector4(p,a):s?(s.x=a.x,s.y=a.y,s.z=a.z,s.w=a.w):i.setVector4(p,new C(a.x,a.y,a.z,a.w));break;case n.Color:case"Color":{s=i.getColor(p);let{r:c,g:b,b:S}=a;const{a:_,intensity:f=1}=a;c*=f,b*=f,S*=f,a==null?i.setColor(p,new I(c,b,S,_)):s?(s.r=c,s.g=b,s.b=S,s.a=_):i.setColor(p,new I(c,b,S,_));break}}(T=e.updateThumbnail)==null||T.call(e)}const M=[{prop:"material_IOR",defaultValue:1.5,bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.ior",type:n.Slider,min:1,max:5,dragStep:.01,group:"Base"},engineType:"Float"},{prop:"material_BaseColor",defaultValue:{r:1,g:1,b:1,a:1},bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["Unlit","BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.base-color",type:n.Color,group:"Base"},engineType:"Color"},{prop:"material_BaseTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_BASETEXTURE")},bundleType:"shaderData",when:t.bind(null,["Unlit","BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.base-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Base"},engineType:"Texture"},{prop:"material_Metal",defaultValue:1,bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.metallic",type:n.Slider,min:0,max:1,dragStep:.01,group:"Metal roughness"},engineType:"Float"},{prop:"material_Roughness",defaultValue:1,bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.roughness",type:n.Slider,min:0,max:1,dragStep:.01,group:"Metal roughness"},engineType:"Float"},{prop:"material_RoughnessMetallicTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_ROUGHNESS_METALLIC_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.roughness-metallic-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Metal roughness"},engineType:"Texture"},{prop:"material_SpecularIntensity",defaultValue:1,bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.pbr-specular-intensity",type:n.Slider,min:0,max:2,dragStep:.01,group:"Specular"},engineType:"Float"},{prop:"material_SpecularColor",defaultValue:{r:1,g:1,b:1,a:1},bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.pbr-specular-color",type:n.Color,group:"Specular"}},{prop:"material_SpecularIntensityTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_SPECULAR_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.pbr-specular-intensity-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Specular"},engineType:"Texture"},{prop:"material_SpecularColorTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_SPECULAR_COLOR_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.pbr-specular-color-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Specular"},engineType:"Texture"},{prop:"material_AnisotropyInfo",defaultValue:{x:1,y:0,z:0},bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Vector3)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.anisotropy-info",type:n.Vector3,group:"Anisotropy",hide:!0},engineType:"Vector3"},{prop:"anisotropy",defaultValue:0,bundleType:"other",async onChange(e,r,a){const o=e.material_AnisotropyInfo;a===0?u("MATERIAL_ENABLE_ANISOTROPY",e,"disable"):u("MATERIAL_ENABLE_ANISOTROPY",e,"enable"),o.z=a,e.material_AnisotropyInfo=o,await l(e,"material_AnisotropyInfo",o,n.Vector3)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.anisotropy",type:n.Slider,min:0,max:1,dragStep:.01,group:"Anisotropy"},setPath:"shaderData.getVector3('material_AnisotropyInfo').z",getPath:"shaderData.getVector3('material_AnisotropyInfo').z",valueType:g.Float},{prop:"anisotropyRotation",defaultValue:0,bundleType:"other",async onChange(e,r,a){const o=e.material_AnisotropyInfo,d=Math.PI/180*a;o.x=Math.cos(d),o.y=Math.sin(d),e.material_AnisotropyInfo=o,await l(e,"material_AnisotropyInfo",o,n.Vector3)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.anisotropy-rotation",type:n.Slider,min:0,max:360,dragStep:1,group:"Anisotropy"}},{prop:"material_AnisotropyTexture",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_ANISOTROPY_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.anisotropy-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Anisotropy"},engineType:"Texture"},{prop:"material_NormalTexture",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_NORMALTEXTURE")},bundleType:"shaderData",when:t.bind(null,["BlinnPhong","PBR","PbrSpecular"]),uiInfo:{label:"shader.material.normal-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Normal"},engineType:"Texture"},{prop:"material_NormalIntensity",defaultValue:1,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["BlinnPhong","PBR","PbrSpecular"]),uiInfo:{label:"shader.material.normal-intensity",type:n.Slider,min:0,max:5,dragStep:.1,group:"Normal"},engineType:"Float"},{prop:"material_EmissiveColor",defaultValue:{r:0,g:0,b:0,a:1,intensity:1},bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.emissive-color",type:n.Color,mode:"hdr",group:"Emissive"}},{prop:"material_EmissiveTexture",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_EMISSIVETEXTURE")},bundleType:"shaderData",when:t.bind(null,["BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.emissive-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Emissive"},engineType:"Texture"},{prop:"material_SpecularColor",defaultValue:{r:1,g:1,b:1,a:1},bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["BlinnPhong"]),uiInfo:{label:"shader.material.specular-color",type:n.Color,group:"Blinn Phong"}},{prop:"material_SpecularTexture",bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_SPECULAR_TEXTURE")},when:t.bind(null,["BlinnPhong"]),uiInfo:{label:"shader.material.specular-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Blinn Phong"},engineType:"Texture"},{prop:"material_Shininess",defaultValue:16,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["BlinnPhong"]),uiInfo:{label:"shader.material.shininess",type:n.Slider,min:0,max:100,dragStep:1,group:"Blinn Phong"},engineType:"Float"},{prop:"material_OcclusionTexture",bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_OCCLUSION_TEXTURE")},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.occlusion-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Occlusion"},engineType:"Texture"},{prop:"material_OcclusionIntensity",defaultValue:1,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.occlusion-intensity",type:n.Slider,min:0,max:5,dragStep:.1,group:"Occlusion"},engineType:"Float"},{prop:"material_OcclusionTextureCoord",defaultValue:A.UV0,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.occlusion-texture-coord",type:n.Select,value:A.UV0,options:[{label:"shader.material.uv.uv0",value:A.UV0},{label:"shader.material.uv.uv1",value:A.UV1}],group:"Occlusion"},engineType:"Float"},{prop:"material_ClearCoat",defaultValue:0,bundleType:"other",async onChange(e,r,a){l(e,r,a,n.Slider),a===0?u("MATERIAL_ENABLE_CLEAR_COAT",e,"disable"):u("MATERIAL_ENABLE_CLEAR_COAT",e,"enable")},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.clearcoat",type:n.Slider,min:0,max:1,dragStep:.01,group:"Clear coat"},engineType:"Float",setPath:"shaderData.setFloat('material_ClearCoat', $value)",getPath:"shaderData.getFloat('material_ClearCoat')",valueType:g.Float},{prop:"material_ClearCoatTexture",bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_CLEAR_COAT_TEXTURE")},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.clear-coat-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Clear coat"},engineType:"Texture"},{prop:"material_ClearCoatRoughness",defaultValue:0,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.clear-coat-roughness",type:n.Slider,min:0,max:1,dragStep:.01,group:"Clear coat"},engineType:"Float"},{prop:"material_ClearCoatRoughnessTexture",bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_CLEAR_COAT_ROUGHNESS_TEXTURE")},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.clear-coat-roughness-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Clear coat"},engineType:"Texture"},{prop:"material_ClearCoatNormalTexture",bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_CLEAR_COAT_NORMAL_TEXTURE")},when:t.bind(null,["PBR","PbrSpecular"]),uiInfo:{label:"shader.material.clear-coat-normal-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Clear coat"},engineType:"Texture"},{prop:"material_IridescenceInfo",defaultValue:{x:0,y:1.3,z:100,w:400},bundleType:"shaderData",async onChange(e,r,a){e.iridescence=a.x,e.iridescenceIOR=a.y,e.iridescenceRange.x=a.z,e.iridescenceRange.y=a.w},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.iridescence",type:n.Vector4,group:"Iridescence",hide:!0},engineType:"Vector4"},{prop:"iridescence",defaultValue:0,bundleType:"other",async onChange(e,r,a){const o=e.engineObject.shaderData.getVector4("material_IridescenceInfo");o?(o.x=a,l(e,"material_IridescenceInfo",o,n.Vector4)):l(e,"material_IridescenceInfo",new C(a,1.3,100,400),n.Vector4),a?u("MATERIAL_ENABLE_IRIDESCENCE",e,"enable"):u("MATERIAL_ENABLE_IRIDESCENCE",e,"disable")},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.iridescence",type:n.Slider,min:0,max:1,dragStep:.01,group:"Iridescence"},setPath:"shaderData.getVector4('material_IridescenceInfo').x",getPath:"shaderData.getVector4('material_IridescenceInfo').x",valueType:g.Float},{prop:"iridescenceIOR",defaultValue:1.3,bundleType:"other",async onChange(e,r,a){const o=e.engineObject.shaderData.getVector4("material_IridescenceInfo");o?(o.y=a,l(e,"material_IridescenceInfo",o,n.Vector4)):l(e,"material_IridescenceInfo",new C(0,a,100,400),n.Vector4)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.iridescence-ior",type:n.Slider,min:1,max:5,dragStep:.01,group:"Iridescence"},setPath:"shaderData.getVector4('material_IridescenceInfo').y",getPath:"shaderData.getVector4('material_IridescenceInfo').y",valueType:g.Float},{prop:"iridescenceRange",defaultValue:{x:100,y:400},bundleType:"other",async onChange(e,r,a){const o=e.engineObject.shaderData.getVector4("material_IridescenceInfo");o?(o.z=a.x,o.w=a.y,l(e,"material_IridescenceInfo",o,n.Vector4)):l(e,"material_IridescenceInfo",new C(0,1.3,a.x,a.y),n.Vector4)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.iridescence-range",type:n.Vector2,group:"Iridescence"},engineType:"Vector2"},{prop:"material_IridescenceThicknessTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_IRIDESCENCE_THICKNESS_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.iridescence-thickness-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Iridescence"},engineType:"Texture"},{prop:"material_IridescenceTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_IRIDESCENCE_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.iridescence-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Iridescence"},engineType:"Texture"},{prop:"material_SheenColor",defaultValue:{r:0,g:0,b:0,a:1},bundleType:"shaderData",async onChange(e,r,a){if(e.sheenIntensity===1){const o=e.sheenColor;o.r=a.r,o.g=a.g,o.b=a.b}},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.sheen-color",type:n.Color,group:"Sheen",hide:!0},engineType:"Color"},{prop:"sheenColor",defaultValue:{r:0,g:0,b:0,a:1},bundleType:"other",async onChange(e,r,a){const o=e.engineObject.shaderData.getColor("material_SheenColor"),d=e.sheenIntensity??1,i=a.r*d,s=a.g*d,p=a.b*d;i+s+p>0?u("MATERIAL_ENABLE_SHEEN",e,"enable"):u("MATERIAL_ENABLE_SHEEN",e,"disable"),o?(o.set(i,s,p,a.a),l(e,"material_SheenColor",o,n.Color)):l(e,"material_SheenColor",new I(i,s,p,a.a),n.Color)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.sheen-color",type:n.Color,group:"Sheen"}},{prop:"sheenIntensity",defaultValue:1,bundleType:"other",async onChange(e,r,a){const o=e.engineObject.shaderData.getColor("material_SheenColor"),d=e.sheenColor,i=a,s=d.r*i,p=d.g*i,T=d.b*i,c=d.a;s+p+T>0?u("MATERIAL_ENABLE_SHEEN",e,"enable"):u("MATERIAL_ENABLE_SHEEN",e,"disable"),o?(o.set(s,p,T,c),l(e,"material_SheenColor",o,n.Color)):l(e,"material_SheenColor",new I(s,p,T,c),n.Color)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.sheen-intensity",type:n.Slider,min:0,max:1,dragStep:.01,group:"Sheen"}},{prop:"material_SheenRoughness",defaultValue:0,bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.sheen-roughness",type:n.Slider,min:0,max:1,dragStep:.01,group:"Sheen"},engineType:"Float"},{prop:"material_SheenTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_SHEEN_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.sheen-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Sheen"},engineType:"Texture"},{prop:"material_SheenRoughnessTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_SHEEN_ROUGHNESS_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.sheen-roughness-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Sheen"},engineType:"Texture"},{prop:"material_Transmission",defaultValue:0,bundleType:"shaderData",async onChange(e,r,a){a?(u("MATERIAL_ENABLE_TRANSMISSION",e,"enable"),e.setRenderQueueType(h.Transparent)):(u("MATERIAL_ENABLE_TRANSMISSION",e,"disable"),e.isTransparent?e.setRenderQueueType(h.Transparent):e.material_AlphaCutoff?e.setRenderQueueType(h.AlphaTest):e.setRenderQueueType(h.Opaque)),l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.transmission",type:n.Slider,min:0,max:1,dragStep:.01,group:"Transmission"},engineType:"Float"},{prop:"material_TransmissionTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_TRANSMISSION_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.transmission-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Transmission"},engineType:"Texture"},{prop:"material_Thickness",defaultValue:0,bundleType:"shaderData",async onChange(e,r,a){a?u("MATERIAL_HAS_THICKNESS",e,"enable"):u("MATERIAL_HAS_THICKNESS",e,"disable"),l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.transmission-thickness",type:n.Slider,min:0,max:5,dragStep:.01,group:"Transmission"},engineType:"Float"},{prop:"material_ThicknessTexture",async onChange(e,r,a){return l(e,r,a,n.AssetPicker,"MATERIAL_HAS_THICKNESS_TEXTURE")},bundleType:"shaderData",when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.transmission-thickness-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Transmission"},engineType:"Texture"},{prop:"refractionMode",defaultValue:x.Planar,bundleType:"other",async onChange(e,r,a){e.engineObject.shaderData.enableMacro("REFRACTION_MODE",a.toString())},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.refraction-mode",type:n.Select,options:R(x),group:"Transmission"}},{prop:"material_AttenuationColor",defaultValue:{r:1,g:1,b:1,a:1},bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.attenuation-color",type:n.Color,group:"Transmission"},engineType:"Color"},{prop:"material_AttenuationDistance",defaultValue:0,bundleType:"shaderData",async onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["PBR"]),uiInfo:{label:"shader.material.attenuation-distance",type:n.Slider,min:0,max:5,dragStep:.01,group:"Transmission"},engineType:"Float"},{prop:"u_lightMapTexture",bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.AssetPicker,"LIGHTMAP_TEXTURE")},when:t.bind(null,["bake-pbr"]),uiInfo:{label:"shader.material.lightmap-texture",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape!=="Cube",group:"Base"},engineType:"Texture"},{prop:"u_lightMapIntensity",defaultValue:1,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when(e){return e==="bake-pbr"},uiInfo:{label:"shader.material.lightmap-intensity",type:n.Slider,min:0,max:10,dragStep:.1,when(e){return e==="bake-pbr"},group:"Base"},engineType:"Float"},{prop:"material_TintColor",defaultValue:{r:1,g:1,b:1,a:1},bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["SkyBox"]),uiInfo:{label:"shader.material.tint-color",type:n.Color,group:"Base"}},{prop:"material_Exposure",defaultValue:1,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["SkyBox","SkyProcedural"]),uiInfo:{label:"shader.material.exposure",type:n.Slider,min:0,max:8,dragStep:.1,group:"Base"},engineType:"Float"},{prop:"material_Rotation",defaultValue:0,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["SkyBox"]),uiInfo:{label:"shader.material.rotation",type:n.Slider,min:0,max:360,dragStep:1,group:"Base"},engineType:"Float"},{prop:"material_CubeTexture",bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.AssetPicker)},when:t.bind(null,["SkyBox"]),uiInfo:{label:"shader.material.texture-cube",type:n.AssetPicker,assetType:"Texture",customFilter:e=>e.shape==="Cube",group:"Base"},engineType:"Texture"},{prop:"sunMode",defaultValue:y.HighQuality,bundleType:"other",async onChange(e,r,a){switch(a){case y.HighQuality:u("MATERIAL_SUN_SIMPLE",e,"disable"),u("MATERIAL_SUN_HIGH_QUALITY",e,"enable");break;case y.Simple:u("MATERIAL_SUN_HIGH_QUALITY",e,"disable"),u("MATERIAL_SUN_SIMPLE",e,"enable");break;case y.None:u("MATERIAL_SUN_HIGH_QUALITY",e,"disable"),u("MATERIAL_SUN_SIMPLE",e,"disable");break;default:throw"SkyBoxProceduralMaterial: unknown sun value."}},when:t.bind(null,["SkyProcedural"]),uiInfo:{label:"shader.material.sun-mode",type:n.Select,options:R(y),group:"Base"}},{prop:"material_SunSize",defaultValue:.04,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["SkyProcedural"]),uiInfo:{label:"shader.material.sun-size",type:n.Slider,min:0,max:1,dragStep:.01,group:"Base"},engineType:"Float"},{prop:"material_SunSizeConvergence",defaultValue:5,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["SkyProcedural"]),uiInfo:{label:"shader.material.sun-size-convergence",type:n.Slider,min:0,max:20,dragStep:.1,group:"Base"},engineType:"Float"},{prop:"material_AtmosphereThickness",defaultValue:1,bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Slider)},when:t.bind(null,["SkyProcedural"]),uiInfo:{label:"shader.material.atmosphere-thickness",type:n.Slider,min:0,max:5,dragStep:.1,group:"Base"},engineType:"Float"},{prop:"material_SkyTint",defaultValue:{r:.21404114048223255,g:.21404114048223255,b:.21404114048223255,a:1},bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["SkyProcedural"]),uiInfo:{label:"shader.material.sky-tint",type:n.Color,group:"Base"},engineType:"Color"},{prop:"material_GroundTint",defaultValue:{r:.11216882039252905,g:.09988709277986121,b:.09520561068319185,a:1},bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Color)},when:t.bind(null,["SkyProcedural"]),uiInfo:{label:"shader.material.ground-tint",type:n.Color,group:"Base"},engineType:"Color"},{prop:"isTransparent",defaultValue:!1,bundleType:"other",async onChange(e,r,a){if(e.setBlendStateEnabled(a),e.setDepthWriteEnabled(!a),a?(e.setRenderQueueType(h.Transparent),u("MATERIAL_IS_TRANSPARENT",e,"enable")):(e.setRenderQueueType(e.material_AlphaCutoff?h.AlphaTest:h.Opaque),u("MATERIAL_IS_TRANSPARENT",e,"disable")),e.material_Transmission>0&&e.setRenderQueueType(h.Transparent),a)l(e,"material_ShadowCasterRenderQueue",h.AlphaTest,n.Number),l(e,"material_DepthOnlyRenderQueue",h.Transparent,n.Number);else{const d=e.material_AlphaCutoff?h.AlphaTest:h.Opaque;l(e,"material_ShadowCasterRenderQueue",d,n.Number),l(e,"material_DepthOnlyRenderQueue",d,n.Number)}},when:t.bind(null,["Unlit","BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.is-transparent",type:n.Toggle,group:"Common"}},{prop:"material_AlphaCutoff",defaultValue:0,bundleType:"shaderData",async onChange(e,r,a){const{shaderData:o}=e.engineObject,d=e.isTransparent;if(a){u("MATERIAL_IS_ALPHA_CUTOFF",e,"enable");const i=d?h.Transparent:h.AlphaTest;e.setRenderQueueType(i),o.setFloat("material_ShadowCasterRenderQueue",h.AlphaTest),o.setFloat("material_DepthOnlyRenderQueue",i)}else{u("MATERIAL_IS_ALPHA_CUTOFF",e,"disable");const i=d?h.Transparent:h.Opaque;e.setRenderQueueType(i);const s=d?h.AlphaTest:h.Opaque;o.setFloat("material_ShadowCasterRenderQueue",s),o.setFloat("material_DepthOnlyRenderQueue",i)}o.setFloat("material_AlphaCutoff",a),e.material_Transmission>0&&e.setRenderQueueType(h.Transparent)},when:t.bind(null,["Unlit","BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.alpha-cutoff",type:n.Slider,min:0,max:1,dragStep:.01,group:"Common"},engineType:"Float"},{prop:"renderFace",defaultValue:m.Front,bundleType:"other",async onChange(e,r,a){if(!["SkyBox","SkyProcedural"].includes(e.engineObject.shader.name))switch(a){case m.Front:e.setCullMode(P.Back);break;case m.Back:e.setCullMode(P.Front);break;case m.Double:e.setCullMode(P.Off);break}},when:t.bind(null,["Unlit","BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.render-face",type:n.Select,options:R(m),group:"Common"}},{prop:"blendMode",defaultValue:E.Normal,bundleType:"other",async onChange(e,r,a){e.setBlendMode(a)},when:t.bind(null,["Unlit","BlinnPhong","PBR","PbrSpecular","Particle","Trail"]),uiInfo:{label:"shader.material.blend-mode",type:n.Select,options:[{label:"shader.material.blend-mode-options.normal",value:E.Normal},{label:"shader.material.blend-mode-options.additive",value:E.Additive}],group:"Common"}},{prop:"material_TilingOffset",defaultValue:{x:1,y:1,z:0,w:0},bundleType:"shaderData",onChange(e,r,a){return l(e,r,a,n.Vector4)},when:t.bind(null,["Unlit","BlinnPhong","PBR","PbrSpecular"]),uiInfo:{label:"shader.material.tiling-offset",type:n.Vector4,group:"Common"},engineType:"Vector4"}];export{w as E,M as b,l as s};
@@ -1 +1 @@
1
- import{aH as n,aK as s,aT as o,aU as i,aD as t,aM as d,aJ as c,aV as g}from"./index-0a8702e2.js";import{M as h}from"./MaterialInspector-aec1248b.js";const m=n("div",{marginLeft:"5px"}),u=n(s,{borderRadius:"$3",padding:"$1_5",marginLeft:"-$1_5",marginRight:"-$0_5",marginBottom:"$1",color:"$gray11",cursor:"pointer",backgroundColor:"transparent",transition:"background-color 0.2s","&:hover":{backgroundColor:"$grayA3"},variants:{open:{true:{boxShadow:"inset 0 0 0 1px $colors$grayA3",backgroundColor:"$grayA5","&:hover":{backgroundColor:"$grayA5"}}}}});function x(r){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...r,children:t.jsx("path",{fill:"currentColor",d:"m12 17.4l-3.9 3.9q-.275.275-.7.275t-.7-.275t-.275-.7t.275-.7l3.875-3.875q.575-.575 1.425-.575t1.425.575L17.3 19.9q.275.275.275.7t-.275.7t-.7.275t-.7-.275zm0-10.8l3.9-3.9q.275-.275.7-.275t.7.275t.275.7t-.275.7l-3.875 3.875Q12.85 8.55 12 8.55t-1.425-.575L6.7 4.1q-.275-.275-.275-.7t.275-.7t.7-.275t.7.275z"})})}function p(r){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...r,children:t.jsx("path",{fill:"currentColor",d:"m12 19.15l3.875-3.875q.3-.3.7-.3t.7.3t.3.713t-.3.712l-3.85 3.875q-.575.575-1.425.575t-1.425-.575L6.7 16.7q-.3-.3-.288-.712t.313-.713t.713-.3t.712.3zm0-14.3L8.15 8.7q-.3.3-.7.288t-.7-.288q-.3-.3-.312-.712t.287-.713l3.85-3.85Q11.15 2.85 12 2.85t1.425.575l3.85 3.85q.3.3.288.713t-.313.712q-.3.275-.7.288t-.7-.288z"})})}const b=o(function(e){const{t:a}=i();return t.jsxs(u,{align:"v",justifyContent:"between",open:e.open,children:[t.jsxs(s,{align:"v",gap:"xs",children:[t.jsx("img",{src:e.thumbnailUrl,alt:a("mesh-renderer.material.thumbnail"),width:"20px",height:"20px"}),t.jsxs(m,{children:[a("mesh-renderer.material.title"),"(",e.name,")"]})]}),t.jsx(d,{size:"xs",variant:"subtle",children:e.open?t.jsx(x,{}):t.jsx(p,{})})]})}),f=r=>{const{materialAsset:e}=r,[a,l]=c.useState(!1);return t.jsx(g,{nesting:!0,title:t.jsx(b,{open:a,thumbnailUrl:e.thumbnailUrl,name:e.name}),defaultOpen:!1,open:a,onOpenChange:l,children:t.jsx(h,{asset:e})})};export{f as R};
1
+ import{aO as n,aP as s,aQ as o,aR as i,aS as t,aT as d,aU as c,aV as g}from"./index-aec7e708.js";import{M as h}from"./MaterialInspector-e8242674.js";const m=n("div",{marginLeft:"5px"}),u=n(s,{borderRadius:"$3",padding:"$1_5",marginLeft:"-$1_5",marginRight:"-$0_5",marginBottom:"$1",color:"$gray11",cursor:"pointer",backgroundColor:"transparent",transition:"background-color 0.2s","&:hover":{backgroundColor:"$grayA3"},variants:{open:{true:{boxShadow:"inset 0 0 0 1px $colors$grayA3",backgroundColor:"$grayA5","&:hover":{backgroundColor:"$grayA5"}}}}});function x(r){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...r,children:t.jsx("path",{fill:"currentColor",d:"m12 17.4l-3.9 3.9q-.275.275-.7.275t-.7-.275t-.275-.7t.275-.7l3.875-3.875q.575-.575 1.425-.575t1.425.575L17.3 19.9q.275.275.275.7t-.275.7t-.7.275t-.7-.275zm0-10.8l3.9-3.9q.275-.275.7-.275t.7.275t.275.7t-.275.7l-3.875 3.875Q12.85 8.55 12 8.55t-1.425-.575L6.7 4.1q-.275-.275-.275-.7t.275-.7t.7-.275t.7.275z"})})}function p(r){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",...r,children:t.jsx("path",{fill:"currentColor",d:"m12 19.15l3.875-3.875q.3-.3.7-.3t.7.3t.3.713t-.3.712l-3.85 3.875q-.575.575-1.425.575t-1.425-.575L6.7 16.7q-.3-.3-.288-.712t.313-.713t.713-.3t.712.3zm0-14.3L8.15 8.7q-.3.3-.7.288t-.7-.288q-.3-.3-.312-.712t.287-.713l3.85-3.85Q11.15 2.85 12 2.85t1.425.575l3.85 3.85q.3.3.288.713t-.313.712q-.3.275-.7.288t-.7-.288z"})})}const b=o(function(e){const{t:a}=i();return t.jsxs(u,{align:"v",justifyContent:"between",open:e.open,children:[t.jsxs(s,{align:"v",gap:"xs",children:[t.jsx("img",{src:e.thumbnailUrl,alt:a("mesh-renderer.material.thumbnail"),width:"20px",height:"20px"}),t.jsxs(m,{children:[a("mesh-renderer.material.title"),"(",e.name,")"]})]}),t.jsx(d,{size:"xs",variant:"subtle",children:e.open?t.jsx(x,{}):t.jsx(p,{})})]})}),f=r=>{const{materialAsset:e}=r,[a,l]=c.useState(!1);return t.jsx(g,{nesting:!0,title:t.jsx(b,{open:a,thumbnailUrl:e.thumbnailUrl,name:e.name}),defaultOpen:!1,open:a,onOpenChange:l,children:t.jsx(h,{asset:e})})};export{f as R};
@@ -0,0 +1 @@
1
+ var C=Object.defineProperty;var M=(s,t,e)=>t in s?C(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var h=(s,t,e)=>(M(s,typeof t!="symbol"?t+"":t,e),e);import{$ as R,a9 as y,bJ as l,j as x,bI as v,bK as S,p as b,C as m,m as f,n as G,e as F,o as O,q as D}from"./index-aec7e708.js";import"./index-e8a45e82.js";import{A as B}from"./AssetViewer-64cd01fa.js";class A{static update(t,e){var o;this.spriteEntity?this.spriteEntity.isActive=!0:this.initScene(t),this.entity=this.spriteEntity;const i=(o=e.engineObject)==null?void 0:o.getColorTexture(0);i&&(this.sprite.texture=i)}static clear(){this.spriteEntity&&(this.spriteEntity.isActive=!1)}static initScene(t){const e=this.spriteEntity=t.createChild("rt-thumbnail");this.spriteRenderer=e.addComponent(R),this.spriteRenderer.sprite=this.sprite=new y(t.engine)}}h(A,"entity"),h(A,"spriteEntity"),h(A,"spriteRenderer"),h(A,"sprite");class j extends B{constructor(){super(...arguments);h(this,"_asset");h(this,"_sprite");h(this,"_onRebuild",()=>{var e;if(this._sprite&&((e=this._asset)!=null&&e.engineObject)){const i=this._asset.engineObject.getColorTexture(0);i&&(this._sprite.texture=i)}})}setViewAsset(e,i){var _;this._asset=e;const o=i.engine,r=i.createChild("rt_preview"),n=(_=e.engineObject)==null?void 0:_.getColorTexture(0),a=new y(o,n),c=r.addComponent(R);c.sprite=a,this._sprite=a,this._entity=r,e.onRebuild(this._onRebuild)}stopViewAsset(){super.stopViewAsset(),this._asset&&this._asset.offRebuild(this._onRebuild),this._asset=null,this._sprite=null}getDescription(e){return`${e.width}x${e.height}`}}var E=Object.defineProperty,V=Object.getOwnPropertyDescriptor,g=(s,t,e,i)=>{for(var o=i>1?void 0:i?V(t,e):t,r=s.length-1,n;r>=0;r--)(n=s[r])&&(o=(i?n(t,e,o):n(o))||o);return i&&o&&E(t,e,o),o};const I=[{label:"R8G8B8A8",value:l.R8G8B8A8},{label:"R8G8B8",value:l.R8G8B8},{label:"R16G16B16A16",value:l.R16G16B16A16},{label:"R32G32B32A32",value:l.R32G32B32A32},{label:"R11G11B10_UFloat",value:l.R11G11B10_UFloat}],w=-1,L=[{label:"None",value:w},{label:"Depth",value:l.Depth},{label:"Depth16",value:l.Depth16},{label:"Depth24",value:l.Depth24},{label:"Depth32",value:l.Depth32},{label:"Depth24Stencil8",value:l.Depth24Stencil8},{label:"Depth32Stencil8",value:l.Depth32Stencil8}],U=[{label:"1",value:1},{label:"2",value:2},{label:"4",value:4},{label:"8",value:8}];let u=class extends x{constructor(){super(...arguments);h(this,"_onRebuildCallbacks",[]);h(this,"width",512);h(this,"height",512);h(this,"colorFormat",l.R8G8B8A8);h(this,"depthFormat",l.Depth);h(this,"antiAliasing",1);h(this,"autoGenerateMipmaps",!0)}registerThumbnail(){}onRebuild(t){this._onRebuildCallbacks.push(t)}offRebuild(t){const e=this._onRebuildCallbacks.indexOf(t);e!==-1&&this._onRebuildCallbacks.splice(e,1)}async initByCreation(){return this.getMainData()}getMainData(){var i;const t={width:this.width,height:this.height,colorFormats:[this.colorFormat],depthFormat:this.depthFormat,antiAliasing:this.antiAliasing,autoGenerateMipmaps:this.autoGenerateMipmaps},e=(i=this.engineObject)==null?void 0:i.getColorTexture(0);return e&&(t.colorTextures=[{isSRGBColorSpace:e.isSRGBColorSpace,mipmap:e.mipmapCount>1,filterMode:e.filterMode,wrapModeU:e.wrapModeU,wrapModeV:e.wrapModeV,anisoLevel:e.anisoLevel}]),JSON.stringify(t)}async initByMain(t){const e=JSON.parse(await t.text());this.width=Math.round(e.width??512),this.height=Math.round(e.height??512);const i=e.colorFormats??[e.colorFormat??l.R8G8B8A8];this.colorFormat=i[0],this.depthFormat=e.depthFormat??l.Depth,this.antiAliasing=e.antiAliasing??1,this.autoGenerateMipmaps=e.autoGenerateMipmaps??!1;const r=(e.colorTextures??(e.colorTexture?[e.colorTexture]:[]))[0],n=this._buildRenderTarget((r==null?void 0:r.mipmap)??!0,r==null?void 0:r.isSRGBColorSpace);await this.bindEngineObject(n);const a=n.getColorTexture(0);a&&r&&(r.filterMode!=null&&(a.filterMode=r.filterMode),r.wrapModeU!=null&&(a.wrapModeU=r.wrapModeU),r.wrapModeV!=null&&(a.wrapModeV=r.wrapModeV),r.anisoLevel!=null&&(a.anisoLevel=r.anisoLevel)),await this._generateSubAssets()}destroy(){this._destroySubAssets(),this.engineObject&&this._replaceCameraRenderTarget(this.engineObject,null),this._onRebuildCallbacks.length=0,this._destroyRenderTarget(),super.destroy()}async _rebuild(){var _;if(!this.engineObject)return;const t=this.engineObject,e=t.getColorTexture(0),i=(_=this._subAssets)==null?void 0:_[0],o=i?i.mipmap??!0:!0,r=i?i.isSRGBColorSpace??this.colorFormat===l.R8G8B8A8:this.colorFormat===l.R8G8B8A8,n=e&&e.format===this.colorFormat&&e.width===this.width&&e.height===this.height&&e.isSRGBColorSpace===r&&o===e.mipmapCount>1;let a;try{a=n?this._buildRenderTargetWithTexture(e):this._buildRenderTarget(o,r)}catch(p){console.warn("Failed to create RenderTarget:",p);return}if(!n&&e){const p=a.getColorTexture(0);p&&(p.filterMode=e.filterMode,p.wrapModeU=e.wrapModeU,p.wrapModeV=e.wrapModeV,p.anisoLevel=e.anisoLevel)}const c=this._replaceCameraRenderTarget(t,a);if(t.destroy(),await this.bindEngineObject(a),n||(e==null||e.destroy(),this._destroySubAssets(),await this._generateSubAssets()),c.length>0){const p=c.map(d=>d.enabled);c.forEach(d=>d.enabled=!0),requestAnimationFrame(()=>{this._onRebuildCallbacks.forEach(d=>d()),c.forEach((d,T)=>d.enabled=p[T])})}else this._onRebuildCallbacks.forEach(p=>p())}_buildRenderTarget(t=!0,e){const{width:i,height:o,colorFormat:r}=this;e===void 0&&(e=r===l.R8G8B8A8);const n=new v(this.engine,i,o,r,t,e);return n.isGCIgnored=!0,this._buildRenderTargetWithTexture(n)}_buildRenderTargetWithTexture(t){const{width:e,height:i,depthFormat:o,antiAliasing:r,autoGenerateMipmaps:n}=this,a=o===w?null:o,c=new S(this.engine,e,i,t,a,r);return c.isGCIgnored=!0,c.autoGenerateMipmaps=n,c}_destroyRenderTarget(){var e;const t=this.engineObject;t&&((e=t.getColorTexture(0))==null||e.destroy(),t.destroy())}_replaceCameraRenderTarget(t,e){const i=this.root.projectStore.currentScene;if(!i)return[];const o=[];for(const r of i.entities.values())for(const n of r.components)if(n.type==="Camera"){const a=n.engineObject;(a==null?void 0:a.renderTarget)===t&&(a.renderTarget=e,o.push(a))}return o}async _generateSubAssets(){const t=this.engineObject,e=[],i=t.getColorTexture(0);if(i){i.name=`${this.name}-color`;const o=await this.root.assetStore.createSubAsset("Texture",i,this.id,"colorTextures[0]");o._editable=!0,e.push(o)}this._subAssets=e}_destroySubAssets(){if(this._subAssets){for(const t of this._subAssets)this.root.assetStore.deleteSubAsset(t.id);this._subAssets=[]}}};g([b({type:m.Number,label:"Width",min:1,max:8192,triggerAfterInit:!1,onChange:s=>{s.width=Math.round(s.width),s._rebuild()}}),f()],u.prototype,"width",2);g([b({type:m.Number,label:"Height",min:1,max:8192,triggerAfterInit:!1,onChange:s=>{s.height=Math.round(s.height),s._rebuild()}}),f()],u.prototype,"height",2);g([b({type:m.Select,label:"Color Format",options:I,triggerAfterInit:!1,onChange:s=>s._rebuild()}),f()],u.prototype,"colorFormat",2);g([b({type:m.Select,label:"Depth Format",options:L,triggerAfterInit:!1,onChange:s=>s._rebuild()}),f()],u.prototype,"depthFormat",2);g([b({type:m.Select,label:"Anti-Aliasing",options:U,triggerAfterInit:!1,onChange:s=>s._rebuild()}),f()],u.prototype,"antiAliasing",2);g([b({type:m.Toggle,label:"Auto Generate Mipmaps",triggerAfterInit:!1,onChange:s=>{const t=s.engineObject;t&&(t.autoGenerateMipmaps=s.autoGenerateMipmaps)}}),f()],u.prototype,"autoGenerateMipmaps",2);u=g([G({type:"RenderTarget",label:F("asset.render-target.title"),extname:"renderTarget",importMenuConfig:{type:O.Add},dragLayer:D.RenderTarget,viewer:j,thumbnail:A,async bundle({content:s}){return{content:s}}})],u);export{u as RenderTargetAsset};
@@ -0,0 +1 @@
1
+ var l=Object.defineProperty;var p=(s,e,t)=>e in s?l(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>(p(s,typeof e!="symbol"?e+"":e,t),t);import{j as m,u as h,b2 as d,n as u,e as y,o as f}from"./index-aec7e708.js";import"./index-e8a45e82.js";const D={entities:[{id:"1000000",name:"Camera",isActive:!0,position:{x:0,y:0,z:10},rotation:{x:0,y:0,z:0},scale:{x:1,y:1,z:1},children:[],isClone:!1,components:[{id:"1000100",class:"Camera",props:{isOrthographic:!1,nearClipPlane:.1,farClipPlane:100,viewport:{x:0,y:0,z:1,w:1}},methods:{}}]},{id:"1000001",name:"DirectLight",isActive:!0,position:{x:0,y:3,z:0},rotation:{x:-45,y:-45,z:0},scale:{x:1,y:1,z:1},children:[],isClone:!1,components:[{id:"1000101",class:"DirectLight",props:{enabled:!0,intensity:.6,color:{r:1,g:1,b:1,a:1}},methods:{}}]}],scene:{background:{mode:0,color:{r:.0157,g:.0157,b:.0157,a:1}},ambient:{},shadow:{},fog:{}}};var v=Object.defineProperty,b=Object.getOwnPropertyDescriptor,S=(s,e,t,n)=>{for(var a=n>1?void 0:n?b(e,t):e,i=s.length-1,r;i>=0;i--)(r=s[i])&&(a=(n?r(e,t,a):r(a))||a);return n&&a&&v(e,t,a),a};let c=class extends m{constructor(e){super(e);o(this,"sceneData",null);h(this)}async initByMain(e,t){this.sceneData=JSON.parse(await e.text())}getMainData(){return JSON.stringify(this.sceneData)}async rename(e){await super.rename(e),await this.root.assetFacade.persistAssetMain(this.id)}saveMainImmediately(){const e=this.root.sceneStore;if(this.id===e.refId){if(e.destroyed){d(this.root.projectStore.id,this.serverId);return}return this.sceneData=e.toJSON(),this.sceneData.name=this.name,super.saveMainImmediately()}else{const t=this.sceneData;if(t&&t.name!==this.name)return t.name=this.name,super.saveMainImmediately()}}async initByCreation(e,t,n){return this.sceneData={name:this._name,...D}}onDoubleClick(){this.root.projectStore.switchScene({scene:this.id})}};c=S([u({type:"Scene",label:y("asset.scene.title"),defaultName:"Scene",extname:"scene",importMenuConfig:{type:f.Add},async bundle(s){return{content:new Blob([s.content],{type:"application/json"})}}})],c);export{c as SceneAsset};
@@ -1,4 +1,4 @@
1
- var W=Object.defineProperty;var H=(i,e,r)=>e in i?W(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var g=(i,e,r)=>(H(i,typeof e!="symbol"?e+"":e,r),r);import{aH as $,aT as G,aD as B,e as A,C as c,bh as Q,aY as X,bi as z,bj as Z,j as q,o as J,bk as K,I as E,H as w,V as N,x as O,bl as Y,bm as ee,ao as L,bn as te,bo as re,b0 as se,u as ae,bp as ie}from"./index-0a8702e2.js";import{a as oe,A as ne}from"./InstanceEditorAsset-a70e73fe.js";import"./AssetPreviewer-24e31d97.js";import{E as m,b as le,s as ce}from"./ProxyConfigs-4de3304c.js";import{I as de}from"./IconPointFilled-a304fd34.js";import{F as pe}from"./index-98982ce2.js";import{c as j,E as U,b as ue}from"./ShaderUIScriptAsset-d13fa4e2.js";import{n as he}from"./index-be6bc38a.js";$(de,{variants:{checked:{true:{color:"$green10"}}}});const fe=G(i=>{const{asset:e}=i;if(e.compileError)return B.jsx(pe,{label:A("shader.inspector.compile-error"),value:e.compileError});const r=[],t={};for(const a of e.properties??[]){const{uiInfo:s}=a;if(!s||s.hide)continue;const o=s.assetType??s.type,n={label:s.label,type:c.PureDisplay,disabled:!0,value:a.bundleType==="macro"?"MACRO":o,property:a.prop};if(s.group){const l=t[a.uiInfo.group]??{children:[],type:c.Group,property:s.group};l.children.push(n),t[s.group]=l}else r.push(n)}for(const a in t)r.push(t[a]);return B.jsxs(B.Fragment,{children:[B.jsx(Q,{inspectorConfig:{property:A("shader.inspector.properties"),type:c.Group,children:r},onModelChange:null,model:e},"Properties"),e.shaderScriptRefId&&B.jsx(X.Item,{model:e,inspectorConfig:{label:A("shader.inspector.included-ui-script"),type:c.Display,disabled:!0,property:"uiScript",value:e.root.assetStore.assets[e.shaderScriptRefId.refId].getRouteString()},onModelChange:null})]})}),me={Unlit:{filename:"UnlitShader.shader",uiScriptTemplateType:j.UnlitUIScript,uiScriptFileName:"UnlitScript.ts"},PBR:{filename:"PBRShader.shader",uiScriptTemplateType:j.PbrUIScript,uiScriptFileName:"PBRScript.ts"},Sprite:{filename:"SpriteShader.shader"}},Se=`
1
+ var k=Object.defineProperty;var $=(i,e,r)=>e in i?k(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var g=(i,e,r)=>($(i,typeof e!="symbol"?e+"":e,r),r);import{aO as H,aQ as G,aS as T,e as A,C as l,bu as Q,aW as X,bv as z,bw as K,j as Z,u as q,bx as J,N as w,K as E,V as N,B as O,by as Y,bz as ee,bA as te,ao as L,bB as re,bC as se,a$ as ae,x as ie,bD as oe,n as ne,o as ce}from"./index-aec7e708.js";import"./index-e8a45e82.js";import{E as S,b as le,s as de}from"./ProxyConfigs-3a5fd860.js";import{I as pe}from"./IconPointFilled-811fc660.js";import{F as ue}from"./index-74130ff3.js";import{c as j,E as U,b as he}from"./ShaderUIScriptAsset-fc503291.js";H(pe,{variants:{checked:{true:{color:"$green10"}}}});const fe=G(i=>{const{asset:e}=i;if(e.compileError)return T.jsx(ue,{label:A("shader.inspector.compile-error"),value:e.compileError});const r=[],t={};for(const a of e.properties??[]){const{uiInfo:s}=a;if(!s||s.hide)continue;const o=s.assetType??s.type,n={label:s.label,type:l.PureDisplay,disabled:!0,value:a.bundleType==="macro"?"MACRO":o,property:a.prop};if(s.group){const c=t[a.uiInfo.group]??{children:[],type:l.Group,property:s.group};c.children.push(n),t[s.group]=c}else r.push(n)}for(const a in t)r.push(t[a]);return T.jsxs(T.Fragment,{children:[T.jsx(Q,{inspectorConfig:{property:A("shader.inspector.properties"),type:l.Group,children:r},onModelChange:null,model:e},"Properties"),e.shaderScriptRefId&&T.jsx(X.Item,{model:e,inspectorConfig:{label:A("shader.inspector.included-ui-script"),type:l.Display,disabled:!0,property:"uiScript",value:e.root.assetStore.assets[e.shaderScriptRefId.refId].getRouteString()},onModelChange:null})]})}),Se={Unlit:{filename:"UnlitShader.shader",uiScriptTemplateType:j.UnlitUIScript,uiScriptFileName:"UnlitScript.ts"},PBR:{filename:"PBRShader.shader",uiScriptTemplateType:j.PbrUIScript,uiScriptFileName:"PBRScript.ts"},Sprite:{filename:"SpriteShader.shader"}},me=`
2
2
  RenderQueueType renderQueueType;
3
3
  BlendFactor sourceColorBlendFactor;
4
4
  BlendFactor destinationColorBlendFactor;
@@ -118,7 +118,7 @@ var W=Object.defineProperty;var H=(i,e,r)=>e in i?W(i,e,{enumerable:!0,configura
118
118
  UsePass "pbr/Default/ShadowCaster"
119
119
 
120
120
  Pass "Pass0" {
121
- ${Se}
121
+ ${me}
122
122
 
123
123
  struct Attributes {
124
124
  vec3 POSITION;
@@ -177,9 +177,9 @@ var W=Object.defineProperty;var H=(i,e,r)=>e in i?W(i,e,{enumerable:!0,configura
177
177
  }
178
178
  }
179
179
  }
180
- }`,_e=(i,e)=>z.replace("PBRShaderName",i).replace("UIScriptPath",e);function Ce(i,e){switch(e.template){case"PBR":return _e(i,e.uiScriptPath);case"Unlit":return be(i,e.uiScriptPath);case"Sprite":return ge(i)}}var k=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ie=(i,e,r)=>e in i?k(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r,P=(i,e,r,t)=>{for(var a=t>1?void 0:t?ye(e,r):e,s=i.length-1,o;s>=0;s--)(o=i[s])&&(a=(t?o(e,r,a):o(a))||a);return t&&a&&k(e,r,a),a},T=(i,e,r)=>(Ie(i,typeof e!="symbol"?e+"":e,r),r);Z();var Me=(i=>(i.Color="Color",i.Vector4="Vector4",i.Vector3="Vector3",i.Vector2="Vector2",i.Int="Int",i.Float="Float",i.Range="Range",i.Texture2D="Texture2D",i.TextureCube="TextureCube",i.Boolean="Boolean",i.Null="Null",i.HDRColor="HDRColor",i))(Me||{});class x{constructor(e,r,t){g(this,"min");g(this,"max");g(this,"dragStep");this.min=e,this.max=r,this.dragStep=t}static create(e){const r=/Range\(\s*(.+?)\)/,t=e.match(r);if(!t)throw`invalid range type ${e}`;const a=t[1].split(",").map(Number);return new x(...a)}}class v{constructor(e,r){this.data=e,this.type=r}static create(e){const t=e.slice(5,-1).split(","),s=t[0].split(":").indexOf(".")===-1?m.Integer:m.Float,o=t.map(n=>{const[l,h]=n.split(":");return{label:l.trim(),value:Number(h)}});return new v(o,s)}}let d=class extends q{constructor(e){super(e);g(this,"_shaderSource");g(this,"_shaderScriptRefId");g(this,"includePath");g(this,"builtinShaderName");g(this,"_compileError");g(this,"properties",[]);g(this,"_referencedMaterialList",[]);J(this)}get compileError(){return this._compileError}get shaderSource(){return this._shaderSource}get shaderScriptRefId(){return this._shaderScriptRefId}async initByMeta(e){await super.initByMeta(e),this.builtinShaderName=e.builtinShaderName}addReferencedMaterial(e){this._referencedMaterialList.findIndex(r=>r.id===e.id)===-1&&this._referencedMaterialList.push(e)}removeReferencedMaterial(e){if(!this._referencedMaterialList)return;const r=this._referencedMaterialList.findIndex(t=>t.id===e.id);r!==-1&&this._referencedMaterialList.splice(r,1)}updateShaderSourceName(){this.includePath=this.getRouteString(),this._shaderSource=this._shaderSource.replace(/Shader\s+"[^"]*"\s*{/,`Shader "${this.includePath}" {`),this.updateCode(this._shaderSource),this.saveMainAndMeta()}async rename(e){await super.rename(e),this.updateShaderSourceName();for(const r of this._referencedMaterialList)this.root.assetFacade.persistAssetMain(r.id)}async moveTo(e){await this.moveViaFacade(e),this.updateShaderSourceName();for(const r of this._referencedMaterialList)this.root.assetFacade.persistAssetMain(r.id)}async initByMain(e,r){const t=await e.text();this.includePath=this.getRouteString();const a=Object.values(this.root.assetStore.assets).filter(s=>s.meta.type==="ShaderChunk"||s.meta.subType===U.ShaderUI);await Promise.all(a.map(s=>s.loadMainFilePromise?s.loadMainFilePromise:s.loadMainFile())),this.updateCode(t)}async initByCreation(e,r,t){const a=t==null?void 0:t.template,s=me[a];s&&this.setNameByIncrease(s.filename);const{uiScriptTemplateType:o,uiScriptFileName:n}=s;let l;return o&&(l=`./${(await this.root.assetFacade.createAssetByAdd({assetType:"script",params:{template:o,subType:U.ShaderUI},name:n,parentFolderId:this.parentFolderId})).name}`,window.Tracert.click("c351688.d418024",{type:"ShaderUIScript",source:"Shader"})),this._shaderSource=Ce(this.getRouteString(),{template:t.template,uiScriptPath:l}),Promise.resolve(this.getMainData())}getMainData(){return this._shaderSource}isBuiltinShader(){return this.builtinShaderName}parseEditorModule(){if(d._editorModuleRegex.test(this._shaderSource)){const e=this.extractPropertyContent("Editor");this.parseShaderScript(e);const r=this.extractPropertyContent("Properties",e);this.parseProperties(r);const t=this.extractPropertyContent("Macros",e);this.parseMacros(t)}else{const e=this.extractPropertyContent("EditorProperties");this.parseProperties(e);const r=this.extractPropertyContent("EditorMacros");this.parseMacros(r)}}parseProperties(e){if(!e)return;const r=e.split(`
180
+ }`,_e=(i,e)=>z.replace("PBRShaderName",i).replace("UIScriptPath",e);function Ce(i,e){switch(e.template){case"PBR":return _e(i,e.uiScriptPath);case"Unlit":return be(i,e.uiScriptPath);case"Sprite":return ge(i)}}var W=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ie=(i,e,r)=>e in i?W(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r,P=(i,e,r,t)=>{for(var a=t>1?void 0:t?ye(e,r):e,s=i.length-1,o;s>=0;s--)(o=i[s])&&(a=(t?o(e,r,a):o(a))||a);return t&&a&&W(e,r,a),a},B=(i,e,r)=>(Ie(i,typeof e!="symbol"?e+"":e,r),r);K();var Me=(i=>(i.Color="Color",i.Vector4="Vector4",i.Vector3="Vector3",i.Vector2="Vector2",i.Int="Int",i.Float="Float",i.Range="Range",i.Texture2D="Texture2D",i.TextureCube="TextureCube",i.Boolean="Boolean",i.Null="Null",i.HDRColor="HDRColor",i))(Me||{});class x{constructor(e,r,t){g(this,"min");g(this,"max");g(this,"dragStep");this.min=e,this.max=r,this.dragStep=t}static create(e){const r=/Range\(\s*(.+?)\)/,t=e.match(r);if(!t)throw`invalid range type ${e}`;const a=t[1].split(",").map(Number);return new x(...a)}}class v{constructor(e,r){this.data=e,this.type=r}static create(e){const t=e.slice(5,-1).split(","),s=t[0].split(":").indexOf(".")===-1?S.Integer:S.Float,o=t.map(n=>{const[c,h]=n.split(":");return{label:c.trim(),value:Number(h)}});return new v(o,s)}}let d=class extends Z{constructor(e){super(e);g(this,"_shaderSource");g(this,"_shaderScriptRefId");g(this,"includePath");g(this,"builtinShaderName");g(this,"_compileError");g(this,"properties",[]);g(this,"_referencedMaterialList",[]);q(this)}get compileError(){return this._compileError}get shaderSource(){return this._shaderSource}get shaderScriptRefId(){return this._shaderScriptRefId}async initByMeta(e){await super.initByMeta(e),this.builtinShaderName=e.builtinShaderName}addReferencedMaterial(e){this._referencedMaterialList.findIndex(r=>r.id===e.id)===-1&&this._referencedMaterialList.push(e)}removeReferencedMaterial(e){if(!this._referencedMaterialList)return;const r=this._referencedMaterialList.findIndex(t=>t.id===e.id);r!==-1&&this._referencedMaterialList.splice(r,1)}updateShaderSourceName(){this.includePath=this.getRouteString(),this._shaderSource=this._shaderSource.replace(/Shader\s+"[^"]*"\s*{/,`Shader "${this.includePath}" {`),this.updateCode(this._shaderSource),this.saveMainAndMeta()}async rename(e){await super.rename(e),this.updateShaderSourceName();for(const r of this._referencedMaterialList)this.root.assetFacade.persistAssetMain(r.id)}async moveTo(e){await this.moveViaFacade(e),this.updateShaderSourceName();for(const r of this._referencedMaterialList)this.root.assetFacade.persistAssetMain(r.id)}async initByMain(e,r){const t=await e.text();this.includePath=this.getRouteString();const a=Object.values(this.root.assetStore.assets).filter(s=>s.meta.type==="ShaderChunk"||s.meta.subType===U.ShaderUI);await Promise.all(a.map(s=>s.loadMainFilePromise?s.loadMainFilePromise:s.loadMainFile())),this.updateCode(t)}async initByCreation(e,r,t){const a=t==null?void 0:t.template,s=Se[a];s&&this.setNameByIncrease(s.filename);const{uiScriptTemplateType:o,uiScriptFileName:n}=s;let c;return o&&(c=`./${(await this.root.assetFacade.createAssetByAdd({assetType:"script",params:{template:o,subType:U.ShaderUI},name:n,parentFolderId:this.parentFolderId})).name}`,window.Tracert.click("c351688.d418024",{type:"ShaderUIScript",source:"Shader"})),this._shaderSource=Ce(this.getRouteString(),{template:t.template,uiScriptPath:c}),Promise.resolve(this.getMainData())}getMainData(){return this._shaderSource}isBuiltinShader(){return this.builtinShaderName}parseEditorModule(){if(d._editorModuleRegex.test(this._shaderSource)){const e=this.extractPropertyContent("Editor");this.parseShaderScript(e);const r=this.extractPropertyContent("Properties",e);this.parseProperties(r);const t=this.extractPropertyContent("Macros",e);this.parseMacros(t)}else{const e=this.extractPropertyContent("EditorProperties");this.parseProperties(e);const r=this.extractPropertyContent("EditorMacros");this.parseMacros(r)}}parseProperties(e){if(!e)return;const r=e.split(`
181
181
  `);let t,a;for(let s=0;s<r.length;s++){const o=r[s],n=o.trim();if(n.startsWith("/**")){a=a??{};let h="",b="default";const _=C=>{const u=C.match(d._commentsLineRegex);if(u!=null&&u[1]){const p=u[1].match(d._langSpecification);p!=null&&p[1]?b=p[1]:h+=u[1]+`
182
182
  `}else h+=u?"":C+`
183
- `};let R=n.substring(2);for(;!R.startsWith("*/");)_(R),R=r[++s].trim();a[b]=h;continue}const l=n.match(d._groupRegex);l?t={type:l[1],title:l[2]}:o&&(this.parsePropertyItem(o,a,t),a=void 0),n.endsWith("}")&&(t=void 0)}}parseMacros(e){if(!e)return;const r=e.split(`
184
- `);let t;for(const a of r){const s=a.trim(),o=s.match(d._groupRegex);o?t={type:o[1],title:o[2]}:this.parseMacroItem(a,t),s.endsWith("}")&&(t=void 0)}}parseShaderScript(e){const r=e.match(d._scriptRegex),t=r==null?void 0:r[1];if(t){const a=this.getRouteString(!1),s=K(a,t),o=ue.assetsMap.get(s);if(o){if(o.addReferencedShader(this),this._shaderScriptRefId){const n=this.root.assetStore.assets[this._shaderScriptRefId.refId];n==null||n.removeReferencedShader(this)}}else{this._compileError+=`
185
- Not found shader script in ${t}`;return}this._shaderScriptRefId={refId:o.id}}else{const a=this._shaderScriptRefId;if(a){const s=this.root.assetStore.assets[a.refId];s==null||s.removeReferencedShader(this)}this._shaderScriptRefId=void 0}}extractPropertyContent(e,r){let t=0,a=-1,s=-1;const o=r??this._shaderSource;for(let n=0;n<o.length;n++)if(/\W/.test(o[n-1])&&o.substring(n,n+e.length)===e&&(a=n+e.length),!(a<0)){if(o[n]==="{")t++;else if(o[n]==="}"&&--t===0){s=n+1;break}}if(a>=0)return o.substring(a,s+1)}parseMacroItem(e,r){const t=/^\s*?(\[(On|Off)\])?\s*?(\w+)\(\s*?"([\u4e00-\u9fa5_a-zA-Z0-9\s]+)"\s*?(,\s*?(Range\(.+?\)|\w+))?\s*\)(\s*=\s*([^;]+))?/,a=e.match(t);if(a){const[s,o,n,l,h,b,_,R,C]=a;let u;_!=null&&_.trim().startsWith("Range(")?u=x.create(_):u=_??"Null";const p=this._shaderScriptRefId?this.root.assetStore.assets[this._shaderScriptRefId.refId]:void 0,I=this.parsePropertyValueAndUIType(u,!0,C);if(I){const D={prop:l,defaultValue:I.defaultValue,bundleType:"macro",engineType:I.engineType,uiInfo:{label:h,group:r==null?void 0:r.title,...I.uiInfo},macroInfo:{checked:n?n==="On":void 0,switchable:!0,onSwitch:(f,S)=>{const y=S.engineObject.shaderData,M=S.extraData.disabledMacros??[],F=M.indexOf(l)??-1;f?(y.enableMacro(l),F!==-1&&(M.splice(F,1),this.root.assetFacade.persistAssetMeta(S.id))):(y.disableMacro(l),F===-1&&(M.push(l),S.extraData.disabledMacros=M,this.root.assetFacade.persistAssetMeta(S.id)));const V=p==null?void 0:p.getMacroCallback(l);V&&(V(S.engineObject,f,void 0),S.refreshFormConfig(this.properties,S._getMainData()))}},onChange:async(f,S,y)=>{const M=p==null?void 0:p.getMacroCallback(l);M&&(M(f.engineObject,y,y),f.refreshFormConfig(this.properties,f._getMainData())),f.engineObject.shaderData.enableMacro(l,y)}};this.properties.push(D)}}}parsePropertyItem(e,r,t){const a=/^\s*?(\w+)\(\s*?"([\u4e00-\u9fa5_a-zA-Z0-9\s]+)"\s*?,\s*?(\w+|Range\(.+?\)|Enum\([^()]+\))\s*\)(\s*=\s*([^;]+))?/,o=e.replace(/\/\/.*\n/,"").trim().match(a);if(o){const[n,l,h,b,_,R]=o;let C;b.startsWith("Range(")?C=x.create(b):b.startsWith("Enum(")?C=v.create(b):C=b;const u=this._shaderScriptRefId?this.root.assetStore.assets[this._shaderScriptRefId.refId]:void 0,p=this.parsePropertyValueAndUIType(C,!1,R);p&&this.properties.push({prop:l,defaultValue:p.defaultValue,onChange:async(I,D,f)=>{const S=u==null?void 0:u.getPropertyCallback(D);if(S){let y=f;f!=null&&f.refId&&(y=(await this.root.assetStore.getAssetByRef(f)).engineObject),S(I.engineObject,y),I.refreshFormConfig(this.properties,I._getMainData())}},uiInfo:{label:h,group:t==null?void 0:t.title,collapsible:(t==null?void 0:t.type)==="Collapsible",comments:r,...p.uiInfo},engineType:p.engineType})}}parsePropertyValueAndUIType(e,r,t){if(e instanceof x)return{defaultValue:t?Number(t):void 0,uiInfo:{type:c.Slider,...e},engineType:m.Float};if(e instanceof v)return{defaultValue:t?Number(t):void 0,uiInfo:{type:c.Select,options:e.data},engineType:e.type};const a=s=>{var o;return(o=s.match(/\((.*?)\)/))==null?void 0:o[1]};switch(e){case"Color":return{defaultValue:t?new O(...a(t).split(",").map(Number)):new O,uiInfo:{type:c.Color},engineType:m.Color};case"HDRColor":{const s=a(t).split(",").map(Number);return{defaultValue:t?{r:s[0],g:s[1],b:s[2],a:s[3],intensity:s[4]??Math.max(s[0],s[1],s[2],1)}:{r:0,g:0,b:0,a:1,intensity:1},uiInfo:{type:c.Color,mode:"hdr"},engineType:m.Color}}case"Vector4":return{defaultValue:t?new N(...a(t).split(",").map(Number)):new N,uiInfo:{type:c.Vector4},engineType:m.Vector4};case"Vector3":return{defaultValue:t?new w(...a(t).split(",").map(Number)):new w,uiInfo:{type:c.Vector3},engineType:m.Vector3};case"Vector2":return{defaultValue:t?new E(...a(t).split(",").map(Number)):new E,uiInfo:{type:c.Vector2},engineType:m.Vector2};case"Int":return{defaultValue:t?Number(t):0,uiInfo:{type:c.Number},engineType:m.Integer};case"Float":return{defaultValue:t?Number(t):0,uiInfo:{type:c.Number},engineType:m.Float};case"Texture2D":return{defaultValue:t,uiInfo:{type:c.AssetPicker,assetType:"Texture",customFilter:s=>s.shape!=="Cube"},engineType:m.Texture};case"TextureCube":return{defaultValue:t,uiInfo:{type:c.AssetPicker,assetType:"Texture",customFilter:s=>s.shape==="Cube"},engineType:m.Texture};case"Boolean":return{defaultValue:t==="true",uiInfo:{type:c.Boolean},engineType:m.Boolean};case"Null":return{defaultValue:null,uiInfo:{type:c.Null}};default:throw`not support type ${e}`}}onDoubleClick(){if(this.locked){he.error("Cannot edit internal Shader");return}Y(this.root.projectStore.id,this.id),ee()}reCompile(){this.updateCode(this._shaderSource)}updateCode(e){var o;this._shaderSource=e,this._originMainFile=new File([e],this._name);const r=this.isBuiltinShader(),{properties:t}=this;let a;t?(a=Array.from(this.properties),this.properties.length=0):a=[];let s=[];if(r)this.bindEngineObject(L.find(r)),this.properties=le.filter(n=>n.when?n.when(this.name):!0);else{(o=this.engineObject)==null||o.destroy(!0);const n=L.create(this._shaderSource,te.GLSLES100,this.includePath);this.bindEngineObject(n),this.parseEditorModule();const l=this.properties;if(!l)s=a;else for(const h of a)l.findIndex(_=>_.prop===h.prop)===-1&&s.push(h)}this.refreshMaterial(s)}destroy(){const e=this.root.assetStore.assets[d.ErrorShaderRefId];for(const r of this._referencedMaterialList)r.bindShaderAsset(e),r.engineObject.shaderData.setColor("material_BaseColor",new O(1,0,1.01,1)),this.root.assetFacade.persistAssetMain(r.id);if(this.properties=null,this._referencedMaterialList=null,this.engineObject&&!this.isBuiltinShader()&&this.engineObject.destroy(!0),this._shaderScriptRefId){const r=this.root.assetStore.assets[this._shaderScriptRefId.refId];if(r){const t=r.referencedShaderList,a=t.findIndex(s=>s.id===this.id);a!==-1&&t.splice(a,1)}}super.destroy()}refreshMaterial(e){for(const r of this._referencedMaterialList)if(!r.engineObject.destroyed){if(e)for(const t of e){const{shaderData:a}=r.engineObject;if(t.bundleType==="macro")a.disableMacro(t.prop);else{const s=re.getByName(t.prop);t==null||t.onChange(r,t.prop,void 0),ce(r,t.prop,void 0,t.engineType),delete a._propertyValueMap[s._uniqueId]}}r.applyBoundPathChange("shader",c.AssetPicker,this.getCurrentRef()),r.bindShaderAsset(this,r._getMainData()).then(()=>{if(e)for(const t of e)for(const a of this._referencedMaterialList)a[t.prop]=void 0})}}};T(d,"ErrorShaderRefId","0000508");T(d,"_groupRegex",/\b(Header|Collapsible)\s*\(\s*"([\w\s]+)"\s*\)/);T(d,"_scriptRegex",/^\s*UIScript\s+"([\w./]+)"/m);T(d,"_editorModuleRegex",/\bEditor\s*{/);T(d,"_commentsLineRegex",/^\s*\*\s*(.*)?$/);T(d,"_langSpecification",/@language\s+(\w+)/);P([se()],d.prototype,"builtinShaderName",2);P([ae],d.prototype,"_compileError",2);P([ie],d.prototype,"compileError",1);d=P([oe({type:"Shader",label:A("asset.shader.title"),defaultName:"Shader.shader",icon:"shader",extname:"shader",importMenuConfig:{type:ne.Add},bundle({content:i}){return{content:new Blob([i],{type:"text/plain; charset=utf-8"})}},customInspector:fe})],d);export{Me as E,me as S,x as a,v as b,d as c};
183
+ `};let R=n.substring(2);for(;!R.startsWith("*/");)_(R),R=r[++s].trim();a[b]=h;continue}const c=n.match(d._groupRegex);c?t={type:c[1],title:c[2]}:o&&(this.parsePropertyItem(o,a,t),a=void 0),n.endsWith("}")&&(t=void 0)}}parseMacros(e){if(!e)return;const r=e.split(`
184
+ `);let t;for(const a of r){const s=a.trim(),o=s.match(d._groupRegex);o?t={type:o[1],title:o[2]}:this.parseMacroItem(a,t),s.endsWith("}")&&(t=void 0)}}parseShaderScript(e){const r=e.match(d._scriptRegex),t=r==null?void 0:r[1];if(t){const a=this.getRouteString(!1),s=J(a,t),o=he.assetsMap.get(s);if(o){if(o.addReferencedShader(this),this._shaderScriptRefId){const n=this.root.assetStore.assets[this._shaderScriptRefId.refId];n==null||n.removeReferencedShader(this)}}else{this._compileError+=`
185
+ Not found shader script in ${t}`;return}this._shaderScriptRefId={refId:o.id}}else{const a=this._shaderScriptRefId;if(a){const s=this.root.assetStore.assets[a.refId];s==null||s.removeReferencedShader(this)}this._shaderScriptRefId=void 0}}extractPropertyContent(e,r){let t=0,a=-1,s=-1;const o=r??this._shaderSource;for(let n=0;n<o.length;n++)if(/\W/.test(o[n-1])&&o.substring(n,n+e.length)===e&&(a=n+e.length),!(a<0)){if(o[n]==="{")t++;else if(o[n]==="}"&&--t===0){s=n+1;break}}if(a>=0)return o.substring(a,s+1)}parseMacroItem(e,r){const t=/^\s*?(\[(On|Off)\])?\s*?(\w+)\(\s*?"([\u4e00-\u9fa5_a-zA-Z0-9\s]+)"\s*?(,\s*?(Range\(.+?\)|\w+))?\s*\)(\s*=\s*([^;]+))?/,a=e.match(t);if(a){const[s,o,n,c,h,b,_,R,C]=a;let u;_!=null&&_.trim().startsWith("Range(")?u=x.create(_):u=_??"Null";const p=this._shaderScriptRefId?this.root.assetStore.assets[this._shaderScriptRefId.refId]:void 0,I=this.parsePropertyValueAndUIType(u,!0,C);if(I){const D={prop:c,defaultValue:I.defaultValue,bundleType:"macro",engineType:I.engineType,uiInfo:{label:h,group:r==null?void 0:r.title,...I.uiInfo},macroInfo:{checked:n?n==="On":void 0,switchable:!0,onSwitch:(f,m)=>{const y=m.engineObject.shaderData,M=m.extraData.disabledMacros??[],F=M.indexOf(c)??-1;f?(y.enableMacro(c),F!==-1&&(M.splice(F,1),this.root.assetFacade.persistAssetMeta(m.id))):(y.disableMacro(c),F===-1&&(M.push(c),m.extraData.disabledMacros=M,this.root.assetFacade.persistAssetMeta(m.id)));const V=p==null?void 0:p.getMacroCallback(c);V&&(V(m.engineObject,f,void 0),m.refreshFormConfig(this.properties,m._getMainData()))}},onChange:async(f,m,y)=>{const M=p==null?void 0:p.getMacroCallback(c);M&&(M(f.engineObject,y,y),f.refreshFormConfig(this.properties,f._getMainData())),f.engineObject.shaderData.enableMacro(c,y)}};this.properties.push(D)}}}parsePropertyItem(e,r,t){const a=/^\s*?(\w+)\(\s*?"([\u4e00-\u9fa5_a-zA-Z0-9\s]+)"\s*?,\s*?(\w+|Range\(.+?\)|Enum\([^()]+\))\s*\)(\s*=\s*([^;]+))?/,o=e.replace(/\/\/.*\n/,"").trim().match(a);if(o){const[n,c,h,b,_,R]=o;let C;b.startsWith("Range(")?C=x.create(b):b.startsWith("Enum(")?C=v.create(b):C=b;const u=this._shaderScriptRefId?this.root.assetStore.assets[this._shaderScriptRefId.refId]:void 0,p=this.parsePropertyValueAndUIType(C,!1,R);p&&this.properties.push({prop:c,defaultValue:p.defaultValue,onChange:async(I,D,f)=>{const m=u==null?void 0:u.getPropertyCallback(D);if(m){let y=f;f!=null&&f.refId&&(y=(await this.root.assetStore.getAssetByRef(f)).engineObject),m(I.engineObject,y),I.refreshFormConfig(this.properties,I._getMainData())}},uiInfo:{label:h,group:t==null?void 0:t.title,collapsible:(t==null?void 0:t.type)==="Collapsible",comments:r,...p.uiInfo},engineType:p.engineType})}}parsePropertyValueAndUIType(e,r,t){if(e instanceof x)return{defaultValue:t?Number(t):void 0,uiInfo:{type:l.Slider,...e},engineType:S.Float};if(e instanceof v)return{defaultValue:t?Number(t):void 0,uiInfo:{type:l.Select,options:e.data},engineType:e.type};const a=s=>{var o;return(o=s.match(/\((.*?)\)/))==null?void 0:o[1]};switch(e){case"Color":return{defaultValue:t?new O(...a(t).split(",").map(Number)):new O,uiInfo:{type:l.Color},engineType:S.Color};case"HDRColor":{const s=a(t).split(",").map(Number);return{defaultValue:t?{r:s[0],g:s[1],b:s[2],a:s[3],intensity:s[4]??Math.max(s[0],s[1],s[2],1)}:{r:0,g:0,b:0,a:1,intensity:1},uiInfo:{type:l.Color,mode:"hdr"},engineType:S.Color}}case"Vector4":return{defaultValue:t?new N(...a(t).split(",").map(Number)):new N,uiInfo:{type:l.Vector4},engineType:S.Vector4};case"Vector3":return{defaultValue:t?new E(...a(t).split(",").map(Number)):new E,uiInfo:{type:l.Vector3},engineType:S.Vector3};case"Vector2":return{defaultValue:t?new w(...a(t).split(",").map(Number)):new w,uiInfo:{type:l.Vector2},engineType:S.Vector2};case"Int":return{defaultValue:t?Number(t):0,uiInfo:{type:l.Number},engineType:S.Integer};case"Float":return{defaultValue:t?Number(t):0,uiInfo:{type:l.Number},engineType:S.Float};case"Texture2D":return{defaultValue:t,uiInfo:{type:l.AssetPicker,assetType:"Texture",customFilter:s=>s.shape!=="Cube"},engineType:S.Texture};case"TextureCube":return{defaultValue:t,uiInfo:{type:l.AssetPicker,assetType:"Texture",customFilter:s=>s.shape==="Cube"},engineType:S.Texture};case"Boolean":return{defaultValue:t==="true",uiInfo:{type:l.Boolean},engineType:S.Boolean};case"Null":return{defaultValue:null,uiInfo:{type:l.Null}};default:throw`not support type ${e}`}}onDoubleClick(){if(this.locked){Y.error("Cannot edit internal Shader");return}ee(this.root.projectStore.id,this.id),te()}reCompile(){this.updateCode(this._shaderSource)}updateCode(e){var o;this._shaderSource=e,this._originMainFile=new File([e],this._name);const r=this.isBuiltinShader(),{properties:t}=this;let a;t?(a=Array.from(this.properties),this.properties.length=0):a=[];let s=[];if(r)this.bindEngineObject(L.find(r)),this.properties=le.filter(n=>n.when?n.when(this.name):!0);else{(o=this.engineObject)==null||o.destroy(!0);const n=L.create(this._shaderSource,re.GLSLES100,this.includePath);this.bindEngineObject(n),this.parseEditorModule();const c=this.properties;if(!c)s=a;else for(const h of a)c.findIndex(_=>_.prop===h.prop)===-1&&s.push(h)}this.refreshMaterial(s)}destroy(){const e=this.root.assetStore.assets[d.ErrorShaderRefId];for(const r of this._referencedMaterialList)r.bindShaderAsset(e),r.engineObject.shaderData.setColor("material_BaseColor",new O(1,0,1.01,1)),this.root.assetFacade.persistAssetMain(r.id);if(this.properties=null,this._referencedMaterialList=null,this.engineObject&&!this.isBuiltinShader()&&this.engineObject.destroy(!0),this._shaderScriptRefId){const r=this.root.assetStore.assets[this._shaderScriptRefId.refId];if(r){const t=r.referencedShaderList,a=t.findIndex(s=>s.id===this.id);a!==-1&&t.splice(a,1)}}super.destroy()}refreshMaterial(e){for(const r of this._referencedMaterialList)if(!r.engineObject.destroyed){if(e)for(const t of e){const{shaderData:a}=r.engineObject;if(t.bundleType==="macro")a.disableMacro(t.prop);else{const s=se.getByName(t.prop);t==null||t.onChange(r,t.prop,void 0),de(r,t.prop,void 0,t.engineType),delete a._propertyValueMap[s._uniqueId]}}r.applyBoundPathChange("shader",l.AssetPicker,this.getCurrentRef()),r.bindShaderAsset(this,r._getMainData()).then(()=>{if(e)for(const t of e)for(const a of this._referencedMaterialList)a[t.prop]=void 0})}}};B(d,"ErrorShaderRefId","0000508");B(d,"_groupRegex",/\b(Header|Collapsible)\s*\(\s*"([\w\s]+)"\s*\)/);B(d,"_scriptRegex",/^\s*UIScript\s+"([\w./]+)"/m);B(d,"_editorModuleRegex",/\bEditor\s*{/);B(d,"_commentsLineRegex",/^\s*\*\s*(.*)?$/);B(d,"_langSpecification",/@language\s+(\w+)/);P([ae()],d.prototype,"builtinShaderName",2);P([ie],d.prototype,"_compileError",2);P([oe],d.prototype,"compileError",1);d=P([ne({type:"Shader",label:A("asset.shader.title"),defaultName:"Shader.shader",icon:"shader",extname:"shader",importMenuConfig:{type:ce.Add},bundle({content:i}){return{content:new Blob([i],{type:"text/plain; charset=utf-8"})}},customInspector:fe})],d);export{Me as E,Se as S,x as a,v as b,d as c};
@@ -0,0 +1,5 @@
1
+ var T=Object.defineProperty;var j=(s,e,t)=>e in s?T(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var m=(s,e,t)=>(j(s,typeof e!="symbol"?e+"":e,t),t);import{L as D}from"./module-ffeaf99f.js";import{aO as R,aQ as w,aU as x,aS as h,bN as O,q as A,j as v,a$ as F,x as P,m as M,n as _,e as b,c5 as $,u as E,c6 as d,bz as B,bA as L,p as k,C as U,o as z}from"./index-aec7e708.js";import{u as N}from"./index-e8a45e82.js";import"./postmen-2f47f6bb.js";import{F as S}from"./index-74130ff3.js";import{F as q}from"./FormItemArray-6d69acd4.js";import{s as Q}from"./SpineSkeletonDataAsset-27244892.js";const V=R("div",{marginTop:"20px",fontSize:"12px",fontWeight:500,color:"$gray12"}),W=w(function(s){const{asset:{textures:e,textureAtlas:t,missingTexture:r}}=s,{assetStore:o}=N(),[l,a]=x.useState([]),u=x.useMemo(()=>{if(!t)return[];const n=t.pages,i=[];for(let p=0;p<n.length;p+=1){const c=n[p];i.push({name:c.name,regions:c.regions.map(C=>C.name)})}return i},[t]);return x.useEffect(()=>{let n=!1;return Promise.all(e.map(i=>o.getAssetByRef(i))).then(i=>{n||a(i)}).catch(i=>{n||(console.warn("[SpineAtlasInspector] Failed to load atlas textures:",i),a([]))}),()=>{n=!0}},[o,e]),r?h.jsx(V,{children:"Missing atlas texture, please reupload atlas and image files."}):h.jsxs(h.Fragment,{children:[h.jsx(S,{label:"atlas textures",value:""}),l.map((n,i)=>h.jsx(O,{dropLayer:A.Texture,label:"",value:n.name,assets:[],asset:n,onLocate:()=>{var c;const p=(c=e==null?void 0:e[i])==null?void 0:c.refId;p&&o.selectAsset(p)}},n.id)),h.jsx(S,{label:"atlas regions",value:""}),h.jsx(q,{label:"",items:u.map((n,i)=>({removable:!1,children:n.regions.map(c=>h.jsx(S,{label:"",value:c},c)),id:`${i}`,name:n.name}))})]})});var G=Object.defineProperty,H=Object.getOwnPropertyDescriptor,g=(s,e,t,r)=>{for(var o=r>1?void 0:r?H(e,t):e,l=s.length-1,a;l>=0;l--)(a=s[l])&&(o=(r?a(e,t,o):a(o))||o);return r&&o&&G(e,t,o),o};let f=class extends v{constructor(e){super(e);m(this,"_textureAtlas");m(this,"textures",[]);m(this,"atlasText","");m(this,"missingTexture",!1)}get textureAtlas(){return this._textureAtlas}async initByMain(e){this.atlasText=await e.text();const t=this.meta,{textures:r}=t;this.textures=r;const l=(await Promise.all(this.textures.map(n=>this.root.assetStore.getAssetByRef(n)))).map(n=>n==null?void 0:n.engineObject),a=l.some(n=>n==null)||r.length===0;if(this.missingTexture=a,a)return;const u=D.createTextureAtlas(this.atlasText,l);this._textureAtlas=u}};g([F(),P],f.prototype,"textures",2);g([M()],f.prototype,"atlasText",2);g([P],f.prototype,"missingTexture",2);f=g([_({type:"SpineAtlas",label:b("asset.spine-atlas.title"),dragLayer:A.SpineAtlas,customInspector:W,loaderType:"SpineAtlas",preUpload:Q,bundle(s){return s.dependencies=$(s.meta,["textures"]),{content:s.content}}})],f);function J(s){return`// ${s}
2
+ float function() {
3
+ return 3.1415926;
4
+ }
5
+ `}var X=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,I=(s,e,t,r)=>{for(var o=r>1?void 0:r?Y(e,t):e,l=s.length-1,a;l>=0;l--)(a=s[l])&&(o=(r?a(e,t,o):a(o))||o);return r&&o&&X(e,t,o),o};function Z(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}let y=class extends v{constructor(e){super(e);m(this,"_shaderSource");E(this)}get includePath(){const e=this.getTempRoutes();return e.push(this._name),e.join("/")}initByCreation(e,t,r){return this._shaderSource=J(this.name),Promise.resolve(this.getMainData())}getMainData(){return this._shaderSource}async initByMain(e,t){const r=await e.text();this.updateCode(r)}async rename(e){const t=this.includePath;d.unRegisterInclude(t),await super.rename(e),d.registerInclude(this.includePath,this._shaderSource),this.refreshIncludedShaders(t)}async moveTo(e){const t=this.includePath;d.unRegisterInclude(t),await this.moveViaFacade(e),d.registerInclude(this.includePath,this._shaderSource),this.refreshIncludedShaders(t)}updateCode(e,t){const r=this.includePath;d.unRegisterInclude(r),d.registerInclude(r,e),this._shaderSource=e,this.refreshIncludedShaders(void 0,t)}beforeDelete(){this.path&&d.unRegisterInclude(this.path),this.refreshIncludedShaders()}refreshIncludedShaders(e,t=new Set){if(t.has(this.id))return;t.add(this.id);let r;if(e){const a=e.split("/");r=a[a.length-1]}else r=this._name;const o=new RegExp(`#include\\s+"[^"]*${Z(r)}"`),l=Object.values(this.root.assetStore.assets).filter(a=>{if(a.meta.type!=="Shader"&&a.meta.type!=="ShaderChunk")return!1;const u=this.getAssetSource(a);return o.test(u)});for(const a of l){if(t.has(a.id))continue;if(a.meta.type==="ShaderChunk"){const n=a,i=n.getMainData();n.updateCode(typeof i=="string"?i:"",t);continue}const u=a;u.updateCode(u.shaderSource)}}getAssetSource(e){if(e.meta.type==="Shader")return e.shaderSource;if(e.meta.type==="ShaderChunk"){const t=e.getMainData();return typeof t=="string"?t:""}return""}onDoubleClick(){B(this.root.projectStore.id,this.id),L()}};I([k({type:U.Input,label:b("shader.chunk.include-path"),disabled:!0})],y.prototype,"includePath",1);y=I([_({type:"ShaderChunk",label:b("shader.chunk.title"),defaultName:"ShaderChunk.glsl",icon:"shader",extname:"glsl",importMenuConfig:{type:z.Add},bundle({content:s}){return{content:new Blob([s],{type:"text/plain; charset=utf-8"})}}})],y);export{f as S,y as a};
@@ -1,4 +1,4 @@
1
- var P=Object.defineProperty;var F=(t,a,e)=>a in t?P(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e;var d=(t,a,e)=>(F(t,typeof a!="symbol"?a+"":a,e),e);import{aT as U,C as h,aD as u,bh as m,j as O,o as N,bl as f,bm as C,u as B,b0 as R,p as x,e as y,bp as w,n as H,e6 as Q,e7 as k,e8 as X,bk as j}from"./index-0a8702e2.js";import{a as V,A as $}from"./InstanceEditorAsset-a70e73fe.js";import"./AssetPreviewer-24e31d97.js";import{n as G}from"./index-be6bc38a.js";function z(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}var c=(t=>(t.Default="default",t.ShaderUI="shader_ui",t.StateMachine="state_machine",t))(c||{});const W=`import { Script } from '@galacean/engine';
1
+ var P=Object.defineProperty;var F=(t,a,e)=>a in t?P(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e;var d=(t,a,e)=>(F(t,typeof a!="symbol"?a+"":a,e),e);import{aQ as U,C as h,aS as u,bu as m,j as O,u as N,bz as C,bA as f,x,a$ as R,p as B,e as y,bD as w,n as H,q as Q,o as k,eb as X,ec as j,ed as V,by as $,bx as G}from"./index-aec7e708.js";import"./index-e8a45e82.js";function z(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}var c=(t=>(t.Default="default",t.ShaderUI="shader_ui",t.StateMachine="state_machine",t))(c||{});const W=`import { Script } from '@galacean/engine';
2
2
  /**
3
3
  * 脚本参考: https://galacean.antgroup.com/engine/docs/script/class
4
4
  */
@@ -8,7 +8,7 @@ export default class extends Script {
8
8
  * @param deltaTime - 帧间隔时间
9
9
  */
10
10
  onUpdate(deltaTime: number) {}
11
- }`,K=`import { StateMachineScript, Animator, AnimatorState } from '@galacean/engine';
11
+ }`,q=`import { StateMachineScript, Animator, AnimatorState } from '@galacean/engine';
12
12
  /**
13
13
  * Performance can be improved by rewriting it for real use.
14
14
  */
@@ -37,7 +37,7 @@ export default class extends StateMachineScript {
37
37
  */
38
38
  // onStateExit(animator: Animator, animatorState: AnimatorState, layerIndex: number): void {}
39
39
  }
40
- `,q=`import { Material } from "@galacean/engine";
40
+ `,K=`import { Material } from "@galacean/engine";
41
41
 
42
42
  export default class extends ShaderUIScript {
43
43
  constructor() {
@@ -512,5 +512,5 @@ export default class extends ShaderUIScript {
512
512
  }
513
513
  }
514
514
 
515
- `;var M=(t=>(t.Default="default",t[t.StateMachine=c.StateMachine]="StateMachine",t.UnlitUIScript="unlitUIScript",t.PbrUIScript="pbrUIScript",t.DefaultUIScript="defaultUIScript",t))(M||{});const b={default:W,[M.StateMachine]:K,defaultUIScript:q,unlitUIScript:Y,pbrUIScript:J},Z=t=>{const{type:a="esm",varName:e,namedExports:r=null,defaultExport:s=!0}=typeof t=="string"?{varName:t}:t;return{type:a,varName:e,namedExports:r,defaultExport:s}},ee=t=>`module.exports = ${t};`,ae=(t,a,e)=>{const r=e?[`export default ${t};`]:[];if(a&&a.length){const s=[...new Set(a)].join(", ");r.push(`const { ${s} } = ${t};`),r.push(`export { ${s} };`)}return r.join(`
516
- `)},te=t=>{const{type:a,varName:e,namedExports:r,defaultExport:s}=t;switch(a){case"esm":return ae(e,r,s);case"cjs":return ee(e)}},A="global-externals",re=t=>{const{modulePathFilter:a,getModuleInfo:e}=t;return{name:A,setup(r){r.onResolve({filter:a},s=>({path:s.path,namespace:A})),r.onLoad({filter:/.*/,namespace:A},s=>{const n=s.path,o=Z(e(n));return{contents:te(o)}})}}},se=t=>{const a={modulePathFilter:new RegExp(`^(?:${Object.keys(t).join("|")})$`),getModuleInfo:e=>t[e]};return re(a)};class ne{constructor(){d(this,"_propertyCallBacks",new Map);d(this,"_macroCallBacks",new Map)}onMaterialShaderSwitched(a){}onPropertyChanged(a,e){this._propertyCallBacks.set(a,e)}onMacroChanged(a,e){this._macroCallBacks.set(a,e)}}const oe=U(t=>{const a=t.asset,e=a.properties.map(n=>({label:n,type:h.PureDisplay,disable:!0,value:"",property:n})),r=a.macros.map(n=>({label:n,type:h.PureDisplay,disable:!0,value:"",property:n})),s=a.referencedShaderList.map(n=>({label:n.includePath,type:h.PureDisplay,disable:!0,value:"",property:n.includePath}));return u.jsxs(u.Fragment,{children:[u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Watched Properties",type:h.Group,children:e},model:a},"ScriptProperties"),u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Watched Macros",type:h.Group,children:r},model:a},"ScriptMacros"),u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Referenced Shaders",type:h.Group,children:s},model:a},"ReferencedShaders")]})});var g=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,le=(t,a,e)=>a in t?g(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,p=(t,a,e,r)=>{for(var s=r>1?void 0:r?ie(a,e):a,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(a,e,s):o(s))||s);return r&&s&&g(a,e,s),s},de=(t,a,e)=>(le(t,typeof a!="symbol"?a+"":a,e),e);let l=class extends O{constructor(a,e,r){super(a);d(this,"_code");d(this,"isScript",!0);d(this,"subType",c.Default);if(N(this),this.onDoubleClick=this.onDoubleClick.bind(this),r&&r.subType){if(r.subType===c.ShaderUI)return Reflect.construct(l.getScriptConstruct(c.ShaderUI),[a,e]);if(r.subType===c.StateMachine)return Reflect.construct(l.getScriptConstruct(c.StateMachine),[a,e])}return this}static registerScriptConstruct(a,e){return this.registeredScriptMap.set(a,e)}static getScriptConstruct(a){return this.registeredScriptMap.get(a)}get code(){return this._code}set code(a){this._code=a}updateCode(a){this._code=a,this._originMainFile=new File([a],this.name)}async initByMain(a){const e=await a.text();this._code=e,this.subType=this.meta.subType??c.Default}async initByCreation(a,e,r={template:M.Default}){const s=b[r.template];return this._code=s.replace("$$name",z(this.name)),this._code}onDoubleClick(){f(this.root.projectStore.id,this.id),C()}getMainData(){return this._code}};de(l,"registeredScriptMap",new Map);p([B],l.prototype,"_code",2);p([R()],l.prototype,"subType",2);p([x({type:h.Textarea,label:y("script.source.code")}),w],l.prototype,"code",1);l=p([V({type:"script",label:y("asset.script.title"),defaultName:"Script.ts",extname:"ts",dragLayer:H.Script,importMenuConfig:{type:$.Add},bundle({content:t}){return{content:new Blob([t],{type:"text/plain; charset=utf-8"})}}})],l);const ce=async t=>Q(()=>import(t),[]);async function he(t,a=ce){const e=URL.createObjectURL(new Blob([t],{type:"application/javascript"}));try{return await a(e)}finally{URL.revokeObjectURL(e)}}var ue=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,me=(t,a,e,r)=>{for(var s=r>1?void 0:r?pe(a,e):a,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(a,e,s):o(s))||s);return r&&s&&ue(a,e,s),s};window.Galacean=k;window.ShaderUIScript=ne;var i;const v=(i=class extends l{constructor(){super(...arguments);d(this,"subType",c.ShaderUI);d(this,"_script");d(this,"_referencedShaderList",[])}get referencedShaderList(){return this._referencedShaderList}getMetaConfig(){let e=l.getRegisteredAssetMeta(l);return e={...e,defaultName:"ShaderUIScript.ts",customInspector:oe},e}get properties(){return Array.from(this._script._propertyCallBacks.keys())}get macros(){return Array.from(this._script._macroCallBacks.keys())}addReferencedShader(e){this._referencedShaderList.findIndex(r=>r.id===e.id)===-1&&this._referencedShaderList.push(e)}removeReferencedShader(e){const r=this._referencedShaderList.findIndex(s=>s.id===e.id);r!==-1&&this._referencedShaderList.splice(r,1)}async initByMain(e,r){const s=await e.text();await this.updateCode(s);const n=this.getRouteString();i.assetsMap.set(n,this)}initByCreation(e,r,s){return this._code=b[s.template],Promise.resolve(this.getMainData())}async updateCode(e){this._code=e,this._originMainFile=new File([e],this.name);const r=await this._compile(e),s=await he(r.contents);this._script=new s.default}async _compile(e){await this.root.esbuildInstancePromise;const{dependencies:r,setting:s}=this.root.projectStore;return(await X.build({stdin:{contents:e,loader:"ts"},bundle:!0,format:"esm",plugins:[se({"@galacean/engine":{varName:"Galacean",type:"cjs"}}),Ae(s.dependencies??r??{})]})).outputFiles[0]}async rename(e){let r=this.getRouteString();i.assetsMap.delete(r),await super.rename(e),r=this.getRouteString(),i.assetsMap.set(r,this),this._refreshShader()}afterDelete(){var r;(r=super.afterDelete)==null||r.call(this);const e=this.getRouteString();i.assetsMap.delete(e),this._refreshShader()}async moveTo(e){let r=this.getRouteString();i.assetsMap.delete(r),await this.moveViaFacade(e),r=this.getRouteString(),i.assetsMap.set(r,this),this._refreshShader()}getPropertyCallback(e){return this._script._propertyCallBacks.get(e)}getMacroCallback(e){return this._script._macroCallBacks.get(e)}onShaderChange(e){return this._script.onMaterialShaderSwitched(e)}onDoubleClick(){if(this.locked){G.error("Cannot edit internal Shader");return}f(this.root.projectStore.id,this.id),C()}_refreshShader(){for(const e of this._referencedShaderList)e.reCompile()}},d(i,"assetsMap",new Map),i);me([R()],v.prototype,"subType",2);let De=v;const E=new Map;function Ae(t){return{name:"cdnImport",setup(a){a.onResolve({filter:/^\S/},e=>({namespace:"cdn",path:e.path})),a.onLoad({namespace:"cdn",filter:/^./},async e=>{const r=E.get(e.path);if(r)return{contents:r,loader:"js"};const s=e.path,n=t[s]??"latest",o=`https://registry.npmmirror.com/${s}/${n}/files`,_=await fetch(`${o}/package.json`);if(!_.ok)return{errors:[{text:`package not found: ${s}`}]};const T=await _.json(),S=T.browser||T.main;if(S){const L=j("/",S),I=await fetch(`${o}${L}`);if(I.ok){const D=await I.text();return E.set(s,D),{contents:D,loader:"js"}}else return{errors:[{text:`failed to import ${e.path}`}]}}})}}}export{c as E,ne as S,l as a,De as b,M as c,b as t};
515
+ `;var M=(t=>(t.Default="default",t[t.StateMachine=c.StateMachine]="StateMachine",t.UnlitUIScript="unlitUIScript",t.PbrUIScript="pbrUIScript",t.DefaultUIScript="defaultUIScript",t))(M||{});const b={default:W,[M.StateMachine]:q,defaultUIScript:K,unlitUIScript:Y,pbrUIScript:J},Z=t=>{const{type:a="esm",varName:e,namedExports:r=null,defaultExport:s=!0}=typeof t=="string"?{varName:t}:t;return{type:a,varName:e,namedExports:r,defaultExport:s}},ee=t=>`module.exports = ${t};`,ae=(t,a,e)=>{const r=e?[`export default ${t};`]:[];if(a&&a.length){const s=[...new Set(a)].join(", ");r.push(`const { ${s} } = ${t};`),r.push(`export { ${s} };`)}return r.join(`
516
+ `)},te=t=>{const{type:a,varName:e,namedExports:r,defaultExport:s}=t;switch(a){case"esm":return ae(e,r,s);case"cjs":return ee(e)}},A="global-externals",re=t=>{const{modulePathFilter:a,getModuleInfo:e}=t;return{name:A,setup(r){r.onResolve({filter:a},s=>({path:s.path,namespace:A})),r.onLoad({filter:/.*/,namespace:A},s=>{const n=s.path,o=Z(e(n));return{contents:te(o)}})}}},se=t=>{const a={modulePathFilter:new RegExp(`^(?:${Object.keys(t).join("|")})$`),getModuleInfo:e=>t[e]};return re(a)};class ne{constructor(){d(this,"_propertyCallBacks",new Map);d(this,"_macroCallBacks",new Map)}onMaterialShaderSwitched(a){}onPropertyChanged(a,e){this._propertyCallBacks.set(a,e)}onMacroChanged(a,e){this._macroCallBacks.set(a,e)}}const oe=U(t=>{const a=t.asset,e=a.properties.map(n=>({label:n,type:h.PureDisplay,disable:!0,value:"",property:n})),r=a.macros.map(n=>({label:n,type:h.PureDisplay,disable:!0,value:"",property:n})),s=a.referencedShaderList.map(n=>({label:n.includePath,type:h.PureDisplay,disable:!0,value:"",property:n.includePath}));return u.jsxs(u.Fragment,{children:[u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Watched Properties",type:h.Group,children:e},model:a},"ScriptProperties"),u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Watched Macros",type:h.Group,children:r},model:a},"ScriptMacros"),u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Referenced Shaders",type:h.Group,children:s},model:a},"ReferencedShaders")]})});var g=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,le=(t,a,e)=>a in t?g(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,p=(t,a,e,r)=>{for(var s=r>1?void 0:r?ie(a,e):a,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(a,e,s):o(s))||s);return r&&s&&g(a,e,s),s},de=(t,a,e)=>(le(t,typeof a!="symbol"?a+"":a,e),e);let l=class extends O{constructor(a,e,r){super(a);d(this,"_code");d(this,"isScript",!0);d(this,"subType",c.Default);if(N(this),this.onDoubleClick=this.onDoubleClick.bind(this),r&&r.subType){if(r.subType===c.ShaderUI)return Reflect.construct(l.getScriptConstruct(c.ShaderUI),[a,e]);if(r.subType===c.StateMachine)return Reflect.construct(l.getScriptConstruct(c.StateMachine),[a,e])}return this}static registerScriptConstruct(a,e){return this.registeredScriptMap.set(a,e)}static getScriptConstruct(a){return this.registeredScriptMap.get(a)}get code(){return this._code}set code(a){this._code=a}updateCode(a){this._code=a,this._originMainFile=new File([a],this.name)}async initByMain(a){const e=await a.text();this._code=e,this.subType=this.meta.subType??c.Default}async initByCreation(a,e,r={template:M.Default}){const s=b[r.template];return this._code=s.replace("$$name",z(this.name)),this._code}onDoubleClick(){C(this.root.projectStore.id,this.id),f()}getMainData(){return this._code}};de(l,"registeredScriptMap",new Map);p([x],l.prototype,"_code",2);p([R()],l.prototype,"subType",2);p([B({type:h.Textarea,label:y("script.source.code")}),w],l.prototype,"code",1);l=p([H({type:"script",label:y("asset.script.title"),defaultName:"Script.ts",extname:"ts",dragLayer:Q.Script,importMenuConfig:{type:k.Add},bundle({content:t}){return{content:new Blob([t],{type:"text/plain; charset=utf-8"})}}})],l);const ce=async t=>X(()=>import(t),[]);async function he(t,a=ce){const e=URL.createObjectURL(new Blob([t],{type:"application/javascript"}));try{return await a(e)}finally{URL.revokeObjectURL(e)}}var ue=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,me=(t,a,e,r)=>{for(var s=r>1?void 0:r?pe(a,e):a,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(a,e,s):o(s))||s);return r&&s&&ue(a,e,s),s};window.Galacean=j;window.ShaderUIScript=ne;var i;const v=(i=class extends l{constructor(){super(...arguments);d(this,"subType",c.ShaderUI);d(this,"_script");d(this,"_referencedShaderList",[])}get referencedShaderList(){return this._referencedShaderList}getMetaConfig(){let e=l.getRegisteredAssetMeta(l);return e={...e,defaultName:"ShaderUIScript.ts",customInspector:oe},e}get properties(){return Array.from(this._script._propertyCallBacks.keys())}get macros(){return Array.from(this._script._macroCallBacks.keys())}addReferencedShader(e){this._referencedShaderList.findIndex(r=>r.id===e.id)===-1&&this._referencedShaderList.push(e)}removeReferencedShader(e){const r=this._referencedShaderList.findIndex(s=>s.id===e.id);r!==-1&&this._referencedShaderList.splice(r,1)}async initByMain(e,r){const s=await e.text();await this.updateCode(s);const n=this.getRouteString();i.assetsMap.set(n,this)}initByCreation(e,r,s){return this._code=b[s.template],Promise.resolve(this.getMainData())}async updateCode(e){this._code=e,this._originMainFile=new File([e],this.name);const r=await this._compile(e),s=await he(r.contents);this._script=new s.default}async _compile(e){await this.root.esbuildInstancePromise;const{dependencies:r,setting:s}=this.root.projectStore;return(await V.build({stdin:{contents:e,loader:"ts"},bundle:!0,format:"esm",plugins:[se({"@galacean/engine":{varName:"Galacean",type:"cjs"}}),Ae(s.dependencies??r??{})]})).outputFiles[0]}async rename(e){let r=this.getRouteString();i.assetsMap.delete(r),await super.rename(e),r=this.getRouteString(),i.assetsMap.set(r,this),this._refreshShader()}afterDelete(){var r;(r=super.afterDelete)==null||r.call(this);const e=this.getRouteString();i.assetsMap.delete(e),this._refreshShader()}async moveTo(e){let r=this.getRouteString();i.assetsMap.delete(r),await this.moveViaFacade(e),r=this.getRouteString(),i.assetsMap.set(r,this),this._refreshShader()}getPropertyCallback(e){return this._script._propertyCallBacks.get(e)}getMacroCallback(e){return this._script._macroCallBacks.get(e)}onShaderChange(e){return this._script.onMaterialShaderSwitched(e)}onDoubleClick(){if(this.locked){$.error("Cannot edit internal Shader");return}C(this.root.projectStore.id,this.id),f()}_refreshShader(){for(const e of this._referencedShaderList)e.reCompile()}},d(i,"assetsMap",new Map),i);me([R()],v.prototype,"subType",2);let Se=v;const E=new Map;function Ae(t){return{name:"cdnImport",setup(a){a.onResolve({filter:/^\S/},e=>({namespace:"cdn",path:e.path})),a.onLoad({namespace:"cdn",filter:/^./},async e=>{const r=E.get(e.path);if(r)return{contents:r,loader:"js"};const s=e.path,n=t[s]??"latest",o=`https://registry.npmmirror.com/${s}/${n}/files`,_=await fetch(`${o}/package.json`);if(!_.ok)return{errors:[{text:`package not found: ${s}`}]};const T=await _.json(),S=T.browser||T.main;if(S){const L=G("/",S),I=await fetch(`${o}${L}`);if(I.ok){const D=await I.text();return E.set(s,D),{contents:D,loader:"js"}}else return{errors:[{text:`failed to import ${e.path}`}]}}})}}}export{c as E,ne as S,l as a,Se as b,M as c,b as t};
@@ -0,0 +1 @@
1
+ var y=Object.defineProperty;var j=(s,e,r)=>e in s?y(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var c=(s,e,r)=>(j(s,typeof e!="symbol"?e+"":e,r),r);import{aQ as m,bm as S,aR as b,aS as t,aD as v,aF as d,aO as f,aP as g,aU as u,aW as k,aV as B,f as F,p as h,C as O,s as R}from"./index-aec7e708.js";import{u as E}from"./index-e8a45e82.js";import{c as I}from"./Component-ed7aa0ab.js";import{c as M}from"./createOnModelChange-b57a0da8.js";import{M as P}from"./MaterialInspector-e8242674.js";import{M as _}from"./MeshRendererBaseComponent-9efd3943.js";import"./IconPointFilled-811fc660.js";const x=m(S),z=m(({model:s,inspectorConfig:e,onModelChange:r})=>{const{disabled:n,property:o}=e,{t:l}=b();return t.jsxs(t.Fragment,{children:[t.jsx(v,{label:l(e.label),info:l(e.info),fieldCss:{minHeight:"$5"},children:t.jsx(d,{size:"sm",selectable:!0,code:!0,children:null})}),t.jsx(x,{label:" ",disabled:n,value:s[o].min,onChange:a=>{r==null||r(o,{...s[o],min:a})},formEndSlot:t.jsx(d,{size:"sm",selectable:!0,code:!0,children:l("skinned-mesh-renderer.local-bounds.min.label")})}),t.jsx(x,{label:" ",disabled:n,value:s[o].max,onChange:a=>{r==null||r(o,{...s[o],max:a})},formEndSlot:t.jsx(d,{size:"sm",selectable:!0,code:!0,children:l("skinned-mesh-renderer.local-bounds.max.label")})})]})}),C=f("div",{marginLeft:"5px"}),T=f(g,{border:"1px solid $gray6",borderRadius:"$2",padding:"$0_5",color:"$gray11",cursor:"pointer"}),$=m(function(s){const e=s.data,{t:r}=b();return t.jsxs(T,{align:"v",children:[t.jsx("img",{src:e.thumbnailUrl,alt:"Material Thumbnail",width:"20px",height:"20px"}),t.jsxs(C,{children:[r("skinned-mesh-renderer.material.label"),"(",e.name,")"]})]})}),V=m(function(s){const[e,r]=u.useState(null),n=s.data,{assetStore:o,inspectorFacade:l}=E();return u.useEffect(()=>{o.getAssetByRef(n.material).then(a=>{r(a)})},[n.material]),t.jsxs(t.Fragment,{children:[t.jsx(k.List,{model:n,configs:n.formSchema.items,onModelChange:M("component",n.id,l,n)}),e&&t.jsx(B,{nesting:!0,title:t.jsx($,{data:e}),open:n.materialOpen,onOpenChange:a=>{n.setMaterialOpen(a)},children:t.jsx(P,{asset:e})})]})});var w=Object.defineProperty,D=Object.getOwnPropertyDescriptor,p=(s,e,r,n)=>{for(var o=n>1?void 0:n?D(e,r):e,l=s.length-1,a;l>=0;l--)(a=s[l])&&(o=(n?a(e,r,o):a(o))||o);return n&&o&&w(e,r,o),o};let i=class extends _{constructor(e,r){super(e,r);c(this,"rootBone",null);c(this,"localBounds",{min:{x:0,y:0,z:0},max:{x:0,y:0,z:0}})}};p([F({getEngineValue:s=>{var e;return(e=s.skin)==null?void 0:e.rootBone}}),h({label:"skinned-mesh-renderer.skin.root-bone.label",info:"skinned-mesh-renderer.skin.root-bone.info",type:O.EntityPicker,disabled:!0})],i.prototype,"rootBone",2);p([h({label:"skinned-mesh-renderer.local-bounds.title",info:"skinned-mesh-renderer.local-bounds.info",customComponent:z,type:"BoundingBox"}),R()],i.prototype,"localBounds",2);i=p([I({type:"SkinnedMeshRenderer",customInspector:V,componentsMenu:{label:"component.renderer.skinned-mesh.title"}})],i);export{i as SkinnedMeshRendererComponent};
@@ -0,0 +1 @@
1
+ var F=Object.defineProperty;var S=(e,i,n)=>i in e?F(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n;var a=(e,i,n)=>(S(e,typeof i!="symbol"?i+"":i,n),n);import{S as v,a as B}from"./module-ffeaf99f.js";import{aQ as h,bl as b,e as y,E as N,x as g,p as l,C as f,s as m}from"./index-aec7e708.js";import{u as k}from"./index-e8a45e82.js";import{c as O}from"./Component-ed7aa0ab.js";import"./postmen-2f47f6bb.js";const P=h(function(e){const{model:i}=e,{inspectorFacade:n}=k();return b({label:y("spine.animation.label"),value:i.animationName,options:i.animationForm,onChange(t){n.componentChange(i.id,"animationName",t)}})}),_=h(function(e){const{model:i}=e,{inspectorFacade:n}=k();return b({label:y("spine.skin.label"),value:i.skinName,options:i.skinForm,onChange(t){n.componentChange(i.id,"skinName",t)}})});var j=Object.defineProperty,I=Object.getOwnPropertyDescriptor,p=(e,i,n,t)=>{for(var o=t>1?void 0:t?I(i,n):i,c=e.length-1,u;c>=0;c--)(u=e[c])&&(o=(t?u(i,n,o):u(o))||o);return t&&o&&j(i,n,o),o};let s=class extends N{constructor(i,n){super(i,n);a(this,"animationForm",[]);a(this,"skinForm",[]);a(this,"hasInit",!1);a(this,"resource",null);a(this,"loop",!1);a(this,"animationName","none");a(this,"skinName","default");a(this,"priority",0);a(this,"premultipliedAlpha",!1);a(this,"tintBlack",!1)}deserialize(i){const{props:n}=i;if(this._enabled=(n==null?void 0:n.enabled)??!0,n){this.priority=n.priority,this.resource=n.resource,this.premultipliedAlpha=n.premultipliedAlpha,this.tintBlack=n.tintBlack??!1;const{animationName:t,skinName:o,loop:c}=n.defaultConfig;this.animationName=t||"none",this.skinName=o,this.loop=c}super.deserialize(i)}toJSON(){const i=this.animationName==="none"?null:this.animationName;return{id:this.id,class:this.type,props:{enabled:this.enabled,priority:this.priority,resource:this.resource,premultipliedAlpha:this.premultipliedAlpha,tintBlack:this.tintBlack,defaultConfig:{animationName:i,skinName:this.skinName,loop:this.loop}}}}};p([g],s.prototype,"animationForm",2);p([g],s.prototype,"skinForm",2);p([l({label:"spine.resource.label",info:"spine.resource.info",type:f.AssetPicker,assetType:"SpineSkeletonData",onChange:async(e,i,n)=>{const t=e.engineObject;if(n){t.enabled=!0;const{skeletonData:o}=n;if(!o)return;const u=o.animations.map(r=>r.name).map(r=>({label:r,value:r}));u.unshift({label:"none",value:"none"}),e.animationForm=u,e.skinForm=o.skins.map(r=>({label:r.name,value:r.name})),e.hasInit?(e.animationName="none",e.skinName="default"):e.hasInit=!0;const{loop:d,skinName:C}=e,A=e.animationName==="none"?null:e.animationName;t.defaultConfig.animationName=A,t.defaultConfig.skinName=C,t.defaultConfig.loop=d,t.resource=new v(t.engine,o)}else t.enabled=!1,e.animationName="none",e.animationForm.length=0,e.skinForm.length=0,e.premultipliedAlpha=!1,e.tintBlack=!1}}),m()],s.prototype,"resource",2);p([l({label:"spine.loop.label",info:"spine.loop.info",type:f.Toggle,onChange(e,i,n){const{state:t}=e.engineObject;if(t){const o=t.getCurrent(0);o&&(o.loop=n)}}}),m()],s.prototype,"loop",2);p([l({info:"spine.animation.info",customComponent:P,onChange(e,i,n){const{state:t}=e.engineObject;t&&(n==="none"?t.setEmptyAnimation(0,0):t.setAnimation(0,n,e.loop))}}),m()],s.prototype,"animationName",2);p([l({info:"spine.skin.info",customComponent:_,onChange(e,i,n){const{engineObject:{skeleton:t}}=e;t&&n&&(t.setSkinByName(n),t.setSlotsToSetupPose())}}),m()],s.prototype,"skinName",2);p([l({label:"spine.priority.label",info:"spine.priority.info",type:f.Number,bindPath:"priority"}),m()],s.prototype,"priority",2);p([l({label:"spine.premultiplied-alpha.label",info:"spine.premultiplied-alpha.info",type:f.Toggle,bindPath:"premultipliedAlpha"}),m()],s.prototype,"premultipliedAlpha",2);p([l({label:"spine.tint-black.label",info:"spine.tint-black.info",type:f.Toggle,bindPath:"tintBlack"}),m()],s.prototype,"tintBlack",2);s=p([O({type:"SpineAnimationRenderer",componentsMenu:{group:"2D",label:"component.spine-animation.title"}})],s);N.registerCustomEngineComponent("SpineAnimationRenderer",B);export{s as SpineAnimationComponent};
@@ -0,0 +1 @@
1
+ var I=Object.defineProperty;var j=(t,s,e)=>s in t?I(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e;var c=(t,s,e)=>(j(t,typeof s!="symbol"?s+"":s,e),e);import{c7 as b,e as w,aO as $,u as B,S as U,aQ as q,aU as C,aS as A,c8 as z,x as g,aL as k,c9 as V,ca as M,j as J,_ as K,cb as L,p as W,C as X,a$ as Y,m as Q,n as G,q as H,o as Z,c5 as ee,by as te}from"./index-aec7e708.js";import{b as ne,c as se,T as ie,d as ae,R as oe,M as re,B as le,P as pe,e as ce,C as ue,f as me,a as v,S as T,L as he}from"./module-ffeaf99f.js";import"./index-e8a45e82.js";import"./postmen-2f47f6bb.js";import{A as de}from"./AssetViewer-64cd01fa.js";const x=new Map;function fe(t){return t??""}function ge(t){return`${t.name}|${t.size}|${t.lastModified}|${t.type}`}function ye(t,s){const{uploadAssetFile:e,assetType:n,parentFolderId:i,assetMeta:a}=s,o=i??t.currentFolderId??"",r=b(e.main,"upload.bin"),u=ge(r),l=fe(a);return`${o}|${n}|${u}|${l}`}function N(t,s){const e=ye(t,s),n=x.get(e);if(n)return n;const i=t.createAssetByUpload(s).finally(()=>{x.get(e)===i&&x.delete(e)});return x.set(e,i),i}var O=(t=>(t.region="region",t.boundingbox="boundingbox",t.mesh="mesh",t.linkedmesh="linkedmesh",t.path="path",t.point="point",t.clipping="clipping",t.sequence="sequence",t))(O||{});const Ae=["region","linkedmesh","mesh"];async function we(t,s){const e={uploadFiles:[],usedFiles:[],errors:[]},{atlasRawFiles:n,atlasFound:i}=await ke(t,e),a=await Promise.all(n.map(l=>N(s.root.assetFacade,{uploadAssetFile:l,assetType:"SpineAtlas"})));e.usedFiles.push(...n.flatMap(l=>[b(l.main,"spine.atlas"),...Object.values(l.subFiles)]));const o=await Se(t,e);o.length>0&&!i&&e.errors.push(w("spine.error.no-atlas-file"));const r=o.map(l=>(e.usedFiles.push(l.spineFile),xe(l,a,e)));let u=await Promise.all(r);return u=u.filter(l=>l!==null),e.uploadFiles.push(...u),e}async function ke(t,s){const e=[];let n=!1;for(const i in t){const a=t[i];if(a.name.endsWith(".atlas")){n=!0;const r=await Pe(t,a);if(r.length>0){const u={};r.forEach(l=>u[l.name]=l),e.push({main:a,subFiles:u})}else s.errors.push(w("spine.error.missing-images"))}}return{atlasRawFiles:e,atlasFound:n}}async function Se(t,s){const e=[];for(const n in t){const i=t[n],a=i.name,o=a.split(".")[0];if(a.endsWith(".json"))try{const r=await i.text(),u=JSON.parse(r);u.skeleton&&u.skeleton.spine&&e.push({spineFile:i,spineName:o,isBinary:!1})}catch(r){s.errors.push(P(a,r))}else a.endsWith(".skel")&&e.push({spineFile:i,spineName:o,isBinary:!0})}return e}async function xe(t,s,e){const{spineFile:n}=t,i={type:"SpineSkeletonData",atlas:{refId:null}},a={main:n,meta:null};let o;try{o=await De(t,s,e)}catch(r){return e.errors.push(r instanceof Error?r.message:P(n.name,r)),null}return s.length===0?null:o?(i.atlas.refId=o.id,a.meta=JSON.stringify(i),a):(e.errors.push(w("spine.error.missing-attachments")),null)}async function De(t,s,e){const n=await _e(t);return await Re(s,n)}async function _e(t){const{spineFile:s,isBinary:e}=t,n=new Set;if(e){const r=await s.arrayBuffer();return Fe(r,n),Array.from(n)}const i=await s.text();let a;try{a=JSON.parse(i)}catch(r){throw new Error(P(s.name,r))}return!a||!a.skins?[]:(a.skins.forEach(r=>{if(r.attachments)for(const u in r.attachments){const l=r.attachments[u];for(const y in l){const p=l[y];if(p.type){let h;const f=p.type;try{h=O[f]}catch(F){throw console.warn(w("spine.error.incompatible-version",f)),F}if(!Ae.includes(h))continue}if(p.path)n.add(p.path);else if(p.name)n.add(p.name);else if(p.sequence){const h=new ne(null).readSequence(p.sequence);if(h)for(let f=0;f<h.regions.length;++f)n.add(h.getPath(y,f));else n.add(y)}else n.add(y)}}}),Array.from(n))}function Fe(t,s){new se(new D(s)).readSkeletonData(new Uint8Array(t))}class D{constructor(s){c(this,"requiredPaths");this.requiredPaths=s}static assignDummyRegion(s){s.region=new ie(new ae("dummy"),"")}newRegionAttachment(s,e,n,i){const a=new oe(e,"");return i?this.loadSequence(n,i):(this.requiredPaths.add(n),D.assignDummyRegion(a)),a}newMeshAttachment(s,e,n,i){const a=new re(e,"");return i?this.loadSequence(n,i):(this.requiredPaths.add(n),D.assignDummyRegion(a)),a}newBoundingBoxAttachment(s,e){return new le(e)}newPathAttachment(s,e){return new pe(e)}newPointAttachment(s,e){return new ce(e)}newClippingAttachment(s,e){return new ue(e)}loadSequence(s,e){const n=e.regions;for(let i=0,a=n.length;i<a;i++){const o=e.getPath(s,i);this.requiredPaths.add(o)}}}async function Re(t,s){for(let e=0;e<t.length;e+=1){const n=t[e];if(Te(n.textureAtlas,s))return n}return null}async function Te(t,s){for(let e=0;e<s.length;e+=1){const n=s[e];if(!be(t,n))return!1}return!0}function P(t,s){const e=s instanceof Error?s.message:String(s);return`Failed to parse spine JSON "${t}": ${e}`}function be(t,s){const e=t.findRegion(s);if(e)return e;const n=s.length;for(const i of t.regions){const a=i.name;if(a.startsWith(s)&&a.substring(n).split("").every(r=>r>="0"&&r<="9"))return i}return null}async function Pe(t,s){const e=await s.text(),n=new me(e),i=[];return n.pages.forEach(a=>{const o=a.name,r=t[o];if(r)i.push(r);else return null}),i}async function Me(t,s,e){const n=b(t.main,"spine.atlas"),i=await Ce(t,e);return{main:n,meta:JSON.stringify({textures:i,type:"SpineAtlas"})}}async function Ce(t,s){const e=[];for(const p in t.subFiles){const h=t.subFiles[p];h.name.endsWith(".atlas")||e.push({main:h,type:"Texture"})}const n=[];let i=[],a;const o=s.getAssetFromCurrentFolder();(o==null?void 0:o.length)>0&&(a=o.filter(p=>p.meta.type==="Texture")),a?e.forEach(p=>{const h=a.find(f=>f.name===p.main.name);h?n.push(h.getCurrentRef()):i.push(p)}):i=e;const r=[];i.forEach(p=>{r.push(N(s.root.assetFacade,{uploadAssetFile:p,assetType:"Texture"}))});const l=(await Promise.all(r)).map(p=>p.getCurrentRef());return n.concat(l)}var ve=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,d=(t,s,e,n)=>{for(var i=n>1?void 0:n?Ne(s,e):s,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(s,e,i):o(i))||i);return n&&i&&ve(s,e,i),i};const Oe=$("div",{position:"absolute",top:8,left:8,display:"grid",gap:"$1",marginTop:"$1 $2",variants:{hasClips:{true:{gridTemplateColumns:"150px 18px 1fr"},false:{gridTemplateColumns:"$4_5 1fr"}}}});class m extends de{constructor(){super();c(this,"_spineAnimationRenderer");c(this,"_animationTrack");c(this,"_updateComponent");c(this,"playing",!1);c(this,"frameTime",0);c(this,"duration",0);c(this,"animationNames",[]);c(this,"skinNames",[]);c(this,"animationIndex",0);c(this,"skinIndex",0);c(this,"_size",{w:0,h:0});c(this,"overridePreviewer",q(({asset:e,viewer:n})=>{const i=e.getViewerRootEntity();return C.useEffect(()=>{this.skinIndex=0},[e]),C.useEffect(()=>{this._spineAnimationRenderer?this.updateViewAsset(e,i):this.setViewAsset(e,i)},[e.skeletonData]),A.jsxs(A.Fragment,{children:[A.jsx(z,{asset:e,viewer:n}),A.jsx(Ee,{selectedKey:this.skinIndex,clips:this.skinNames,onSelectClip:a=>{this.skinIndex=a,this.changeSkin(this.skinNames[a])}})]})}));B(this)}setViewAsset(e,n){if(!e.skeletonData){this.stopViewAsset();return}this.animationIndex=0,this.duration=0;const i=n.engine,a=e.skeletonData,o=n.createChild("spine-entity"),r=o.addComponent(v);this.animationNames=a.animations.map(R=>R.name),this.animationNames.unshift("none"),this.skinNames=a.skins.map(R=>R.name),this._entity=o,this._spineAnimationRenderer=r,r.resource=new T(i,a);const{width:u,height:l,x:y,y:p}=a;this._size={w:u,h:l};const h=y+u/2,f=p+l/2;o.transform.setPosition(-h/100,-f/100,0);const F=this;this._updateComponent=this._entity.addComponent(class extends U{onUpdate(){F._onUpdate()}})}updateViewAsset(e,n){if(!e.skeletonData){this.stopViewAsset();return}const i=n.engine,a=e.skeletonData;this.animationNames=a.animations.map(o=>o.name),this.animationNames.unshift("none"),this.skinNames=a.skins.map(o=>o.name),this._spineAnimationRenderer.resource=new T(i,a)}getSize(){return{width:this._size.w/100,height:this._size.h/100}}stopViewAsset(){var e;super.stopViewAsset(),this.playing=!1,this.frameTime=0,this.duration=0,this.animationNames=[],this.skinNames=[],this.animationIndex=0,this.skinIndex=0,this._spineAnimationRenderer&&(this._spineAnimationRenderer.enabled=!1),this._spineAnimationRenderer=null,(e=this._updateComponent)==null||e.destroy()}changeSkin(e){const{skeleton:n,state:i}=this._spineAnimationRenderer;n.setSkinByName(e),n.setSlotsToSetupPose(),i.apply(n)}selectAnimation(e){this.animationIndex=e;const n=this.animationNames[e];this.play(n)}play(e){let n;const{state:i}=this._spineAnimationRenderer;e==="none"?n=i.setEmptyAnimation(0,0):n=i.setAnimation(0,e,!0),this._animationTrack=n,this._spineAnimationRenderer.state.timeScale=1,this.playing=!0,this.duration=n.animationEnd}pauseAnimation(){this.pause()}playAnimation(){this._spineAnimationRenderer.state.timeScale=1}pause(){this._spineAnimationRenderer.state.timeScale=0,this.playing=!1}_onUpdate(){if(!this.playing)return;const e=this._animationTrack.trackTime%this.duration;this.frameTime=isNaN(e)?0:e}}d([g],m.prototype,"playing",2);d([g],m.prototype,"frameTime",2);d([g],m.prototype,"duration",2);d([g],m.prototype,"animationNames",2);d([g],m.prototype,"skinNames",2);d([g],m.prototype,"animationIndex",2);d([g],m.prototype,"skinIndex",2);d([k],m.prototype,"changeSkin",1);d([k],m.prototype,"selectAnimation",1);d([k],m.prototype,"play",1);d([k],m.prototype,"pauseAnimation",1);d([k],m.prototype,"playAnimation",1);d([k],m.prototype,"pause",1);d([k],m.prototype,"_onUpdate",1);function Ee({onSelectClip:t,clips:s,selectedKey:e}){return A.jsx(Oe,{hasClips:!!s.length,children:s.length>0&&A.jsx(V,{value:e,onValueChange:t,valueType:"number",size:"xs",sideOffset:8,children:s.map((n,i)=>n?A.jsx(M,{value:i,children:n},i):null)})})}var Ie=Object.defineProperty,je=Object.getOwnPropertyDescriptor,_=(t,s,e,n)=>{for(var i=n>1?void 0:n?je(s,e):s,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(s,e,i):o(i))||i);return n&&i&&Ie(s,e,i),i};let S=class extends J{constructor(s){super(s);c(this,"_delOnSkeletonDel");c(this,"_delOnAtlasDel");c(this,"_hasInit",!1);c(this,"atlas",null);c(this,"skeletonRawData","");c(this,"skeletonData")}async initByMain(s){const e=await s.text();try{JSON.parse(e),this.skeletonRawData=e}catch{this.skeletonRawData=await s.arrayBuffer()}const n=this.meta,{atlas:i}=n;this.atlas=i;const a=await this.root.assetStore.getAssetByRef(i),o=E(this.skeletonRawData,a,!0);o&&this.createDragTempEntity(o)}createDragTempEntity(s){this.skeletonData=s;const e=new K(this.engine),n=e.addComponent(v);n.resource=new T(this.engine,this.skeletonData),this.setDragTempEntity(e)}instantiate(){if(!this.skeletonData)return;const s=this.root.sceneStore.createEntity(),e=this.getDragTempEntity(),{position:n,rotation:i}=e.transform,a={components:[{class:"SpineAnimationRenderer",id:L(),props:{resource:this.getCurrentRef(),priority:0,defaultConfig:{loop:!1,animationName:"none",skinName:"default"}}}],id:s.id,isActive:!0,isClone:!1,name:this.name?this.name:"spine",position:{x:n.x,y:n.y,z:n.z},rotation:{x:i.x,y:i.y,z:i.z},scale:{x:1,y:1,z:1}};return s.initByFile(a),s}};_([W({assetType:"SpineAtlas",label:w("asset.spine-atlas.title"),type:X.AssetPicker,onChange:async(t,s,e)=>{if(t._delOnAtlasDel&&(t._delOnAtlasDel(),t._delOnAtlasDel=null),e){let n=!0;t._hasInit?n=!1:t._hasInit=!0,t.skeletonData=E(t.skeletonRawData,e,n),t.skeletonData&&t.createDragTempEntity(t.skeletonData);const i=()=>{t._delOnSkeletonDel&&t._delOnSkeletonDel(),t._delOnSkeletonDel=null,t.skeletonData=null};e.on("delete",i),t._delOnSkeletonDel=()=>{e.off("delete",i)}}else t.skeletonData=null}}),Y()],S.prototype,"atlas",2);_([Q()],S.prototype,"skeletonRawData",2);_([g.ref],S.prototype,"skeletonData",2);S=_([G({type:"SpineSkeletonData",label:w("asset.spine-skeleton-data.title"),loaderType:"Spine",viewer:m,dragLayer:H.SpineSkeletonData,dragType:"2d",filterUploadFiles:we,importMenuConfig:{type:Z.Upload,accept:".json,.atlas,.skel,.png,.jpg,.jpeg,.webp",multiple:!0},bundle(t){return t.dependencies=ee(t.meta,["atlas"]),{content:t.content}}})],S);function E(t,s,e){if(!s)return null;try{return he.createSkeletonData(t,s.textureAtlas,.01)}catch{return!e&&te.error(w("spine.error.generate-skeleton-data")),null}}const Je=Object.freeze(Object.defineProperty({__proto__:null,get SpineSkeletonDataAsset(){return S}},Symbol.toStringTag,{value:"Module"}));export{S,Je as a,Me as s};
@@ -0,0 +1 @@
1
+ var f=Object.defineProperty;var c=(t,e,o)=>e in t?f(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var r=(t,e,o)=>(c(t,typeof e!="symbol"?e+"":e,o),o);import{s as m,aI as h,p as g,C as b,f as u}from"./index-aec7e708.js";import"./index-e8a45e82.js";import{c as d}from"./Component-ed7aa0ab.js";import"./postmen-2f47f6bb.js";import{L as P}from"./LightBaseComponent-12dc27d1.js";var y=Object.defineProperty,v=Object.getOwnPropertyDescriptor,i=(t,e,o,n)=>{for(var p=n>1?void 0:n?v(e,o):e,l=t.length-1,s;l>=0;l--)(s=t[l])&&(p=(n?s(e,o,p):s(p))||p);return n&&p&&y(e,o,p),p};let a=class extends P{constructor(e,o){super(e,o);r(this,"angle",20);r(this,"distance",60);r(this,"penumbra",60)}};i([m(h()),g({type:b.Slider,min:1,max:179,bindPath:"angle",label:"light.spot.angle.label",info:"light.spot.angle.info"}),u({getPath:"angle",getEditorValue:t=>t*180/Math.PI})],a.prototype,"angle",2);i([m(),g({type:b.Number,bindPath:"distance",label:"light.spot.distance.label",info:"light.spot.distance.info"})],a.prototype,"distance",2);i([m(h()),g({type:b.Slider,min:1,max:179,bindPath:"penumbra",label:"light.spot.penumbra.label",info:"light.spot.penumbra.info"}),u({getPath:"penumbra",getEditorValue:t=>t*180/Math.PI})],a.prototype,"penumbra",2);a=i([d({type:"SpotLight",componentsMenu:{group:"light",label:"component.light.spot.title"}})],a);export{a as SpotLightComponent};