@fps-games/editor-deployment 0.2.3-beta.5 → 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.
- package/bin/fps-editor-agent.mjs +5 -0
- package/bin/fps-editor-prepare.mjs +3 -3
- package/bin/fps-editor-project.mjs +14 -14
- package/bin/fps-editor-server.mjs +1 -1
- package/licenses/THIRD_PARTY_NOTICES.txt +2 -2
- package/manifest.json +225 -219
- package/npm-shrinkwrap.json +4 -3
- package/package.json +7 -6
- package/public/assets/animation-BJ8XM1EP.js.gz +0 -0
- package/public/assets/animationGroup-nIU37qTl.js.gz +0 -0
- package/public/assets/arcRotateCamera-Bpb6_-jM.js.gz +0 -0
- package/public/assets/babylon-core-B6Ot-GOK.js.gz +0 -0
- package/public/assets/babylon-core-DBdQTkWG.js.gz +0 -0
- package/public/assets/basisTextureLoader-xaH1TU2T.js.gz +0 -0
- package/public/assets/bumpVertex-CydMViY3.js.gz +0 -0
- package/public/assets/bumpVertex-bM0VcD-v.js.gz +0 -0
- package/public/assets/chromaticAberration.fragment-2LQpSY6n.js.gz +0 -0
- package/public/assets/chromaticAberration.fragment-CPC2jGBk.js.gz +0 -0
- package/public/assets/circleOfConfusion.fragment-DWehhKOk.js.gz +0 -0
- package/public/assets/circleOfConfusion.fragment-WIeIzKLd.js.gz +0 -0
- package/public/assets/clipPlaneFragment-BQiHvjzo.js.gz +0 -0
- package/public/assets/clipPlaneVertex-D5EB-X5S.js.gz +0 -0
- package/public/assets/color.fragment-0xZe_dSa.js.gz +0 -0
- package/public/assets/color.fragment-BQNpLnxa.js.gz +0 -0
- package/public/assets/color.vertex-0geH1BI8.js.gz +0 -0
- package/public/assets/color.vertex-qtb2-mc5.js.gz +0 -0
- package/public/assets/dds-IzbrFkh8.js.gz +0 -0
- package/public/assets/ddsTextureLoader-D3ROWbwv.js.gz +0 -0
- package/public/assets/default.fragment-BAHNlmD5.js.gz +0 -0
- package/public/assets/default.fragment-D3MA9CRV.js.gz +0 -0
- package/public/assets/default.vertex-B1KwtIUb.js.gz +0 -0
- package/public/assets/default.vertex-Mne8Sq_G.js.gz +0 -0
- package/public/assets/defaultUboDeclaration-00t3po2f.js.gz +0 -0
- package/public/assets/defaultUboDeclaration-DAuovVEA.js.gz +0 -0
- package/public/assets/depth.fragment-Da86gbwP.js.gz +0 -0
- package/public/assets/depth.vertex-DPT_V_9f.js.gz +0 -0
- package/public/assets/depthBoxBlur.fragment-tYNfbhdh.js.gz +0 -0
- package/public/assets/depthBoxBlur.fragment-zrJ9DLe5.js.gz +0 -0
- package/public/assets/depthOfFieldMerge.fragment-Car-ami-.js.gz +0 -0
- package/public/assets/depthOfFieldMerge.fragment-eO7Ot6AR.js.gz +0 -0
- package/public/assets/easing-BdugUZqW.js.gz +0 -0
- package/public/assets/editor-core-plugin-host-c2002442.js.gz +0 -0
- package/public/assets/exrTextureLoader-DYq9r93V.js.gz +0 -0
- package/public/assets/flowGraphArrayIndexBlock-C3zDMjuo.js.gz +0 -0
- package/public/assets/flowGraphBezierCurveEasingBlock-DDoK8_8l.js.gz +0 -0
- package/public/assets/flowGraphBinaryOperationBlock-BKlR9DS-.js.gz +0 -0
- package/public/assets/flowGraphBranchBlock-Bup839Qd.js.gz +0 -0
- package/public/assets/flowGraphCachedOperationBlock-DnmbMTY7.js.gz +0 -0
- package/public/assets/flowGraphCancelDelayBlock-B9MfNdwj.js.gz +0 -0
- package/public/assets/flowGraphCodeExecutionBlock-auEOflkO.js.gz +0 -0
- package/public/assets/flowGraphConditionalDataBlock-BAia9WED.js.gz +0 -0
- package/public/assets/flowGraphConsoleLogBlock--6MvrOCG.js.gz +0 -0
- package/public/assets/flowGraphConstantBlock-FOfDeLIf.js.gz +0 -0
- package/public/assets/flowGraphContextBlock-BP5dmyKZ.js.gz +0 -0
- package/public/assets/flowGraphCounterBlock-DjKMvUGB.js.gz +0 -0
- package/public/assets/flowGraphDataSwitchBlock-gSJm410f.js.gz +0 -0
- package/public/assets/flowGraphDebounceBlock-CO5ptvWG.js.gz +0 -0
- package/public/assets/flowGraphDoNBlock-Bf26kum1.js.gz +0 -0
- package/public/assets/flowGraphEasingBlock-DtnL-aP_.js.gz +0 -0
- package/public/assets/flowGraphFlipFlopBlock-Bh_IN41P.js.gz +0 -0
- package/public/assets/flowGraphForLoopBlock-C3CLz9Iv.js.gz +0 -0
- package/public/assets/flowGraphFunctionReferenceBlock-Bz40tn10.js.gz +0 -0
- package/public/assets/flowGraphGetAssetBlock-DYP1H9Hj.js.gz +0 -0
- package/public/assets/flowGraphGetPropertyBlock-B6XVNxDR.js.gz +0 -0
- package/public/assets/flowGraphGetVariableBlock-BvaNDTu7.js.gz +0 -0
- package/public/assets/flowGraphIndexOfBlock-qm1Ab3oN.js.gz +0 -0
- package/public/assets/flowGraphInterpolationBlock-CmG25tSZ.js.gz +0 -0
- package/public/assets/flowGraphJsonPointerParserBlock-C8rfhc4j.js.gz +0 -0
- package/public/assets/flowGraphMathBlocks-BdiMH3MQ.js.gz +0 -0
- package/public/assets/flowGraphMathCombineExtractBlocks-CXvPWL3b.js.gz +0 -0
- package/public/assets/flowGraphMatrixMathBlocks-Cal7WQ7i.js.gz +0 -0
- package/public/assets/flowGraphMeshPickEventBlock-B8EU7KmL.js.gz +0 -0
- package/public/assets/flowGraphMultiGateBlock-GMcU5jv7.js.gz +0 -0
- package/public/assets/flowGraphPauseAnimationBlock-BKUeGFEQ.js.gz +0 -0
- package/public/assets/flowGraphPlayAnimationBlock-vvCkTY_Z.js.gz +0 -0
- package/public/assets/flowGraphPointerOutEventBlock-EEJ78HAF.js.gz +0 -0
- package/public/assets/flowGraphPointerOverEventBlock-QMzEzISN.js.gz +0 -0
- package/public/assets/flowGraphReceiveCustomEventBlock-B5jEx7xE.js.gz +0 -0
- package/public/assets/flowGraphSceneReadyEventBlock-MjViOZsL.js.gz +0 -0
- package/public/assets/flowGraphSceneTickEventBlock-lyjGPNYo.js.gz +0 -0
- package/public/assets/flowGraphSendCustomEventBlock-M0LLhV7D.js.gz +0 -0
- package/public/assets/flowGraphSequenceBlock-DocFLI4M.js.gz +0 -0
- package/public/assets/flowGraphSetDelayBlock-BDoJj0I_.js.gz +0 -0
- package/public/assets/flowGraphSetPropertyBlock-9jao3AHa.js.gz +0 -0
- package/public/assets/flowGraphSetVariableBlock-buwJMv9v.js.gz +0 -0
- package/public/assets/flowGraphStopAnimationBlock-CDWhmsC8.js.gz +0 -0
- package/public/assets/flowGraphSwitchBlock-DG5ReWET.js.gz +0 -0
- package/public/assets/flowGraphThrottleBlock-Bgyx9UOo.js.gz +0 -0
- package/public/assets/flowGraphTransformCoordinatesSystemBlock-CUUmRj2j.js.gz +0 -0
- package/public/assets/flowGraphTypeToTypeBlocks-D7N8ZT_V.js.gz +0 -0
- package/public/assets/flowGraphUnaryOperationBlock-Bu73VxMC.js.gz +0 -0
- package/public/assets/flowGraphVectorMathBlocks-CqVzbdAw.js.gz +0 -0
- package/public/assets/flowGraphWaitAllBlock-xmBmiluG.js.gz +0 -0
- package/public/assets/flowGraphWhileLoopBlock-Ct2rHXgO.js.gz +0 -0
- package/public/assets/fogFragmentDeclaration-C-9jZMBi.js.gz +0 -0
- package/public/assets/fogFragmentDeclaration-CpAbKvc3.js.gz +0 -0
- package/public/assets/glowBlurPostProcess.fragment-C77x1kl1.js.gz +0 -0
- package/public/assets/glowBlurPostProcess.fragment-C7miknry.js.gz +0 -0
- package/public/assets/glowMapGeneration.fragment-BAqrUGS4.js.gz +0 -0
- package/public/assets/glowMapGeneration.fragment-CMvy-ILZ.js.gz +0 -0
- package/public/assets/glowMapGeneration.vertex-BThT8Jce.js.gz +0 -0
- package/public/assets/glowMapGeneration.vertex-mq9WR5EZ.js.gz +0 -0
- package/public/assets/glowMapMerge.fragment-BtMIQDli.js.gz +0 -0
- package/public/assets/glowMapMerge.fragment-CYj1SIfc.js.gz +0 -0
- package/public/assets/glowMapMerge.vertex-BilMgMCX.js.gz +0 -0
- package/public/assets/glowMapMerge.vertex-ChJNqQPz.js.gz +0 -0
- package/public/assets/grain.fragment-D6WdAOpZ.js.gz +0 -0
- package/public/assets/grain.fragment-DCpxKIZw.js.gz +0 -0
- package/public/assets/harmonicsFunctions-B5nauyTb.js.gz +0 -0
- package/public/assets/harmonicsFunctions-DVIRrUZs.js.gz +0 -0
- package/public/assets/hdrTextureLoader-Dfs_Fv5B.js.gz +0 -0
- package/public/assets/hemisphericLight-BkYyeXbK.js.gz +0 -0
- package/public/assets/iesTextureLoader-I2E-BXCc.js.gz +0 -0
- package/public/assets/index-CzHwtW4R.js.gz +0 -0
- package/public/assets/index-Dk6-vu7X.js +1 -0
- package/public/assets/index-Dk6-vu7X.js.br +0 -0
- package/public/assets/index-Dk6-vu7X.js.gz +0 -0
- package/public/assets/instancesDeclaration-DcwHJpHY.js.gz +0 -0
- package/public/assets/ktxTextureLoader-zpgT--10.js.gz +0 -0
- package/public/assets/lazy-CI-V5lCV.js.gz +0 -0
- package/public/assets/lod.fragment-B28SQFUx.js.gz +0 -0
- package/public/assets/lod.fragment-DOjU_E37.js.gz +0 -0
- package/public/assets/lodCube.fragment-B_ALsGmh.js.gz +0 -0
- package/public/assets/lodCube.fragment-CzeVIOa3.js.gz +0 -0
- package/public/assets/logDepthFragment-BaJ2YjZ0.js.gz +0 -0
- package/public/assets/logDepthVertex-B8jNoEwN.js.gz +0 -0
- package/public/assets/logDepthVertex-xgQTn7wg.js.gz +0 -0
- package/public/assets/mesh.vertexData.functions-BXkNVxNr.js.gz +0 -0
- package/public/assets/meshUboDeclaration-C5p-TivH.js.gz +0 -0
- package/public/assets/meshUboDeclaration-DKldQKni.js.gz +0 -0
- package/public/assets/morphTargetsVertex-BDbfSote.js.gz +0 -0
- package/public/assets/oitFinalSimpleBlend.fragment-DtE63qrD.js.gz +0 -0
- package/public/assets/oitFinalSimpleBlend.fragment-ZwpH3v_v.js.gz +0 -0
- package/public/assets/oitFragment-B8hFhX-8.js.gz +0 -0
- package/public/assets/oitFragment-B_HlWcYZ.js.gz +0 -0
- package/public/assets/openpbrMaterial-t_lYoXh4.js.gz +0 -0
- package/public/assets/outline.fragment-DEsg98mo.js.gz +0 -0
- package/public/assets/outline.fragment-WqsugjI-.js.gz +0 -0
- package/public/assets/outline.vertex-CVL3AfNh.js.gz +0 -0
- package/public/assets/outline.vertex-CtQ-HC3X.js.gz +0 -0
- package/public/assets/passCube.fragment-CHI4OPgd.js.gz +0 -0
- package/public/assets/passCube.fragment-DLbzh6pI.js.gz +0 -0
- package/public/assets/pbr.fragment-DHPEcGrm.js.gz +0 -0
- package/public/assets/pbr.fragment-KiX_RvyZ.js.gz +0 -0
- package/public/assets/pbr.vertex-CVSRg4tx.js.gz +0 -0
- package/public/assets/pbr.vertex-Dp30Rtkl.js.gz +0 -0
- package/public/assets/playable-sdk-Cz5ms1M8.js +8 -0
- package/public/assets/playable-sdk-Cz5ms1M8.js.br +0 -0
- package/public/assets/playable-sdk-Cz5ms1M8.js.gz +0 -0
- package/public/assets/playable-standard-project-CgBNJ6kY.js +5070 -0
- package/public/assets/playable-standard-project-CgBNJ6kY.js.br +0 -0
- package/public/assets/playable-standard-project-CgBNJ6kY.js.gz +0 -0
- package/public/assets/rgbdDecode.fragment-CU4ChTYE.js.gz +0 -0
- package/public/assets/rgbdDecode.fragment-DhrCd3U4.js.gz +0 -0
- package/public/assets/rgbdEncode.fragment-Bt1zaovT.js.gz +0 -0
- package/public/assets/rgbdEncode.fragment-CfKDkRU3.js.gz +0 -0
- package/public/assets/sceneLoader-DS5g2vTC.js.gz +0 -0
- package/public/assets/screenSpaceCurvature.fragment-Od67z-rQ.js.gz +0 -0
- package/public/assets/selection.fragment-CRMhdE35.js.gz +0 -0
- package/public/assets/selection.fragment-cSqXB6nx.js.gz +0 -0
- package/public/assets/selection.vertex-B5sPJWi2.js.gz +0 -0
- package/public/assets/selection.vertex-Dp4qd1GF.js.gz +0 -0
- package/public/assets/selectionOutline.fragment-CaYdhbIY.js.gz +0 -0
- package/public/assets/selectionOutline.fragment-RBpUe89m.js.gz +0 -0
- package/public/assets/shadowMap.fragment-BecpzSny.js.gz +0 -0
- package/public/assets/shadowMap.fragment-BhrOFpmK.js.gz +0 -0
- package/public/assets/shadowMap.vertex-DV4Ec23Y.js.gz +0 -0
- package/public/assets/shadowMap.vertex-Dpx2-6XS.js.gz +0 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-BHumE7-J.js.gz +0 -0
- package/public/assets/shadowMapFragmentSoftTransparentShadow-CrPC6Hns.js.gz +0 -0
- package/public/assets/sharpen.fragment-CPdQPlDe.js.gz +0 -0
- package/public/assets/textureMerger.fragment-BNxx2w1v.js.gz +0 -0
- package/public/assets/textureMerger.fragment-CPq4n9w5.js.gz +0 -0
- package/public/assets/tgaTextureLoader-B7dlONGx.js.gz +0 -0
- package/public/assets/vertexColorMixing-BUQkJeP0.js.gz +0 -0
- package/public/assets/vertexColorMixing-Co5x3WYA.js.gz +0 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-D01l1w1u.js.gz +0 -0
- package/public/assets/volumetricLightingBlendVolume.fragment-Dq5kceRW.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-BCxtzv0C.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.fragment-DwEKCs2S.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-CNPaSIo7.js.gz +0 -0
- package/public/assets/volumetricLightingRenderVolume.vertex-EiQlWi_X.js.gz +0 -0
- package/public/assets/webAudioBus-DYpSKoOA.js.gz +0 -0
- package/public/assets/webAudioMainBus-CP3f56US.js.gz +0 -0
- package/public/assets/workerPool-H9Ji3mCo.js.gz +0 -0
- package/public/index.html +3 -3
- package/public/index.html.br +0 -0
- package/public/index.html.gz +0 -0
- package/runtime/editor-control-plane.mjs +3 -3
- package/worker/editor-service-worker.mjs +23 -23
- package/public/assets/index-ZnhNI5EO.js +0 -1
- package/public/assets/index-ZnhNI5EO.js.br +0 -0
- package/public/assets/index-ZnhNI5EO.js.gz +0 -0
- package/public/assets/playable-sdk-D6RL-8B7.js +0 -135
- package/public/assets/playable-sdk-D6RL-8B7.js.br +0 -0
- package/public/assets/playable-sdk-D6RL-8B7.js.gz +0 -0
- package/public/assets/playable-standard-project-CkKWpnr-.js +0 -4943
- package/public/assets/playable-standard-project-CkKWpnr-.js.br +0 -0
- package/public/assets/playable-standard-project-CkKWpnr-.js.gz +0 -0
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fps-games/editor-deployment",
|
|
3
|
-
"version": "0.2.3-beta.
|
|
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.
|
|
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",
|
|
13
|
-
"fps-editor-project": "bin/fps-editor-project.mjs"
|
|
13
|
+
"fps-editor-project": "bin/fps-editor-project.mjs",
|
|
14
|
+
"fps-editor-agent": "bin/fps-editor-agent.mjs"
|
|
14
15
|
},
|
|
15
16
|
"engines": {
|
|
16
17
|
"node": ">=24 <27"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fps-games/editor-deployment",
|
|
3
|
-
"version": "0.2.3-beta.
|
|
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": {
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"bin": {
|
|
12
12
|
"fps-editor-prepare": "bin/fps-editor-prepare.mjs",
|
|
13
13
|
"fps-editor-server": "bin/fps-editor-server.mjs",
|
|
14
|
-
"fps-editor-project": "bin/fps-editor-project.mjs"
|
|
14
|
+
"fps-editor-project": "bin/fps-editor-project.mjs",
|
|
15
|
+
"fps-editor-agent": "bin/fps-editor-agent.mjs"
|
|
15
16
|
},
|
|
16
17
|
"files": [
|
|
17
18
|
"bin",
|
|
@@ -30,10 +31,10 @@
|
|
|
30
31
|
"node": ">=24 <27"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
|
-
"@fps-games/editor": "0.2.3-beta.
|
|
34
|
-
"@fps-games/editor-core": "0.2.3-beta.
|
|
35
|
-
"@fps-games/playable-assets": "0.2.3-beta.
|
|
36
|
-
"@fps-games/plugin-hierarchy": "0.2.3-beta.
|
|
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",
|
|
37
38
|
"@fps-games/plugin-sdk": "0.1.0-beta.2"
|
|
38
39
|
},
|
|
39
40
|
"publishConfig": {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|