@el4cteo/rbx-studio-mcp 0.8.2 → 0.8.3
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/README.md +3 -1
- package/dist/bridge/api.js +2 -2
- package/dist/bridge/api.js.map +1 -1
- package/dist/bridge/failover.js +12 -4
- package/dist/bridge/failover.js.map +1 -1
- package/dist/bridge/harness.js +48 -6
- package/dist/bridge/harness.js.map +1 -1
- package/dist/bridge/remote.js +4 -2
- package/dist/bridge/remote.js.map +1 -1
- package/dist/bridge/rpc.js +43 -5
- package/dist/bridge/rpc.js.map +1 -1
- package/dist/bridge/server.js +26 -1
- package/dist/bridge/server.js.map +1 -1
- package/dist/lib/apidump.js +58 -13
- package/dist/lib/apidump.js.map +1 -1
- package/dist/lib/cloudassets.js +2 -2
- package/dist/lib/cloudassets.js.map +1 -1
- package/dist/lib/png.js +19 -31
- package/dist/lib/png.js.map +1 -1
- package/dist/tools/discover.js +78 -4
- package/dist/tools/discover.js.map +1 -1
- package/dist/tools/instances.js +3 -1
- package/dist/tools/instances.js.map +1 -1
- package/dist/tools/session.js +11 -3
- package/dist/tools/session.js.map +1 -1
- package/package.json +3 -3
- package/plugin/src/Config.luau +1 -1
- package/plugin/src/handlers/Debug.luau +42 -0
- package/plugin/src/handlers/Exec.luau +5 -1
- package/plugin/src/handlers/Spatial.luau +34 -0
- package/plugin/src/handlers/Terrain.luau +10 -0
- package/plugin/src/handlers/Viewport.luau +33 -1
- package/plugin/src/handlers/World.luau +21 -1
- package/plugin/src/init.server.luau +11 -0
- package/scripts/check-plugin.mjs +54 -0
- package/scripts/test-apidump.mjs +170 -0
- package/scripts/test-bridge.mjs +111 -4
- package/scripts/test-live-tools.mjs +382 -0
- package/scripts/test-tools.mjs +44 -0
package/dist/tools/instances.js
CHANGED
|
@@ -258,7 +258,9 @@ export function registerInstanceTools(context) {
|
|
|
258
258
|
// not the agent asking to inspect anything — see discover.ts for
|
|
259
259
|
// why the console needs to be told apart the two.
|
|
260
260
|
{
|
|
261
|
-
|
|
261
|
+
// Each path once: several entries commonly name the same instance,
|
|
262
|
+
// and every duplicate is a resolve and a serialise in Studio.
|
|
263
|
+
paths: [...new Set(args.targets.flatMap((target) => target.paths))],
|
|
262
264
|
includeChildren: false,
|
|
263
265
|
probeOnly: true,
|
|
264
266
|
}, { studioId: args.studioId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/tools/instances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAmB,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAa9D,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KAClE,QAAQ,EAAE;KACV,QAAQ,CACP,2EAA2E;IACzE,2EAA2E;IAC3E,8EAA8E,CACjF,CAAC;AAEJ;;;;GAIG;AACH,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,MAAM;IACN,aAAa;IACb,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;CACD,CAAC;AASX;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,eAAe,CAAC;aACrB,QAAQ,CACP,mEAAmE;YACjE,iEAAiE,CACpE;QACH,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC5C,QAAQ,CAAC,iEAAiE,CAAC;KAC/E,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC;KAClC,QAAQ,EAAE;KACV,QAAQ,CACP,0EAA0E;IACxE,sEAAsE;IACtE,sEAAsE,CACzE,CAAC;AAEJ,MAAM,OAAO,GAAG,CAAC;KACd,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9E,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACnE,CAAC;KACD,QAAQ,EAAE;KACV,QAAQ,CAAC,0CAA0C,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAC9B,SAAiB,EACjB,UAAiE,EACjE,KAAa;IAEb,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1E,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C,8EAA8E;IAC9E,uEAAuE;IACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAiC,EAAE,CAAC;IAElD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAEnD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,sEAAsE;YACtE,cAAc;YACd,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,IAAI,SAAS,CACjB,qBAAqB,EACrB,GAAG,SAAS,IAAI,IAAI,kBAAkB,mBAAmB,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,EACpF,oEAAoE,CACrE,CAAC;YACJ,CAAC;YACD,yEAAyE;YACzE,6DAA6D;YAC7D,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,IAAI,SAAS,CACjB,kBAAkB,EAClB,GAAG,SAAS,qBAAqB,IAAI,MAAM,KAAK,IAAI,EACpD,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC5C,CAAC,CAAC,sDAAsD,SAAS,UAAU;oBACzE,iBAAiB,CACtB,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB;IAC9C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAC7B,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,eAAe,EACf,IAAI,SAAS,0BAA0B,EACvC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAaD,mDAAmD;AACnD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IACjF,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,4EAA4E,CAAC;IACzF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClE,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,OAAO;CACd,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,UAAU,GAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACpD,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAChE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CACP,0EAA0E;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,8DAA8D,CACjE;CACJ,CAAC,CAAC;AAEH,mEAAmE;AACnE,SAAS,eAAe,CAAC,SAAkB;IACzC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;SAC9B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACxE,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,IAAI,SAAS,CACjB,YAAY,EACZ,YAAY,KAAK,KAAK,KAAK,EAAE,OAAO,IAAI,SAAS,GAAG,EACpD,4EAA4E;QAC1E,4BAA4B,CAC/B,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,KAAa;IAC3D,MAAM,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,MAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;QAC3E,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACrB,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACjC,cAAc,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,SAAS,aAAa,KAAK,GAAG,CAAC,CACzE,CACF;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,QAA0B;IAC1C,OAAO,QAAQ,CAAC,QAAQ;QACtB,CAAC,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,GAAG;QACzC,CAAC,CAAC,8EAA8E,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAoB;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,UAAU,CACR,OAAO,EACP;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,sEAAsE;YACtE,qCAAqC;YACrC,wEAAwE;YACxE,yEAAyE;YACzE,sEAAsE;YACtE,2CAA2C;YAC3C,qEAAqE;YACrE,yEAAyE;YACzE,wCAAwC;YACxC,0EAA0E;YAC1E,kBAAkB;QACpB,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,KAAK,CAAC,UAAU,CAAC;iBACjB,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,oDAAoD,CAAC;YACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACpF;KACF,EACD,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAClD,cAAc,CAAC,IAAI,EAAE,aAAa,KAAK,GAAG,CAAC,CAC5C,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,kBAAkB,EAClB,EAAE,SAAS,EAAE,KAAK,EAAE,EACpB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAC/C,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC,CACF,CAAC;IAEF,UAAU,CACR,OAAO,EACP;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,qEAAqE;YACrE,oBAAoB;YACpB,sEAAsE;YACtE,wEAAwE;YACxE,iDAAiD;YACjD,yEAAyE;YACzE,sEAAsE;YACtE,mBAAmB;YACnB,oEAAoE;YACpE,kEAAkE;QACpE,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC;qBACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CAAC,oEAAoE,CAAC;gBACjF,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,OAAO;aACd,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACpF;QACD,WAAW,EAAE,IAAI;KAClB,EACD,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,uEAAuE;QACvE,oEAAoE;QACpE,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAC3E,CAAC;QAEF,IAAI,OAAO,GAAc,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAG7B,kBAAkB;YAClB,mEAAmE;YACnE,iEAAiE;YACjE,kDAAkD;YAClD;gBACE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;gBACrD,eAAe,EAAE,KAAK;gBACtB,SAAS,EAAE,IAAI;aAChB,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC5B,CAAC;YACF,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CACzE,CAAC;YAEF,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,UAAU;oBAAE,OAAO,MAAM,CAAC;gBAEtC,MAAM,OAAO,GAAG;oBACd,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC9D,CAAC;gBACd,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,SAAS,CACjB,mBAAmB,EACnB,mDAAmD,KAAK,IAAI,EAC5D,mEAAmE;wBACjE,yDAAyD,CAC5D,CAAC;gBACJ,CAAC;gBAED,qEAAqE;gBACrE,qEAAqE;gBACrE,mEAAmE;gBACnE,IAAI,UAAoD,CAAC;gBACzD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;oBAChC,UAAU,GAAG,MAAM,iBAAiB,CAClC,SAAS,EACT,MAAM,CAAC,UAAU,EACjB,WAAW,KAAK,GAAG,CACpB,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC;YACnC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,kBAAkB,EAClB,EAAE,OAAO,EAAE,EACX,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAC/C,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE;YAC7D,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,UAAU,CACR,OAAO,EACP;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,0EAA0E;YAC1E,0EAA0E;YAC1E,wEAAwE;YACxE,yBAAyB;YACzB,0EAA0E;YAC1E,2EAA2E;YAC3E,iEAAiE;QACnE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,oDAAoD,CAAC;YACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACpF;QACD,WAAW,EAAE,IAAI;KAClB,EACD,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,kBAAkB,EAClB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAC/C,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE;YACjE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,UAAU,CACR,OAAO,EACP;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,yEAAyE;YACzE,WAAW;YACX,yEAAyE;YACzE,yDAAyD;YACzD,sEAAsE;YACtE,qEAAqE;YACrE,gBAAgB;QAClB,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBACvD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAC7C,IAAI,EAAE,CAAC;qBACJ,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;qBACvB,OAAO,CAAC,MAAM,CAAC;qBACf,QAAQ,CAAC,8DAA8D,CAAC;gBAC3E,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,wDAAwD,CAAC;aACtE,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACpF;QACD,WAAW,EAAE,IAAI;KAClB,EACD,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,gBAAgB,EAChB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAC/C,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE;YAC5D,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/tools/instances.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/session.js
CHANGED
|
@@ -57,11 +57,19 @@ export function registerSessionTools(context) {
|
|
|
57
57
|
},
|
|
58
58
|
readOnly: true,
|
|
59
59
|
}, async ({ studioId }) => {
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
// The two reads do not depend on each other, and through a proxying
|
|
61
|
+
// instance each is an HTTP round trip -- so the tool everyone is told to
|
|
62
|
+
// call first paid for both in series.
|
|
63
|
+
const [status, view] = await Promise.all([
|
|
64
|
+
bridge.call("studio.status", {}, { studioId }),
|
|
65
|
+
bridge.sessions(),
|
|
66
|
+
]);
|
|
62
67
|
const targetId = studioId ?? view.activeId;
|
|
68
|
+
// Remembered for later listings, not needed for this answer, so it is not
|
|
69
|
+
// waited for. Best effort on every implementation; the catch is only there
|
|
70
|
+
// so a failure cannot surface as an unhandled rejection.
|
|
63
71
|
if (targetId)
|
|
64
|
-
|
|
72
|
+
void bridge.notePlaceName(targetId, status.placeName, status.context).catch(() => undefined);
|
|
65
73
|
// A stale plugin answers with older handlers and no other symptom, so the
|
|
66
74
|
// warning rides along with the one call agents are told to make first —
|
|
67
75
|
// in full the first time, as a one-line tag on every call after that.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAsB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AA+B9D;;;;;;;;;;GAUG;AACH,SAAS,WAAW,CAAC,QAAyB,EAAE,MAAqB;IACnE,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE9D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CACL,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,mBAAmB,CACpB,CAAC;IACJ,CAAC;IACD,OAAO,CACL,4EAA4E;QAC5E,oCAAoC,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,UAAU,CACR,OAAO,EACP;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,uEAAuE;YACvE,wEAAwE;YACxE,oEAAoE;YACpE,2EAA2E;YAC3E,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,2EAA2E;YAC3E,4EAA4E;YAC5E,oEAAoE;YACpE,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,UAAU;YACV,2EAA2E;YAC3E,mDAAmD;QACrD,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,gEAAgE;gBAC9D,yCAAyC,CAC5C;SACJ;QACD,QAAQ,EAAE,IAAI;KACf,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAuB,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAe,eAAe,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@el4cteo/rbx-studio-mcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"description": "MCP server for Roblox Studio. 34 tools, push-based SSE bridge, editor-safe script edits, one-step undo.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"build:plugin": "node scripts/check-plugin.mjs && node scripts/build-plugin.mjs",
|
|
32
32
|
"sourcemap": "node scripts/sourcemap.mjs",
|
|
33
33
|
"test:live": "node scripts/test-live.mjs",
|
|
34
|
-
"test": "node scripts/test-plugin.mjs && node scripts/test-transport.mjs && node scripts/test-server.mjs && node scripts/test-bridge.mjs && node scripts/test-console.mjs && node scripts/test-failover.mjs && node scripts/test-tools.mjs",
|
|
34
|
+
"test": "node scripts/test-plugin.mjs && node scripts/test-transport.mjs && node scripts/test-server.mjs && node scripts/test-bridge.mjs && node scripts/test-console.mjs && node scripts/test-failover.mjs && node scripts/test-tools.mjs && node scripts/test-apidump.mjs",
|
|
35
35
|
"build:all": "npm run build && npm run build:plugin",
|
|
36
36
|
"install:plugin": "node scripts/install-plugin.mjs",
|
|
37
37
|
"check:plugin": "node scripts/check-plugin.mjs",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"ai-agent"
|
|
54
54
|
],
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
56
|
+
"@modelcontextprotocol/sdk": "^1.31.0",
|
|
57
57
|
"zod": "^4.6.5"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
package/plugin/src/Config.luau
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
local Config = {}
|
|
11
11
|
|
|
12
|
-
Config.PLUGIN_VERSION = "0.8.
|
|
12
|
+
Config.PLUGIN_VERSION = "0.8.3"
|
|
13
13
|
|
|
14
14
|
-- Fingerprint of plugin/src, stamped in by scripts/build-plugin.mjs. The server
|
|
15
15
|
-- computes the same hash from its own copy of the sources and compares, so a
|
|
@@ -69,6 +69,8 @@ local Dispatch = require(script.Parent.Parent.Dispatch)
|
|
|
69
69
|
local Paths = require(script.Parent.Parent.Paths)
|
|
70
70
|
local ClientRelay = require(script.Parent.Parent.ClientRelay)
|
|
71
71
|
local RemoteTrace = require(script.Parent.Parent.RemoteTrace)
|
|
72
|
+
local ScriptEdit = require(script.Parent.Parent.ScriptEdit)
|
|
73
|
+
local TextEdit = require(script.Parent.Parent.TextEdit)
|
|
72
74
|
|
|
73
75
|
-- Snapshots are far heavier than log lines: each carries a stack and its
|
|
74
76
|
-- variables. A tight cap keeps a breakpoint inside a loop from exhausting memory
|
|
@@ -288,6 +290,9 @@ function Debug.set(params: { [string]: any }): { [string]: any }
|
|
|
288
290
|
|
|
289
291
|
local added: { { [string]: any } } = {}
|
|
290
292
|
local failed: { { [string]: any } } = {}
|
|
293
|
+
-- How many of `failed` were lines the script does not have, as opposed to
|
|
294
|
+
-- refusals from the debugger itself. See below.
|
|
295
|
+
local outside = 0
|
|
291
296
|
|
|
292
297
|
for _, item in requested :: { { [string]: any } } do
|
|
293
298
|
local target = Paths.resolve(item.path)
|
|
@@ -298,6 +303,31 @@ function Debug.set(params: { [string]: any }): { [string]: any }
|
|
|
298
303
|
)
|
|
299
304
|
end
|
|
300
305
|
|
|
306
|
+
--[[
|
|
307
|
+
A line the script does not have is knowable here, so it is refused here.
|
|
308
|
+
|
|
309
|
+
It used to go to `AddBreakpoint` like any other, which refuses it with
|
|
310
|
+
nothing to say -- and the refusal below then blamed the "Debugger Luau
|
|
311
|
+
API" beta, so a mistyped line number sent people off to change a Studio
|
|
312
|
+
setting that was already on.
|
|
313
|
+
]]
|
|
314
|
+
local wanted = tonumber(item.line)
|
|
315
|
+
local lineCount = #TextEdit.toLines(ScriptEdit.read(target :: LuaSourceContainer))
|
|
316
|
+
if wanted == nil or wanted < 1 or wanted > lineCount then
|
|
317
|
+
outside += 1
|
|
318
|
+
table.insert(failed, {
|
|
319
|
+
path = item.path,
|
|
320
|
+
line = wanted,
|
|
321
|
+
error = string.format(
|
|
322
|
+
"the script has %d line%s, so line %s does not exist",
|
|
323
|
+
lineCount,
|
|
324
|
+
if lineCount == 1 then "" else "s",
|
|
325
|
+
tostring(item.line)
|
|
326
|
+
),
|
|
327
|
+
})
|
|
328
|
+
continue
|
|
329
|
+
end
|
|
330
|
+
|
|
301
331
|
--[[
|
|
302
332
|
Capitalised keys, from Roblox's example -- `Line`, `Condition`,
|
|
303
333
|
`LogMessage`, `ContinueExecution`. Lowercase `line` was rejected.
|
|
@@ -372,6 +402,18 @@ function Debug.set(params: { [string]: any }): { [string]: any }
|
|
|
372
402
|
a user's script just to answer a status question. So the hint says what
|
|
373
403
|
to check first and what else it could be, and does not claim to know.
|
|
374
404
|
]]
|
|
405
|
+
if #added == 0 and outside > 0 and outside == #failed then
|
|
406
|
+
local reasons: { string } = {}
|
|
407
|
+
for _, entry in failed do
|
|
408
|
+
table.insert(reasons, string.format("%s: %s", tostring(entry.path), tostring(entry.error)))
|
|
409
|
+
end
|
|
410
|
+
Dispatch.fail(
|
|
411
|
+
"BAD_LINE",
|
|
412
|
+
string.format("No breakpoint was set: %s.", table.concat(reasons, "; ")),
|
|
413
|
+
"Read the script with `script_read` for its line numbers -- they shift after every edit."
|
|
414
|
+
)
|
|
415
|
+
end
|
|
416
|
+
|
|
375
417
|
if #added == 0 and #failed > 0 then
|
|
376
418
|
Dispatch.fail(
|
|
377
419
|
"NO_BREAKPOINTS_SET",
|
|
@@ -160,7 +160,11 @@ end)
|
|
|
160
160
|
report:FireServer(if ok then result else { ok = false, error = tostring(result), output = {}, milliseconds = 0 })
|
|
161
161
|
]==], { Timeout = timeout }, timeout + 5, function(relay)
|
|
162
162
|
-- These modules are required ONLY by the LocalScript, sharing the game's client VM.
|
|
163
|
-
|
|
163
|
+
-- Everything ExecRuntime requires has to be listed too: the plugin's own module
|
|
164
|
+
-- tree does not exist in the client, so `script.Parent.LogBuffer` finds only
|
|
165
|
+
-- what is cloned beside it. Leaving LogBuffer out made every client run fail
|
|
166
|
+
-- with "Requested module experienced an error while loading".
|
|
167
|
+
for _, name in { "ExecRuntime", "LogBuffer", "Serialize", "Paths", "Dispatch" } do
|
|
164
168
|
local copy = script.Parent.Parent[name]:Clone()
|
|
165
169
|
copy.Parent = relay
|
|
166
170
|
end
|
|
@@ -191,6 +191,24 @@ function Spatial.cast(params: { [string]: any }): { [string]: any }
|
|
|
191
191
|
end
|
|
192
192
|
local distance = tonumber(params.distance) or 100
|
|
193
193
|
direction = towards.Unit * distance
|
|
194
|
+
--[[
|
|
195
|
+
Checked below, once `direction` is settled: a zero `direction` has a NaN
|
|
196
|
+
`Unit`, so it only shows up as a NaN length by the time it gets there.
|
|
197
|
+
]]
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
--[[
|
|
201
|
+
A cast with no length is not a cast. `to` equal to `from`, a zero `direction`
|
|
202
|
+
(whose `Unit` is NaN) or a zero `distance` all end up here, and every shape
|
|
203
|
+
then "misses" -- reported as a clear line of sight, which is the opposite of
|
|
204
|
+
"nothing was checked".
|
|
205
|
+
]]
|
|
206
|
+
if direction.Magnitude == 0 or direction.Magnitude ~= direction.Magnitude then
|
|
207
|
+
Dispatch.fail(
|
|
208
|
+
"BAD_PARAMS",
|
|
209
|
+
"The cast has no length, so nothing was checked.",
|
|
210
|
+
"`to` is the same point as `from`, or `direction` or `distance` is zero. Give it somewhere to go."
|
|
211
|
+
)
|
|
194
212
|
end
|
|
195
213
|
|
|
196
214
|
local query = buildParams(params)
|
|
@@ -259,11 +277,27 @@ function Spatial.overlap(params: { [string]: any }): { [string]: any }
|
|
|
259
277
|
if region == "box" then
|
|
260
278
|
local centre = vector(params.at, "at")
|
|
261
279
|
local size = optionalVector(params.size, "size") or Vector3.new(4, 4, 4)
|
|
280
|
+
-- A box with no volume overlaps nothing by construction, which then reads
|
|
281
|
+
-- as "that space is clear" -- an answer to a question nobody asked.
|
|
282
|
+
if size.X <= 0 or size.Y <= 0 or size.Z <= 0 then
|
|
283
|
+
Dispatch.fail(
|
|
284
|
+
"BAD_PARAMS",
|
|
285
|
+
string.format("`size` is %s, which has no volume.", tostring(size)),
|
|
286
|
+
"Every side has to be greater than zero."
|
|
287
|
+
)
|
|
288
|
+
end
|
|
262
289
|
found = world:GetPartBoundsInBox(CFrame.new(centre), size, overlap)
|
|
263
290
|
about.at, about.size = Serialize.value(centre), Serialize.value(size)
|
|
264
291
|
elseif region == "radius" then
|
|
265
292
|
local centre = vector(params.at, "at")
|
|
266
293
|
local radius = tonumber(params.radius) or 4
|
|
294
|
+
if radius <= 0 then
|
|
295
|
+
Dispatch.fail(
|
|
296
|
+
"BAD_PARAMS",
|
|
297
|
+
string.format("`radius` is %s, which has no volume.", tostring(radius)),
|
|
298
|
+
"Give a radius greater than zero."
|
|
299
|
+
)
|
|
300
|
+
end
|
|
267
301
|
found = world:GetPartBoundsInRadius(centre, radius, overlap)
|
|
268
302
|
about.at, about.radius = Serialize.value(centre), radius
|
|
269
303
|
elseif region == "part" then
|
|
@@ -130,6 +130,16 @@ end
|
|
|
130
130
|
something smaller.
|
|
131
131
|
]]
|
|
132
132
|
local function guard(size: Vector3, what: string)
|
|
133
|
+
-- An empty extent is not a small fill, it is no fill: the engine raised
|
|
134
|
+
-- "Extents cannot be empty" from inside the recording, and that came back as
|
|
135
|
+
-- an unstructured HANDLER_ERROR with no hint which side was zero.
|
|
136
|
+
if size.X <= 0 or size.Y <= 0 or size.Z <= 0 then
|
|
137
|
+
Dispatch.fail(
|
|
138
|
+
"BAD_PARAMS",
|
|
139
|
+
string.format("%s has a size of %s, which is empty.", what, tostring(size)),
|
|
140
|
+
"Every side of the size has to be greater than zero."
|
|
141
|
+
)
|
|
142
|
+
end
|
|
133
143
|
local voxels = math.ceil(size.X / RESOLUTION)
|
|
134
144
|
* math.ceil(size.Y / RESOLUTION)
|
|
135
145
|
* math.ceil(size.Z / RESOLUTION)
|
|
@@ -67,6 +67,20 @@ function Viewport.raycast(params: { [string]: any }): { [string]: any }
|
|
|
67
67
|
local direction = toVector(params.direction, "direction")
|
|
68
68
|
local length = tonumber(params.maxDistance) or DEFAULT_RAY_LENGTH
|
|
69
69
|
|
|
70
|
+
--[[
|
|
71
|
+
A zero direction has no `Unit` -- it is NaN -- and a ray along NaN hits
|
|
72
|
+
nothing, which the reply then reported as "nothing within 1000 studs". That
|
|
73
|
+
is a confident answer about empty space to a question that was never asked,
|
|
74
|
+
so the input is refused instead.
|
|
75
|
+
]]
|
|
76
|
+
if direction.Magnitude == 0 then
|
|
77
|
+
Dispatch.fail(
|
|
78
|
+
"BAD_PARAMS",
|
|
79
|
+
"`direction` cannot be zero: a ray needs a way to point.",
|
|
80
|
+
'Give a direction such as "0, -1, 0" for straight down.'
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
|
|
70
84
|
local filter: { Instance } = {}
|
|
71
85
|
for _, path in (params.ignore or {}) :: { string } do
|
|
72
86
|
table.insert(filter, Paths.resolve(path))
|
|
@@ -225,7 +239,17 @@ function Viewport.focus(params: { [string]: any }): { [string]: any }
|
|
|
225
239
|
-- with a flat surface where it would vanish to a line.
|
|
226
240
|
local direction: Vector3
|
|
227
241
|
if typeof(params.from) == "string" and params.from ~= "" then
|
|
228
|
-
|
|
242
|
+
local requested = toVector(params.from, "`from`")
|
|
243
|
+
-- A zero vector has no direction: its `Unit` is NaN, so the eye position was
|
|
244
|
+
-- NaN and the camera was handed a CFrame that is not a place at all.
|
|
245
|
+
if requested.Magnitude == 0 then
|
|
246
|
+
Dispatch.fail(
|
|
247
|
+
"BAD_PARAMS",
|
|
248
|
+
"`from` cannot be zero: it is the direction to view the subject from.",
|
|
249
|
+
'Give a direction such as "0, 1, 0" to look down from above.'
|
|
250
|
+
)
|
|
251
|
+
end
|
|
252
|
+
direction = requested.Unit
|
|
229
253
|
else
|
|
230
254
|
direction = Vector3.new(0.45, 0.35, 1).Unit
|
|
231
255
|
end
|
|
@@ -278,6 +302,14 @@ function Viewport.camera(params: { [string]: any }): { [string]: any }
|
|
|
278
302
|
local target = if params.lookAt ~= nil
|
|
279
303
|
then toVector(params.lookAt, "`lookAt`")
|
|
280
304
|
else eye + view.CFrame.LookVector
|
|
305
|
+
-- Aiming at where the camera already is has no direction to face.
|
|
306
|
+
if (target - eye).Magnitude == 0 then
|
|
307
|
+
Dispatch.fail(
|
|
308
|
+
"BAD_PARAMS",
|
|
309
|
+
"`position` and `lookAt` are the same point, so there is nothing to face.",
|
|
310
|
+
"Move `lookAt` to what the camera should be looking at."
|
|
311
|
+
)
|
|
312
|
+
end
|
|
281
313
|
view.CFrame = CFrame.lookAt(eye, target)
|
|
282
314
|
-- Same reason as focus: without this the rotation survives a frame.
|
|
283
315
|
view.Focus = CFrame.new(target)
|
|
@@ -257,13 +257,33 @@ function World.collision(params: { [string]: any }): { [string]: any }
|
|
|
257
257
|
way to remove it short of `execute_luau`. `UnregisterCollisionGroup`
|
|
258
258
|
has existed the whole time; it was just never wired up.
|
|
259
259
|
]]
|
|
260
|
+
--[[
|
|
261
|
+
The engine unregisters a group that was never registered without a word,
|
|
262
|
+
so a misspelt name answered `removed = true` and removed nothing -- while
|
|
263
|
+
the group the caller meant stayed registered. Said plainly instead, and
|
|
264
|
+
not as an error: removing something already gone is a cleanup that
|
|
265
|
+
worked, and treating it as a failure would break every loop that ends
|
|
266
|
+
by tidying up.
|
|
267
|
+
]]
|
|
268
|
+
local okRegistered, registered = pcall(function()
|
|
269
|
+
return world:IsCollisionGroupRegistered(name)
|
|
270
|
+
end)
|
|
271
|
+
if okRegistered and registered == false then
|
|
272
|
+
return {
|
|
273
|
+
group = name,
|
|
274
|
+
removed = false,
|
|
275
|
+
existed = false,
|
|
276
|
+
world = Paths.of(world),
|
|
277
|
+
note = 'No group by that name is registered, so nothing was removed. Check the spelling with action="list".',
|
|
278
|
+
}
|
|
279
|
+
end
|
|
260
280
|
local ok, err = pcall(function()
|
|
261
281
|
world:UnregisterCollisionGroup(name)
|
|
262
282
|
end)
|
|
263
283
|
if not ok then
|
|
264
284
|
Dispatch.fail("COLLISION_FAILED", string.format("Could not remove %q: %s", name, tostring(err)))
|
|
265
285
|
end
|
|
266
|
-
return { group = name, removed = true, world = Paths.of(world) }
|
|
286
|
+
return { group = name, removed = true, existed = true, world = Paths.of(world) }
|
|
267
287
|
end
|
|
268
288
|
|
|
269
289
|
if action == "collidable" then
|
|
@@ -398,10 +398,21 @@ local function trace(what: string)
|
|
|
398
398
|
end)
|
|
399
399
|
end
|
|
400
400
|
|
|
401
|
+
--[[
|
|
402
|
+
Set the moment the plugin starts to unload.
|
|
403
|
+
|
|
404
|
+
`persistSize` checked a variable of this name that was never declared, so it
|
|
405
|
+
read as nil and the guard never applied. A widget that is being torn down
|
|
406
|
+
reports whatever size it collapses through, and only the minimum-size check
|
|
407
|
+
stood between that and the saved layout.
|
|
408
|
+
]]
|
|
409
|
+
local unloading = false
|
|
410
|
+
|
|
401
411
|
if RunService:IsEdit() then
|
|
402
412
|
trace(string.format("load open=%s", tostring(storedOpen)))
|
|
403
413
|
|
|
404
414
|
plugin.Unloading:Connect(function()
|
|
415
|
+
unloading = true
|
|
405
416
|
trace("plugin.Unloading")
|
|
406
417
|
end)
|
|
407
418
|
widget.Destroying:Connect(function()
|
package/scripts/check-plugin.mjs
CHANGED
|
@@ -136,6 +136,60 @@ const kindless = new Set();
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
/*
|
|
140
|
+
* A module cloned into a client relay has to bring everything it requires.
|
|
141
|
+
*
|
|
142
|
+
* The relay is a LocalScript in the player's client VM, where the plugin's own
|
|
143
|
+
* module tree does not exist, so `require(script.Parent.X)` inside a cloned module
|
|
144
|
+
* finds only what was cloned beside it. ExecRuntime gained a `LogBuffer` require
|
|
145
|
+
* and the list of modules the exec relay clones did not, so every
|
|
146
|
+
* `execute_luau target="client"` failed with "Requested module experienced an
|
|
147
|
+
* error while loading" -- from a client VM nothing offline ever runs, and not
|
|
148
|
+
* noticed until a live playtest. Each clone list is checked here against the
|
|
149
|
+
* `require(script.Parent.X)` calls of the modules it names, transitively.
|
|
150
|
+
*/
|
|
151
|
+
const missingClones = [];
|
|
152
|
+
{
|
|
153
|
+
const modules = new Map(
|
|
154
|
+
files.map((file) => [
|
|
155
|
+
file.replace(/\\/g, "/").replace(/^.*plugin\/src\//, "").replace(/\.luau$/, ""),
|
|
156
|
+
readFileSync(file, "utf8"),
|
|
157
|
+
]),
|
|
158
|
+
);
|
|
159
|
+
const requiresOf = (name) =>
|
|
160
|
+
[...(modules.get(name) ?? "").matchAll(/require\(script\.Parent\.(\w+)\)/g)].map((m) => m[1]);
|
|
161
|
+
|
|
162
|
+
for (const [where, source] of modules) {
|
|
163
|
+
for (const list of source.matchAll(
|
|
164
|
+
/for _, name in \{([^}]*)\} do\s*local copy = script\.Parent\.Parent\[name\]:Clone\(\)/g,
|
|
165
|
+
)) {
|
|
166
|
+
const cloned = new Set([...list[1].matchAll(/"(\w+)"/g)].map((m) => m[1]));
|
|
167
|
+
const needed = new Set();
|
|
168
|
+
const pending = [...cloned];
|
|
169
|
+
while (pending.length > 0) {
|
|
170
|
+
for (const dependency of requiresOf(pending.pop())) {
|
|
171
|
+
if (!needed.has(dependency)) {
|
|
172
|
+
needed.add(dependency);
|
|
173
|
+
pending.push(dependency);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
for (const dependency of needed) {
|
|
178
|
+
if (!cloned.has(dependency)) {
|
|
179
|
+
missingClones.push(`${where}: clones ${[...cloned].join(", ")} but they require ${dependency}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (missingClones.length > 0) {
|
|
186
|
+
failures.push(
|
|
187
|
+
"A client relay clones modules that require others it does not clone, so the " +
|
|
188
|
+
"relay fails to load in the client VM:\n " +
|
|
189
|
+
missingClones.sort().join("\n "),
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
|
|
139
193
|
if (unnamed.length > 0) {
|
|
140
194
|
failures.push(
|
|
141
195
|
"These operations have no entry in Phrase.luau, so the Studio panel shows " +
|