@fps-games/editor 0.2.0-beta.3 → 0.2.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/editor-state.js +26 -17
- package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/prefabs.js +61 -13
- package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
- package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
- package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/selection.js +8 -5
- package/dist/agent-bridge/capabilities/selection.js.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/shadows.js +11 -2
- package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
- package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/transform.js +6 -4
- package/dist/agent-bridge/capabilities/transform.js.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
- package/dist/agent-bridge/capabilities/viewport.js +79 -47
- package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
- package/dist/agent-bridge/shared.d.ts +8 -3
- package/dist/agent-bridge/shared.d.ts.map +1 -1
- package/dist/agent-bridge/shared.js +32 -0
- package/dist/agent-bridge/shared.js.map +1 -1
- package/dist/build-info.json +34 -34
- package/dist/local-editor-agent-actions.d.ts.map +1 -1
- package/dist/local-editor-agent-actions.js +9 -5
- package/dist/local-editor-agent-actions.js.map +1 -1
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +264 -41
- package/dist/local-editor-harness.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +4 -4
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +3 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/package.json +3 -3
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +5 -5
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +19 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/viewport.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,GAclC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,SAAS,EACT,mCAAmC,EACnC,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,GAI3B,MAAM,cAAc,CAAC;AAGtB,MAAM,UAAU,0CAA0C,CACxD,KAA4D,EAC5D,OAA6D,EAC7D,QAAoB,EACpB,UAAuE;IAEvE,OAAO;QACL,WAAW,CAAC,KAAK;YACf,MAAM,QAAQ,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,qBAAqB,EACvD,yCAAyC,EACzC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAClC,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACzD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QACD,cAAc;YACZ,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACrD,QAAQ,EAAE,CAAC;YACX,OAAO;gBACL,OAAO;gBACP,SAAS,EAAE,yBAAyB,CAClC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,sBAAsB,CACvF;aACF,CAAC;QACJ,CAAC;QACD,SAAS;YACP,OAAO,oCAAoC,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,eAAe,CAAC,KAAK;YACnB,OAAO,kCAAkC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzF,CAAC;QACD,WAAW,CAAC,KAAK;YACf,OAAO,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrF,CAAC;QACD,qBAAqB;YACnB,OAAO,2CAA2C,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,aAAa,CAAC,KAAK;YACjB,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK;gBAAE,OAAO,MAAM,CAAC;YACzD,UAAU,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;YAC9D,QAAQ,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,eAAe;YACb,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YACzE,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,EAAE,CAAC;YACvC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;YAClD,OAAO,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;YACpD,OAAO,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtC,KAAK,CAAC,UAAU,EAAE,+BAA+B,EAAE,EAAE,CAAC;YACtD,UAAU,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,CAAC;YAChE,QAAQ,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,aAAa,GAAG,CAAC,IAAI,WAAW;gBACzC,QAAQ,EAAE,2CAA2C,CAAC,KAAK,CAAC;aAC7D,CAAC;QACJ,CAAC;QACD,cAAc,CAAC,KAAK;YAClB,MAAM,MAAM,GAAG,iCAAiC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK;gBAAE,OAAO,MAAM,CAAC;YACzD,UAAU,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;YAC/D,QAAQ,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,KAA4D,EAC5D,KAAkD;IAElD,MAAM,GAAG,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,uBAAuB,EACzD,yDAAyD,EACzD,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAC7C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,uBAAuB,EACzD,yDAAyD,EACzD,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAC7C,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,EAAE,GAAG,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,IAAI,EAAE,CAAC;KACxD,CAAC,CAAC;IACH,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpD,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,aAAa,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC;IAClD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,EAAE,CAAC;IACjD,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACvF,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,6BAA6B,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC1F,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QACvC,CAAC,CAAC,CAAC;gBACD,IAAI,EAAE,wCAAwC;gBAC9C,OAAO,EAAE,2JAA2J;gBACpK,MAAM,EAAE,QAAiB;gBACzB,QAAQ,EAAE,SAAkB;gBAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;aACnC,CAAC;QACF,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACvE,QAAQ,EAAE,2CAA2C,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC;QAClF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,KAA4D,EAC5D,KAAmD;IAEnD,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,wBAAwB,EAC1D,0DAA0D,EAC1D,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAC5C,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,wBAAwB,EAC1D,0EAA0E,EAC1E,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,sBAAsB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAClF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAA4B,EAAE,CAAC;IAClD,KAAK,MAAM,EAAE,IAAI,SAAS;QAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACzD,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC;IAClD,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;IAClD,OAAO,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;IACpD,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACvF,KAAK,CAAC,UAAU,EAAE,+BAA+B,EAAE,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,6BAA6B,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACvF,MAAM,WAAW,GAAG,KAAK,CAAC,yBAAyB;QAC/C,CAAC,CAAC,CAAC;gBACD,IAAI,EAAE,8CAA8C;gBACpD,OAAO,EAAE,0JAA0J;gBACnK,MAAM,EAAE,QAAiB;gBACzB,QAAQ,EAAE,MAAe;aAC1B,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC7D,QAAQ,EAAE,2CAA2C,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC;QAClF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,2CAA2C,CAClD,KAA4D,EAC5D,OAAiE,EACjE,WAAqE;IAErE,MAAM,iBAAiB,GAAG,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,6BAA6B,EAAE,EAAE,IAAI,EAAE,CAAC;IAC/F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS;QAChC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACjD,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/C,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB;KAC7C,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvE,MAAM,iBAAiB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAA4C,EAAE;QACzG,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,eAAe,EAAE,cAAc,IAAI,IAAI,CAAC;QAChE,OAAO;YACL,QAAQ;YACR,eAAe;YACf,cAAc,EAAE,eAAe,EAAE,gBAAgB,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,KAAK,CAAC;YACnG,GAAG,CAAC,OAAO,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC;QAC9B,iBAAiB,EAAE,CAAC,GAAG,WAAW,CAAC;QACnC,OAAO,EAAE,iBAAiB;QAC1B,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,KAA4D;IAE5D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3E,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,6BAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5G,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC;IAClG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,kBAAkB,EAAE,GAAG,aAAa,EAAE,GAAG,cAAc,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;IACjG,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAA4D;IAE5D,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,sBAAsB,CAAC;IACzG,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,CAAC;IACnC,OAAO;QACL,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,CAA0C;QAChH,cAAc,EAAE,WAAW,EAAE,cAAc,IAAI,KAAK,CAAC,aAAa,CAAC,cAAc;QACjF,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,SAAS,EAAE,yBAAyB,CAAC,SAAS,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,KAA4D,EAC5D,OAA6D,EAC7D,KAAoD,EACpD,QAAoB,EACpB,UAAuE;IAEvE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,0BAA0B,EAC5D,6BAA6B,EAC7B,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAC5B,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;QACpC,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,0BAA0B,EAC5D,sEAAsE,EACtE,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3B,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,0BAA0B,EAC5D,iCAAiC,EACjC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CACxC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,sCAAsC,CACnD,KAAK,EACL,OAAO,EACP,KAAK,CAAC,MAAM,EACZ,iCAAiC,CAAC,0BAA0B,CAC7D,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,wCAAwC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,0BAA0B,EAC5D,wDAAwD,EACxD,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,kCAAkC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,kCAAkC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,oCAAoC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;IACpG,MAAM,YAAY,GAAG,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3F,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE;QAC1D,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,IAAI,YAAY;KAC/B,CAAC,CAAC;IACH,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACrC,KAAK,CAAC,MAAM,GAAG,oBAAoB,MAAM,EAAE,CAAC;IAC5C,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IACtC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;IACzB,IAAI,OAAO;QAAE,UAAU,CAAC,iBAAiB,CAAC,kCAAkC,CAAC,CAAC;IAC9E,QAAQ,EAAE,CAAC;IACX,OAAO,6CAA6C,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,8BAA8B,CACrC,KAA4D,EAC5D,OAA6D,EAC7D,KAAgD,EAChD,QAAoB,EACpB,UAAuE;IAEvE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,qBAAqB,EACvD,6BAA6B,EAC7B,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAC5B,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;QACpC,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,qBAAqB,EACvD,mEAAmE,EACnE,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3B,OAAO,mCAAmC,CACxC,iCAAiC,CAAC,qBAAqB,EACvD,iCAAiC,EACjC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CACxC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,sCAAsC,CACnD,KAAK,EACL,OAAO,EACP,KAAK,CAAC,MAAM,EACZ,iCAAiC,CAAC,qBAAqB,CACxD,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;QAClC,WAAW,EAAE,gCAAgC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,aAAa,EAAE,gCAAgC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QACvE,aAAa,EAAE,kCAAkC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,SAAS;KACvF,CAAC,CAAC;IACH,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACrC,KAAK,CAAC,MAAM,GAAG,wBAAwB,CAAC;IACxC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IACtC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;IACzB,IAAI,OAAO;QAAE,UAAU,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IACzE,QAAQ,EAAE,CAAC;IACX,OAAO,6CAA6C,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,6CAA6C,CACpD,KAA4D,EAC5D,OAAgB;IAEhB,MAAM,WAAW,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAChE,OAAO;QACL,OAAO;QACP,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAC7C,KAA4D,EAC5D,OAA6D,EAC7D,KAAwD,EACxD,YAAoB;IAEpB,MAAM,MAAM,GAAG,KAAK,IAAI,4CAA4C,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,mCAAmC,CACzC,YAAY,EACZ,mDAAmD,EACnD,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,mCAAmC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,uCAAuC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrG,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,mCAAmC,CACzC,YAAY,EACZ,yCAAyC,EACzC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C;aACF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC;QAC5F,IAAI,CAAC,QAAQ,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAClI,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,mCAAmC,CACzC,YAAY,EACZ,uCAAuC,QAAQ,EAAE,EACjD,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,CACrD;aACF,CAAC;QACJ,CAAC;QACD,OAAO,oCAAoC,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,mCAAmC,CACzC,YAAY,EACZ,4BAA4B,EAC5B,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4CAA4C,CACnD,KAA4D;IAE5D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,sBAAsB,CAAC;IACzG,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,uCAAuC,CAC9C,KAA4D,EAC5D,YAAoB;IAEpB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,sBAAsB,CAAC;IACzG,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC,WAAW;QACvB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,mCAAmC,CACzC,YAAY,EACZ,mCAAmC,EACnC,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C;SACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,mCAAmC,CACzC,YAAY,EACZ,mDAAmD,EACnD,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,SAAS,EAAE,CACrF;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,uCAAuC,CAAC,MAAM,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAC1C,KAA4D,EAC5D,OAA6D;IAE7D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC;IAC5F,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,SAAS;SACxB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;SACpB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7F,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IACvE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,uCAAuC,CAAC,MAAM,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAA4D,EAC5D,QAAgB,EAChB,YAAoB;IAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;IACxE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,mCAAmC,CACzC,YAAY,EACZ,kDAAkD,QAAQ,EAAE,EAC5D,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,CACpD;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,uCAAuC,CAAC,MAAM,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,uCAAuC,CAAC,MAAuC;IACtF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED,SAAS,wCAAwC,CAAC,KAAc;IAC9D,MAAM,MAAM,GAAG,KAAK,KAAK,aAAa;WACjC,KAAK,KAAK,KAAK;WACf,KAAK,KAAK,QAAQ;WAClB,KAAK,KAAK,OAAO;WACjB,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,MAAM;WAChB,KAAK,KAAK,OAAO;WACjB,KAAK,KAAK,KAAK;WACf,KAAK,KAAK,iBAAiB;QAC9B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,MAAyC,CAAC;AACnD,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc,EAAE,QAAgB;IACxE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,kCAAkC,CAAC,KAAc,EAAE,QAAuB;IACjF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7F,CAAC","sourcesContent":["import type { EditorViewportViewPreset } from '@fps-games/editor-core';\nimport {\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID,\n type EditorAgentBridgeVec3,\n type EditorAgentBridgeViewportCameraOrbitInput,\n type EditorAgentBridgeViewportCameraPreset,\n type EditorAgentBridgeViewportCameraSetPresetInput,\n type EditorAgentBridgeViewportCameraSetPresetOutput,\n type EditorAgentBridgeViewportCameraState,\n type EditorAgentBridgeViewportCameraTarget,\n type EditorAgentBridgeViewportIsolationEnterInput,\n type EditorAgentBridgeViewportIsolationEnterOutput,\n type EditorAgentBridgeViewportVisibilityEntry,\n type EditorAgentBridgeViewportVisibilityMutationOutput,\n type EditorAgentBridgeViewportVisibilitySetInput,\n type EditorAgentBridgeViewportVisibilitySnapshotOutput,\n} from '@fps-games/editor-protocol';\nimport {\n cloneVec3,\n createLocalEditorAgentBridgeFailure,\n isLocalEditorAgentBridgeVec3,\n} from '../diagnostics.js';\nimport type { LocalEditorAgentBridgeViewportSource } from '../source-types.js';\nimport {\n cloneAgentBridgeSelection,\n EMPTY_EDITOR_SELECTION,\n isAgentBridgeObjectSelectable,\n normalizeAgentBridgeIdList,\n normalizeAgentBridgeString,\n type LocalEditorAgentBridgePreviewVisibilityEntry,\n type LocalEditorAgentBridgeCapabilitySourceOperations,\n type LocalEditorAgentBridgeHarnessState,\n} from '../shared.js';\nimport type { LocalEditorHarnessOptions } from '../../local-editor-harness.js';\n\nexport function createLocalEditorAgentBridgeViewportSource<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): LocalEditorAgentBridgeViewportSource {\n return {\n focusObject(input) {\n const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';\n if (!objectId) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT,\n 'viewport.focusObject requires objectId.',\n { code: 'viewport.invalidInput' },\n );\n }\n const focused = operations.focusProjectionNode(objectId);\n renderUi();\n return { objectId, focused };\n },\n frameSelection() {\n const focused = operations.focusSelectedProjection();\n renderUi();\n return {\n focused,\n selection: cloneAgentBridgeSelection(\n state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION,\n ),\n };\n },\n getCamera() {\n return createAgentBridgeViewportCameraState(state);\n },\n setCameraPreset(input) {\n return setAgentBridgeViewportCameraPreset(state, options, input, renderUi, operations);\n },\n orbitCamera(input) {\n return orbitAgentBridgeViewportCamera(state, options, input, renderUi, operations);\n },\n getVisibilitySnapshot() {\n return createAgentBridgeViewportVisibilitySnapshot(state);\n },\n setVisibility(input) {\n const result = setAgentBridgeViewportVisibility(state, input);\n if ('ok' in result && result.ok === false) return result;\n operations.requestSceneFrame('agent-viewport-visibility-set');\n renderUi();\n return result;\n },\n clearVisibility() {\n const previousCount = Object.keys(state.previewVisibility.overrides).length;\n const wasIsolated = state.previewVisibility.isolatedObjectIds.length > 0;\n state.previewVisibility.overrides = {};\n state.previewVisibility.isolatedObjectIds = [];\n delete state.previewVisibility.protectedObjectIds;\n delete state.previewVisibility.protectedReceiverIds;\n delete state.previewVisibility.reason;\n state.projection?.clearPreviewVisibilityOverrides?.();\n operations.requestSceneFrame('agent-viewport-visibility-clear');\n renderUi();\n return {\n changed: previousCount > 0 || wasIsolated,\n snapshot: createAgentBridgeViewportVisibilitySnapshot(state),\n };\n },\n enterIsolation(input) {\n const result = enterAgentBridgeViewportIsolation(state, input);\n if ('ok' in result && result.ok === false) return result;\n operations.requestSceneFrame('agent-viewport-isolation-enter');\n renderUi();\n return result;\n },\n };\n}\n\nfunction setAgentBridgeViewportVisibility<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n input: EditorAgentBridgeViewportVisibilitySetInput,\n): EditorAgentBridgeViewportVisibilityMutationOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n const ids = normalizeAgentBridgeIdList(Array.isArray(input.objectIds) ? input.objectIds : []);\n if (ids.length === 0) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET,\n 'viewport.visibility.set requires at least one objectId.',\n { code: 'viewport.visibility.invalidInput' },\n );\n }\n if (typeof input.visible !== 'boolean') {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET,\n 'viewport.visibility.set requires visible to be boolean.',\n { code: 'viewport.visibility.invalidInput' },\n );\n }\n const previous = JSON.stringify(state.previewVisibility.overrides);\n const nextOverrides = { ...state.previewVisibility.overrides };\n const protectedIds = new Set([\n ...(state.previewVisibility.protectedObjectIds ?? []),\n ...(state.previewVisibility.protectedReceiverIds ?? []),\n ]);\n const blockedIds: string[] = [];\n for (const id of ids) {\n if (input.visible === false && protectedIds.has(id)) {\n nextOverrides[id] = true;\n blockedIds.push(id);\n continue;\n }\n nextOverrides[id] = input.visible;\n }\n state.previewVisibility.overrides = nextOverrides;\n if (blockedIds.length === 0) {\n state.previewVisibility.isolatedObjectIds = [];\n }\n state.previewVisibility.reason = normalizeAgentBridgeString(input.reason) || undefined;\n const appliedOverrides = Object.fromEntries(ids.map(id => [id, nextOverrides[id] ?? input.visible]));\n const entries = state.projection?.setPreviewVisibilityOverrides?.(appliedOverrides) ?? [];\n const diagnostics = blockedIds.length > 0\n ? [{\n code: 'shadow.receiverProtectedInDebugContext',\n message: 'One or more objects are protected by the active Shadow Debug Context and were kept visible. Clear shadow.debug.context before hiding protected receivers.',\n source: 'editor' as const,\n severity: 'warning' as const,\n details: { objectIds: blockedIds },\n }]\n : undefined;\n return {\n changed: previous !== JSON.stringify(state.previewVisibility.overrides),\n snapshot: createAgentBridgeViewportVisibilitySnapshot(state, entries, diagnostics),\n ...(diagnostics ? { diagnostics } : {}),\n };\n}\n\nfunction enterAgentBridgeViewportIsolation<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n input: EditorAgentBridgeViewportIsolationEnterInput,\n): EditorAgentBridgeViewportIsolationEnterOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n const targetIds = normalizeAgentBridgeIdList(Array.isArray(input.objectIds) ? input.objectIds : []);\n if (targetIds.length === 0) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER,\n 'viewport.isolation.enter requires at least one objectId.',\n { code: 'viewport.isolation.invalidInput' },\n );\n }\n const objectIds = createAgentBridgeViewportObjectIds(state);\n if (objectIds.length === 0) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER,\n 'Viewport projection is unavailable or has no visible objects to isolate.',\n { code: 'viewport.projectionUnavailable' },\n );\n }\n const keep = new Set(targetIds);\n for (const targetId of targetIds) {\n for (const parentId of state.projection?.getProjectionParentIds?.(targetId) ?? []) {\n keep.add(parentId);\n }\n }\n const nextOverrides: Record<string, boolean> = {};\n for (const id of objectIds) nextOverrides[id] = keep.has(id);\n const previous = JSON.stringify(state.previewVisibility);\n state.previewVisibility.overrides = nextOverrides;\n state.previewVisibility.isolatedObjectIds = [...keep];\n delete state.previewVisibility.protectedObjectIds;\n delete state.previewVisibility.protectedReceiverIds;\n state.previewVisibility.reason = normalizeAgentBridgeString(input.reason) || undefined;\n state.projection?.clearPreviewVisibilityOverrides?.();\n const entries = state.projection?.setPreviewVisibilityOverrides?.(nextOverrides) ?? [];\n const diagnostics = input.includeShadowDependencies\n ? [{\n code: 'viewport.isolation.shadowDependenciesPending',\n message: 'Shadow dependency expansion will be resolved by shadow debug capabilities; this isolation kept the requested objectIds and required transform ancestors.',\n source: 'editor' as const,\n severity: 'info' as const,\n }]\n : undefined;\n return {\n changed: previous !== JSON.stringify(state.previewVisibility),\n snapshot: createAgentBridgeViewportVisibilitySnapshot(state, entries, diagnostics),\n ...(diagnostics ? { diagnostics } : {}),\n };\n}\n\nfunction createAgentBridgeViewportVisibilitySnapshot<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n entries?: readonly LocalEditorAgentBridgePreviewVisibilityEntry[],\n diagnostics?: EditorAgentBridgeViewportVisibilityEntry['diagnostics'],\n): EditorAgentBridgeViewportVisibilitySnapshotOutput {\n const projectionEntries = entries ?? state.projection?.getPreviewVisibilityOverrides?.() ?? [];\n const entryById = new Map(projectionEntries.map(entry => [entry.nodeId, entry]));\n const objectIds = new Set<string>([\n ...Object.keys(state.previewVisibility.overrides),\n ...projectionEntries.map(entry => entry.nodeId),\n ...state.previewVisibility.isolatedObjectIds,\n ]);\n const isolatedIds = new Set(state.previewVisibility.isolatedObjectIds);\n const normalizedEntries = [...objectIds].sort().map((objectId): EditorAgentBridgeViewportVisibilityEntry => {\n const projectionEntry = entryById.get(objectId);\n const overrideVisible = state.previewVisibility.overrides[objectId];\n const authoredVisible = projectionEntry?.authoredActive ?? true;\n return {\n objectId,\n authoredVisible,\n previewVisible: projectionEntry?.effectiveVisible ?? (authoredVisible && overrideVisible !== false),\n ...(typeof overrideVisible === 'boolean' ? { overrideVisible } : {}),\n isolated: isolatedIds.has(objectId),\n };\n });\n return {\n isolated: isolatedIds.size > 0,\n isolatedObjectIds: [...isolatedIds],\n entries: normalizedEntries,\n ...(state.previewVisibility.reason ? { reason: state.previewVisibility.reason } : {}),\n ...(diagnostics?.length ? { diagnostics } : {}),\n };\n}\n\nfunction createAgentBridgeViewportObjectIds<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n): string[] {\n const fromOverrides = Object.keys(state.previewVisibility.overrides);\n const fromProjectedNodes = state.projection?.getProjectedNodeIds?.() ?? [];\n const fromProjection = state.projection?.getPreviewVisibilityOverrides?.().map(entry => entry.nodeId) ?? [];\n const sessionIds = state.session?.getState({ cloneDocuments: false }).selection.selectedIds ?? [];\n const ids = new Set([...fromProjectedNodes, ...fromOverrides, ...fromProjection, ...sessionIds]);\n if (ids.size > 0) return [...ids];\n return [];\n}\n\nfunction createAgentBridgeViewportCameraState<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n): EditorAgentBridgeViewportCameraState {\n const cameraState = state.sceneViewCamera?.getState();\n const selection = state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION;\n const alpha = cameraState?.alpha;\n const beta = cameraState?.beta;\n const radius = cameraState?.radius;\n return {\n viewPreset: (cameraState?.viewPreset ?? state.viewportTools.viewPreset) as EditorAgentBridgeViewportCameraPreset,\n projectionMode: cameraState?.projectionMode ?? state.viewportTools.projectionMode,\n ...(cameraState?.target ? { target: cloneVec3(cameraState.target) } : {}),\n ...(cameraState?.position ? { position: cloneVec3(cameraState.position) } : {}),\n ...(typeof alpha === 'number' && Number.isFinite(alpha) ? { alpha } : {}),\n ...(typeof beta === 'number' && Number.isFinite(beta) ? { beta } : {}),\n ...(typeof radius === 'number' && Number.isFinite(radius) ? { radius } : {}),\n selection: cloneAgentBridgeSelection(selection),\n };\n}\n\nfunction setAgentBridgeViewportCameraPreset<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportCameraSetPresetInput,\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportCameraSetPresetOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'Editor is not in edit mode.',\n { code: 'editor.notReady' },\n );\n }\n if (state.sceneCameraPreviewEnabled) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'Viewport camera presets are unavailable during Scene Camera preview.',\n { code: 'viewport.camera.previewActive' },\n );\n }\n if (!state.sceneViewCamera) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'Viewport camera is unavailable.',\n { code: 'viewport.camera.unavailable' },\n );\n }\n const target = resolveAgentBridgeViewportCameraTarget(\n state,\n options,\n input.target,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n );\n if (!target.ok) return target.result;\n const preset = normalizeAgentBridgeViewportCameraPreset(input.preset);\n if (!preset) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'viewport.camera.setPreset requires a supported preset.',\n { code: 'viewport.camera.invalidPreset' },\n );\n }\n const radius = normalizeAgentBridgePositiveNumber(input.radius, null);\n const distanceScale = normalizeAgentBridgePositiveNumber(input.distanceScale, 1);\n const baseRadius = target.radius ?? createAgentBridgeViewportCameraState(state).radius ?? undefined;\n const scaledRadius = baseRadius && distanceScale ? baseRadius * distanceScale : baseRadius;\n const changed = state.sceneViewCamera.setViewPreset(preset, {\n target: target.target,\n radius: radius ?? scaledRadius,\n });\n operations.syncViewportCameraState();\n state.status = `Viewport camera: ${preset}`;\n state.statusTone = 'default';\n state.statusToneStatus = state.status;\n state.statusDetails = '';\n if (changed) operations.requestSceneFrame('agent-viewport-camera-set-preset');\n renderUi();\n return createAgentBridgeViewportCameraMutationOutput(state, changed);\n}\n\nfunction orbitAgentBridgeViewportCamera<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportCameraOrbitInput,\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportCameraSetPresetOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n 'Editor is not in edit mode.',\n { code: 'editor.notReady' },\n );\n }\n if (state.sceneCameraPreviewEnabled) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n 'Viewport camera orbit is unavailable during Scene Camera preview.',\n { code: 'viewport.camera.previewActive' },\n );\n }\n if (!state.sceneViewCamera) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n 'Viewport camera is unavailable.',\n { code: 'viewport.camera.unavailable' },\n );\n }\n const target = resolveAgentBridgeViewportCameraTarget(\n state,\n options,\n input.target,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n );\n if (!target.ok) return target.result;\n const changed = state.sceneViewCamera.orbit({\n target: target.target ?? undefined,\n yawDeltaDeg: normalizeAgentBridgeFiniteNumber(input.yawDeltaDeg, 0),\n pitchDeltaDeg: normalizeAgentBridgeFiniteNumber(input.pitchDeltaDeg, 0),\n distanceScale: normalizeAgentBridgePositiveNumber(input.distanceScale, 1) ?? undefined,\n });\n operations.syncViewportCameraState();\n state.status = 'Viewport camera: orbit';\n state.statusTone = 'default';\n state.statusToneStatus = state.status;\n state.statusDetails = '';\n if (changed) operations.requestSceneFrame('agent-viewport-camera-orbit');\n renderUi();\n return createAgentBridgeViewportCameraMutationOutput(state, changed);\n}\n\nfunction createAgentBridgeViewportCameraMutationOutput<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n changed: boolean,\n): EditorAgentBridgeViewportCameraSetPresetOutput {\n const cameraState = createAgentBridgeViewportCameraState(state);\n return {\n changed,\n viewPreset: cameraState.viewPreset,\n projectionMode: cameraState.projectionMode,\n ...(cameraState.target ? { target: cameraState.target } : {}),\n ...(cameraState.radius !== undefined ? { radius: cameraState.radius } : {}),\n selection: cameraState.selection,\n };\n}\n\nfunction resolveAgentBridgeViewportCameraTarget<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportCameraTarget | undefined,\n capabilityId: string,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } | { ok: false; result: ReturnType<typeof createLocalEditorAgentBridgeFailure> } {\n const target = input ?? createDefaultAgentBridgeViewportCameraTarget(state);\n if (target.kind === 'point') {\n if (!isLocalEditorAgentBridgeVec3(target.point)) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera point target requires a finite Vec3 point.',\n { code: 'viewport.camera.invalidTarget' },\n ),\n };\n }\n return { ok: true, target: cloneVec3(target.point) };\n }\n if (target.kind === 'scene') return resolveAgentBridgeSceneCameraTarget(state, options);\n if (target.kind === 'selection') return resolveAgentBridgeSelectionCameraTarget(state, capabilityId);\n if (target.kind === 'object') {\n const objectId = normalizeAgentBridgeString(target.objectId);\n if (!objectId) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera object target requires objectId.',\n { code: 'viewport.camera.invalidTarget' },\n ),\n };\n }\n const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;\n if (!document || !isAgentBridgeObjectSelectable(options, document, objectId, options.documentAdapter.getHierarchyItems(document))) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n `Camera target object was not found: ${objectId}`,\n { code: 'viewport.camera.targetNotFound', objectId },\n ),\n };\n }\n return resolveAgentBridgeObjectCameraTarget(state, objectId, capabilityId);\n }\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Unsupported camera target.',\n { code: 'viewport.camera.invalidTarget' },\n ),\n };\n}\n\nfunction createDefaultAgentBridgeViewportCameraTarget<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n): EditorAgentBridgeViewportCameraTarget {\n const selection = state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION;\n return selection.activeId ? { kind: 'selection' } : { kind: 'scene' };\n}\n\nfunction resolveAgentBridgeSelectionCameraTarget<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n capabilityId: string,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } | { ok: false; result: ReturnType<typeof createLocalEditorAgentBridgeFailure> } {\n const selection = state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION;\n const selectedIds = selection.selectedIds.length > 0\n ? selection.selectedIds\n : selection.activeId ? [selection.activeId] : [];\n if (selectedIds.length === 0) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera target selection is empty.',\n { code: 'viewport.camera.emptySelection' },\n ),\n };\n }\n const bounds = state.projection?.getSelectionBounds(selectedIds) ?? null;\n if (!bounds) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera target selection has no projection bounds.',\n { code: 'viewport.camera.missingBounds', objectId: selection.activeId ?? undefined },\n ),\n };\n }\n return {\n ok: true,\n target: cloneVec3(bounds.center),\n radius: createAgentBridgeCameraRadiusFromBounds(bounds),\n };\n}\n\nfunction resolveAgentBridgeSceneCameraTarget<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } {\n const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;\n if (!document) return { ok: true, target: null };\n const hierarchy = options.documentAdapter.getHierarchyItems(document);\n const objectIds = hierarchy\n .map(item => item.id)\n .filter(objectId => isAgentBridgeObjectSelectable(options, document, objectId, hierarchy));\n if (objectIds.length === 0) return { ok: true, target: null };\n const bounds = state.projection?.getSelectionBounds(objectIds) ?? null;\n if (!bounds) return { ok: true, target: null };\n return {\n ok: true,\n target: cloneVec3(bounds.center),\n radius: createAgentBridgeCameraRadiusFromBounds(bounds),\n };\n}\n\nfunction resolveAgentBridgeObjectCameraTarget<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n objectId: string,\n capabilityId: string,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } | { ok: false; result: ReturnType<typeof createLocalEditorAgentBridgeFailure> } {\n const bounds = state.projection?.getSelectionBounds([objectId]) ?? null;\n if (!bounds) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n `Camera target object has no projection bounds: ${objectId}`,\n { code: 'viewport.camera.missingBounds', objectId },\n ),\n };\n }\n return {\n ok: true,\n target: cloneVec3(bounds.center),\n radius: createAgentBridgeCameraRadiusFromBounds(bounds),\n };\n}\n\nfunction createAgentBridgeCameraRadiusFromBounds(bounds: { size: EditorAgentBridgeVec3 }): number | undefined {\n const radius = Math.hypot(bounds.size.x, bounds.size.y, bounds.size.z);\n return Number.isFinite(radius) && radius > 0 ? Math.max(radius * 1.5, 2) : undefined;\n}\n\nfunction normalizeAgentBridgeViewportCameraPreset(value: unknown): EditorViewportViewPreset | null {\n const preset = value === 'perspective'\n || value === 'top'\n || value === 'bottom'\n || value === 'front'\n || value === 'back'\n || value === 'left'\n || value === 'right'\n || value === 'iso'\n || value === 'threeQuarterTop'\n ? value\n : null;\n return preset as EditorViewportViewPreset | null;\n}\n\nfunction normalizeAgentBridgeFiniteNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nfunction normalizeAgentBridgePositiveNumber(value: unknown, fallback: number | null): number | null {\n return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : fallback;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/viewport.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EditorViewportViewPreset } from '@fps-games/editor-core';\nimport {\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID,\n type EditorAgentBridgeVec3,\n type EditorAgentBridgeViewportCameraOrbitInput,\n type EditorAgentBridgeViewportCameraPreset,\n type EditorAgentBridgeViewportCameraSetPresetInput,\n type EditorAgentBridgeViewportCameraSetPresetOutput,\n type EditorAgentBridgeViewportCameraState,\n type EditorAgentBridgeViewportCameraTarget,\n type EditorAgentBridgeViewportIsolationEnterInput,\n type EditorAgentBridgeViewportIsolationEnterOutput,\n type EditorAgentBridgeViewportVisibilityEntry,\n type EditorAgentBridgeViewportVisibilityMutationOutput,\n type EditorAgentBridgeViewportVisibilitySetInput,\n type EditorAgentBridgeViewportVisibilitySnapshotOutput,\n} from '@fps-games/editor-protocol';\nimport {\n cloneVec3,\n createLocalEditorAgentBridgeFailure,\n isLocalEditorAgentBridgeVec3,\n} from '../diagnostics.js';\nimport type { LocalEditorAgentBridgeViewportSource } from '../source-types.js';\nimport {\n cloneAgentBridgeSelection,\n getAgentBridgeSafeSceneHierarchy,\n getAgentBridgeSafeSceneSelection,\n hasAgentBridgeSafeSceneScope,\n isAgentBridgeHierarchyObjectSelectable,\n normalizeAgentBridgeIdList,\n normalizeAgentBridgeString,\n type LocalEditorAgentBridgePreviewVisibilityEntry,\n type LocalEditorAgentBridgeCapabilitySourceOperations,\n type LocalEditorAgentBridgeHarnessState,\n} from '../shared.js';\nimport type { LocalEditorHarnessOptions } from '../../local-editor-harness.js';\n\nexport function createLocalEditorAgentBridgeViewportSource<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): LocalEditorAgentBridgeViewportSource {\n return {\n focusObject(input) {\n const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';\n if (!objectId) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT,\n 'viewport.focusObject requires objectId.',\n { code: 'viewport.invalidInput' },\n );\n }\n const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;\n const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];\n if (!document || !isAgentBridgeHierarchyObjectSelectable(options, document, objectId, hierarchy)) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT,\n `Viewport object was not found: ${objectId}`,\n { code: 'viewport.targetNotFound', objectId },\n );\n }\n const focused = operations.focusProjectionNode(objectId);\n renderUi();\n return { objectId, focused };\n },\n frameSelection() {\n const selection = getAgentBridgeSafeSceneSelection(operations);\n const focused = hasAgentBridgeSafeSceneScope(operations) && selection.activeId\n ? operations.focusProjectionNode(selection.activeId)\n : false;\n renderUi();\n return {\n focused,\n selection: cloneAgentBridgeSelection(selection),\n };\n },\n getCamera() {\n return createAgentBridgeViewportCameraState(state, operations);\n },\n setCameraPreset(input) {\n return setAgentBridgeViewportCameraPreset(state, options, input, renderUi, operations);\n },\n orbitCamera(input) {\n return orbitAgentBridgeViewportCamera(state, options, input, renderUi, operations);\n },\n getVisibilitySnapshot() {\n return createAgentBridgeViewportVisibilitySnapshot(state, operations);\n },\n setVisibility(input) {\n const result = setAgentBridgeViewportVisibility(state, options, input, operations);\n if ('ok' in result && result.ok === false) return result;\n operations.requestSceneFrame('agent-viewport-visibility-set');\n renderUi();\n return result;\n },\n clearVisibility() {\n if (!hasAgentBridgeSafeSceneScope(operations)) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_CLEAR,\n 'Scene viewport visibility is unavailable outside the Scene Hierarchy scope.',\n { code: 'viewport.sceneScopeRequired' },\n );\n }\n const previousCount = Object.keys(state.previewVisibility.overrides).length;\n const wasIsolated = state.previewVisibility.isolatedObjectIds.length > 0;\n state.previewVisibility.overrides = {};\n state.previewVisibility.isolatedObjectIds = [];\n delete state.previewVisibility.protectedObjectIds;\n delete state.previewVisibility.protectedReceiverIds;\n delete state.previewVisibility.reason;\n state.projection?.clearPreviewVisibilityOverrides?.();\n operations.requestSceneFrame('agent-viewport-visibility-clear');\n renderUi();\n return {\n changed: previousCount > 0 || wasIsolated,\n snapshot: createAgentBridgeViewportVisibilitySnapshot(state, operations),\n };\n },\n enterIsolation(input) {\n const result = enterAgentBridgeViewportIsolation(state, options, input, operations);\n if ('ok' in result && result.ok === false) return result;\n operations.requestSceneFrame('agent-viewport-isolation-enter');\n renderUi();\n return result;\n },\n };\n}\n\nfunction setAgentBridgeViewportVisibility<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportVisibilitySetInput,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportVisibilityMutationOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n const ids = normalizeAgentBridgeIdList(Array.isArray(input.objectIds) ? input.objectIds : []);\n if (ids.length === 0) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET,\n 'viewport.visibility.set requires at least one objectId.',\n { code: 'viewport.visibility.invalidInput' },\n );\n }\n if (typeof input.visible !== 'boolean') {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET,\n 'viewport.visibility.set requires visible to be boolean.',\n { code: 'viewport.visibility.invalidInput' },\n );\n }\n const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;\n const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];\n const invalidId = ids.find(id => !document || !isAgentBridgeHierarchyObjectSelectable(options, document, id, hierarchy));\n if (invalidId) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET,\n `Viewport object was not found: ${invalidId}`,\n { code: 'viewport.targetNotFound', objectId: invalidId },\n );\n }\n const previous = JSON.stringify(state.previewVisibility.overrides);\n const safeIds = new Set(hierarchy.map(item => item.id));\n const nextOverrides = Object.fromEntries(\n Object.entries(state.previewVisibility.overrides).filter(([id]) => safeIds.has(id)),\n );\n const protectedIds = new Set([\n ...(state.previewVisibility.protectedObjectIds ?? []),\n ...(state.previewVisibility.protectedReceiverIds ?? []),\n ]);\n const blockedIds: string[] = [];\n for (const id of ids) {\n if (input.visible === false && protectedIds.has(id)) {\n nextOverrides[id] = true;\n blockedIds.push(id);\n continue;\n }\n nextOverrides[id] = input.visible;\n }\n state.previewVisibility.overrides = nextOverrides;\n if (blockedIds.length === 0) {\n state.previewVisibility.isolatedObjectIds = [];\n } else {\n state.previewVisibility.isolatedObjectIds = state.previewVisibility.isolatedObjectIds.filter(id => safeIds.has(id));\n }\n state.previewVisibility.reason = normalizeAgentBridgeString(input.reason) || undefined;\n state.projection?.clearPreviewVisibilityOverrides?.();\n const entries = state.projection?.setPreviewVisibilityOverrides?.(nextOverrides) ?? [];\n const diagnostics = blockedIds.length > 0\n ? [{\n code: 'shadow.receiverProtectedInDebugContext',\n message: 'One or more objects are protected by the active Shadow Debug Context and were kept visible. Clear shadow.debug.context before hiding protected receivers.',\n source: 'editor' as const,\n severity: 'warning' as const,\n details: { objectIds: blockedIds },\n }]\n : undefined;\n return {\n changed: previous !== JSON.stringify(state.previewVisibility.overrides),\n snapshot: createAgentBridgeViewportVisibilitySnapshot(state, operations, entries, diagnostics),\n ...(diagnostics ? { diagnostics } : {}),\n };\n}\n\nfunction enterAgentBridgeViewportIsolation<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportIsolationEnterInput,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportIsolationEnterOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n const targetIds = normalizeAgentBridgeIdList(Array.isArray(input.objectIds) ? input.objectIds : []);\n if (targetIds.length === 0) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER,\n 'viewport.isolation.enter requires at least one objectId.',\n { code: 'viewport.isolation.invalidInput' },\n );\n }\n const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;\n const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];\n const invalidId = targetIds.find(id => !document || !isAgentBridgeHierarchyObjectSelectable(options, document, id, hierarchy));\n if (invalidId) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER,\n `Viewport object was not found: ${invalidId}`,\n { code: 'viewport.targetNotFound', objectId: invalidId },\n );\n }\n const objectIds = createAgentBridgeViewportObjectIds(state, operations);\n if (objectIds.length === 0) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER,\n 'Viewport projection is unavailable or has no visible objects to isolate.',\n { code: 'viewport.projectionUnavailable' },\n );\n }\n const keep = new Set(targetIds);\n for (const targetId of targetIds) {\n for (const parentId of state.projection?.getProjectionParentIds?.(targetId) ?? []) {\n if (hierarchy.some(item => item.id === parentId)) keep.add(parentId);\n }\n }\n const nextOverrides: Record<string, boolean> = {};\n for (const id of objectIds) nextOverrides[id] = keep.has(id);\n const previous = JSON.stringify(state.previewVisibility);\n state.previewVisibility.overrides = nextOverrides;\n state.previewVisibility.isolatedObjectIds = [...keep];\n delete state.previewVisibility.protectedObjectIds;\n delete state.previewVisibility.protectedReceiverIds;\n state.previewVisibility.reason = normalizeAgentBridgeString(input.reason) || undefined;\n state.projection?.clearPreviewVisibilityOverrides?.();\n const entries = state.projection?.setPreviewVisibilityOverrides?.(nextOverrides) ?? [];\n const diagnostics = input.includeShadowDependencies\n ? [{\n code: 'viewport.isolation.shadowDependenciesPending',\n message: 'Shadow dependency expansion will be resolved by shadow debug capabilities; this isolation kept the requested objectIds and required transform ancestors.',\n source: 'editor' as const,\n severity: 'info' as const,\n }]\n : undefined;\n return {\n changed: previous !== JSON.stringify(state.previewVisibility),\n snapshot: createAgentBridgeViewportVisibilitySnapshot(state, operations, entries, diagnostics),\n ...(diagnostics ? { diagnostics } : {}),\n };\n}\n\nfunction createAgentBridgeViewportVisibilitySnapshot<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n entries?: readonly LocalEditorAgentBridgePreviewVisibilityEntry[],\n diagnostics?: EditorAgentBridgeViewportVisibilityEntry['diagnostics'],\n): EditorAgentBridgeViewportVisibilitySnapshotOutput {\n const projectionEntries = entries ?? state.projection?.getPreviewVisibilityOverrides?.() ?? [];\n const safeIds = new Set(getAgentBridgeSafeSceneHierarchy(operations).map(item => item.id));\n const safeProjectionEntries = projectionEntries.filter(entry => safeIds.has(entry.nodeId));\n const entryById = new Map(safeProjectionEntries.map(entry => [entry.nodeId, entry]));\n const objectIds = new Set<string>([\n ...Object.keys(state.previewVisibility.overrides).filter(id => safeIds.has(id)),\n ...safeProjectionEntries.map(entry => entry.nodeId),\n ...state.previewVisibility.isolatedObjectIds.filter(id => safeIds.has(id)),\n ]);\n const isolatedIds = new Set(state.previewVisibility.isolatedObjectIds.filter(id => safeIds.has(id)));\n const normalizedEntries = [...objectIds].sort().map((objectId): EditorAgentBridgeViewportVisibilityEntry => {\n const projectionEntry = entryById.get(objectId);\n const overrideVisible = state.previewVisibility.overrides[objectId];\n const authoredVisible = projectionEntry?.authoredActive ?? true;\n return {\n objectId,\n authoredVisible,\n previewVisible: projectionEntry?.effectiveVisible ?? (authoredVisible && overrideVisible !== false),\n ...(typeof overrideVisible === 'boolean' ? { overrideVisible } : {}),\n isolated: isolatedIds.has(objectId),\n };\n });\n return {\n isolated: isolatedIds.size > 0,\n isolatedObjectIds: [...isolatedIds],\n entries: normalizedEntries,\n ...(state.previewVisibility.reason ? { reason: state.previewVisibility.reason } : {}),\n ...(diagnostics?.length ? { diagnostics } : {}),\n };\n}\n\nfunction createAgentBridgeViewportObjectIds<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): string[] {\n const fromOverrides = Object.keys(state.previewVisibility.overrides);\n const fromProjectedNodes = state.projection?.getProjectedNodeIds?.() ?? [];\n const fromProjection = state.projection?.getPreviewVisibilityOverrides?.().map(entry => entry.nodeId) ?? [];\n const sessionIds = getAgentBridgeSafeSceneSelection(operations).selectedIds;\n const ids = new Set([...fromProjectedNodes, ...fromOverrides, ...fromProjection, ...sessionIds]);\n const safeIds = new Set(getAgentBridgeSafeSceneHierarchy(operations).map(item => item.id));\n if (ids.size > 0) return [...ids].filter(id => safeIds.has(id));\n return [];\n}\n\nfunction createAgentBridgeViewportCameraState<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportCameraState {\n const cameraState = state.sceneViewCamera?.getState();\n const selection = getAgentBridgeSafeSceneSelection(operations);\n const alpha = cameraState?.alpha;\n const beta = cameraState?.beta;\n const radius = cameraState?.radius;\n return {\n viewPreset: (cameraState?.viewPreset ?? state.viewportTools.viewPreset) as EditorAgentBridgeViewportCameraPreset,\n projectionMode: cameraState?.projectionMode ?? state.viewportTools.projectionMode,\n ...(cameraState?.target ? { target: cloneVec3(cameraState.target) } : {}),\n ...(cameraState?.position ? { position: cloneVec3(cameraState.position) } : {}),\n ...(typeof alpha === 'number' && Number.isFinite(alpha) ? { alpha } : {}),\n ...(typeof beta === 'number' && Number.isFinite(beta) ? { beta } : {}),\n ...(typeof radius === 'number' && Number.isFinite(radius) ? { radius } : {}),\n selection: cloneAgentBridgeSelection(selection),\n };\n}\n\nfunction setAgentBridgeViewportCameraPreset<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportCameraSetPresetInput,\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportCameraSetPresetOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'Editor is not in edit mode.',\n { code: 'editor.notReady' },\n );\n }\n if (state.sceneCameraPreviewEnabled) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'Viewport camera presets are unavailable during Scene Camera preview.',\n { code: 'viewport.camera.previewActive' },\n );\n }\n if (!state.sceneViewCamera) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'Viewport camera is unavailable.',\n { code: 'viewport.camera.unavailable' },\n );\n }\n const target = resolveAgentBridgeViewportCameraTarget(\n state,\n options,\n input.target,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n operations,\n );\n if (!target.ok) return target.result;\n const preset = normalizeAgentBridgeViewportCameraPreset(input.preset);\n if (!preset) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n 'viewport.camera.setPreset requires a supported preset.',\n { code: 'viewport.camera.invalidPreset' },\n );\n }\n const radius = normalizeAgentBridgePositiveNumber(input.radius, null);\n const distanceScale = normalizeAgentBridgePositiveNumber(input.distanceScale, 1);\n const baseRadius = target.radius ?? createAgentBridgeViewportCameraState(state, operations).radius ?? undefined;\n const scaledRadius = baseRadius && distanceScale ? baseRadius * distanceScale : baseRadius;\n const changed = state.sceneViewCamera.setViewPreset(preset, {\n target: target.target,\n radius: radius ?? scaledRadius,\n });\n operations.syncViewportCameraState();\n state.status = `Viewport camera: ${preset}`;\n state.statusTone = 'default';\n state.statusToneStatus = state.status;\n state.statusDetails = '';\n if (changed) operations.requestSceneFrame('agent-viewport-camera-set-preset');\n renderUi();\n return createAgentBridgeViewportCameraMutationOutput(state, changed, operations);\n}\n\nfunction orbitAgentBridgeViewportCamera<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportCameraOrbitInput,\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportCameraSetPresetOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n 'Editor is not in edit mode.',\n { code: 'editor.notReady' },\n );\n }\n if (state.sceneCameraPreviewEnabled) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n 'Viewport camera orbit is unavailable during Scene Camera preview.',\n { code: 'viewport.camera.previewActive' },\n );\n }\n if (!state.sceneViewCamera) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n 'Viewport camera is unavailable.',\n { code: 'viewport.camera.unavailable' },\n );\n }\n const target = resolveAgentBridgeViewportCameraTarget(\n state,\n options,\n input.target,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n operations,\n );\n if (!target.ok) return target.result;\n const changed = state.sceneViewCamera.orbit({\n target: target.target ?? undefined,\n yawDeltaDeg: normalizeAgentBridgeFiniteNumber(input.yawDeltaDeg, 0),\n pitchDeltaDeg: normalizeAgentBridgeFiniteNumber(input.pitchDeltaDeg, 0),\n distanceScale: normalizeAgentBridgePositiveNumber(input.distanceScale, 1) ?? undefined,\n });\n operations.syncViewportCameraState();\n state.status = 'Viewport camera: orbit';\n state.statusTone = 'default';\n state.statusToneStatus = state.status;\n state.statusDetails = '';\n if (changed) operations.requestSceneFrame('agent-viewport-camera-orbit');\n renderUi();\n return createAgentBridgeViewportCameraMutationOutput(state, changed, operations);\n}\n\nfunction createAgentBridgeViewportCameraMutationOutput<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n changed: boolean,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportCameraSetPresetOutput {\n const cameraState = createAgentBridgeViewportCameraState(state, operations);\n return {\n changed,\n viewPreset: cameraState.viewPreset,\n projectionMode: cameraState.projectionMode,\n ...(cameraState.target ? { target: cameraState.target } : {}),\n ...(cameraState.radius !== undefined ? { radius: cameraState.radius } : {}),\n selection: cameraState.selection,\n };\n}\n\nfunction resolveAgentBridgeViewportCameraTarget<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: EditorAgentBridgeViewportCameraTarget | undefined,\n capabilityId: string,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } | { ok: false; result: ReturnType<typeof createLocalEditorAgentBridgeFailure> } {\n const target = input ?? createDefaultAgentBridgeViewportCameraTarget(operations);\n if (target.kind === 'point') {\n if (!isLocalEditorAgentBridgeVec3(target.point)) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera point target requires a finite Vec3 point.',\n { code: 'viewport.camera.invalidTarget' },\n ),\n };\n }\n return { ok: true, target: cloneVec3(target.point) };\n }\n if (target.kind === 'scene') return resolveAgentBridgeSceneCameraTarget(state, options, operations);\n if (target.kind === 'selection') return resolveAgentBridgeSelectionCameraTarget(state, capabilityId, operations);\n if (target.kind === 'object') {\n const objectId = normalizeAgentBridgeString(target.objectId);\n if (!objectId) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera object target requires objectId.',\n { code: 'viewport.camera.invalidTarget' },\n ),\n };\n }\n const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;\n const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];\n if (!document || !isAgentBridgeHierarchyObjectSelectable(options, document, objectId, hierarchy)) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n `Camera target object was not found: ${objectId}`,\n { code: 'viewport.camera.targetNotFound', objectId },\n ),\n };\n }\n return resolveAgentBridgeObjectCameraTarget(state, objectId, capabilityId);\n }\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Unsupported camera target.',\n { code: 'viewport.camera.invalidTarget' },\n ),\n };\n}\n\nfunction createDefaultAgentBridgeViewportCameraTarget<TDocument>(\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeViewportCameraTarget {\n const selection = getAgentBridgeSafeSceneSelection(operations);\n return selection.activeId ? { kind: 'selection' } : { kind: 'scene' };\n}\n\nfunction resolveAgentBridgeSelectionCameraTarget<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n capabilityId: string,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } | { ok: false; result: ReturnType<typeof createLocalEditorAgentBridgeFailure> } {\n const selection = getAgentBridgeSafeSceneSelection(operations);\n const selectedIds = selection.selectedIds.length > 0\n ? selection.selectedIds\n : selection.activeId ? [selection.activeId] : [];\n if (selectedIds.length === 0) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera target selection is empty.',\n { code: 'viewport.camera.emptySelection' },\n ),\n };\n }\n const bounds = state.projection?.getSelectionBounds(selectedIds) ?? null;\n if (!bounds) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n 'Camera target selection has no projection bounds.',\n { code: 'viewport.camera.missingBounds', objectId: selection.activeId ?? undefined },\n ),\n };\n }\n return {\n ok: true,\n target: cloneVec3(bounds.center),\n radius: createAgentBridgeCameraRadiusFromBounds(bounds),\n };\n}\n\nfunction resolveAgentBridgeSceneCameraTarget<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } {\n const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;\n if (!document) return { ok: true, target: null };\n const hierarchy = getAgentBridgeSafeSceneHierarchy(operations);\n const objectIds = hierarchy\n .map(item => item.id)\n .filter(objectId => isAgentBridgeHierarchyObjectSelectable(options, document, objectId, hierarchy));\n if (objectIds.length === 0) return { ok: true, target: null };\n const bounds = state.projection?.getSelectionBounds(objectIds) ?? null;\n if (!bounds) return { ok: true, target: null };\n return {\n ok: true,\n target: cloneVec3(bounds.center),\n radius: createAgentBridgeCameraRadiusFromBounds(bounds),\n };\n}\n\nfunction resolveAgentBridgeObjectCameraTarget<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n objectId: string,\n capabilityId: string,\n): { ok: true; target: EditorAgentBridgeVec3 | null; radius?: number } | { ok: false; result: ReturnType<typeof createLocalEditorAgentBridgeFailure> } {\n const bounds = state.projection?.getSelectionBounds([objectId]) ?? null;\n if (!bounds) {\n return {\n ok: false,\n result: createLocalEditorAgentBridgeFailure(\n capabilityId,\n `Camera target object has no projection bounds: ${objectId}`,\n { code: 'viewport.camera.missingBounds', objectId },\n ),\n };\n }\n return {\n ok: true,\n target: cloneVec3(bounds.center),\n radius: createAgentBridgeCameraRadiusFromBounds(bounds),\n };\n}\n\nfunction createAgentBridgeCameraRadiusFromBounds(bounds: { size: EditorAgentBridgeVec3 }): number | undefined {\n const radius = Math.hypot(bounds.size.x, bounds.size.y, bounds.size.z);\n return Number.isFinite(radius) && radius > 0 ? Math.max(radius * 1.5, 2) : undefined;\n}\n\nfunction normalizeAgentBridgeViewportCameraPreset(value: unknown): EditorViewportViewPreset | null {\n const preset = value === 'perspective'\n || value === 'top'\n || value === 'bottom'\n || value === 'front'\n || value === 'back'\n || value === 'left'\n || value === 'right'\n || value === 'iso'\n || value === 'threeQuarterTop'\n ? value\n : null;\n return preset as EditorViewportViewPreset | null;\n}\n\nfunction normalizeAgentBridgeFiniteNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nfunction normalizeAgentBridgePositiveNumber(value: unknown, fallback: number | null): number | null {\n return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : fallback;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type AuthoringSourceDescriptor, type EditorProjectionImpact, type EditorSelectionState, type EditorSession, type EditorTransformSnapshot, type EditorViewportProjectionMode, type EditorViewportToolState, type EditorViewportViewPreset, type InspectorObject, type SelectionCommand } from '@fps-games/editor-core';
|
|
2
2
|
import type { FpsEditorLifecycleService } from '@fps-games/editor-core/lifecycle';
|
|
3
3
|
import type { EditorAgentBridgePrefabStageExitOutput, EditorAgentBridgePrefabStageOpenOutput, EditorAgentBridgePrefabStageState, EditorAgentBridgeSelectionState, EditorAgentBridgeVec3 } from '@fps-games/editor-protocol';
|
|
4
|
-
import type { LocalEditorBrowserAssetActionInput, LocalEditorBrowserPrefabStageStructureItem, LocalEditorBrowserUiHierarchyItem } from '@fps-games/editor-browser';
|
|
4
|
+
import type { LocalEditorBrowserAssetActionInput, LocalEditorBrowserPrefabStageStructureItem, LocalEditorBrowserHierarchyProjectionState, LocalEditorBrowserStatusDiagnostic, LocalEditorBrowserUiHierarchyItem } from '@fps-games/editor-browser';
|
|
5
5
|
import type { LocalEditorHarnessAssetCreationOptions, LocalEditorHarnessAssetCreationResult, LocalEditorHarnessMode, LocalEditorHarnessOptions } from '../local-editor-harness.js';
|
|
6
6
|
export declare const EMPTY_EDITOR_SELECTION: EditorSelectionState;
|
|
7
7
|
export interface LocalEditorAgentBridgeProjection {
|
|
@@ -146,10 +146,10 @@ export interface LocalEditorAgentBridgeCapabilitySourceOperations<TDocument> {
|
|
|
146
146
|
exitPrefabStage(): Promise<EditorAgentBridgePrefabStageExitOutput>;
|
|
147
147
|
selectPrefabStageItem(itemId: string): boolean;
|
|
148
148
|
runPrefabStageAssetAction(input: LocalEditorBrowserAssetActionInput): boolean;
|
|
149
|
-
|
|
149
|
+
getHierarchyProjection(): LocalEditorBrowserHierarchyProjectionState | null;
|
|
150
|
+
getStatusDiagnostics(): LocalEditorBrowserStatusDiagnostic[];
|
|
150
151
|
dispatchSelectionCommand(command: SelectionCommand, renderUi?: boolean): boolean;
|
|
151
152
|
focusProjectionNode(objectId: string): boolean;
|
|
152
|
-
focusSelectedProjection(): boolean;
|
|
153
153
|
syncViewportCameraState(): void;
|
|
154
154
|
requestSceneFrame(reason: string): void;
|
|
155
155
|
cloneTransformSnapshot(transform: EditorTransformSnapshot): EditorTransformSnapshot;
|
|
@@ -195,4 +195,9 @@ export declare function normalizeAgentBridgeIdList(values: readonly unknown[]):
|
|
|
195
195
|
export declare function isAgentBridgeDocumentNodeLocked<TDocument, TPatch, TAsset>(options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>, document: TDocument, id: string): boolean;
|
|
196
196
|
export declare function isAgentBridgeDocumentNodeSelectable<TDocument, TPatch, TAsset>(options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>, document: TDocument, id: string): boolean;
|
|
197
197
|
export declare function isAgentBridgeObjectSelectable<TDocument, TPatch, TAsset>(options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>, document: TDocument, objectId: string, hierarchyItems: readonly LocalEditorBrowserUiHierarchyItem[]): boolean;
|
|
198
|
+
export declare function isAgentBridgeHierarchyObjectSelectable<TDocument, TPatch, TAsset>(options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>, document: TDocument, objectId: string, hierarchyItems: readonly LocalEditorBrowserUiHierarchyItem[]): boolean;
|
|
199
|
+
export declare function getAgentBridgeSafeSceneHierarchy<TDocument>(operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>): LocalEditorBrowserUiHierarchyItem[];
|
|
200
|
+
export declare function hasAgentBridgeSafeSceneScope<TDocument>(operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>): boolean;
|
|
201
|
+
export declare function getAgentBridgeSafeSceneSelection<TDocument>(operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>): EditorSelectionState;
|
|
202
|
+
export declare function isAgentBridgeSafeSceneObjectId<TDocument>(operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>, objectId: string): boolean;
|
|
198
203
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/agent-bridge/shared.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/agent-bridge/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,4 +36,36 @@ export function isAgentBridgeObjectSelectable(options, document, objectId, hiera
|
|
|
36
36
|
return false;
|
|
37
37
|
return isAgentBridgeDocumentNodeSelectable(options, document, objectId);
|
|
38
38
|
}
|
|
39
|
+
export function isAgentBridgeHierarchyObjectSelectable(options, document, objectId, hierarchyItems) {
|
|
40
|
+
return hierarchyItems.some(item => item.id === objectId)
|
|
41
|
+
&& isAgentBridgeDocumentNodeSelectable(options, document, objectId);
|
|
42
|
+
}
|
|
43
|
+
export function getAgentBridgeSafeSceneHierarchy(operations) {
|
|
44
|
+
const projection = operations.getHierarchyProjection();
|
|
45
|
+
if (!projection || projection.scopeKind !== 'scene')
|
|
46
|
+
return [];
|
|
47
|
+
const commandableRows = new Set(projection.targets
|
|
48
|
+
.filter(target => target.rowId === target.targetId)
|
|
49
|
+
.map(target => target.rowId));
|
|
50
|
+
return projection.nodes.filter(node => commandableRows.has(node.id));
|
|
51
|
+
}
|
|
52
|
+
export function hasAgentBridgeSafeSceneScope(operations) {
|
|
53
|
+
return operations.getHierarchyProjection()?.scopeKind === 'scene';
|
|
54
|
+
}
|
|
55
|
+
export function getAgentBridgeSafeSceneSelection(operations) {
|
|
56
|
+
const projection = operations.getHierarchyProjection();
|
|
57
|
+
if (!projection || projection.scopeKind !== 'scene')
|
|
58
|
+
return EMPTY_EDITOR_SELECTION;
|
|
59
|
+
const safeIds = new Set(projection.targets
|
|
60
|
+
.filter(target => target.rowId === target.targetId)
|
|
61
|
+
.map(target => target.rowId));
|
|
62
|
+
const selectedIds = projection.selectedIds.filter(id => safeIds.has(id));
|
|
63
|
+
const activeId = projection.activeId && selectedIds.includes(projection.activeId)
|
|
64
|
+
? projection.activeId
|
|
65
|
+
: selectedIds[selectedIds.length - 1] ?? null;
|
|
66
|
+
return { selectedIds, activeId };
|
|
67
|
+
}
|
|
68
|
+
export function isAgentBridgeSafeSceneObjectId(operations, objectId) {
|
|
69
|
+
return getAgentBridgeSafeSceneHierarchy(operations).some(item => item.id === objectId);
|
|
70
|
+
}
|
|
39
71
|
//# sourceMappingURL=shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/agent-bridge/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAWN,MAAM,wBAAwB,CAAC;AAqBhC,MAAM,CAAC,MAAM,sBAAsB,GAAyB,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AA8LhG,MAAM,UAAU,yBAAyB,CAAC,SAA+B;IACvE,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC;QACvC,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAA0B;IACnE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAA6D,EAC7D,QAAmB,EACnB,EAAU;IAEV,OAAO,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAA6D,EAC7D,QAAmB,EACnB,EAAU;IAEV,IAAI,+BAA+B,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACzE,OAAO,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAA6D,EAC7D,QAAmB,EACnB,QAAgB,EAChB,cAA4D;IAE5D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1F,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,mCAAmC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC1E,CAAC","sourcesContent":["import {\n type AuthoringSourceDescriptor,\n type EditorProjectionImpact,\n type EditorSelectionState,\n type EditorSession,\n type EditorTransformSnapshot,\n type EditorViewportProjectionMode,\n type EditorViewportToolState,\n type EditorViewportViewPreset,\n type InspectorObject,\n type SelectionCommand,\n} from '@fps-games/editor-core';\nimport type { FpsEditorLifecycleService } from '@fps-games/editor-core/lifecycle';\nimport type {\n EditorAgentBridgePrefabStageExitOutput,\n EditorAgentBridgePrefabStageOpenOutput,\n EditorAgentBridgePrefabStageState,\n EditorAgentBridgeSelectionState,\n EditorAgentBridgeVec3,\n} from '@fps-games/editor-protocol';\nimport type {\n LocalEditorBrowserAssetActionInput,\n LocalEditorBrowserPrefabStageStructureItem,\n LocalEditorBrowserUiHierarchyItem,\n} from '@fps-games/editor-browser';\nimport type {\n LocalEditorHarnessAssetCreationOptions,\n LocalEditorHarnessAssetCreationResult,\n LocalEditorHarnessMode,\n LocalEditorHarnessOptions,\n} from '../local-editor-harness.js';\n\nexport const EMPTY_EDITOR_SELECTION: EditorSelectionState = { selectedIds: [], activeId: null };\n\nexport interface LocalEditorAgentBridgeProjection {\n readNodeTransform(objectId: string): EditorTransformSnapshot | null;\n getSelectionBounds(objectIds: readonly string[]): { center: EditorAgentBridgeVec3; size: EditorAgentBridgeVec3 } | null;\n getPreviewVisibilityOverrides?(): Array<{\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n }>;\n setPreviewVisibilityOverrides?(overrides: Record<string, boolean>): Array<{\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n }>;\n clearPreviewVisibilityOverrides?(): Array<{\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n }>;\n getProjectedNodeIds?(): string[];\n getProjectionParentIds?(nodeId: string): string[];\n setShadowDebugOverlay?(items: LocalEditorAgentBridgeShadowDebugOverlayItem[]): string[];\n clearShadowDebugOverlay?(): boolean;\n waitForIdle?(): Promise<unknown>;\n}\n\nexport interface LocalEditorAgentBridgePreviewVisibilityEntry {\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n}\n\nexport interface LocalEditorAgentBridgePreviewVisibilityState {\n overrides: Record<string, boolean>;\n isolatedObjectIds: string[];\n reason?: string;\n protectedObjectIds?: string[];\n protectedReceiverIds?: string[];\n}\n\nexport interface LocalEditorAgentBridgeShadowDebugBounds {\n min: EditorAgentBridgeVec3;\n max: EditorAgentBridgeVec3;\n size: EditorAgentBridgeVec3;\n center: EditorAgentBridgeVec3;\n}\n\nexport interface LocalEditorAgentBridgeShadowDebugOverlayItem {\n id: string;\n kind: 'caster-bounds' | 'receiver-bounds' | 'receiver-surface' | 'light-direction' | 'footprint' | 'artifact-bounds';\n bounds?: LocalEditorAgentBridgeShadowDebugBounds;\n center?: EditorAgentBridgeVec3;\n size?: EditorAgentBridgeVec3;\n direction?: EditorAgentBridgeVec3;\n}\n\nexport interface LocalEditorAgentBridgePlanarShadowCasterDebugInfo {\n sourceName: string;\n sourceMeshNames?: string[];\n sourceNodeId?: string;\n sourceNodeIds?: string[];\n shadowName: string;\n strategy: 'auto' | 'projected-mesh' | 'convex-hull';\n hasSkeleton: boolean;\n projectedMeshCount: number;\n convexHullMeshCount: number;\n alphaCutoutMeshCount: number;\n instancedCasterCount?: number;\n batchMeshCount?: number;\n instancedBatchIds?: string[];\n instancedBatchNames?: string[];\n independentProjectedMeshCount?: number;\n visibleInstanceCount?: number;\n alphaCutoutChannels?: Array<'alpha' | 'luminance' | 'red'>;\n alphaCutoutUvSets?: number[];\n alphaCutoutLevels?: number[];\n fallbackReasons?: string[];\n instancingFallbackReasons?: string[];\n}\n\nexport interface LocalEditorAgentBridgeShadowPreviewDebugInfo {\n planar?: {\n enabled: boolean;\n casterCount: number;\n casters: LocalEditorAgentBridgePlanarShadowCasterDebugInfo[];\n };\n}\n\nexport interface LocalEditorAgentBridgeSceneViewCameraState {\n viewPreset: EditorViewportViewPreset;\n projectionMode: EditorViewportProjectionMode;\n target?: EditorAgentBridgeVec3;\n position?: EditorAgentBridgeVec3;\n alpha?: number;\n beta?: number;\n radius?: number;\n}\n\nexport interface LocalEditorAgentBridgeSceneViewCamera {\n getState(): LocalEditorAgentBridgeSceneViewCameraState;\n setViewPreset(preset: EditorViewportViewPreset, options?: { target?: EditorAgentBridgeVec3 | null; radius?: number }): boolean;\n orbit(options?: {\n target?: EditorAgentBridgeVec3;\n yawDeltaDeg?: number;\n pitchDeltaDeg?: number;\n distanceScale?: number;\n }): boolean;\n}\n\nexport interface LocalEditorAgentBridgePrefabStageDetails<TDocument = unknown> {\n stage: EditorAgentBridgePrefabStageState;\n structureItems: readonly LocalEditorBrowserPrefabStageStructureItem[];\n inspectorObject?: InspectorObject<TDocument> | null;\n}\n\nexport interface LocalEditorAgentBridgeHarnessState<TDocument, TPatch> {\n mode: LocalEditorHarnessMode;\n lifecycle: FpsEditorLifecycleService | null;\n busy: boolean;\n session: EditorSession<TDocument, TPatch> | null;\n assets: readonly unknown[];\n projection: LocalEditorAgentBridgeProjection | null;\n previewVisibility: LocalEditorAgentBridgePreviewVisibilityState;\n sceneCameraPreviewEnabled: boolean;\n sceneViewCamera: LocalEditorAgentBridgeSceneViewCamera | null | any;\n viewportTools: EditorViewportToolState;\n status: string;\n statusTone: 'default' | 'success' | 'warning' | 'error';\n statusToneStatus: string;\n statusDetails: string;\n summary: string;\n}\n\nexport interface LocalEditorAgentBridgeCapabilitySourceOperations<TDocument> {\n createAssetFromAssetId(assetId: string, options?: LocalEditorHarnessAssetCreationOptions): LocalEditorHarnessAssetCreationResult;\n getPrefabStage(): EditorAgentBridgePrefabStageState | null;\n getPrefabStageDetails(): LocalEditorAgentBridgePrefabStageDetails<TDocument> | null;\n openPrefabStage(input: {\n assetId: string;\n browserAssetId?: string;\n }): Promise<EditorAgentBridgePrefabStageOpenOutput | null>;\n exitPrefabStage(): Promise<EditorAgentBridgePrefabStageExitOutput>;\n selectPrefabStageItem(itemId: string): boolean;\n runPrefabStageAssetAction(input: LocalEditorBrowserAssetActionInput): boolean;\n getHierarchy(): LocalEditorBrowserUiHierarchyItem[];\n dispatchSelectionCommand(command: SelectionCommand, renderUi?: boolean): boolean;\n focusProjectionNode(objectId: string): boolean;\n focusSelectedProjection(): boolean;\n syncViewportCameraState(): void;\n requestSceneFrame(reason: string): void;\n cloneTransformSnapshot(transform: EditorTransformSnapshot): EditorTransformSnapshot;\n cancelActiveOperation(): void;\n withProjectionImpact(impact: EditorProjectionImpact | undefined): { projectionImpact?: EditorProjectionImpact };\n resolveProjectionImpact(source: { projectionImpact?: EditorProjectionImpact }, fallback: EditorProjectionImpact | undefined): EditorProjectionImpact | undefined;\n createReprojectProjectionImpact(ids: readonly (string | null | undefined)[]): EditorProjectionImpact | undefined;\n createTransformProjectionImpact(ids: readonly (string | null | undefined)[]): EditorProjectionImpact | undefined;\n createKnownCreatedReprojectProjectionImpact(input: {\n createdNodeIds: readonly (string | null | undefined)[];\n reprojectIds?: readonly (string | null | undefined)[];\n }): EditorProjectionImpact | undefined;\n createDeletedNodeProjectionImpact(ids: readonly (string | null | undefined)[]): EditorProjectionImpact | undefined;\n reprojectProjectionForChangedIds(document: TDocument, changedIds: string[]): void;\n syncProjectionForChangedIds(document: TDocument, changedIds: string[]): void;\n rebuildProjectionFromDocument(document: TDocument, selection: EditorSelectionState): void;\n sanitizeSelection(document: TDocument, selection: EditorSelectionState): EditorSelectionState | null;\n summarizeDocument(document: TDocument, source?: AuthoringSourceDescriptor | null): string;\n runRenderingAction?(actionId: string): Promise<LocalEditorAgentBridgeRenderingActionResult>;\n invalidateStaticShadowArtifact?(): boolean;\n getShadowPreviewDebugInfo?(): LocalEditorAgentBridgeShadowPreviewDebugInfo | null;\n setShadowDebugOverlay?(items: LocalEditorAgentBridgeShadowDebugOverlayItem[]): string[];\n clearShadowDebugOverlay?(): boolean;\n resolvePrefabStageProjectionNodeId?(nodeId: string): string | null;\n}\n\nexport interface LocalEditorAgentBridgeRenderingActionResult {\n ok: boolean;\n changed: boolean;\n rendered: boolean;\n status?: string;\n statusTone?: 'default' | 'success' | 'warning' | 'error';\n statusDetails?: string;\n details?: Record<string, unknown>;\n error?: string;\n}\n\nexport function cloneAgentBridgeSelection(selection: EditorSelectionState): EditorAgentBridgeSelectionState {\n return {\n selectedIds: [...selection.selectedIds],\n activeId: selection.activeId,\n };\n}\n\nexport function normalizeAgentBridgeString(value: unknown): string {\n return typeof value === 'string' ? value.trim() : '';\n}\n\nexport function normalizeAgentBridgeIdList(values: readonly unknown[]): string[] {\n const ids: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n const id = normalizeAgentBridgeString(value);\n if (!id || seen.has(id)) continue;\n seen.add(id);\n ids.push(id);\n }\n return ids;\n}\n\nexport function isAgentBridgeDocumentNodeLocked<TDocument, TPatch, TAsset>(\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n document: TDocument,\n id: string,\n): boolean {\n return options.documentAdapter.isLocked?.(document, id) ?? false;\n}\n\nexport function isAgentBridgeDocumentNodeSelectable<TDocument, TPatch, TAsset>(\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n document: TDocument,\n id: string,\n): boolean {\n if (isAgentBridgeDocumentNodeLocked(options, document, id)) return false;\n return options.documentAdapter.isSelectable?.(document, id) ?? true;\n}\n\nexport function isAgentBridgeObjectSelectable<TDocument, TPatch, TAsset>(\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n document: TDocument,\n objectId: string,\n hierarchyItems: readonly LocalEditorBrowserUiHierarchyItem[],\n): boolean {\n const inHierarchy = hierarchyItems.some(item => item.id === objectId);\n const hasProjectionNode = !!options.documentAdapter.getProjectionNode(document, objectId);\n if (!inHierarchy && !hasProjectionNode) return false;\n return isAgentBridgeDocumentNodeSelectable(options, document, objectId);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/agent-bridge/shared.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type AuthoringSourceDescriptor,\n type EditorProjectionImpact,\n type EditorSelectionState,\n type EditorSession,\n type EditorTransformSnapshot,\n type EditorViewportProjectionMode,\n type EditorViewportToolState,\n type EditorViewportViewPreset,\n type InspectorObject,\n type SelectionCommand,\n} from '@fps-games/editor-core';\nimport type { FpsEditorLifecycleService } from '@fps-games/editor-core/lifecycle';\nimport type {\n EditorAgentBridgePrefabStageExitOutput,\n EditorAgentBridgePrefabStageOpenOutput,\n EditorAgentBridgePrefabStageState,\n EditorAgentBridgeSelectionState,\n EditorAgentBridgeVec3,\n} from '@fps-games/editor-protocol';\nimport type {\n LocalEditorBrowserAssetActionInput,\n LocalEditorBrowserPrefabStageStructureItem,\n LocalEditorBrowserHierarchyProjectionState,\n LocalEditorBrowserStatusDiagnostic,\n LocalEditorBrowserUiHierarchyItem,\n} from '@fps-games/editor-browser';\nimport type {\n LocalEditorHarnessAssetCreationOptions,\n LocalEditorHarnessAssetCreationResult,\n LocalEditorHarnessMode,\n LocalEditorHarnessOptions,\n} from '../local-editor-harness.js';\n\nexport const EMPTY_EDITOR_SELECTION: EditorSelectionState = { selectedIds: [], activeId: null };\n\nexport interface LocalEditorAgentBridgeProjection {\n readNodeTransform(objectId: string): EditorTransformSnapshot | null;\n getSelectionBounds(objectIds: readonly string[]): { center: EditorAgentBridgeVec3; size: EditorAgentBridgeVec3 } | null;\n getPreviewVisibilityOverrides?(): Array<{\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n }>;\n setPreviewVisibilityOverrides?(overrides: Record<string, boolean>): Array<{\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n }>;\n clearPreviewVisibilityOverrides?(): Array<{\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n }>;\n getProjectedNodeIds?(): string[];\n getProjectionParentIds?(nodeId: string): string[];\n setShadowDebugOverlay?(items: LocalEditorAgentBridgeShadowDebugOverlayItem[]): string[];\n clearShadowDebugOverlay?(): boolean;\n waitForIdle?(): Promise<unknown>;\n}\n\nexport interface LocalEditorAgentBridgePreviewVisibilityEntry {\n nodeId: string;\n visible: boolean;\n authoredActive: boolean;\n effectiveVisible: boolean;\n}\n\nexport interface LocalEditorAgentBridgePreviewVisibilityState {\n overrides: Record<string, boolean>;\n isolatedObjectIds: string[];\n reason?: string;\n protectedObjectIds?: string[];\n protectedReceiverIds?: string[];\n}\n\nexport interface LocalEditorAgentBridgeShadowDebugBounds {\n min: EditorAgentBridgeVec3;\n max: EditorAgentBridgeVec3;\n size: EditorAgentBridgeVec3;\n center: EditorAgentBridgeVec3;\n}\n\nexport interface LocalEditorAgentBridgeShadowDebugOverlayItem {\n id: string;\n kind: 'caster-bounds' | 'receiver-bounds' | 'receiver-surface' | 'light-direction' | 'footprint' | 'artifact-bounds';\n bounds?: LocalEditorAgentBridgeShadowDebugBounds;\n center?: EditorAgentBridgeVec3;\n size?: EditorAgentBridgeVec3;\n direction?: EditorAgentBridgeVec3;\n}\n\nexport interface LocalEditorAgentBridgePlanarShadowCasterDebugInfo {\n sourceName: string;\n sourceMeshNames?: string[];\n sourceNodeId?: string;\n sourceNodeIds?: string[];\n shadowName: string;\n strategy: 'auto' | 'projected-mesh' | 'convex-hull';\n hasSkeleton: boolean;\n projectedMeshCount: number;\n convexHullMeshCount: number;\n alphaCutoutMeshCount: number;\n instancedCasterCount?: number;\n batchMeshCount?: number;\n instancedBatchIds?: string[];\n instancedBatchNames?: string[];\n independentProjectedMeshCount?: number;\n visibleInstanceCount?: number;\n alphaCutoutChannels?: Array<'alpha' | 'luminance' | 'red'>;\n alphaCutoutUvSets?: number[];\n alphaCutoutLevels?: number[];\n fallbackReasons?: string[];\n instancingFallbackReasons?: string[];\n}\n\nexport interface LocalEditorAgentBridgeShadowPreviewDebugInfo {\n planar?: {\n enabled: boolean;\n casterCount: number;\n casters: LocalEditorAgentBridgePlanarShadowCasterDebugInfo[];\n };\n}\n\nexport interface LocalEditorAgentBridgeSceneViewCameraState {\n viewPreset: EditorViewportViewPreset;\n projectionMode: EditorViewportProjectionMode;\n target?: EditorAgentBridgeVec3;\n position?: EditorAgentBridgeVec3;\n alpha?: number;\n beta?: number;\n radius?: number;\n}\n\nexport interface LocalEditorAgentBridgeSceneViewCamera {\n getState(): LocalEditorAgentBridgeSceneViewCameraState;\n setViewPreset(preset: EditorViewportViewPreset, options?: { target?: EditorAgentBridgeVec3 | null; radius?: number }): boolean;\n orbit(options?: {\n target?: EditorAgentBridgeVec3;\n yawDeltaDeg?: number;\n pitchDeltaDeg?: number;\n distanceScale?: number;\n }): boolean;\n}\n\nexport interface LocalEditorAgentBridgePrefabStageDetails<TDocument = unknown> {\n stage: EditorAgentBridgePrefabStageState;\n structureItems: readonly LocalEditorBrowserPrefabStageStructureItem[];\n inspectorObject?: InspectorObject<TDocument> | null;\n}\n\nexport interface LocalEditorAgentBridgeHarnessState<TDocument, TPatch> {\n mode: LocalEditorHarnessMode;\n lifecycle: FpsEditorLifecycleService | null;\n busy: boolean;\n session: EditorSession<TDocument, TPatch> | null;\n assets: readonly unknown[];\n projection: LocalEditorAgentBridgeProjection | null;\n previewVisibility: LocalEditorAgentBridgePreviewVisibilityState;\n sceneCameraPreviewEnabled: boolean;\n sceneViewCamera: LocalEditorAgentBridgeSceneViewCamera | null | any;\n viewportTools: EditorViewportToolState;\n status: string;\n statusTone: 'default' | 'success' | 'warning' | 'error';\n statusToneStatus: string;\n statusDetails: string;\n summary: string;\n}\n\nexport interface LocalEditorAgentBridgeCapabilitySourceOperations<TDocument> {\n createAssetFromAssetId(assetId: string, options?: LocalEditorHarnessAssetCreationOptions): LocalEditorHarnessAssetCreationResult;\n getPrefabStage(): EditorAgentBridgePrefabStageState | null;\n getPrefabStageDetails(): LocalEditorAgentBridgePrefabStageDetails<TDocument> | null;\n openPrefabStage(input: {\n assetId: string;\n browserAssetId?: string;\n }): Promise<EditorAgentBridgePrefabStageOpenOutput | null>;\n exitPrefabStage(): Promise<EditorAgentBridgePrefabStageExitOutput>;\n selectPrefabStageItem(itemId: string): boolean;\n runPrefabStageAssetAction(input: LocalEditorBrowserAssetActionInput): boolean;\n getHierarchyProjection(): LocalEditorBrowserHierarchyProjectionState | null;\n getStatusDiagnostics(): LocalEditorBrowserStatusDiagnostic[];\n dispatchSelectionCommand(command: SelectionCommand, renderUi?: boolean): boolean;\n focusProjectionNode(objectId: string): boolean;\n syncViewportCameraState(): void;\n requestSceneFrame(reason: string): void;\n cloneTransformSnapshot(transform: EditorTransformSnapshot): EditorTransformSnapshot;\n cancelActiveOperation(): void;\n withProjectionImpact(impact: EditorProjectionImpact | undefined): { projectionImpact?: EditorProjectionImpact };\n resolveProjectionImpact(source: { projectionImpact?: EditorProjectionImpact }, fallback: EditorProjectionImpact | undefined): EditorProjectionImpact | undefined;\n createReprojectProjectionImpact(ids: readonly (string | null | undefined)[]): EditorProjectionImpact | undefined;\n createTransformProjectionImpact(ids: readonly (string | null | undefined)[]): EditorProjectionImpact | undefined;\n createKnownCreatedReprojectProjectionImpact(input: {\n createdNodeIds: readonly (string | null | undefined)[];\n reprojectIds?: readonly (string | null | undefined)[];\n }): EditorProjectionImpact | undefined;\n createDeletedNodeProjectionImpact(ids: readonly (string | null | undefined)[]): EditorProjectionImpact | undefined;\n reprojectProjectionForChangedIds(document: TDocument, changedIds: string[]): void;\n syncProjectionForChangedIds(document: TDocument, changedIds: string[]): void;\n rebuildProjectionFromDocument(document: TDocument, selection: EditorSelectionState): void;\n sanitizeSelection(document: TDocument, selection: EditorSelectionState): EditorSelectionState | null;\n summarizeDocument(document: TDocument, source?: AuthoringSourceDescriptor | null): string;\n runRenderingAction?(actionId: string): Promise<LocalEditorAgentBridgeRenderingActionResult>;\n invalidateStaticShadowArtifact?(): boolean;\n getShadowPreviewDebugInfo?(): LocalEditorAgentBridgeShadowPreviewDebugInfo | null;\n setShadowDebugOverlay?(items: LocalEditorAgentBridgeShadowDebugOverlayItem[]): string[];\n clearShadowDebugOverlay?(): boolean;\n resolvePrefabStageProjectionNodeId?(nodeId: string): string | null;\n}\n\nexport interface LocalEditorAgentBridgeRenderingActionResult {\n ok: boolean;\n changed: boolean;\n rendered: boolean;\n status?: string;\n statusTone?: 'default' | 'success' | 'warning' | 'error';\n statusDetails?: string;\n details?: Record<string, unknown>;\n error?: string;\n}\n\nexport function cloneAgentBridgeSelection(selection: EditorSelectionState): EditorAgentBridgeSelectionState {\n return {\n selectedIds: [...selection.selectedIds],\n activeId: selection.activeId,\n };\n}\n\nexport function normalizeAgentBridgeString(value: unknown): string {\n return typeof value === 'string' ? value.trim() : '';\n}\n\nexport function normalizeAgentBridgeIdList(values: readonly unknown[]): string[] {\n const ids: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n const id = normalizeAgentBridgeString(value);\n if (!id || seen.has(id)) continue;\n seen.add(id);\n ids.push(id);\n }\n return ids;\n}\n\nexport function isAgentBridgeDocumentNodeLocked<TDocument, TPatch, TAsset>(\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n document: TDocument,\n id: string,\n): boolean {\n return options.documentAdapter.isLocked?.(document, id) ?? false;\n}\n\nexport function isAgentBridgeDocumentNodeSelectable<TDocument, TPatch, TAsset>(\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n document: TDocument,\n id: string,\n): boolean {\n if (isAgentBridgeDocumentNodeLocked(options, document, id)) return false;\n return options.documentAdapter.isSelectable?.(document, id) ?? true;\n}\n\nexport function isAgentBridgeObjectSelectable<TDocument, TPatch, TAsset>(\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n document: TDocument,\n objectId: string,\n hierarchyItems: readonly LocalEditorBrowserUiHierarchyItem[],\n): boolean {\n const inHierarchy = hierarchyItems.some(item => item.id === objectId);\n const hasProjectionNode = !!options.documentAdapter.getProjectionNode(document, objectId);\n if (!inHierarchy && !hasProjectionNode) return false;\n return isAgentBridgeDocumentNodeSelectable(options, document, objectId);\n}\n\nexport function isAgentBridgeHierarchyObjectSelectable<TDocument, TPatch, TAsset>(\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n document: TDocument,\n objectId: string,\n hierarchyItems: readonly LocalEditorBrowserUiHierarchyItem[],\n): boolean {\n return hierarchyItems.some(item => item.id === objectId)\n && isAgentBridgeDocumentNodeSelectable(options, document, objectId);\n}\n\nexport function getAgentBridgeSafeSceneHierarchy<TDocument>(\n operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>,\n): LocalEditorBrowserUiHierarchyItem[] {\n const projection = operations.getHierarchyProjection();\n if (!projection || projection.scopeKind !== 'scene') return [];\n const commandableRows = new Set(\n projection.targets\n .filter(target => target.rowId === target.targetId)\n .map(target => target.rowId),\n );\n return projection.nodes.filter(node => commandableRows.has(node.id));\n}\n\nexport function hasAgentBridgeSafeSceneScope<TDocument>(\n operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>,\n): boolean {\n return operations.getHierarchyProjection()?.scopeKind === 'scene';\n}\n\nexport function getAgentBridgeSafeSceneSelection<TDocument>(\n operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>,\n): EditorSelectionState {\n const projection = operations.getHierarchyProjection();\n if (!projection || projection.scopeKind !== 'scene') return EMPTY_EDITOR_SELECTION;\n const safeIds = new Set(\n projection.targets\n .filter(target => target.rowId === target.targetId)\n .map(target => target.rowId),\n );\n const selectedIds = projection.selectedIds.filter(id => safeIds.has(id));\n const activeId = projection.activeId && selectedIds.includes(projection.activeId)\n ? projection.activeId\n : selectedIds[selectedIds.length - 1] ?? null;\n return { selectedIds, activeId };\n}\n\nexport function isAgentBridgeSafeSceneObjectId<TDocument>(\n operations: Pick<LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>, 'getHierarchyProjection'>,\n objectId: string,\n): boolean {\n return getAgentBridgeSafeSceneHierarchy(operations).some(item => item.id === objectId);\n}\n"]}
|
package/dist/build-info.json
CHANGED
|
@@ -1,120 +1,120 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"packageName": "@fps-games/editor",
|
|
4
|
-
"version": "0.2.0-beta.
|
|
5
|
-
"gitSha": "
|
|
6
|
-
"distHash": "
|
|
7
|
-
"cacheKey": "0.2.0-beta.
|
|
4
|
+
"version": "0.2.0-beta.4",
|
|
5
|
+
"gitSha": "3af070a16bb4fe064c9e529dc457f6d62a1b8a83",
|
|
6
|
+
"distHash": "50f72f4635bc01946e0b64c0a95009bcc45b968161c176960362e56c35bd9838",
|
|
7
|
+
"cacheKey": "0.2.0-beta.4-50f72f4635bc",
|
|
8
8
|
"bundledPackages": [
|
|
9
9
|
{
|
|
10
10
|
"name": "@fps-games/babylon-renderer",
|
|
11
|
-
"version": "0.2.0-beta.
|
|
11
|
+
"version": "0.2.0-beta.4",
|
|
12
12
|
"distHash": "139d995a8a8639cb8961cb8d17166c15c2ea5c0ef413800fc33b2a61eb6bae9d"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"name": "@fps-games/editor-babylon",
|
|
16
|
-
"version": "0.2.0-beta.
|
|
16
|
+
"version": "0.2.0-beta.4",
|
|
17
17
|
"distHash": "2e45131e4abb054c711c6d2cef651d63039fa54bbe06a2f5bdbf20edf4b00928"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"name": "@fps-games/editor-browser",
|
|
21
|
-
"version": "0.2.0-beta.
|
|
22
|
-
"distHash": "
|
|
21
|
+
"version": "0.2.0-beta.4",
|
|
22
|
+
"distHash": "1dc9a78034c6847da69fd8688b6ff784883994d2670c4c75977f677cb3be9595"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"name": "@fps-games/editor-core",
|
|
26
|
-
"version": "0.2.0-beta.
|
|
27
|
-
"distHash": "
|
|
26
|
+
"version": "0.2.0-beta.4",
|
|
27
|
+
"distHash": "5ad33bdf6be07dcc509c1f307c11f151dee75095f5ff55787819979cd57e7e48"
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"name": "@fps-games/editor-forge-play",
|
|
31
|
-
"version": "0.2.0-beta.
|
|
31
|
+
"version": "0.2.0-beta.4",
|
|
32
32
|
"distHash": "c76fb413ce05bbcae6481366d71aed662bc56c65827b6dddbde5478a2740e079"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"name": "@fps-games/editor-playable-sdk",
|
|
36
|
-
"version": "0.2.0-beta.
|
|
36
|
+
"version": "0.2.0-beta.4",
|
|
37
37
|
"distHash": "db085a25a65765db6d18c31b39a57cbf599b16c8d1f6b8f1a90f67479b4ac108"
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
"name": "@fps-games/editor-protocol",
|
|
41
|
-
"version": "0.2.0-beta.
|
|
41
|
+
"version": "0.2.0-beta.4",
|
|
42
42
|
"distHash": "7877cc4b750c9c6d78c885f736f8c17e87a55d611ee4c311e7394c3834c3e241"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"name": "@fps-games/editor-tooling",
|
|
46
|
-
"version": "0.2.0-beta.
|
|
46
|
+
"version": "0.2.0-beta.4",
|
|
47
47
|
"distHash": "12978b8fc285b62185ecc723089e489ec8f9c5192d2c20f772f8c5b3c527a951"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"name": "@fps-games/playable-assets",
|
|
51
|
-
"version": "0.2.0-beta.
|
|
51
|
+
"version": "0.2.0-beta.4",
|
|
52
52
|
"distHash": "37a544c7fef71429562a181f3e74008b1d40ed8fcb26e19b604ddaa1298cbd18"
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"name": "@fps-games/playable-contracts",
|
|
56
|
-
"version": "0.2.0-beta.
|
|
56
|
+
"version": "0.2.0-beta.4",
|
|
57
57
|
"distHash": "c82be59868699be97bf3639b6961714877fb3d6c45098dc2366690a7f3976cde"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"name": "@fps-games/playable-rendering",
|
|
61
|
-
"version": "0.2.0-beta.
|
|
61
|
+
"version": "0.2.0-beta.4",
|
|
62
62
|
"distHash": "64b91540fbe200093158c2229b431dffc3965b2dde5615c6824c27983be5bd7b"
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
"name": "@fps-games/playable-runtime",
|
|
66
|
-
"version": "0.2.0-beta.
|
|
66
|
+
"version": "0.2.0-beta.4",
|
|
67
67
|
"distHash": "8c8388cd6a9ed3a73a879f90c8bb103a138563c1d6030470beae59b0a87fabeb"
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
"name": "@fps-games/playable-runtime-data",
|
|
71
|
-
"version": "0.2.0-beta.
|
|
71
|
+
"version": "0.2.0-beta.4",
|
|
72
72
|
"distHash": "44bf5edaf873b0888d790a142895d24acae9896b5d38836d6cee1d85a5d9483e"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
"name": "@fps-games/playable-scene",
|
|
76
|
-
"version": "0.2.0-beta.
|
|
76
|
+
"version": "0.2.0-beta.4",
|
|
77
77
|
"distHash": "c9988e0a517dbda0250812d61c3cca1b149b25ac36231f5f2b57346f3435dd92"
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
"name": "@fps-games/plugin-api",
|
|
81
|
-
"version": "0.2.0-beta.
|
|
81
|
+
"version": "0.2.0-beta.4",
|
|
82
82
|
"distHash": "06c15e6ba76748b069aae75d1ec325ad2842e38bad37f91a25fd878ed1bf73f6"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
"name": "@fps-games/plugin-assets",
|
|
86
|
-
"version": "0.2.0-beta.
|
|
87
|
-
"distHash": "
|
|
86
|
+
"version": "0.2.0-beta.4",
|
|
87
|
+
"distHash": "a0c4dadc5ef040e0d3b83e71239490d7f57ffc21ee47fe1cf40e6c33b9db897f"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"name": "@fps-games/plugin-host",
|
|
91
|
-
"version": "0.2.0-beta.
|
|
91
|
+
"version": "0.2.0-beta.4",
|
|
92
92
|
"distHash": "f46e8257e5ed78b4dff21a905d3cf7c54933a6ff1ae458ae2d73126dfc0d8f56"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "@fps-games/plugin-markers",
|
|
96
|
-
"version": "0.2.0-beta.
|
|
97
|
-
"distHash": "
|
|
96
|
+
"version": "0.2.0-beta.4",
|
|
97
|
+
"distHash": "c8842db3cb39e90e96273c8e86699c046747b8244fe1bbe55132a3e23e20e37e"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"name": "@fps-games/plugin-materials",
|
|
101
|
-
"version": "0.2.0-beta.
|
|
102
|
-
"distHash": "
|
|
101
|
+
"version": "0.2.0-beta.4",
|
|
102
|
+
"distHash": "82203101b8cf31345e3cf70ffcc521b1ab3de7bdb94ef2750a7268e73511b8c3"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
105
105
|
"name": "@fps-games/plugin-rendering",
|
|
106
|
-
"version": "0.2.0-beta.
|
|
107
|
-
"distHash": "
|
|
106
|
+
"version": "0.2.0-beta.4",
|
|
107
|
+
"distHash": "28de2f9c65651328eb1d7e25eddb58cebed8619be94e675868a2ef62103464f8"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"name": "@fps-games/plugin-scene",
|
|
111
|
-
"version": "0.2.0-beta.
|
|
112
|
-
"distHash": "
|
|
111
|
+
"version": "0.2.0-beta.4",
|
|
112
|
+
"distHash": "b075093cfc667c696fc875edf25bc937d058f349e83c8fb751bf635529155ce8"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"name": "@fps-games/plugin-shadows",
|
|
116
|
-
"version": "0.2.0-beta.
|
|
117
|
-
"distHash": "
|
|
116
|
+
"version": "0.2.0-beta.4",
|
|
117
|
+
"distHash": "02b20ab2e06a7454f0fc9ba0e006c08b0532145e2dc9f8f4fb5fd1c5d5f167e3"
|
|
118
118
|
}
|
|
119
119
|
]
|
|
120
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-editor-agent-actions.d.ts","sourceRoot":"","sources":["../src/local-editor-agent-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AAiBpC,OAAO,KAAK,EAEV,oDAAoD,EACrD,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAEnF,MAAM,WAAW,yCAAyC,CAAC,SAAS;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,cAAc,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,4CAA4C,CAAC,SAAS;IACrE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,2CAA2C,CAAC,SAAS,CACpE,SAAQ,4CAA4C,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,kBAAkB,CAAC;CACtC;AAED,MAAM,WAAW,sCAAsC,CAAC,SAAS;IAC/D,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,iBAAiB,CAAC,QAAQ,EAAE,SAAS,GAAG,iCAAiC,EAAE,CAAC;IAC5E,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/E,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAChE,oBAAoB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,2BAA2B,EAAE,CAAC;IAC1E,sBAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,6BAA6B,EAAE,CAAC;IAC9E,mBAAmB,CAAC,CAAC,KAAK,EAAE,yCAAyC,CAAC,SAAS,CAAC,GAAG,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;IAClI,sBAAsB,CAAC,CAAC,KAAK,EAAE,4CAA4C,CAAC,SAAS,CAAC,GAAG,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;IACxI,qBAAqB,CAAC,CAAC,KAAK,EAAE,2CAA2C,CAAC,SAAS,CAAC,GAAG,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;IACtI,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,4BAA4B;;;;;;CAM/B,CAAC;
|
|
1
|
+
{"version":3,"file":"local-editor-agent-actions.d.ts","sourceRoot":"","sources":["../src/local-editor-agent-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AAiBpC,OAAO,KAAK,EAEV,oDAAoD,EACrD,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAEnF,MAAM,WAAW,yCAAyC,CAAC,SAAS;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,cAAc,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,4CAA4C,CAAC,SAAS;IACrE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,2CAA2C,CAAC,SAAS,CACpE,SAAQ,4CAA4C,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,kBAAkB,CAAC;CACtC;AAED,MAAM,WAAW,sCAAsC,CAAC,SAAS;IAC/D,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,iBAAiB,CAAC,QAAQ,EAAE,SAAS,GAAG,iCAAiC,EAAE,CAAC;IAC5E,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/E,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAChE,oBAAoB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,2BAA2B,EAAE,CAAC;IAC1E,sBAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,GAAG,6BAA6B,EAAE,CAAC;IAC9E,mBAAmB,CAAC,CAAC,KAAK,EAAE,yCAAyC,CAAC,SAAS,CAAC,GAAG,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;IAClI,sBAAsB,CAAC,CAAC,KAAK,EAAE,4CAA4C,CAAC,SAAS,CAAC,GAAG,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;IACxI,qBAAqB,CAAC,CAAC,KAAK,EAAE,2CAA2C,CAAC,SAAS,CAAC,GAAG,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;IACtI,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,4BAA4B;;;;;;CAM/B,CAAC;AASX,wBAAgB,6CAA6C,CAAC,SAAS,EACrE,OAAO,EAAE,sCAAsC,CAAC,SAAS,CAAC,GACzD,oDAAoD,CAAC,SAAS,CAAC,EAAE,CA8KnE"}
|