unity-open-mcp 0.9.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/asmdef-discovery.d.ts +35 -0
  2. package/dist/asmdef-discovery.js +171 -0
  3. package/dist/asmdef-discovery.js.map +1 -0
  4. package/dist/batch-spawn.d.ts +1 -0
  5. package/dist/batch-spawn.js +78 -1
  6. package/dist/batch-spawn.js.map +1 -1
  7. package/dist/capabilities/intent-groups.js +42 -0
  8. package/dist/capabilities/intent-groups.js.map +1 -1
  9. package/dist/capabilities/rule-catalog.js +7 -1
  10. package/dist/capabilities/rule-catalog.js.map +1 -1
  11. package/dist/capabilities/tool-groups.js +37 -2
  12. package/dist/capabilities/tool-groups.js.map +1 -1
  13. package/dist/constants.d.ts +21 -1
  14. package/dist/constants.js +21 -1
  15. package/dist/constants.js.map +1 -1
  16. package/dist/event-stream.d.ts +13 -3
  17. package/dist/event-stream.js +77 -12
  18. package/dist/event-stream.js.map +1 -1
  19. package/dist/live-client.d.ts +17 -0
  20. package/dist/live-client.js +122 -5
  21. package/dist/live-client.js.map +1 -1
  22. package/dist/offline/api.js +82 -30
  23. package/dist/offline/api.js.map +1 -1
  24. package/dist/offline/index-builders.d.ts +9 -0
  25. package/dist/offline/index-builders.js +58 -8
  26. package/dist/offline/index-builders.js.map +1 -1
  27. package/dist/offline/parse.js +5 -1
  28. package/dist/offline/parse.js.map +1 -1
  29. package/dist/process-diagnostics.d.ts +100 -19
  30. package/dist/process-diagnostics.js +167 -59
  31. package/dist/process-diagnostics.js.map +1 -1
  32. package/dist/project-settings.d.ts +36 -0
  33. package/dist/project-settings.js +96 -0
  34. package/dist/project-settings.js.map +1 -0
  35. package/dist/running-unity.d.ts +23 -0
  36. package/dist/running-unity.js +60 -0
  37. package/dist/running-unity.js.map +1 -1
  38. package/dist/stale-assembly-cache.d.ts +40 -0
  39. package/dist/stale-assembly-cache.js +76 -0
  40. package/dist/stale-assembly-cache.js.map +1 -0
  41. package/dist/tool-router.d.ts +39 -1
  42. package/dist/tool-router.js +397 -62
  43. package/dist/tool-router.js.map +1 -1
  44. package/dist/tools/capture-inline.js +4 -3
  45. package/dist/tools/capture-inline.js.map +1 -1
  46. package/dist/tools/editor-status.js +7 -2
  47. package/dist/tools/editor-status.js.map +1 -1
  48. package/dist/tools/execute-csharp.js +25 -2
  49. package/dist/tools/execute-csharp.js.map +1 -1
  50. package/dist/tools/index.d.ts +1 -0
  51. package/dist/tools/index.js +34 -0
  52. package/dist/tools/index.js.map +1 -1
  53. package/dist/tools/inputsim-key.d.ts +40 -0
  54. package/dist/tools/inputsim-key.js +72 -0
  55. package/dist/tools/inputsim-key.js.map +1 -0
  56. package/dist/tools/inputsim-pointer.d.ts +40 -0
  57. package/dist/tools/inputsim-pointer.js +121 -0
  58. package/dist/tools/inputsim-pointer.js.map +1 -0
  59. package/dist/tools/inputsim-pointer3d.d.ts +40 -0
  60. package/dist/tools/inputsim-pointer3d.js +55 -0
  61. package/dist/tools/inputsim-pointer3d.js.map +1 -0
  62. package/dist/tools/inputsim-probe.d.ts +40 -0
  63. package/dist/tools/inputsim-probe.js +43 -0
  64. package/dist/tools/inputsim-probe.js.map +1 -0
  65. package/dist/tools/inputsim-step.d.ts +40 -0
  66. package/dist/tools/inputsim-step.js +50 -0
  67. package/dist/tools/inputsim-step.js.map +1 -0
  68. package/dist/tools/inputsim-touch.d.ts +40 -0
  69. package/dist/tools/inputsim-touch.js +83 -0
  70. package/dist/tools/inputsim-touch.js.map +1 -0
  71. package/dist/tools/memory-snapshot-capture.js +11 -5
  72. package/dist/tools/memory-snapshot-capture.js.map +1 -1
  73. package/dist/tools/pull-events.js +18 -10
  74. package/dist/tools/pull-events.js.map +1 -1
  75. package/dist/tools/read-compile-errors.js +10 -2
  76. package/dist/tools/read-compile-errors.js.map +1 -1
  77. package/dist/tools/resource-pressure.js +21 -10
  78. package/dist/tools/resource-pressure.js.map +1 -1
  79. package/dist/tools/screenshot-window.js +18 -12
  80. package/dist/tools/screenshot-window.js.map +1 -1
  81. package/dist/tools/screenshot.js +13 -6
  82. package/dist/tools/screenshot.js.map +1 -1
  83. package/dist/tools/visual-compare.d.ts +40 -0
  84. package/dist/tools/visual-compare.js +98 -0
  85. package/dist/tools/visual-compare.js.map +1 -0
  86. package/dist/unity-log.d.ts +51 -2
  87. package/dist/unity-log.js +152 -5
  88. package/dist/unity-log.js.map +1 -1
  89. package/package.json +1 -1
@@ -1,10 +1,12 @@
1
1
  import { BridgeToolsCache } from "./bridge-tools-cache.js";
2
+ import { StaleAssemblyCache } from "./stale-assembly-cache.js";
3
+ import { detectStaleAssembly } from "./unity-log.js";
2
4
  import { deriveIsError } from "./gate-error.js";
3
5
  import { readFileSync, readdirSync, statSync, unlinkSync } from "node:fs";
4
6
  import { join } from "node:path";
5
7
  import { pollAndDismissDialogs, readDismissConfig, } from "./dialog-dismiss.js";
6
8
  import { readInstanceLock, classifyInstance, lockPath, isPidAlive, statusDir, hasRecentPendingTestRun } from "./instance-discovery.js";
7
- import { bridgeBaseUrl, BRIDGE_DEFAULT_TIMEOUT_MS, PORT_ENV_VAR, PROJECT_PATH_ENV_VAR, } from "./constants.js";
9
+ import { bridgeBaseUrl, BRIDGE_DEFAULT_TIMEOUT_MS, BRIDGE_HOST_SAFE_TIMEOUT_CAP_MS, BRIDGE_MIN_TIMEOUT_MS, PORT_ENV_VAR, PROJECT_PATH_ENV_VAR, } from "./constants.js";
8
10
  import { findUnityForProject } from "./running-unity.js";
9
11
  import { makeErrorResult } from "./results.js";
10
12
  import { checkBridgeCompat, isVersionCheckSuppressed, } from "./compat.js";
@@ -45,6 +47,11 @@ const DIRECT_RESPONSE_TOOLS = new Set([
45
47
  // PNG). The postTool handler unwraps it into an MCP image content block so
46
48
  // the agent receives a viewable image without reading the filesystem.
47
49
  "unity_senses_capture_inline",
50
+ // Visual compare: the 'compare' action returns a diff image as an inlineImage
51
+ // field (base64 PNG) when the diff is non-zero. Same unwrap as capture_inline.
52
+ // The other actions (save / list / delete) carry no inlineImage field, so the
53
+ // unwrap is a no-op for them (the guard requires a non-empty inlineImage).
54
+ "unity_senses_visual_compare",
48
55
  "unity_senses_screenshot_camera",
49
56
  // M20 Plan 1 / T20.1.2 — EditorWindow capture (file path). Read-only.
50
57
  "unity_senses_screenshot_window",
@@ -87,6 +94,19 @@ const COMPILE_RELOAD_ANNOTATION_TOOLS = new Set([
87
94
  function shouldAnnotateCompileVerify(toolName) {
88
95
  return COMPILE_RELOAD_ANNOTATION_TOOLS.has(toolName);
89
96
  }
97
+ // feedback-fable-04-08 §5 — the two reflection/code-execution tools where a
98
+ // stale AppDomain silently produces wrong answers. When the response carries
99
+ // no error AND at least one Assets/**/*.cs source is newer than the newest
100
+ // Library/ScriptAssemblies/*.dll, the snippet ran against the PRE-edit
101
+ // assembly. shapeToolResult attaches a `_staleDomain` annotation (additive —
102
+ // never blocks a successful response) so an agent can re-invoke after a
103
+ // recompile instead of trusting results from code that has not been loaded.
104
+ // Other tools are excluded: a stale-domain warning on gameobject_create
105
+ // (which cannot observe stale code) is pure noise.
106
+ const STALE_DOMAIN_ANNOTATION_TOOLS = new Set([
107
+ "unity_open_mcp_execute_csharp",
108
+ "unity_open_mcp_invoke_method",
109
+ ]);
90
110
  function sleep(ms) {
91
111
  return new Promise((resolve) => setTimeout(resolve, ms));
92
112
  }
@@ -172,6 +192,13 @@ export class LiveClient {
172
192
  * waitForCompile settle) so a reload or compile is observed promptly.
173
193
  */
174
194
  bridgeToolsCache;
195
+ /**
196
+ * feedback-fable-04-08 §5 — short-TTL cache for detectStaleAssembly() used
197
+ * by the `_staleDomain` annotation on execute_csharp / invoke_method.
198
+ * Invalidated alongside bridgeToolsCache on dead-bridge / reload / compile
199
+ * settle so a reload that rebuilt the assembly clears a cached stale signal.
200
+ */
201
+ staleAssemblyCache;
175
202
  dismissEnabled;
176
203
  dismissTimeoutMs;
177
204
  dismissIntervalMs;
@@ -219,6 +246,7 @@ export class LiveClient {
219
246
  this.baseUrl = bridgeBaseUrl(port);
220
247
  this.pingCache = pingCache;
221
248
  this.bridgeToolsCache = new BridgeToolsCache();
249
+ this.staleAssemblyCache = new StaleAssemblyCache();
222
250
  this.authToken = authToken;
223
251
  this.projectPath = projectPath;
224
252
  this.retry = readRetryTunables();
@@ -401,7 +429,16 @@ export class LiveClient {
401
429
  const readyError = await this.ensureReady();
402
430
  if (readyError)
403
431
  return readyError;
404
- const startResult = await this.postTool("unity_senses_run_tests", args, true);
432
+ // feedback N1: the start POST just kicks off the run and returns
433
+ // {status:"started"} immediately; its timeout is NOT the poll budget (that
434
+ // is read directly from args.timeout_ms in pollTestResults). Strip
435
+ // timeout_ms from the start POST so it does not carry the poll budget and
436
+ // trip a misleading "timeout_ms was clamped" note on the early-return
437
+ // paths below (isError / unparseable body / non-started status), where the
438
+ // full poll budget would otherwise have been honored.
439
+ const startArgs = { ...args };
440
+ delete startArgs.timeout_ms;
441
+ const startResult = await this.postTool("unity_senses_run_tests", startArgs, true);
405
442
  if (startResult.isError)
406
443
  return startResult;
407
444
  const text = startResult.content[0]?.type === "text"
@@ -613,7 +650,21 @@ export class LiveClient {
613
650
  * caller's catch runs {@link handlePostFailure}.
614
651
  */
615
652
  async postToolFetch(toolName, args, retryOn503) {
616
- const timeoutMs = typeof args.timeout_ms === "number" ? args.timeout_ms : 60_000;
653
+ const rawTimeout = args.timeout_ms;
654
+ const explicitTimeout = typeof rawTimeout === "number";
655
+ const requestedTimeoutMs = explicitTimeout ? rawTimeout : 60_000;
656
+ // feedback S2 — clamp below a typical MCP host request timeout (~60s) so the
657
+ // bridge returns its structured `timeout` envelope before the host aborts the
658
+ // tools/call with an opaque -32001. The schema `maximum` is client-side
659
+ // validation only; this is the server-side enforcement that catches clients
660
+ // that do not validate. The clamped value is forwarded to the bridge (so its
661
+ // own processing deadline agrees) and used for the fetch deadline below.
662
+ const timeoutMs = Math.min(Math.max(requestedTimeoutMs, BRIDGE_MIN_TIMEOUT_MS), BRIDGE_HOST_SAFE_TIMEOUT_CAP_MS);
663
+ const wasClamped = requestedTimeoutMs > timeoutMs;
664
+ // Forward the clamped value so the bridge times out at the same boundary.
665
+ const forwardedArgs = wasClamped
666
+ ? { ...args, timeout_ms: timeoutMs }
667
+ : args;
617
668
  // Floor the client fetch timeout at the bridge's own default wait + slack
618
669
  // so the client never aborts before the bridge has had a chance to return
619
670
  // its timeout envelope. Without this floor, a small/absent timeout_ms
@@ -625,7 +676,7 @@ export class LiveClient {
625
676
  const res = await this.fetchWithTimeout(`/tools/${toolName}`, {
626
677
  method: "POST",
627
678
  headers: { "Content-Type": "application/json; charset=utf-8" },
628
- body: JSON.stringify(args),
679
+ body: JSON.stringify(forwardedArgs),
629
680
  }, fetchTimeout);
630
681
  if (res.status === 503 && retryOn503) {
631
682
  const compileError = await this.waitForCompile();
@@ -648,7 +699,28 @@ export class LiveClient {
648
699
  },
649
700
  });
650
701
  }
651
- return this.shapeToolResult(toolName, res);
702
+ const result = await this.shapeToolResult(toolName, res);
703
+ // Surface the clamp ONLY when the caller explicitly requested a timeout
704
+ // above the cap (feedback N1). When timeout_ms is absent the server default
705
+ // (60s) is silently clamped to the cap — there is no caller expectation to
706
+ // correct, and noting it on every default call (e.g. the run_tests start
707
+ // POST, which strips timeout_ms) would be noise. The clamped value is still
708
+ // forwarded to the bridge above regardless.
709
+ if (wasClamped && explicitTimeout) {
710
+ const content = Array.isArray(result.content)
711
+ ? [...result.content]
712
+ : [{ type: "text", text: "" }];
713
+ content.push({
714
+ type: "text",
715
+ text: `Note: timeout_ms ${requestedTimeoutMs} was clamped to ${timeoutMs} ms — ` +
716
+ `values above ~${Math.floor(BRIDGE_HOST_SAFE_TIMEOUT_CAP_MS / 1000)}s exceed a typical ` +
717
+ `MCP host request timeout and would be aborted with an opaque transport error ` +
718
+ `before the bridge could return a structured timeout envelope. For long work, ` +
719
+ `split into smaller steps.`,
720
+ });
721
+ return { ...result, content };
722
+ }
723
+ return result;
652
724
  }
653
725
  /**
654
726
  * Step 2 of {@link postTool}: parse the bridge response body and shape it into
@@ -700,6 +772,29 @@ export class LiveClient {
700
772
  catch {
701
773
  parsed = null;
702
774
  }
775
+ // feedback-fable-04-08 §5 — `_staleDomain` annotation. For the two
776
+ // reflection/code-execution tools (execute_csharp, invoke_method) a stale
777
+ // AppDomain silently produces WRONG answers: the snippet runs against the
778
+ // pre-edit assembly while the agent believes the on-disk fix is loaded. The
779
+ // bridge already computes this signal for read_compile_errors
780
+ // (detectStaleAssembly); attach the same check here as an additive field
781
+ // on a SUCCESSFUL (non-error) body. Cached short-TTL so repeated probes in
782
+ // one agent turn reuse one scan; invalidated on dead-bridge / compile
783
+ // settle. Mutating `parsed` before the mutation/direct-body branches below
784
+ // serializes the field into whichever response shape the bridge emitted.
785
+ if (parsed != null &&
786
+ STALE_DOMAIN_ANNOTATION_TOOLS.has(toolName) &&
787
+ parsed.error == null &&
788
+ parsed._staleDomain === undefined) {
789
+ const staleAsm = this.resolveStaleAssembly();
790
+ if (staleAsm != null && staleAsm.staleAssembly) {
791
+ parsed._staleDomain = {
792
+ hint: staleAsm.hint,
793
+ newerSources: staleAsm.newerSources,
794
+ dllMtimeMs: staleAsm.dllMtimeMs,
795
+ };
796
+ }
797
+ }
703
798
  // capture_inline returns an `inlineImage` base64 PNG field. Unwrap it into
704
799
  // an MCP image content block alongside a text metadata block
705
800
  // ([{type: image}, {type: text}]). The image carries the same viewable
@@ -1026,6 +1121,7 @@ export class LiveClient {
1026
1121
  // ensureReady already probes fresh after a transient failure, so the two
1027
1122
  // caches stay consistent.)
1028
1123
  this.bridgeToolsCache.invalidate();
1124
+ this.staleAssemblyCache.invalidate();
1029
1125
  // Dead bridge assembly — not recoverable by waiting. Fail fast so the
1030
1126
  // agent can fetch compile errors instead of hanging on /ping.
1031
1127
  const deadBridge = this.deadBridgeResult();
@@ -1320,7 +1416,11 @@ export class LiveClient {
1320
1416
  // bridge recompiled, so its tool inventory likely changed (new /
1321
1417
  // removed scripts, asmdef edits, package_add/remove, …). Drop the
1322
1418
  // cache so the next listBridgeTools refetches the fresh set.
1419
+ // feedback-fable-04-08 §5 — a rebuild also clears the staleness
1420
+ // signal the _staleDomain annotation caches; drop it so the next
1421
+ // execute_csharp / invoke_method re-scans against fresh DLLs.
1323
1422
  this.bridgeToolsCache.invalidate();
1423
+ this.staleAssemblyCache.invalidate();
1324
1424
  return null;
1325
1425
  }
1326
1426
  }
@@ -1506,6 +1606,23 @@ export class LiveClient {
1506
1606
  }
1507
1607
  return newest;
1508
1608
  }
1609
+ /**
1610
+ * feedback-fable-04-08 §5 — resolve the stale-assembly signal for the
1611
+ * `_staleDomain` annotation, backed by a short-TTL cache so repeated
1612
+ * execute_csharp / invoke_method probes in one agent turn reuse one scan.
1613
+ * Returns the cached result within the TTL, otherwise runs
1614
+ * {@link detectStaleAssembly} against this project's `Assets/` + `Library/
1615
+ * ScriptAssemblies`, records it, and returns it. Never throws — any fs error
1616
+ * inside detectStaleAssembly degrades to a non-stale result.
1617
+ */
1618
+ resolveStaleAssembly() {
1619
+ const cached = this.staleAssemblyCache.get();
1620
+ if (cached !== null)
1621
+ return cached;
1622
+ const fresh = detectStaleAssembly(this.projectPath);
1623
+ this.staleAssemblyCache.record(fresh);
1624
+ return fresh;
1625
+ }
1509
1626
  /**
1510
1627
  * Apply the compile-verify annotation to a successful compile-reload result.
1511
1628
  * Reads the after-snapshot, runs the pure detector, and — when flagged —
@@ -1 +1 @@
1
- {"version":3,"file":"live-client.js","sourceRoot":"","sources":["../src/live-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-client.js","sourceRoot":"","sources":["../src/live-client.ts"],"names":[],"mappings":"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"}
@@ -596,6 +596,22 @@ export async function dependenciesOffline(opts) {
596
596
  const reverseEdgeGraph = includeImpact
597
597
  ? await buildReverseEdgeGraph(opts.projectRoot)
598
598
  : null;
599
+ // If the target was resolved by GUID only and its .meta lookup failed to
600
+ // produce a path, try once more against the reverse-edge graph's path→guid
601
+ // index (the graph builder reads every asset's .meta once). This catches
602
+ // the realistic case: the caller passed `guid` without `asset_path`, the
603
+ // target's .meta DOES exist in the project, but the earlier
604
+ // buildGUIDIndex resolution raced or missed it. Without a resolved path,
605
+ // the self-reference filter (`edge.assetPath === targetPath`) is a no-op
606
+ // and the queried asset appears in its own reverse-deps / impact closure.
607
+ if (targetPath === "" && reverseEdgeGraph) {
608
+ for (const [path, ownGuid] of reverseEdgeGraph.pathToGuid) {
609
+ if (ownGuid === targetGuid) {
610
+ targetPath = path;
611
+ break;
612
+ }
613
+ }
614
+ }
599
615
  const reverseEdges = reverseEdgeGraph
600
616
  ? findReferencesFromGraph(reverseEdgeGraph.graph, targetGuid, targetPath)
601
617
  : (await findReferencesOffline({
@@ -684,23 +700,31 @@ function collectForwardEdges(parsed) {
684
700
  // on obj.type and on whether the line declares an m_Script / m_SourcePrefab
685
701
  // / generic guid: field, accumulating into three per-kind buffers that are
686
702
  // concatenated at the end. The concatenation order (prefab_source, then
687
- // script, then pptr) preserves the exact edge ordering the previous
688
- // three-pass implementation produced, so the forwardDependencies output
689
- // stays byte-identical. The shared `seen` set dedupes within each kind
690
- // (a guid can appear as both a prefab_source and a pptr edge — different
691
- // seen keys, same as before).
703
+ // script, then pptr) preserves the edge ordering of the previous three-pass
704
+ // implementation.
705
+ //
706
+ // Dedup note: the `seen` set is checked with `.has()` BEFORE `.add()`.
707
+ // Earlier code wrote `if (seen.add(key))` / `if (!seen.add(key)) continue`,
708
+ // but `Set.prototype.add` returns the Set itself (always truthy), so those
709
+ // forms never deduped — a GUID repeated on N lines yielded N edges. A
710
+ // PrefabInstance's base-prefab GUID appears on the m_SourcePrefab line AND
711
+ // on every m_Modifications target line (often 10+), so one logical base
712
+ // reference inflated to that many duplicate pptr edges.
692
713
  const prefabEdges = [];
693
714
  const scriptEdges = [];
694
715
  const pptrEdges = [];
695
716
  const seen = new Set();
717
+ // GUIDs already captured as a prefab_source edge. These are skipped in the
718
+ // pptr line scan so a variant's base prefab is reported once (as
719
+ // prefab_source), not again as a pptr edge from each m_Modifications target.
720
+ const prefabSourceGuids = new Set();
696
721
  for (const obj of parsed.objects) {
697
722
  // 1. PrefabInstance.m_SourcePrefab — the base-prefab edge of a variant.
698
- // Read once via readGUIDField (the previous pass-1 scanner); the line
699
- // scan below still picks up target: GUIDs inside m_Modifications as
700
- // pptr edges, so variant overrides still count.
701
723
  if (obj.type === "PrefabInstance") {
702
724
  const sourceGuid = readGUIDField(obj.lines, "m_SourcePrefab");
703
- if (sourceGuid !== "" && seen.add(`prefab:${sourceGuid}`)) {
725
+ if (sourceGuid !== "" && !seen.has(`prefab:${sourceGuid}`)) {
726
+ seen.add(`prefab:${sourceGuid}`);
727
+ prefabSourceGuids.add(sourceGuid);
704
728
  prefabEdges.push({ guid: sourceGuid, assetPath: "", kind: "prefab_source", resolved: false });
705
729
  }
706
730
  }
@@ -708,26 +732,28 @@ function collectForwardEdges(parsed) {
708
732
  // parsed object already carries scriptGUID (extracted during
709
733
  // finishObject), so no line re-scan is needed for this kind.
710
734
  if (obj.type === "MonoBehaviour" && obj.scriptGUID !== "") {
711
- if (seen.add(`script:${obj.scriptGUID}`)) {
735
+ if (!seen.has(`script:${obj.scriptGUID}`)) {
736
+ seen.add(`script:${obj.scriptGUID}`);
712
737
  scriptEdges.push({ guid: obj.scriptGUID, assetPath: "", kind: "script", resolved: false });
713
738
  }
714
739
  }
715
740
  // 3. Every other guid: field on every object — material refs, asset refs,
716
- // animation clips, etc. m_Script lines are excluded (handled above);
717
- // the m_SourcePrefab field's GUID is captured as a prefab_source edge
718
- // in branch 1, but a `guid:` token appearing on the m_SourcePrefab
719
- // line would ALSO match here — the original code had the same
720
- // overlap, deduped via the per-kind seen key (prefab: vs pptr:), so
721
- // the same guid legitimately produces both edges. The line.includes
722
- // fast-reject mirrors the previous pass-3 loop.
741
+ // animation clips, etc. m_Script lines are excluded (handled above as
742
+ // the script kind). A guid already captured as a prefab_source edge is
743
+ // also skipped here so a variant's base prefab is a single forward
744
+ // edge, not duplicated across the m_Modifications target lines.
723
745
  for (const line of obj.lines) {
724
746
  if (!line.includes("guid:"))
725
747
  continue;
726
748
  if (line.includes("m_Script:"))
727
749
  continue;
728
750
  for (const g of findGUIDs(line)) {
729
- if (!seen.add(`pptr:${g}`))
751
+ if (prefabSourceGuids.has(g))
752
+ continue;
753
+ const key = `pptr:${g}`;
754
+ if (seen.has(key))
730
755
  continue;
756
+ seen.add(key);
731
757
  pptrEdges.push({ guid: g, assetPath: "", kind: "pptr", resolved: false });
732
758
  }
733
759
  }
@@ -754,7 +780,10 @@ function resolveForwardEdges(edges, guidIndex) {
754
780
  edge.assetPath = path;
755
781
  edge.resolved = true;
756
782
  }
757
- else if (brokenSeen.add(edge.guid)) {
783
+ else if (!brokenSeen.has(edge.guid)) {
784
+ // `.has()` before `.add()`: `Set.add` returns the Set (truthy), so the
785
+ // prior `brokenSeen.add(...)` form never deduped broken GUIDs.
786
+ brokenSeen.add(edge.guid);
758
787
  broken.push(edge.guid);
759
788
  }
760
789
  }
@@ -857,32 +886,43 @@ async function buildReverseEdgeGraph(projectRoot) {
857
886
  // append the asset's edge to each referenced guid's edge list. Also record
858
887
  // the asset's own guid (from its .meta) so the impact BFS can resolve a
859
888
  // frontier node's guid without re-reading .meta per hop.
860
- await parallelMap(candidates, async (absPath) => {
889
+ //
890
+ // Determinism: the I/O fans out via parallelMap, but the graph/pathToGuid
891
+ // maps are built SEQUENTIALLY from parallelMap's input-order result array
892
+ // afterwards. Mutating the maps inside the mapped fn (as this previously
893
+ // did) inserted edges in I/O-completion order, so edge-list order — and
894
+ // everything derived from it (findReferencesFromGraph output order, BFS
895
+ // visit order, capped/truncated lists) — flapped between runs.
896
+ const perFile = await parallelMap(candidates, async (absPath) => {
861
897
  const ext = extname(absPath).toLowerCase();
862
898
  if (!OFFLINE_PARSEABLE_EXTENSIONS.has(ext))
863
- return;
899
+ return null;
864
900
  let content;
865
901
  try {
866
902
  content = await readFile(absPath, "utf-8");
867
903
  }
868
904
  catch {
869
- return;
905
+ return null;
870
906
  }
871
907
  if (!content.includes("guid:"))
872
- return;
908
+ return null;
873
909
  const assetPath = toAssetPath(projectRoot, absPath);
874
910
  const kind = kindForPath(absPath);
875
911
  // Resolve the asset's own guid once (cheap .meta read, OS-cached).
876
912
  const ownGuid = (await safeReadMetaGUID(absPath + ".meta")).toLowerCase();
877
- const edge = { assetPath, guid: ownGuid, kind };
878
- if (ownGuid !== "")
879
- pathToGuid.set(assetPath, ownGuid);
880
913
  // findGUIDs returns every guid: substring in the content (lowercased).
881
914
  // Dedup within this file via a Set so a guid referenced N times in one
882
915
  // asset still produces one edge entry (matches findReferencesOffline,
883
916
  // which pushes at most one entry per referencing file).
884
- const referenced = new Set(findGUIDs(content));
885
- for (const guid of referenced) {
917
+ return { assetPath, ownGuid, kind, referenced: [...new Set(findGUIDs(content))] };
918
+ });
919
+ for (const entry of perFile) {
920
+ if (!entry)
921
+ continue;
922
+ const edge = { assetPath: entry.assetPath, guid: entry.ownGuid, kind: entry.kind };
923
+ if (entry.ownGuid !== "")
924
+ pathToGuid.set(entry.assetPath, entry.ownGuid);
925
+ for (const guid of entry.referenced) {
886
926
  let list = graph.get(guid);
887
927
  if (!list) {
888
928
  list = [];
@@ -890,7 +930,7 @@ async function buildReverseEdgeGraph(projectRoot) {
890
930
  }
891
931
  list.push(edge);
892
932
  }
893
- });
933
+ }
894
934
  return { graph, pathToGuid };
895
935
  }
896
936
  /**
@@ -899,6 +939,16 @@ async function buildReverseEdgeGraph(projectRoot) {
899
939
  * semantics (skip self-references; one entry per referencing asset). Pure
900
940
  * Map.get — no I/O. The graph is keyed by lowercased guid; the target guid
901
941
  * is already lowercased by dependenciesOffline's resolution path.
942
+ *
943
+ * Self-reference filtering: an edge is a self-reference when its referencing
944
+ * asset IS the target. The primary check is `edge.assetPath === targetPath`
945
+ * (cheap, exact). A secondary guid check (`edge.guid === targetGuid`) catches
946
+ * the case where the caller's targetPath resolution raced — but only when the
947
+ * referencing asset's own-guid was captured during the graph build (i.e. its
948
+ * .meta was readable). When the asset has no readable .meta, edge.guid is ""
949
+ * and the asset is genuinely unidentifiable; dependenciesOffline resolves
950
+ * targetPath from the graph's pathToGuid index before this filter runs to
951
+ * keep that case rare.
902
952
  */
903
953
  function findReferencesFromGraph(graph, targetGuid, targetPath) {
904
954
  const list = graph.get(targetGuid);
@@ -907,7 +957,9 @@ function findReferencesFromGraph(graph, targetGuid, targetPath) {
907
957
  const out = [];
908
958
  for (const edge of list) {
909
959
  if (edge.assetPath === targetPath)
910
- continue; // self-reference
960
+ continue; // self-reference (path match)
961
+ if (edge.guid === targetGuid)
962
+ continue; // self-reference (guid match)
911
963
  out.push(edge);
912
964
  }
913
965
  return out;