@fps-games/editor-deployment 0.2.3-beta.6 → 0.2.3-beta.7

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 (197) hide show
  1. package/bin/fps-editor-prepare.mjs +3 -3
  2. package/bin/fps-editor-project.mjs +9 -9
  3. package/licenses/THIRD_PARTY_NOTICES.txt +2 -2
  4. package/manifest.json +216 -216
  5. package/npm-shrinkwrap.json +2 -2
  6. package/package.json +5 -5
  7. package/public/assets/animation-BJ8XM1EP.js.gz +0 -0
  8. package/public/assets/animationGroup-nIU37qTl.js.gz +0 -0
  9. package/public/assets/arcRotateCamera-Bpb6_-jM.js.gz +0 -0
  10. package/public/assets/babylon-core-B6Ot-GOK.js.gz +0 -0
  11. package/public/assets/babylon-core-DBdQTkWG.js.gz +0 -0
  12. package/public/assets/basisTextureLoader-xaH1TU2T.js.gz +0 -0
  13. package/public/assets/bumpVertex-CydMViY3.js.gz +0 -0
  14. package/public/assets/bumpVertex-bM0VcD-v.js.gz +0 -0
  15. package/public/assets/chromaticAberration.fragment-2LQpSY6n.js.gz +0 -0
  16. package/public/assets/chromaticAberration.fragment-CPC2jGBk.js.gz +0 -0
  17. package/public/assets/circleOfConfusion.fragment-DWehhKOk.js.gz +0 -0
  18. package/public/assets/circleOfConfusion.fragment-WIeIzKLd.js.gz +0 -0
  19. package/public/assets/clipPlaneFragment-BQiHvjzo.js.gz +0 -0
  20. package/public/assets/clipPlaneVertex-D5EB-X5S.js.gz +0 -0
  21. package/public/assets/color.fragment-0xZe_dSa.js.gz +0 -0
  22. package/public/assets/color.fragment-BQNpLnxa.js.gz +0 -0
  23. package/public/assets/color.vertex-0geH1BI8.js.gz +0 -0
  24. package/public/assets/color.vertex-qtb2-mc5.js.gz +0 -0
  25. package/public/assets/dds-IzbrFkh8.js.gz +0 -0
  26. package/public/assets/ddsTextureLoader-D3ROWbwv.js.gz +0 -0
  27. package/public/assets/default.fragment-BAHNlmD5.js.gz +0 -0
  28. package/public/assets/default.fragment-D3MA9CRV.js.gz +0 -0
  29. package/public/assets/default.vertex-B1KwtIUb.js.gz +0 -0
  30. package/public/assets/default.vertex-Mne8Sq_G.js.gz +0 -0
  31. package/public/assets/defaultUboDeclaration-00t3po2f.js.gz +0 -0
  32. package/public/assets/defaultUboDeclaration-DAuovVEA.js.gz +0 -0
  33. package/public/assets/depth.fragment-Da86gbwP.js.gz +0 -0
  34. package/public/assets/depth.vertex-DPT_V_9f.js.gz +0 -0
  35. package/public/assets/depthBoxBlur.fragment-tYNfbhdh.js.gz +0 -0
  36. package/public/assets/depthBoxBlur.fragment-zrJ9DLe5.js.gz +0 -0
  37. package/public/assets/depthOfFieldMerge.fragment-Car-ami-.js.gz +0 -0
  38. package/public/assets/depthOfFieldMerge.fragment-eO7Ot6AR.js.gz +0 -0
  39. package/public/assets/easing-BdugUZqW.js.gz +0 -0
  40. package/public/assets/editor-core-plugin-host-c2002442.js.gz +0 -0
  41. package/public/assets/exrTextureLoader-DYq9r93V.js.gz +0 -0
  42. package/public/assets/flowGraphArrayIndexBlock-C3zDMjuo.js.gz +0 -0
  43. package/public/assets/flowGraphBezierCurveEasingBlock-DDoK8_8l.js.gz +0 -0
  44. package/public/assets/flowGraphBinaryOperationBlock-BKlR9DS-.js.gz +0 -0
  45. package/public/assets/flowGraphBranchBlock-Bup839Qd.js.gz +0 -0
  46. package/public/assets/flowGraphCachedOperationBlock-DnmbMTY7.js.gz +0 -0
  47. package/public/assets/flowGraphCancelDelayBlock-B9MfNdwj.js.gz +0 -0
  48. package/public/assets/flowGraphCodeExecutionBlock-auEOflkO.js.gz +0 -0
  49. package/public/assets/flowGraphConditionalDataBlock-BAia9WED.js.gz +0 -0
  50. package/public/assets/flowGraphConsoleLogBlock--6MvrOCG.js.gz +0 -0
  51. package/public/assets/flowGraphConstantBlock-FOfDeLIf.js.gz +0 -0
  52. package/public/assets/flowGraphContextBlock-BP5dmyKZ.js.gz +0 -0
  53. package/public/assets/flowGraphCounterBlock-DjKMvUGB.js.gz +0 -0
  54. package/public/assets/flowGraphDataSwitchBlock-gSJm410f.js.gz +0 -0
  55. package/public/assets/flowGraphDebounceBlock-CO5ptvWG.js.gz +0 -0
  56. package/public/assets/flowGraphDoNBlock-Bf26kum1.js.gz +0 -0
  57. package/public/assets/flowGraphEasingBlock-DtnL-aP_.js.gz +0 -0
  58. package/public/assets/flowGraphFlipFlopBlock-Bh_IN41P.js.gz +0 -0
  59. package/public/assets/flowGraphForLoopBlock-C3CLz9Iv.js.gz +0 -0
  60. package/public/assets/flowGraphFunctionReferenceBlock-Bz40tn10.js.gz +0 -0
  61. package/public/assets/flowGraphGetAssetBlock-DYP1H9Hj.js.gz +0 -0
  62. package/public/assets/flowGraphGetPropertyBlock-B6XVNxDR.js.gz +0 -0
  63. package/public/assets/flowGraphGetVariableBlock-BvaNDTu7.js.gz +0 -0
  64. package/public/assets/flowGraphIndexOfBlock-qm1Ab3oN.js.gz +0 -0
  65. package/public/assets/flowGraphInterpolationBlock-CmG25tSZ.js.gz +0 -0
  66. package/public/assets/flowGraphJsonPointerParserBlock-C8rfhc4j.js.gz +0 -0
  67. package/public/assets/flowGraphMathBlocks-BdiMH3MQ.js.gz +0 -0
  68. package/public/assets/flowGraphMathCombineExtractBlocks-CXvPWL3b.js.gz +0 -0
  69. package/public/assets/flowGraphMatrixMathBlocks-Cal7WQ7i.js.gz +0 -0
  70. package/public/assets/flowGraphMeshPickEventBlock-B8EU7KmL.js.gz +0 -0
  71. package/public/assets/flowGraphMultiGateBlock-GMcU5jv7.js.gz +0 -0
  72. package/public/assets/flowGraphPauseAnimationBlock-BKUeGFEQ.js.gz +0 -0
  73. package/public/assets/flowGraphPlayAnimationBlock-vvCkTY_Z.js.gz +0 -0
  74. package/public/assets/flowGraphPointerOutEventBlock-EEJ78HAF.js.gz +0 -0
  75. package/public/assets/flowGraphPointerOverEventBlock-QMzEzISN.js.gz +0 -0
  76. package/public/assets/flowGraphReceiveCustomEventBlock-B5jEx7xE.js.gz +0 -0
  77. package/public/assets/flowGraphSceneReadyEventBlock-MjViOZsL.js.gz +0 -0
  78. package/public/assets/flowGraphSceneTickEventBlock-lyjGPNYo.js.gz +0 -0
  79. package/public/assets/flowGraphSendCustomEventBlock-M0LLhV7D.js.gz +0 -0
  80. package/public/assets/flowGraphSequenceBlock-DocFLI4M.js.gz +0 -0
  81. package/public/assets/flowGraphSetDelayBlock-BDoJj0I_.js.gz +0 -0
  82. package/public/assets/flowGraphSetPropertyBlock-9jao3AHa.js.gz +0 -0
  83. package/public/assets/flowGraphSetVariableBlock-buwJMv9v.js.gz +0 -0
  84. package/public/assets/flowGraphStopAnimationBlock-CDWhmsC8.js.gz +0 -0
  85. package/public/assets/flowGraphSwitchBlock-DG5ReWET.js.gz +0 -0
  86. package/public/assets/flowGraphThrottleBlock-Bgyx9UOo.js.gz +0 -0
  87. package/public/assets/flowGraphTransformCoordinatesSystemBlock-CUUmRj2j.js.gz +0 -0
  88. package/public/assets/flowGraphTypeToTypeBlocks-D7N8ZT_V.js.gz +0 -0
  89. package/public/assets/flowGraphUnaryOperationBlock-Bu73VxMC.js.gz +0 -0
  90. package/public/assets/flowGraphVectorMathBlocks-CqVzbdAw.js.gz +0 -0
  91. package/public/assets/flowGraphWaitAllBlock-xmBmiluG.js.gz +0 -0
  92. package/public/assets/flowGraphWhileLoopBlock-Ct2rHXgO.js.gz +0 -0
  93. package/public/assets/fogFragmentDeclaration-C-9jZMBi.js.gz +0 -0
  94. package/public/assets/fogFragmentDeclaration-CpAbKvc3.js.gz +0 -0
  95. package/public/assets/glowBlurPostProcess.fragment-C77x1kl1.js.gz +0 -0
  96. package/public/assets/glowBlurPostProcess.fragment-C7miknry.js.gz +0 -0
  97. package/public/assets/glowMapGeneration.fragment-BAqrUGS4.js.gz +0 -0
  98. package/public/assets/glowMapGeneration.fragment-CMvy-ILZ.js.gz +0 -0
  99. package/public/assets/glowMapGeneration.vertex-BThT8Jce.js.gz +0 -0
  100. package/public/assets/glowMapGeneration.vertex-mq9WR5EZ.js.gz +0 -0
  101. package/public/assets/glowMapMerge.fragment-BtMIQDli.js.gz +0 -0
  102. package/public/assets/glowMapMerge.fragment-CYj1SIfc.js.gz +0 -0
  103. package/public/assets/glowMapMerge.vertex-BilMgMCX.js.gz +0 -0
  104. package/public/assets/glowMapMerge.vertex-ChJNqQPz.js.gz +0 -0
  105. package/public/assets/grain.fragment-D6WdAOpZ.js.gz +0 -0
  106. package/public/assets/grain.fragment-DCpxKIZw.js.gz +0 -0
  107. package/public/assets/harmonicsFunctions-B5nauyTb.js.gz +0 -0
  108. package/public/assets/harmonicsFunctions-DVIRrUZs.js.gz +0 -0
  109. package/public/assets/hdrTextureLoader-Dfs_Fv5B.js.gz +0 -0
  110. package/public/assets/hemisphericLight-BkYyeXbK.js.gz +0 -0
  111. package/public/assets/iesTextureLoader-I2E-BXCc.js.gz +0 -0
  112. package/public/assets/index-CzHwtW4R.js.gz +0 -0
  113. package/public/assets/index-Dk6-vu7X.js +1 -0
  114. package/public/assets/index-Dk6-vu7X.js.br +0 -0
  115. package/public/assets/index-Dk6-vu7X.js.gz +0 -0
  116. package/public/assets/instancesDeclaration-DcwHJpHY.js.gz +0 -0
  117. package/public/assets/ktxTextureLoader-zpgT--10.js.gz +0 -0
  118. package/public/assets/lazy-CI-V5lCV.js.gz +0 -0
  119. package/public/assets/lod.fragment-B28SQFUx.js.gz +0 -0
  120. package/public/assets/lod.fragment-DOjU_E37.js.gz +0 -0
  121. package/public/assets/lodCube.fragment-B_ALsGmh.js.gz +0 -0
  122. package/public/assets/lodCube.fragment-CzeVIOa3.js.gz +0 -0
  123. package/public/assets/logDepthFragment-BaJ2YjZ0.js.gz +0 -0
  124. package/public/assets/logDepthVertex-B8jNoEwN.js.gz +0 -0
  125. package/public/assets/logDepthVertex-xgQTn7wg.js.gz +0 -0
  126. package/public/assets/mesh.vertexData.functions-BXkNVxNr.js.gz +0 -0
  127. package/public/assets/meshUboDeclaration-C5p-TivH.js.gz +0 -0
  128. package/public/assets/meshUboDeclaration-DKldQKni.js.gz +0 -0
  129. package/public/assets/morphTargetsVertex-BDbfSote.js.gz +0 -0
  130. package/public/assets/oitFinalSimpleBlend.fragment-DtE63qrD.js.gz +0 -0
  131. package/public/assets/oitFinalSimpleBlend.fragment-ZwpH3v_v.js.gz +0 -0
  132. package/public/assets/oitFragment-B8hFhX-8.js.gz +0 -0
  133. package/public/assets/oitFragment-B_HlWcYZ.js.gz +0 -0
  134. package/public/assets/openpbrMaterial-t_lYoXh4.js.gz +0 -0
  135. package/public/assets/outline.fragment-DEsg98mo.js.gz +0 -0
  136. package/public/assets/outline.fragment-WqsugjI-.js.gz +0 -0
  137. package/public/assets/outline.vertex-CVL3AfNh.js.gz +0 -0
  138. package/public/assets/outline.vertex-CtQ-HC3X.js.gz +0 -0
  139. package/public/assets/passCube.fragment-CHI4OPgd.js.gz +0 -0
  140. package/public/assets/passCube.fragment-DLbzh6pI.js.gz +0 -0
  141. package/public/assets/pbr.fragment-DHPEcGrm.js.gz +0 -0
  142. package/public/assets/pbr.fragment-KiX_RvyZ.js.gz +0 -0
  143. package/public/assets/pbr.vertex-CVSRg4tx.js.gz +0 -0
  144. package/public/assets/pbr.vertex-Dp30Rtkl.js.gz +0 -0
  145. package/public/assets/playable-sdk-Cz5ms1M8.js +8 -0
  146. package/public/assets/playable-sdk-Cz5ms1M8.js.br +0 -0
  147. package/public/assets/playable-sdk-Cz5ms1M8.js.gz +0 -0
  148. package/public/assets/playable-standard-project-CgBNJ6kY.js +5070 -0
  149. package/public/assets/playable-standard-project-CgBNJ6kY.js.br +0 -0
  150. package/public/assets/playable-standard-project-CgBNJ6kY.js.gz +0 -0
  151. package/public/assets/rgbdDecode.fragment-CU4ChTYE.js.gz +0 -0
  152. package/public/assets/rgbdDecode.fragment-DhrCd3U4.js.gz +0 -0
  153. package/public/assets/rgbdEncode.fragment-Bt1zaovT.js.gz +0 -0
  154. package/public/assets/rgbdEncode.fragment-CfKDkRU3.js.gz +0 -0
  155. package/public/assets/sceneLoader-DS5g2vTC.js.gz +0 -0
  156. package/public/assets/screenSpaceCurvature.fragment-Od67z-rQ.js.gz +0 -0
  157. package/public/assets/selection.fragment-CRMhdE35.js.gz +0 -0
  158. package/public/assets/selection.fragment-cSqXB6nx.js.gz +0 -0
  159. package/public/assets/selection.vertex-B5sPJWi2.js.gz +0 -0
  160. package/public/assets/selection.vertex-Dp4qd1GF.js.gz +0 -0
  161. package/public/assets/selectionOutline.fragment-CaYdhbIY.js.gz +0 -0
  162. package/public/assets/selectionOutline.fragment-RBpUe89m.js.gz +0 -0
  163. package/public/assets/shadowMap.fragment-BecpzSny.js.gz +0 -0
  164. package/public/assets/shadowMap.fragment-BhrOFpmK.js.gz +0 -0
  165. package/public/assets/shadowMap.vertex-DV4Ec23Y.js.gz +0 -0
  166. package/public/assets/shadowMap.vertex-Dpx2-6XS.js.gz +0 -0
  167. package/public/assets/shadowMapFragmentSoftTransparentShadow-BHumE7-J.js.gz +0 -0
  168. package/public/assets/shadowMapFragmentSoftTransparentShadow-CrPC6Hns.js.gz +0 -0
  169. package/public/assets/sharpen.fragment-CPdQPlDe.js.gz +0 -0
  170. package/public/assets/textureMerger.fragment-BNxx2w1v.js.gz +0 -0
  171. package/public/assets/textureMerger.fragment-CPq4n9w5.js.gz +0 -0
  172. package/public/assets/tgaTextureLoader-B7dlONGx.js.gz +0 -0
  173. package/public/assets/vertexColorMixing-BUQkJeP0.js.gz +0 -0
  174. package/public/assets/vertexColorMixing-Co5x3WYA.js.gz +0 -0
  175. package/public/assets/volumetricLightingBlendVolume.fragment-D01l1w1u.js.gz +0 -0
  176. package/public/assets/volumetricLightingBlendVolume.fragment-Dq5kceRW.js.gz +0 -0
  177. package/public/assets/volumetricLightingRenderVolume.fragment-BCxtzv0C.js.gz +0 -0
  178. package/public/assets/volumetricLightingRenderVolume.fragment-DwEKCs2S.js.gz +0 -0
  179. package/public/assets/volumetricLightingRenderVolume.vertex-CNPaSIo7.js.gz +0 -0
  180. package/public/assets/volumetricLightingRenderVolume.vertex-EiQlWi_X.js.gz +0 -0
  181. package/public/assets/webAudioBus-DYpSKoOA.js.gz +0 -0
  182. package/public/assets/webAudioMainBus-CP3f56US.js.gz +0 -0
  183. package/public/assets/workerPool-H9Ji3mCo.js.gz +0 -0
  184. package/public/index.html +3 -3
  185. package/public/index.html.br +0 -0
  186. package/public/index.html.gz +0 -0
  187. package/runtime/editor-control-plane.mjs +3 -3
  188. package/worker/editor-service-worker.mjs +23 -23
  189. package/public/assets/index-nxfO_jYU.js +0 -1
  190. package/public/assets/index-nxfO_jYU.js.br +0 -0
  191. package/public/assets/index-nxfO_jYU.js.gz +0 -0
  192. package/public/assets/playable-sdk-D6RL-8B7.js +0 -135
  193. package/public/assets/playable-sdk-D6RL-8B7.js.br +0 -0
  194. package/public/assets/playable-sdk-D6RL-8B7.js.gz +0 -0
  195. package/public/assets/playable-standard-project-CkKWpnr-.js +0 -4943
  196. package/public/assets/playable-standard-project-CkKWpnr-.js.br +0 -0
  197. package/public/assets/playable-standard-project-CkKWpnr-.js.gz +0 -0
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@fps-games/editor-deployment",
3
- "version": "0.2.3-beta.6",
3
+ "version": "0.2.3-beta.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@fps-games/editor-deployment",
9
- "version": "0.2.3-beta.6",
9
+ "version": "0.2.3-beta.7",
10
10
  "bin": {
11
11
  "fps-editor-prepare": "bin/fps-editor-prepare.mjs",
12
12
  "fps-editor-server": "bin/fps-editor-server.mjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-deployment",
3
- "version": "0.2.3-beta.6",
3
+ "version": "0.2.3-beta.7",
4
4
  "type": "module",
5
5
  "description": "Prebuilt FPS Game Editor control plane, browser client, and project preparation tools.",
6
6
  "repository": {
@@ -31,10 +31,10 @@
31
31
  "node": ">=24 <27"
32
32
  },
33
33
  "devDependencies": {
34
- "@fps-games/editor": "0.2.3-beta.6",
35
- "@fps-games/editor-core": "0.2.3-beta.6",
36
- "@fps-games/playable-assets": "0.2.3-beta.6",
37
- "@fps-games/plugin-hierarchy": "0.2.3-beta.6",
34
+ "@fps-games/editor": "0.2.3-beta.7",
35
+ "@fps-games/editor-core": "0.2.3-beta.7",
36
+ "@fps-games/playable-assets": "0.2.3-beta.7",
37
+ "@fps-games/plugin-hierarchy": "0.2.3-beta.7",
38
38
  "@fps-games/plugin-sdk": "0.1.0-beta.2"
39
39
  },
40
40
  "publishConfig": {
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ import{gN as he,gM as Ie,oa as me,km as be}from"./playable-standard-project-CgBNJ6kY.js";import{registerFpsEditorContribution as we}from"@fps-games/editor-core/plugin-host";import"./hemisphericLight-BkYyeXbK.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))d(a);new MutationObserver(a=>{for(const p of a)if(p.type==="childList")for(const b of p.addedNodes)b.tagName==="LINK"&&b.rel==="modulepreload"&&d(b)}).observe(document,{childList:!0,subtree:!0});function r(a){const p={};return a.integrity&&(p.integrity=a.integrity),a.referrerPolicy&&(p.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?p.credentials="include":a.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function d(a){if(a.ep)return;a.ep=!0;const p=r(a);fetch(a.href,p)}})();const je="0.2.3-beta.7",Oe="fps.editor.surface.hierarchy",ze="fps.hierarchy.surface";function Re(){return Object.freeze({type:ze,id:"hierarchy",title:"层级",area:"left",toolbar:"scoped-hierarchy",createKernel:Se})}function Ge(e){const{snapshot:o,targetId:r,modifier:d}=e;if(r===null)return o.capabilities.clearSelection?Object.freeze({selectedIds:Object.freeze([]),activeId:null,anchorId:null}):Object.freeze({selectedIds:o.selectedIds,activeId:o.activeId,anchorId:e.anchorId});if(o.nodeById.get(r)?.selectable!==!0)return Object.freeze({selectedIds:o.selectedIds,activeId:o.activeId,anchorId:e.anchorId});if(d==="toggle"){const a=new Set(o.selectedIds);a.has(r)?a.delete(r):a.add(r);const p=[...a];return Object.freeze({selectedIds:Object.freeze(p),activeId:a.has(r)?r:p[p.length-1]??null,anchorId:r})}if(d==="range"&&o.capabilities.rangeSelection&&e.anchorId){const a=e.projection.indexOf(e.anchorId),p=e.projection.indexOf(r);if(a>=0&&p>=0){const[b,w]=a<=p?[a,p]:[p,a],I=e.projection.getRange(b,w).filter(m=>o.nodeById.get(m)?.selectable===!0);return Object.freeze({selectedIds:Object.freeze(I),activeId:r,anchorId:e.anchorId})}}return Object.freeze({selectedIds:Object.freeze([r]),activeId:r,anchorId:r})}function Se(){const e=new Map,o=new Map,r=new Map,d=new WeakMap;let a=new WeakMap;const p=new Map,b=new Set;let w=[],I=null,m=null,j=0;const U=(n=w)=>{const t=n.flatMap(l=>{if(!l.canProvide())return[];const u=l.getSnapshot();return u?[{provider:l,snapshot:u}]:[]}).sort((l,u)=>(u.provider.priority??0)-(l.provider.priority??0)||l.provider.id.localeCompare(u.provider.id));if(t.length>1&&(t[0].provider.priority??0)===(t[1].provider.priority??0))throw new Error(`Ambiguous Hierarchy scope providers: ${t[0].provider.id}, ${t[1].provider.id}.`);return t[0]??null},B=()=>{const n=U(),t=n?.provider??null,l=n?.snapshot??null;l&&t&&Ke(o,t,l);const u=l?.scopeKey??null;(I!==t||m!==u)&&(m&&de(e.get(m)),u&&de(e.get(u)),I=t,m=u,j+=1);const v=l&&t?ce(p,t,l):null;return v&&He(L(v.scopeKey),v),v},L=n=>{const t=e.get(n);if(t)return t;const l={collapsedIds:new Set,searchQuery:"",selectionAnchorId:null,rename:null,dragId:null,revision:null,dragIds:[],observedActiveId:null,sanitizedStructureRevision:null,projectionRevision:0,selectionGeneration:0,renameGeneration:0,dragGeneration:0,pendingSelectionGeneration:null,pendingRenameGeneration:null,pendingDragGeneration:null};return e.set(n,l),l},q=(n,t)=>{const l=L(n.scopeKey),u=Q(n,l,t),v=$(n,t,Y(n,n.activeId),"view");return Object.freeze({providerId:t.id,authorityToken:j,snapshot:n,state:ue(l,d),projection:u,operations:v})},$=(n,t,l,u)=>{let v=a.get(n);v||(v=new WeakMap,a.set(n,v));let i=v.get(t);i||(i=new Map,v.set(t,i));const z=`${u}\0${l.contextNodeId??""}\0${l.activeId??""}\0${l.targetIds.join("")}`,S=i.get(z);if(S)return S;const c=j,F=Object.freeze([...t.listOperations(l)]),T=B();return j!==c||I!==t||T?.scopeKey!==n.scopeKey||T.revision!==n.revision?Object.freeze([]):(i.set(z,F),F)},Q=(n,t,l)=>{const u=r.get(n.scopeKey);if(u&&u.provider===l&&u.structureRevision===n.structureRevision&&u.projectionRevision===t.projectionRevision)return u.projection;const v=Le(n,t);return r.set(n.scopeKey,{provider:l,structureRevision:n.structureRevision,projectionRevision:t.projectionRevision,projection:v}),v},M=()=>{for(let n=0;n<=w.length+1;n+=1){const t=B(),l=I;if(!t||!l)return null;const u=j,v=q(t,l);if(j===u&&I===l&&m===t.scopeKey)return v}throw new Error("Hierarchy provider authority did not stabilize during operation discovery.")},s=n=>{const t=[];for(const l of b)try{l.render(n)}catch(u){t.push(u)}if(t.length>0)throw t[0]},f=()=>{s(M())},g=n=>Object.freeze({ok:!0,changed:!1,revision:n?.revision??0,diagnostics:Object.freeze([])}),y=n=>{const t=Object.freeze({ok:!0,changed:!0,revision:n.revision,diagnostics:Object.freeze([])});try{return f(),t}catch(l){return re(t,n.revision,l)}},h=async(n,t)=>{try{const l=$e(await n());return l.revision<t.revision?x(t.revision,"hierarchy.operation.revision-regressed",new Error(`Hierarchy operation revision regressed from ${t.revision} to ${l.revision}.`)):l}catch(l){return x(t.revision,"hierarchy.operation.failed",l)}},G={setProviders(n){const t=Object.freeze([...n]);ke(t);const l=w,u=I,v=m,i=j,z=Be(o),S=Ee(e),c=new Map(r),F=Pe(p);let T;try{w=t,T=M()}catch(R){throw w=l,I=u,m=v,j=i,J(o,z),J(e,S),J(r,c),J(p,F),R}for(const R of o.keys())t.includes(R)||o.delete(R);for(const[R,_]of p)t.includes(_.provider)||p.delete(R);s(T)},getProvider(){return B(),I},getViewModel:M,patchNodeLabels(n){const t=B(),l=I;if(!t||!l)return null;let u=p.get(t.scopeKey);(u?.provider!==l||u.structureRevision!==t.structureRevision)&&(u={provider:l,structureRevision:t.structureRevision,labels:new Map,sourceSnapshot:null,snapshot:null},p.set(t.scopeKey,u));for(const[v,i]of Object.entries(n))if(!i.trim()||!t.nodeById.has(v))return null;for(const[v,i]of Object.entries(n))u.labels.set(v,i);return u.sourceSnapshot=null,u.snapshot=null,r.delete(t.scopeKey),ce(p,l,t)},listOperations(n,t){const l=I,u=m,v=B(),i=I;if((l!==i||u!==m)&&s(M()),!v||!i||t!==void 0&&t!==j||n.scopeKey!==v.scopeKey||n.expectedRevision!==v.revision)return Object.freeze([]);const z=$(v,i,n,"explicit");return I!==i||m!==v.scopeKey?(s(M()),Object.freeze([])):z},attachView(n){let t=null;try{t=n.bind(u=>G.dispatch(u)),b.add(n),n.render(M())}catch(u){if(b.delete(n),t)try{t()}catch(v){const i=new Error(`Hierarchy ViewAdapter initialization failed: ${le(u)}; cleanup failed: ${le(v)}`);throw Object.assign(i,{retryCleanup:()=>t?.()}),i}throw u}let l=!0;return()=>{l&&(t?.(),b.delete(n),l=!1)}},refresh(){a=new WeakMap,f()},async dispatch(n){let t=m?Me(o,I,m)?.revision??e.get(m)?.revision??0:0;const l=n.type==="drag.commit"&&m?e.get(m)??null:null,u=l?.dragGeneration??null,v=l?.dragId??null;try{const i=B();t=i?.revision??0;const z=I,S=j;if(!i||!z)return x(i?.revision??0,"hierarchy.scope.unavailable",new Error("No active Hierarchy scope provider is available."));if(n.expectedAuthorityToken!==void 0&&n.expectedAuthorityToken!==S)return x(i.revision,"hierarchy.operation.provider-authority-changed",new Error("Hierarchy intent authority no longer matches the active provider."));if(n.expectedScopeKey!==void 0&&n.expectedScopeKey!==i.scopeKey||n.expectedRevision!==void 0&&n.expectedRevision!==i.revision)return x(i.revision,"hierarchy.operation.view-authority-changed",new Error("Hierarchy intent no longer matches the rendered scope revision."));const c=L(i.scopeKey),F=$(i,z,Y(i,i.activeId),"view");if(j!==S||I!==z||m!==i.scopeKey)return x(i.revision,"hierarchy.operation.provider-authority-changed",new Error("Hierarchy provider authority changed during operation discovery."));const T=Object.freeze({providerId:z.id,authorityToken:S,snapshot:i,state:ue(c,d),projection:Q(i,c,z),operations:F});if(n.type==="search.change")return c.searchQuery===n.value?g(i):(c.searchQuery=n.value,c.projectionRevision+=1,y(i));if(n.type==="disclosure.toggle")return!i.nodeById.has(n.targetId)||!i.childrenByParentId.get(n.targetId)?.length?g(i):(c.collapsedIds.has(n.targetId)?c.collapsedIds.delete(n.targetId):c.collapsedIds.add(n.targetId),c.projectionRevision+=1,y(i));if(n.type==="disclosure.expand")return!i.nodeById.has(n.targetId)||!c.collapsedIds.delete(n.targetId)?g(i):(c.projectionRevision+=1,y(i));if(n.type==="disclosure.reveal"){if(!i.nodeById.has(n.targetId))return g(i);let O=!1,E=i.nodeById.get(n.targetId)?.parentId??null;for(;E;)O=c.collapsedIds.delete(E)||O,E=i.nodeById.get(E)?.parentId??null;return O?(c.projectionRevision+=1,y(i)):g(i)}if(n.type==="selection"||n.type==="selection.set"){const O=n.type==="selection"?Ge({snapshot:i,targetId:n.targetId,modifier:n.modifier,projection:T.projection,anchorId:c.selectionAnchorId}):Te(i,n.selectedIds,n.activeId,n.anchorId),E=c.selectionAnchorId,A=++c.selectionGeneration;c.pendingSelectionGeneration=A;const H=await h(()=>z.applySelection(Object.freeze({...Y(i,n.type==="selection"?n.targetId:n.activeId),selectedIds:O.selectedIds,activeId:O.activeId})),i);H.changed&&a.delete(i);let C;try{C=M()}catch(k){return c.pendingSelectionGeneration===A&&(c.pendingSelectionGeneration=null),X(H,i.revision,k)}const P=C?.snapshot??null,K=C?.authorityToken===S?ae(H,i,P):se(H,i.revision,S,C?.authorityToken??null);A===c.selectionGeneration&&P?.scopeKey===i.scopeKey&&P.revision===K.revision&&(c.revision=P.revision,c.selectionAnchorId=K.ok?O.anchorId:E),c.pendingSelectionGeneration===A&&(c.pendingSelectionGeneration=null);try{P&&I&&(C=q(P,I)),s(C)}catch(k){return re(K,i.revision,k)}return K}if(n.type==="rename.begin"){const O=i.nodeById.get(n.targetId);return!i.readonly&&i.capabilities.rename&&O?.renamable&&O.editorLocked!==!0?(c.renameGeneration+=1,c.rename={id:O.id,value:O.label},y(i)):g(i)}if(n.type==="rename.change")return c.rename?(c.renameGeneration+=1,c.rename.value=n.value,y(i)):g(i);if(n.type==="rename.cancel")return c.renameGeneration+=1,c.rename=null,y(i);if(n.type==="drag.begin"){const O=i.nodeById.get(n.targetId);if(!i.readonly&&i.capabilities.reparent&&O?.draggable&&O.editorLocked!==!0){const E=T.projection.getTopLevelSelection(i.selectedIds.includes(n.targetId)?i.selectedIds:[n.targetId]).filter(A=>{const H=i.nodeById.get(A);return H?.draggable===!0&&H.editorLocked!==!0});return E.length===0?g(i):(c.dragGeneration+=1,c.dragId=n.targetId,c.dragIds=Object.freeze(E),y(i))}return g(i)}if(n.type==="drag.cancel")return c.dragGeneration+=1,c.dragId=null,c.dragIds=[],y(i);if(n.type==="context")return g(i);let R,_,N=i.activeId;if(n.type==="primary"&&(R=i.primaryOperationId,N=n.targetId),n.type==="rename.commit"&&c.rename&&(R="hierarchy.node.rename",_=Object.freeze({targetId:c.rename.id,name:c.rename.value}),N=c.rename.id),n.type==="drag.commit"&&c.dragId&&(R=n.operationId,_=Object.freeze({...n.input??{},draggedIds:Object.freeze([...c.dragIds])}),N=c.dragId),n.type==="operation.execute"){if(R=n.operationId,_=n.input,n.context&&(n.context.scopeKey!==i.scopeKey||n.context.expectedRevision!==i.revision))return x(i.revision,"hierarchy.operation.stale",new Error("Hierarchy operation context no longer matches the active scope revision."));N=n.context?.contextNodeId??N}if(!R)return g(i);const D=c.renameGeneration,Z=c.dragGeneration;n.type==="rename.commit"&&(c.pendingRenameGeneration=D),n.type==="drag.commit"&&(c.pendingDragGeneration=Z);const ie=n.type==="rename.commit"?c.rename?.id:n.type==="drag.commit"?c.dragId:null,te=n.type==="operation.execute"&&n.context?n.context:n.type==="drag.commit"?Object.freeze({...Y(i,N),targetIds:Object.freeze([...c.dragIds])}):Y(i,N);try{const O=$(i,z,te,"explicit"),E=B(),A=j!==S||I!==z||m!==i.scopeKey,H=E?.revision!==i.revision;if(A||H){try{s(M())}catch{}return x(E?.revision??i.revision,A?"hierarchy.operation.provider-authority-changed":"hierarchy.operation.stale",new Error(A?"Hierarchy provider authority changed during operation discovery.":"Hierarchy scope revision changed during operation discovery."))}const C=O.find(W=>W.id===R);if(!C)return x(i.revision,"hierarchy.operation.unavailable",new Error(`Hierarchy operation is unavailable for this context: ${R}`));if(C.disabledReason)return x(i.revision,"hierarchy.operation.disabled",new Error(C.disabledReason));const P=await h(()=>z.executeOperation(Object.freeze({...te,operationId:R,..._?{input:_}:{}})),i);(P.ok||P.changed)&&a.delete(i);let K;try{K=M()}catch(W){return n.type==="rename.commit"&&c.pendingRenameGeneration===D&&(c.pendingRenameGeneration=null),X(P,i.revision,W)}const k=K?.snapshot??null,V=K?.authorityToken===S?ae(P,i,k):se(P,i.revision,S,K?.authorityToken??null),ee=k?.scopeKey===i.scopeKey&&k.revision===V.revision;ee&&k&&(c.revision=k.revision),V.ok&&n.type==="rename.commit"&&ee&&c.renameGeneration===D&&c.rename?.id===ie&&(c.rename=null),!V.ok&&V.changed&&ee&&k&&k.revision!==i.revision&&n.type==="rename.commit"&&c.renameGeneration===D&&(c.rename=null),n.type==="rename.commit"&&c.pendingRenameGeneration===D&&(c.pendingRenameGeneration=null);try{k&&I&&(K=q(k,I)),s(K)}catch(W){return re(V,i.revision,W)}return V}finally{if(n.type==="rename.commit"&&c.pendingRenameGeneration===D&&(c.pendingRenameGeneration=null),n.type==="drag.commit"&&c.pendingDragGeneration===Z&&(c.pendingDragGeneration=null,c.dragGeneration===Z&&c.dragId===ie)){c.dragId=null,c.dragIds=[];try{f()}catch{}}}}catch(i){return x(t,"hierarchy.operation.failed",i)}finally{if(l&&u!==null&&l.dragGeneration===u&&l.dragId===v){l.pendingDragGeneration=null,l.dragId=null,l.dragIds=[];try{f()}catch{}}}}};return G}function ke(e){const o=new Set;for(const r of e){if(!r.id.trim())throw new Error("Hierarchy scope provider id is required.");if(o.has(r.id))throw new Error(`Duplicate Hierarchy scope provider id: ${r.id}.`);o.add(r.id)}}function Ee(e){return new Map([...e].map(([o,r])=>[o,{...r,collapsedIds:new Set(r.collapsedIds),rename:r.rename?{...r.rename}:null}]))}function J(e,o){e.clear();for(const[r,d]of o)e.set(r,d)}function ce(e,o,r){const d=e.get(r.scopeKey);if(!d)return r;if(d.provider!==o||d.structureRevision!==r.structureRevision)return e.delete(r.scopeKey),r;if(d.sourceSnapshot===r&&d.snapshot)return d.snapshot;const a=new Map(r.nodeById);let p=!1;for(const[w,I]of d.labels){const m=a.get(w);!m||m.label===I||(a.set(w,Object.freeze({...m,label:I})),p=!0)}const b=p?Object.freeze({...r,nodeById:_e(a)}):r;return d.sourceSnapshot=r,d.snapshot=b,b}function Pe(e){return new Map([...e].map(([o,r])=>[o,{...r,labels:new Map(r.labels)}]))}function Be(e){return new Map([...e].map(([o,r])=>[o,new Map(r)]))}function Me(e,o,r){return o?e.get(o)?.get(r):void 0}function Ke(e,o,r){let d=e.get(o);d||(d=new Map,e.set(o,d));const a=d.get(r.scopeKey);if(a&&r.revision<a.revision)throw new Error(`Hierarchy scope ${r.scopeKey} revision regressed from ${a.revision} to ${r.revision}.`);if(a&&r.revision===a.revision&&!xe(a.snapshot,r))throw new Error(`Hierarchy scope ${r.scopeKey} reused revision ${r.revision} for a different authority snapshot.`);if(a&&r.structureRevision<a.structureRevision)throw new Error(`Hierarchy scope ${r.scopeKey} structureRevision regressed from ${a.structureRevision} to ${r.structureRevision}.`);if(a&&r.structureRevision===a.structureRevision&&(r.rootIds!==a.rootIds||r.nodeById!==a.nodeById||r.childrenByParentId!==a.childrenByParentId))throw new Error(`Hierarchy scope ${r.scopeKey} must structurally share tree indexes for structureRevision ${r.structureRevision}.`);(!a||r.revision>a.revision)&&d.set(r.scopeKey,{revision:r.revision,snapshot:r,structureRevision:r.structureRevision,rootIds:r.rootIds,nodeById:r.nodeById,childrenByParentId:r.childrenByParentId})}function xe(e,o){return e===o?!0:e.scopeType===o.scopeType&&e.structureRevision===o.structureRevision&&e.title===o.title&&e.searchPlaceholder===o.searchPlaceholder&&e.readonly===o.readonly&&e.rootIds===o.rootIds&&e.nodeById===o.nodeById&&e.childrenByParentId===o.childrenByParentId&&e.activeId===o.activeId&&e.primaryOperationId===o.primaryOperationId&&Ae(e.selectedIds,o.selectedIds)&&Ce(e.capabilities,o.capabilities)}function Ae(e,o){return e.length===o.length&&e.every((r,d)=>r===o[d])}function Ce(e,o){const r=new Set([...Object.keys(e),...Object.keys(o)]);for(const d of r)if(e[d]!==o[d])return!1;return!0}function Y(e,o){return Object.freeze({scopeKey:e.scopeKey,expectedRevision:e.revision,contextNodeId:o,targetIds:e.selectedIds,activeId:e.activeId})}function He(e,o){if(e.revision!==null&&e.revision!==o.revision&&(e.pendingSelectionGeneration===null&&(e.selectionGeneration+=1),e.pendingRenameGeneration===null&&(e.renameGeneration+=1,e.rename=null),e.pendingDragGeneration===null&&(e.dragGeneration+=1,e.dragId=null,e.dragIds=[])),e.revision=o.revision,e.observedActiveId!==o.activeId){let r=!1;if(e.collapsedIds.size>0){let d=o.activeId?o.nodeById.get(o.activeId)?.parentId??null:null;for(;d;)r=e.collapsedIds.delete(d)||r,d=o.nodeById.get(d)?.parentId??null}r&&(e.projectionRevision+=1),e.observedActiveId=o.activeId}if(e.sanitizedStructureRevision!==o.structureRevision){e.selectionAnchorId&&!o.nodeById.has(e.selectionAnchorId)&&(e.selectionAnchorId=null),e.rename&&!o.nodeById.has(e.rename.id)&&(e.rename=null),e.dragId&&!o.nodeById.has(e.dragId)&&(e.dragId=null),e.dragIds=e.dragIds.filter(d=>o.nodeById.has(d)),(!e.dragId||e.dragIds.length===0)&&(e.dragId=null,e.dragIds=[]);let r=!1;for(const d of e.collapsedIds)o.nodeById.has(d)||(r=e.collapsedIds.delete(d)||r);r&&(e.projectionRevision+=1),e.sanitizedStructureRevision=o.structureRevision}}function de(e){e&&(e.selectionGeneration+=1,e.renameGeneration+=1,e.dragGeneration+=1,e.pendingSelectionGeneration=null,e.pendingRenameGeneration=null,e.pendingDragGeneration=null,e.selectionAnchorId=null,e.rename=null,e.dragId=null,e.dragIds=[])}function Te(e,o,r,d){const a=fe(o).filter(w=>e.nodeById.get(w)?.selectable===!0),p=r&&a.includes(r)?r:a[0]??null,b=d&&e.nodeById.has(d)?d:p;return Object.freeze({selectedIds:Object.freeze(a),activeId:p,anchorId:b})}function Le(e,o){const r=o.searchQuery.trim().toLocaleLowerCase(),d=r?new Set:null;if(d)for(const s of e.nodeById.values()){if(!s.label.toLocaleLowerCase().includes(r)&&!s.id.toLocaleLowerCase().includes(r))continue;let f=s;for(;f&&!d.has(f.id);)d.add(f.id),f=f.parentId?e.nodeById.get(f.parentId):void 0}const a=[],p=new Map,b=[...e.rootIds].reverse().map(s=>({id:s,depth:0}));for(;b.length>0;){const{id:s,depth:f}=b.pop();if(!e.nodeById.get(s)||d&&!d.has(s)||(p.set(s,a.length),a.push(Object.freeze({id:s,depth:f})),!d&&o.collapsedIds.has(s)))continue;const y=e.childrenByParentId.get(s)??[];for(let h=y.length-1;h>=0;h-=1)b.push({id:y[h],depth:f+1})}const w=Object.freeze(a),I=Object.freeze([]),m=new Map,j=new Map,U=new Map,B=(s,f,g)=>(s.size>256&&s.clear(),s.set(f,g),g),L=s=>{if(!s)return I;const f=m.get(s);if(f)return f;const g=[];let y=e.nodeById.get(s)?.parentId??null;for(;y;)g.push(y),y=e.nodeById.get(y)?.parentId??null;return B(m,s,Object.freeze(g))},q=s=>{const f=j.get(s);if(f)return f;j.size>256&&j.clear();const g=new Set(L(s));return j.set(s,g),g},$=s=>{const f=fe(s).filter(G=>e.nodeById.has(G));if(f.length===0)return I;const g=f.join("\0"),y=U.get(g);if(y)return y;if(f.length===1)return B(U,g,Object.freeze([...f]));const h=new Set(f);return B(U,g,Object.freeze(f.filter(G=>!L(G).some(n=>h.has(n)))))},Q=(s,f)=>s!==f&&q(s).has(f),M=s=>{const f=$(s.draggedIds),g=u=>Object.freeze({ok:!1,reason:u,placement:s.placement,draggedIds:Object.freeze([]),targetId:s.targetId??null,parentId:null,beforeId:null,afterId:null});if(f.length===0)return g("empty-drag");for(const u of f){const v=e.nodeById.get(u);if(!v?.draggable||v.editorLocked===!0)return g("dragged-node-not-movable")}if(s.placement==="root")return Object.freeze({ok:!0,placement:"root",draggedIds:f,targetId:null,parentId:null,beforeId:null,afterId:null});const y=s.targetId??null,h=y?e.nodeById.get(y):void 0;if(!h)return g("missing-target");const G=new Set(f);if(G.has(h.id))return g("cannot-drop-on-self");if(f.some(u=>Q(h.id,u)))return g("cannot-drop-on-descendant");if(s.placement==="inside"){if(h.editorLocked===!0)return g("target-node-locked");if(!h.canHaveChildren)return g("target-cannot-have-children");const u=(e.childrenByParentId.get(h.id)??[]).filter(v=>!G.has(v));return Object.freeze({ok:!0,placement:"inside",draggedIds:f,targetId:h.id,parentId:h.id,beforeId:null,afterId:u[u.length-1]??null})}if(h.role==="root")return g("cannot-reorder-root");if(h.editorLocked===!0)return g("target-node-locked");if((h.parentId?e.nodeById.get(h.parentId):void 0)?.editorLocked===!0)return g("target-parent-locked");const t=(e.childrenByParentId.get(h.parentId)??[]).filter(u=>!G.has(u)),l=t.indexOf(h.id);return Object.freeze({ok:!0,placement:s.placement,draggedIds:f,targetId:h.id,parentId:h.parentId,beforeId:s.placement==="before"?h.id:t[l+1]??null,afterId:s.placement==="after"?h.id:t[l-1]??null})};return Object.freeze({structureRevision:e.structureRevision,projectionRevision:o.projectionRevision,totalCount:w.length,indexOf(s){return s?p.get(s)??-1:-1},getRow(s){return Number.isInteger(s)&&s>=0?w[s]??null:null},getWindow(s,f){const g=Math.max(0,Math.trunc(s)),y=Math.max(0,Math.trunc(f));return Object.freeze(w.slice(g,g+y))},getRange(s,f){const g=Math.max(0,Math.min(Math.trunc(s),Math.trunc(f))),y=Math.min(w.length-1,Math.max(Math.trunc(s),Math.trunc(f)));return y<g?Object.freeze([]):Object.freeze(w.slice(g,y+1).map(h=>h.id))},getAncestors:L,getSelectableChildren(s){return Object.freeze(s?(e.childrenByParentId.get(s)??[]).filter(f=>e.nodeById.get(f)?.selectable===!0):[])},getSelectableDescendants(s){if(!s||!e.nodeById.has(s))return Object.freeze([]);const f=[],g=[...e.childrenByParentId.get(s)??[]].reverse();for(;g.length>0;){const y=g.pop();e.nodeById.get(y)?.selectable===!0&&f.push(y);const h=e.childrenByParentId.get(y)??[];for(let G=h.length-1;G>=0;G-=1)g.push(h[G])}return Object.freeze(f)},getTopLevelSelection:$,isDescendant:Q,resolveDrop:M})}function $e(e){if(!e||typeof e!="object"||typeof e.ok!="boolean"||!Number.isSafeInteger(e.revision))throw new Error("Hierarchy provider returned an invalid operation result.");return Object.freeze({ok:e.ok,changed:e.changed===!0,revision:e.revision,diagnostics:Object.freeze([...e.diagnostics??[]])})}function x(e,o,r){return Object.freeze({ok:!1,changed:!1,revision:e,diagnostics:Object.freeze([Object.freeze({code:o,message:r instanceof Error?r.message:String(r),severity:"error"})])})}function X(e,o,r){const d=oe(e);return Object.freeze({ok:!1,changed:e.changed||d,revision:Math.max(o,e.revision),diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:"hierarchy.snapshot.refresh-failed-after-operation",message:r instanceof Error?r.message:String(r),severity:"error"}),...d?[Object.freeze({code:"hierarchy.operation.commit-status-unknown",message:"The provider failed before the refreshed snapshot could confirm whether its authored change committed.",severity:"error"})]:[]])})}function re(e,o,r){const d=oe(e);return Object.freeze({ok:!1,changed:e.changed||d,revision:Math.max(o,e.revision),diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:"hierarchy.view.render-failed-after-change",message:r instanceof Error?r.message:String(r),severity:"error"}),...d?[Object.freeze({code:"hierarchy.operation.commit-status-unknown",message:"The provider failed before the refreshed snapshot could confirm whether its authored change committed.",severity:"error"})]:[]])})}function ae(e,o,r){if(!r||r.scopeKey!==o.scopeKey)return X(e,o.revision,new Error(`Hierarchy scope ${o.scopeKey} was unavailable after the operation.`));if(r.revision<e.revision)return X(e,o.revision,new Error(`Hierarchy operation reported revision ${e.revision}, but the refreshed scope is still at ${r.revision}.`));if(r.revision===e.revision)return e;const d=!e.ok&&e.diagnostics.some(a=>a.code==="hierarchy.operation.failed")&&r.revision>o.revision;return Object.freeze({...e,changed:e.changed||d,revision:r.revision,diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:d?"hierarchy.operation.failed-after-revision-advanced":"hierarchy.operation.concurrent-revision-advanced",message:d?`The operation failed after the scope advanced from revision ${o.revision} to ${r.revision}; the authored result may already be committed.`:`The scope advanced to revision ${r.revision} while the operation completed.`,severity:d?"error":"info"})])})}function se(e,o,r,d){const a=oe(e);return Object.freeze({ok:!1,changed:e.changed||a,revision:Math.max(o,e.revision),diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:"hierarchy.operation.provider-authority-changed",message:`Hierarchy provider authority changed from token ${r} to ${d??"none"} while the operation was pending.`,severity:"error"}),...a?[Object.freeze({code:"hierarchy.operation.commit-status-unknown",message:"Provider authority changed before the failed operation could confirm whether its authored change committed.",severity:"error"})]:[]])})}function oe(e){return e.diagnostics.some(o=>o.code==="hierarchy.operation.failed")}function le(e){return e instanceof Error?e.message:String(e)}function ue(e,o){const r=o.get(e);if(r&&r.projectionRevision===e.projectionRevision&&r.selectionGeneration===e.selectionGeneration&&r.renameGeneration===e.renameGeneration&&r.dragGeneration===e.dragGeneration&&r.selectionAnchorId===e.selectionAnchorId&&r.renameId===(e.rename?.id??null)&&r.renameValue===(e.rename?.value??null)&&r.dragId===e.dragId&&r.dragIds===e.dragIds)return r.snapshot;const d=Object.freeze({collapsedIds:r?.projectionRevision===e.projectionRevision?r.snapshot.collapsedIds:new Set(e.collapsedIds),searchQuery:e.searchQuery,selectionAnchorId:e.selectionAnchorId,rename:e.rename?Object.freeze({...e.rename}):null,dragId:e.dragId,dragIds:r?.dragGeneration===e.dragGeneration&&r.dragIds===e.dragIds?r.snapshot.dragIds:Object.freeze([...e.dragIds])});return o.set(e,{projectionRevision:e.projectionRevision,selectionGeneration:e.selectionGeneration,renameGeneration:e.renameGeneration,dragGeneration:e.dragGeneration,selectionAnchorId:e.selectionAnchorId,renameId:e.rename?.id??null,renameValue:e.rename?.value??null,dragId:e.dragId,dragIds:e.dragIds,snapshot:d}),d}function fe(e){return[...new Set(e.filter(o=>o.trim()))]}function _e(e){let o;return o=Object.freeze({get size(){return e.size},has(r){return e.has(r)},get(r){return e.get(r)},entries(){return e.entries()},keys(){return e.keys()},values(){return e.values()},forEach(r,d){e.forEach((a,p)=>r.call(d,a,p,o))},[Symbol.iterator](){return e[Symbol.iterator]()}}),o}const ge="fps.plugin.hierarchy";function Ne(){return he({id:ge,version:je,apiVersion:1,requires:{},provides:{features:["fps.editor.hierarchy"]},entries:{editor:"./editor"},environmentContracts:{editor:{requires:{services:["fps.editor.contributions"]},provides:{}}},deploymentConstraints:{allowedTargets:["editor"]}})}const Fe=Ie({pluginId:ge,environment:"editor",register(e){we(e,{id:Oe,kind:"hierarchy",value:Re()})}}),pe=window.__FPS_EDITOR_PROJECT_DEFINITION__;if(!pe)throw new Error("Editor Project definition was not provided by the control plane.");const ve=me(pe),ne=Ne(),De=Object.freeze({environment:"editor",buildTarget:"editor",manifests:Object.freeze([ne]),entries:Object.freeze([{pluginId:ne.id,config:null,load:async()=>Fe}]),pluginConfigs:Object.freeze({...Object.fromEntries(ve.plugins.map(e=>[e.pluginId,e.config])),[ne.id]:null})}),ye=await be(ve.project,{root:document.body,window,projectMode:{async enterEditorMode(){},async enterPlayMode(){const e=window.__FPS_EDITOR_RUNTIME_URL__;if(!e)throw new Error("Editor Runtime URL was not provided by the control plane.");window.location.assign(e)}},pluginModule:De,getCanvas:()=>document.querySelector("#renderCanvas")});await ye.enterEditor();window.addEventListener("pagehide",()=>void ye.dispose(),{once:!0});
Binary file