@el4cteo/rbx-studio-mcp 0.6.1 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -2
- package/dist/bridge/console.js +182 -0
- package/dist/bridge/console.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/cloudassets.js +233 -0
- package/dist/lib/cloudassets.js.map +1 -0
- package/dist/lib/credentials.js +180 -0
- package/dist/lib/credentials.js.map +1 -0
- package/dist/lib/livedata.js +325 -0
- package/dist/lib/livedata.js.map +1 -0
- package/dist/lib/liveluau.js +83 -0
- package/dist/lib/liveluau.js.map +1 -0
- package/dist/lib/liveops.js +358 -0
- package/dist/lib/liveops.js.map +1 -0
- package/dist/lib/opencloud.js +235 -0
- package/dist/lib/opencloud.js.map +1 -0
- package/dist/tools/anim.js +159 -0
- package/dist/tools/anim.js.map +1 -0
- package/dist/tools/audio.js +96 -0
- package/dist/tools/audio.js.map +1 -0
- package/dist/tools/character.js +95 -5
- package/dist/tools/character.js.map +1 -1
- package/dist/tools/data.js +292 -0
- package/dist/tools/data.js.map +1 -0
- package/dist/tools/device.js +77 -7
- package/dist/tools/device.js.map +1 -1
- package/dist/tools/discover.js +80 -4
- package/dist/tools/discover.js.map +1 -1
- package/dist/tools/exec.js +96 -2
- package/dist/tools/exec.js.map +1 -1
- package/dist/tools/input.js +35 -9
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/perf.js +74 -7
- package/dist/tools/perf.js.map +1 -1
- package/dist/tools/scripts.js +162 -6
- package/dist/tools/scripts.js.map +1 -1
- package/dist/tools/spatial.js +135 -0
- package/dist/tools/spatial.js.map +1 -0
- package/dist/tools/universe.js +177 -0
- package/dist/tools/universe.js.map +1 -0
- package/dist/tools/upload.js +294 -0
- package/dist/tools/upload.js.map +1 -0
- package/dist/tools/world.js +675 -51
- package/dist/tools/world.js.map +1 -1
- package/package.json +2 -2
- package/plugin/src/Commands.luau +31 -7
- package/plugin/src/Config.luau +65 -65
- package/plugin/src/Console.luau +1909 -1843
- package/plugin/src/Emulation.luau +172 -0
- package/plugin/src/Phrase.luau +816 -618
- package/plugin/src/Png.luau +8 -4
- package/plugin/src/Prompt.luau +965 -961
- package/plugin/src/Secret.luau +86 -0
- package/plugin/src/Serialize.luau +440 -8
- package/plugin/src/Undo.luau +94 -6
- package/plugin/src/handlers/Anim.luau +897 -0
- package/plugin/src/handlers/Assets.luau +286 -2
- package/plugin/src/handlers/Audio.luau +411 -0
- package/plugin/src/handlers/Capture.luau +155 -20
- package/plugin/src/handlers/Character.luau +823 -361
- package/plugin/src/handlers/Data.luau +539 -0
- package/plugin/src/handlers/Device.luau +394 -139
- package/plugin/src/handlers/Discover.luau +685 -363
- package/plugin/src/handlers/Geometry.luau +722 -450
- package/plugin/src/handlers/Instances.luau +84 -4
- package/plugin/src/handlers/Perf.luau +227 -0
- package/plugin/src/handlers/Scripts.luau +673 -539
- package/plugin/src/handlers/Session.luau +3 -0
- package/plugin/src/handlers/Spatial.luau +334 -0
- package/plugin/src/handlers/Viewport.luau +268 -0
- package/plugin/src/handlers/World.luau +89 -15
- package/plugin/src/init.server.luau +9 -1
- package/scripts/build-plugin.mjs +20 -0
- package/scripts/check-plugin.mjs +171 -124
package/dist/tools/exec.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { json, table, text } from "../lib/format.js";
|
|
3
|
+
import { ToolError } from "../lib/errors.js";
|
|
4
|
+
import { runLiveLuau } from "../lib/liveluau.js";
|
|
5
|
+
import { requireCredentials, requirePlace, requireUniverse } from "../lib/opencloud.js";
|
|
3
6
|
import { defineTool } from "../lib/tool.js";
|
|
4
7
|
export function registerExecTools(context) {
|
|
5
8
|
const { bridge } = context;
|
|
@@ -33,17 +36,61 @@ export function registerExecTools(context) {
|
|
|
33
36
|
"a zero is indistinguishable from a genuine zero. Read live state off the " +
|
|
34
37
|
"DataModel instead (instances, attributes, properties), or have the game " +
|
|
35
38
|
"print it and read that with `console`. The result warns when a call could " +
|
|
36
|
-
"have hit this
|
|
39
|
+
"have hit this.\n\n" +
|
|
40
|
+
"`target=\"live\"` runs the script on Roblox's servers against the " +
|
|
41
|
+
"PUBLISHED place instead, with no Studio involved. That is how you " +
|
|
42
|
+
"read or repair production: a real player's data store entry, what " +
|
|
43
|
+
"the live game actually holds, a migration over saved data. " +
|
|
44
|
+
"Everything the script prints comes back in `logs`.\n\n" +
|
|
45
|
+
"BE CAREFUL WITH IT. The Studio path has an undo stack and a place " +
|
|
46
|
+
"nobody is playing. This one touches live data and live players, and " +
|
|
47
|
+
"nothing here can put any of it back — so it needs `confirm: true` " +
|
|
48
|
+
"and you should read before you write. Roblox queues it as a task, " +
|
|
49
|
+
"so expect seconds, not milliseconds, and a `state` of COMPLETE or " +
|
|
50
|
+
"FAILED rather than a bare value.",
|
|
37
51
|
inputSchema: {
|
|
38
52
|
source: z
|
|
39
53
|
.string()
|
|
40
54
|
.min(1)
|
|
41
55
|
.describe("Luau to run. In an editor session this has plugin permissions, so " +
|
|
42
56
|
"`game`, `workspace` and plugin-only APIs are all reachable."),
|
|
57
|
+
target: z
|
|
58
|
+
.enum(["studio", "live"])
|
|
59
|
+
.default("studio")
|
|
60
|
+
.describe("'studio' runs in the connected Studio, with plugin " +
|
|
61
|
+
"permissions. 'live' runs on Roblox's servers against the " +
|
|
62
|
+
"published place — production, with no undo."),
|
|
63
|
+
universeId: z.string().optional().describe("live only: which game. Omit to use `cloud universe`."),
|
|
64
|
+
placeId: z.string().optional().describe("live only: which place. Omit to use `cloud place`."),
|
|
65
|
+
timeoutSeconds: z
|
|
66
|
+
.number()
|
|
67
|
+
.int()
|
|
68
|
+
.min(1)
|
|
69
|
+
.max(300)
|
|
70
|
+
.optional()
|
|
71
|
+
.describe("live only: how long the script may run. Defaults to 30."),
|
|
72
|
+
confirm: z
|
|
73
|
+
.boolean()
|
|
74
|
+
.optional()
|
|
75
|
+
.describe("Required for target=\"live\". This runs against the game people " +
|
|
76
|
+
"are playing and nothing here can undo it."),
|
|
43
77
|
studioId: z.string().optional().describe("Target Studio; omit for the active one."),
|
|
44
78
|
},
|
|
45
79
|
destructive: true,
|
|
46
80
|
}, async (args) => {
|
|
81
|
+
if (args.target === "live") {
|
|
82
|
+
if (args.confirm !== true) {
|
|
83
|
+
throw new ToolError("NEEDS_CONFIRM", "This would run against the published game, where people are playing.", "There is no undo and no recording. Read the script once more, " +
|
|
84
|
+
"then pass confirm: true.");
|
|
85
|
+
}
|
|
86
|
+
const credentials = await requireCredentials();
|
|
87
|
+
return json(await runLiveLuau(credentials, {
|
|
88
|
+
universeId: await requireUniverse(args.universeId),
|
|
89
|
+
placeId: await requirePlace(args.placeId),
|
|
90
|
+
source: args.source,
|
|
91
|
+
timeoutSeconds: args.timeoutSeconds ?? 30,
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
47
94
|
const response = await bridge.call("exec.run", { source: args.source }, { studioId: args.studioId, timeoutMs: 60_000 });
|
|
48
95
|
const parts = [];
|
|
49
96
|
if (response.output.length > 0) {
|
|
@@ -96,6 +143,15 @@ export function registerExecTools(context) {
|
|
|
96
143
|
"'what occupies this space', which the data model alone cannot: use it to " +
|
|
97
144
|
"find the ground under a spawn point, or check whether a gap is clear " +
|
|
98
145
|
"before placing something.\n\n" +
|
|
146
|
+
"`ui` audits a whole interface for the faults that are invisible in the " +
|
|
147
|
+
"data model: elements off the side of the screen, elements covering each " +
|
|
148
|
+
"other, zero-size elements, text too small to read, and text that " +
|
|
149
|
+
"overflows its label. A button positioned off a phone screen has a " +
|
|
150
|
+
"perfectly correct Position and Size — nothing about the instance is " +
|
|
151
|
+
"wrong, it is just somewhere nobody can reach.\n\n" +
|
|
152
|
+
"It measures against whatever `device` is currently emulating, so the " +
|
|
153
|
+
"way to use it is twice: once as-is, then `device op=\"set\"` a phone and " +
|
|
154
|
+
"again. Layout is live in edit mode — no playtest needed.\n\n" +
|
|
99
155
|
"`textbounds` measures how big a piece of text actually renders. Point " +
|
|
100
156
|
"it at a TextLabel, TextButton or TextBox with `path` and it reads that " +
|
|
101
157
|
"label's own text, font, size and width and answers whether the text " +
|
|
@@ -104,7 +160,7 @@ export function registerExecTools(context) {
|
|
|
104
160
|
"character counts ignore the font, and font size is not a width.",
|
|
105
161
|
inputSchema: {
|
|
106
162
|
op: z
|
|
107
|
-
.enum(["select", "raycast", "focus", "camera", "textbounds"])
|
|
163
|
+
.enum(["select", "raycast", "focus", "camera", "textbounds", "ui"])
|
|
108
164
|
.describe("'focus' points the camera at something and frames it, 'camera' sets " +
|
|
109
165
|
"it explicitly, 'select' changes the Studio selection, 'textbounds' "
|
|
110
166
|
+ "measures rendered text, 'raycast' " +
|
|
@@ -200,6 +256,44 @@ export function registerExecTools(context) {
|
|
|
200
256
|
const response = await bridge.call("viewport.camera", { position: args.position, lookAt: args.lookAt, fieldOfView: args.fieldOfView }, { studioId: args.studioId });
|
|
201
257
|
return json(response);
|
|
202
258
|
}
|
|
259
|
+
if (args.op === "ui") {
|
|
260
|
+
const audit = await bridge.call("viewport.ui", { path: args.path }, { studioId: args.studioId, timeoutMs: 45_000 });
|
|
261
|
+
const where = `${audit.root} on a ${audit.screen} screen` +
|
|
262
|
+
(audit.device !== undefined ? ` (emulating ${audit.device})` : "");
|
|
263
|
+
if (audit.findings.length === 0) {
|
|
264
|
+
return text(`No problems found — ${audit.checked} visible elements checked, ${where}.` +
|
|
265
|
+
(audit.device === undefined
|
|
266
|
+
? '\n\nThis was the desktop viewport. Run it again after `device op="set"` with a ' +
|
|
267
|
+
"phone — most interface faults only appear on a small screen."
|
|
268
|
+
: ""));
|
|
269
|
+
}
|
|
270
|
+
/*
|
|
271
|
+
* Grouped by issue rather than listed by element. Twenty findings of
|
|
272
|
+
* four kinds is four things to fix; listed flat it reads as twenty, and
|
|
273
|
+
* the shape of the problem ("everything is clipped at the bottom") is
|
|
274
|
+
* lost in the rows.
|
|
275
|
+
*/
|
|
276
|
+
const byIssue = new Map();
|
|
277
|
+
for (const finding of audit.findings) {
|
|
278
|
+
const bucket = byIssue.get(finding.issue) ?? [];
|
|
279
|
+
bucket.push(finding);
|
|
280
|
+
byIssue.set(finding.issue, bucket);
|
|
281
|
+
}
|
|
282
|
+
const blocks = [...byIssue.entries()].map(([issue, rows]) => {
|
|
283
|
+
const lines = rows.map((row) => ` ${row.path} — ${row.detail}`);
|
|
284
|
+
return `${issue.toUpperCase()} (${rows.length})\n${lines.join("\n")}`;
|
|
285
|
+
});
|
|
286
|
+
const notes = [
|
|
287
|
+
`${audit.checked} visible elements checked, ${audit.hidden} hidden skipped, ${where}.`,
|
|
288
|
+
];
|
|
289
|
+
if (audit.device === undefined) {
|
|
290
|
+
notes.push('Run again after `device op="set"` with a phone — this is the desktop layout.');
|
|
291
|
+
}
|
|
292
|
+
if (audit.overlapStopped) {
|
|
293
|
+
notes.push("Overlap checking stopped early; there were too many sibling pairs.");
|
|
294
|
+
}
|
|
295
|
+
return text(`${blocks.join("\n\n")}\n\n${notes.join(" ")}`);
|
|
296
|
+
}
|
|
203
297
|
if (args.op === "textbounds") {
|
|
204
298
|
const measured = await bridge.call("viewport.textbounds", {
|
|
205
299
|
path: args.path,
|
package/dist/tools/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/tools/exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/tools/exec.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/input.js
CHANGED
|
@@ -40,10 +40,29 @@ function landingNote(landed) {
|
|
|
40
40
|
if (dx === 0 && dy === 0) {
|
|
41
41
|
return ` The last click was aimed at (${landed.sent.x}, ${landed.sent.y}) and the client read it there, so screen coordinates are landing exactly.`;
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
/*
|
|
44
|
+
* A purely vertical shift is the topbar inset, and NOT an aiming error.
|
|
45
|
+
*
|
|
46
|
+
* A screenshot includes the topbar; GUI space does not, so the client reads
|
|
47
|
+
* a click the inset lower and that is the same point described twice. The
|
|
48
|
+
* previous message told the caller to add the difference back, which moved
|
|
49
|
+
* every click down by an inset and made it miss. Measured, three times over,
|
|
50
|
+
* on a shop panel: the raw screenshot coordinate (y 316) landed inside a
|
|
51
|
+
* button spanning GUI y 238-284 and the purchase went through, while the
|
|
52
|
+
* "corrected" y 374 hit nothing and reported success anyway.
|
|
53
|
+
*
|
|
54
|
+
* A horizontal term is different: emulated landscape genuinely distorts the
|
|
55
|
+
* map (seen.x fitted 919 - 1.4 * sent.x), and there the correction is real.
|
|
56
|
+
*/
|
|
57
|
+
if (dx === 0) {
|
|
58
|
+
return (` Aimed at (${landed.sent.x}, ${landed.sent.y}), read by the client at (${landed.seen.x}, ${landed.seen.y}) — ` +
|
|
59
|
+
`the same point, ${-dy}px apart because a screenshot counts from the top of the window and the game counts from below the topbar. ` +
|
|
60
|
+
"Screenshot coordinates are what to send, unchanged. The `seen` value is the one to compare against a GuiObject's AbsolutePosition.");
|
|
61
|
+
}
|
|
62
|
+
return (` COORDINATES ARE DISTORTED: aimed at (${landed.sent.x}, ${landed.sent.y}), the client read (${landed.seen.x}, ${landed.seen.y}) — ` +
|
|
63
|
+
`off by (${dx}, ${dy}), and the horizontal term means this is not just the topbar inset. ` +
|
|
64
|
+
"Emulated landscape does this, and there the map is not a translation at all — so treat this as one sample: click, read this field again, " +
|
|
65
|
+
"and correct from the newest one rather than reusing an earlier value.");
|
|
47
66
|
}
|
|
48
67
|
export function registerInputTools(context) {
|
|
49
68
|
const { bridge } = context;
|
|
@@ -76,11 +95,18 @@ export function registerInputTools(context) {
|
|
|
76
95
|
"get an error, not a success — check where things really are with " +
|
|
77
96
|
"`character op=\"state\"`.\n\n" +
|
|
78
97
|
"Mouse coordinates are viewport pixels from the top-left, so pair this " +
|
|
79
|
-
"with `screenshot` to see what is where before clicking it
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
98
|
+
"with `screenshot` to see what is where before clicking it, and send " +
|
|
99
|
+
"what you read off the picture unchanged. The reply's `landed` shows " +
|
|
100
|
+
"the same click in the game's own coordinates, which sit a topbar lower " +
|
|
101
|
+
"— that difference is two ways of describing one point, not an error to " +
|
|
102
|
+
"correct for. Under an emulated device it is a real distortion instead, " +
|
|
103
|
+
"and the reply says so; there, re-read it after each click rather than " +
|
|
104
|
+
"reusing an earlier one.\n\n" +
|
|
105
|
+
"Take the screenshot immediately before clicking. The reply is measured " +
|
|
106
|
+
"against the viewport as it is NOW, and a Studio window that changed " +
|
|
107
|
+
"size since the picture was taken moves everything in it — measured, a " +
|
|
108
|
+
"window that went from 435 to 952 pixels wide between a screenshot and " +
|
|
109
|
+
"a click, where the click reported success and hit nothing.\n\n" +
|
|
84
110
|
"A `text` step types into the FOCUSED TextBox. Click the box in the same " +
|
|
85
111
|
"call, one step before the text, and the focus is taken for you; with no " +
|
|
86
112
|
"box to type into the step is reported as having done nothing rather " +
|
package/dist/tools/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAqB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAS,WAAW,CAAC,MAA4C;IAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,iCAAiC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,4EAA4E,CAAC;IACtJ,CAAC;IACD,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/perf.js
CHANGED
|
@@ -45,9 +45,11 @@ export function registerPerfTools(context) {
|
|
|
45
45
|
"A quiet log is not proof nothing was said. Anything the playtest CLIENT " +
|
|
46
46
|
"printed is never here. Messages Studio itself emits — the ones the " +
|
|
47
47
|
"Output window attributes to \"Studio\" rather than to a script — are " +
|
|
48
|
-
"inconsistent
|
|
49
|
-
"
|
|
50
|
-
"inside
|
|
48
|
+
"inconsistent, and they arrive in the session that RAISED them, which is " +
|
|
49
|
+
"not always the one you are looking at: the warning that a Script with a " +
|
|
50
|
+
"non-legacy RunContext inside a starter container will run multiple times " +
|
|
51
|
+
"shows up in the playtest server's log, where the script actually loads, " +
|
|
52
|
+
"and never in the editor's, where it was created. Do not read silence " +
|
|
51
53
|
"as an all-clear — when a script misbehaves in a way nothing here " +
|
|
52
54
|
"explains, check the Output window yourself, or ask the user what it " +
|
|
53
55
|
"says.",
|
|
@@ -133,21 +135,41 @@ export function registerPerfTools(context) {
|
|
|
133
135
|
"which the data model compiles before any plugin exists. Those report 0 " +
|
|
134
136
|
"lines and are named as unmeasurable rather than counted as dead code.\n\n" +
|
|
135
137
|
"`scene` breaks the place down by what it is actually made of: instances " +
|
|
136
|
-
"by category, triangles and draw calls, and the assets holding script, " +
|
|
138
|
+
"by category, triangles and draw calls FOR WHAT THE CAMERA CAN SEE, and the assets holding script, " +
|
|
137
139
|
"animation and audio memory — each named, so \"2.4GB of memory\" becomes " +
|
|
138
140
|
"\"this animation is 138KB and these are the Animators using it\". It also " +
|
|
139
141
|
"reports UNPARENTED INSTANCES, which is the closest thing here to a leak " +
|
|
140
142
|
"detector: objects still alive with nothing holding them in the tree, " +
|
|
141
143
|
"invisible to `find` and to `tree` because they are in neither.\n\n" +
|
|
144
|
+
"The triangle and draw-call section is the one number here that depends " +
|
|
145
|
+
"on where the camera is pointing, and it moves enormously: the same " +
|
|
146
|
+
"place measured 332 triangles looking at empty sky and 29,060 looking at " +
|
|
147
|
+
"1,800 parts, seconds apart. So it answers \"how heavy is this view\", " +
|
|
148
|
+
"not \"how heavy is this place\" — point the camera first with " +
|
|
149
|
+
"`viewport op=\"focus\"`, and compare two views only if both were framed " +
|
|
150
|
+
"the same way.\n\n" +
|
|
151
|
+
"`audit` is a health check rather than a performance one: it finds every " +
|
|
152
|
+
"reference in the place that points at NOTHING. A Sound whose id was " +
|
|
153
|
+
"deleted or made private plays silence, a Decal shows nothing, an " +
|
|
154
|
+
"Animation does nothing — none of them errors, none warns, and the " +
|
|
155
|
+
"instance looks perfectly healthy because the id is still a string. The " +
|
|
156
|
+
"only other way to find them is to play the game and notice something " +
|
|
157
|
+
"missing. It also reports ids left blank, scripts left Disabled, and " +
|
|
158
|
+
"same-named siblings, which is what makes WaitForChild return the wrong " +
|
|
159
|
+
"one.\n\n" +
|
|
160
|
+
"`audit` fetches the assets to test them, so Studio's Output window will " +
|
|
161
|
+
"show load errors for the dead ones. That is the engine confirming the " +
|
|
162
|
+
"finding, not a fault in the tool.\n\n" +
|
|
142
163
|
"Frame and network figures are only meaningful while something is " +
|
|
143
164
|
"running. Instance counts and memory are useful in edit mode too.",
|
|
144
165
|
inputSchema: {
|
|
145
166
|
op: z
|
|
146
|
-
.enum(["snapshot", "profile", "coverage", "scene"])
|
|
167
|
+
.enum(["snapshot", "profile", "coverage", "scene", "audit"])
|
|
147
168
|
.default("snapshot")
|
|
148
169
|
.describe("'snapshot' reads counters now; 'profile' samples running scripts; " +
|
|
149
170
|
"'coverage' reports which lines have executed; 'scene' breaks the " +
|
|
150
|
-
"place down by what it is made of
|
|
171
|
+
"place down by what it is made of; 'audit' finds broken asset " +
|
|
172
|
+
"references and other silent faults."),
|
|
151
173
|
section: z
|
|
152
174
|
.enum([
|
|
153
175
|
"composition",
|
|
@@ -298,6 +320,40 @@ export function registerPerfTools(context) {
|
|
|
298
320
|
}
|
|
299
321
|
return text(sections.join("\n\n"));
|
|
300
322
|
}
|
|
323
|
+
if (args.op === "audit") {
|
|
324
|
+
const found = await bridge.call("perf.audit", {},
|
|
325
|
+
// Every asset is fetched over the network before it can be judged.
|
|
326
|
+
{ studioId: args.studioId, timeoutMs: 120_000 });
|
|
327
|
+
const blocks = [];
|
|
328
|
+
if (found.dead.length > 0) {
|
|
329
|
+
blocks.push(`DEAD ASSET IDS (${found.deadCount}) — these point at nothing and fail silently\n` +
|
|
330
|
+
found.dead
|
|
331
|
+
.map((row) => ` ${row.path}.${row.property} = ${row.id}`)
|
|
332
|
+
.join("\n"));
|
|
333
|
+
}
|
|
334
|
+
if (found.unset.length > 0) {
|
|
335
|
+
blocks.push(`BLANK IDS (${found.unsetCount})\n` +
|
|
336
|
+
found.unset.slice(0, 20).map((row) => ` ${row.path}.${row.property}`).join("\n") +
|
|
337
|
+
(found.unset.length > 20 ? `\n …and ${found.unset.length - 20} more` : ""));
|
|
338
|
+
}
|
|
339
|
+
if (found.disabledScripts.length > 0) {
|
|
340
|
+
blocks.push(`DISABLED SCRIPTS (${found.disabledScripts.length})\n ` +
|
|
341
|
+
found.disabledScripts.join("\n "));
|
|
342
|
+
}
|
|
343
|
+
if (found.duplicateNames.length > 0) {
|
|
344
|
+
blocks.push(`SAME-NAMED SIBLINGS (${found.duplicateNames.length}) — scripts, remotes or GUI that code looks up by name; WaitForChild picks one at random\n ` +
|
|
345
|
+
found.duplicateNames.join("\n "));
|
|
346
|
+
}
|
|
347
|
+
const tail = `${found.scanned} asset reference(s) found; ${found.checked} fetched and tested.` +
|
|
348
|
+
(found.truncated ? " Stopped at the cap — there are more in this place." : "") +
|
|
349
|
+
(found.incomplete
|
|
350
|
+
? " The fetch did not finish in time, so assets that had not arrived were " +
|
|
351
|
+
"left out rather than called broken — a clean result here is not proof."
|
|
352
|
+
: "");
|
|
353
|
+
return text(blocks.length === 0
|
|
354
|
+
? `Nothing broken found. ${tail}`
|
|
355
|
+
: `${blocks.join("\n\n")}\n\n${tail}`);
|
|
356
|
+
}
|
|
301
357
|
if (args.op === "scene") {
|
|
302
358
|
const response = await bridge.call("perf.scene", { section: args.section }, { studioId: args.studioId, timeoutMs: 45_000 });
|
|
303
359
|
const blocks = [];
|
|
@@ -313,17 +369,28 @@ export function registerPerfTools(context) {
|
|
|
313
369
|
"unparented",
|
|
314
370
|
];
|
|
315
371
|
const ordered = Object.entries(response).sort(([a], [b]) => ORDER.indexOf(a) - ORDER.indexOf(b));
|
|
372
|
+
/*
|
|
373
|
+
* The camera caveat travels with the number, not just in the tool
|
|
374
|
+
* description. A reader who sees "332 triangles" under a heading about
|
|
375
|
+
* what the place is made of has no reason to suspect the camera was
|
|
376
|
+
* facing the sky, and the figure is wrong by two orders of magnitude
|
|
377
|
+
* when it is.
|
|
378
|
+
*/
|
|
379
|
+
const CAMERA_DEPENDENT = new Set(["triangles"]);
|
|
316
380
|
for (const [name, section] of ordered) {
|
|
317
381
|
if (section.error !== undefined) {
|
|
318
382
|
blocks.push(`${name}: unavailable (${section.error})`);
|
|
319
383
|
continue;
|
|
320
384
|
}
|
|
321
385
|
const count = (value, unit) => `${value} ${value === 1 ? unit.replace(/s$/, "") : unit}`;
|
|
322
|
-
const
|
|
386
|
+
const measured = section.totals !== undefined
|
|
323
387
|
? `${name} — ${Object.entries(section.totals)
|
|
324
388
|
.map(([key, value]) => count(value, key.toLowerCase()))
|
|
325
389
|
.join(", ")}`
|
|
326
390
|
: `${name} — ${count(section.total ?? 0, section.unit)}`;
|
|
391
|
+
const heading = CAMERA_DEPENDENT.has(name)
|
|
392
|
+
? `${measured} — for what the camera can currently see, not the whole place; frame it with \`viewport op="focus"\` first`
|
|
393
|
+
: measured;
|
|
327
394
|
if (section.entries.length === 0) {
|
|
328
395
|
// A total with no breakdown is not the same as nothing at all, and
|
|
329
396
|
// saying "(nothing)" under "90006 bytes" contradicts the line above
|
package/dist/tools/perf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../src/tools/perf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../src/tools/perf.ts"],"names":[],"mappings":"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"}
|