graphwise 1.11.0 → 1.12.1

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 (293) hide show
  1. package/README.md +17 -17
  2. package/dist/__test__/fixtures/graphs/linear-chain.d.ts +3 -3
  3. package/dist/__test__/fixtures/helpers.d.ts +12 -12
  4. package/dist/__test__/fixtures/helpers.d.ts.map +1 -1
  5. package/dist/__test__/fixtures/index.d.ts +1 -1
  6. package/dist/__test__/fixtures/metrics.d.ts +10 -10
  7. package/dist/__test__/fixtures/metrics.d.ts.map +1 -1
  8. package/dist/__test__/fixtures/types.d.ts +2 -2
  9. package/dist/__test__/fixtures/types.d.ts.map +1 -1
  10. package/dist/async/protocol.d.ts +1 -1
  11. package/dist/async/protocol.d.ts.map +1 -1
  12. package/dist/{expansion → exploration}/base-core.d.ts +5 -5
  13. package/dist/exploration/base-core.d.ts.map +1 -0
  14. package/dist/exploration/base-core.unit.test.d.ts.map +1 -0
  15. package/dist/{expansion → exploration}/base-helpers.d.ts +11 -11
  16. package/dist/exploration/base-helpers.d.ts.map +1 -0
  17. package/dist/{expansion → exploration}/base.d.ts +11 -11
  18. package/dist/exploration/base.d.ts.map +1 -0
  19. package/dist/exploration/base.unit.test.d.ts.map +1 -0
  20. package/dist/{expansion → exploration}/comparison.integration.test.d.ts +2 -2
  21. package/dist/exploration/comparison.integration.test.d.ts.map +1 -0
  22. package/dist/{expansion → exploration}/dfs-priority.d.ts +8 -8
  23. package/dist/exploration/dfs-priority.d.ts.map +1 -0
  24. package/dist/exploration/dfs-priority.unit.test.d.ts.map +1 -0
  25. package/dist/{expansion → exploration}/dome.d.ts +13 -13
  26. package/dist/exploration/dome.d.ts.map +1 -0
  27. package/dist/{expansion → exploration}/dome.integration.test.d.ts +2 -2
  28. package/dist/exploration/dome.integration.test.d.ts.map +1 -0
  29. package/dist/exploration/dome.unit.test.d.ts.map +1 -0
  30. package/dist/{expansion → exploration}/edge.d.ts +8 -8
  31. package/dist/exploration/edge.d.ts.map +1 -0
  32. package/dist/{expansion → exploration}/edge.integration.test.d.ts +1 -1
  33. package/dist/exploration/edge.integration.test.d.ts.map +1 -0
  34. package/dist/exploration/edge.unit.test.d.ts.map +1 -0
  35. package/dist/{expansion → exploration}/flux.d.ts +11 -11
  36. package/dist/exploration/flux.d.ts.map +1 -0
  37. package/dist/{expansion → exploration}/flux.integration.test.d.ts +1 -1
  38. package/dist/exploration/flux.integration.test.d.ts.map +1 -0
  39. package/dist/exploration/flux.unit.test.d.ts.map +1 -0
  40. package/dist/{expansion → exploration}/frontier-balanced.d.ts +8 -8
  41. package/dist/exploration/frontier-balanced.d.ts.map +1 -0
  42. package/dist/exploration/frontier-balanced.unit.test.d.ts.map +1 -0
  43. package/dist/{expansion → exploration}/fuse.d.ts +10 -10
  44. package/dist/exploration/fuse.d.ts.map +1 -0
  45. package/dist/{expansion → exploration}/fuse.integration.test.d.ts +1 -1
  46. package/dist/exploration/fuse.integration.test.d.ts.map +1 -0
  47. package/dist/exploration/fuse.unit.test.d.ts.map +1 -0
  48. package/dist/{expansion → exploration}/hae.d.ts +10 -10
  49. package/dist/exploration/hae.d.ts.map +1 -0
  50. package/dist/{expansion → exploration}/hae.integration.test.d.ts +2 -2
  51. package/dist/exploration/hae.integration.test.d.ts.map +1 -0
  52. package/dist/exploration/hae.unit.test.d.ts.map +1 -0
  53. package/dist/exploration/index.cjs +51 -0
  54. package/dist/{expansion → exploration}/index.d.ts +3 -3
  55. package/dist/exploration/index.d.ts.map +1 -0
  56. package/dist/{expansion → exploration}/index.js +1 -1
  57. package/dist/{expansion → exploration}/k-hop.d.ts +6 -6
  58. package/dist/exploration/k-hop.d.ts.map +1 -0
  59. package/dist/exploration/k-hop.unit.test.d.ts.map +1 -0
  60. package/dist/{expansion → exploration}/lace.d.ts +11 -11
  61. package/dist/exploration/lace.d.ts.map +1 -0
  62. package/dist/{expansion → exploration}/lace.integration.test.d.ts +1 -1
  63. package/dist/exploration/lace.integration.test.d.ts.map +1 -0
  64. package/dist/exploration/lace.unit.test.d.ts.map +1 -0
  65. package/dist/{expansion → exploration}/maze.d.ts +9 -9
  66. package/dist/exploration/maze.d.ts.map +1 -0
  67. package/dist/{expansion → exploration}/maze.integration.test.d.ts +1 -1
  68. package/dist/exploration/maze.integration.test.d.ts.map +1 -0
  69. package/dist/exploration/maze.unit.test.d.ts.map +1 -0
  70. package/dist/{expansion → exploration}/pipe.d.ts +8 -8
  71. package/dist/exploration/pipe.d.ts.map +1 -0
  72. package/dist/{expansion → exploration}/pipe.integration.test.d.ts +2 -2
  73. package/dist/exploration/pipe.integration.test.d.ts.map +1 -0
  74. package/dist/exploration/pipe.unit.test.d.ts.map +1 -0
  75. package/dist/{expansion → exploration}/priority-helpers.d.ts +2 -2
  76. package/dist/exploration/priority-helpers.d.ts.map +1 -0
  77. package/dist/{expansion → exploration}/random-priority.d.ts +11 -11
  78. package/dist/exploration/random-priority.d.ts.map +1 -0
  79. package/dist/exploration/random-priority.unit.test.d.ts.map +1 -0
  80. package/dist/{expansion → exploration}/random-walk.d.ts +6 -6
  81. package/dist/exploration/random-walk.d.ts.map +1 -0
  82. package/dist/exploration/random-walk.unit.test.d.ts.map +1 -0
  83. package/dist/{expansion → exploration}/reach.d.ts +9 -9
  84. package/dist/exploration/reach.d.ts.map +1 -0
  85. package/dist/{expansion → exploration}/reach.integration.test.d.ts +1 -1
  86. package/dist/exploration/reach.integration.test.d.ts.map +1 -0
  87. package/dist/exploration/reach.unit.test.d.ts.map +1 -0
  88. package/dist/{expansion → exploration}/sage.d.ts +9 -9
  89. package/dist/exploration/sage.d.ts.map +1 -0
  90. package/dist/{expansion → exploration}/sage.integration.test.d.ts +1 -1
  91. package/dist/exploration/sage.integration.test.d.ts.map +1 -0
  92. package/dist/exploration/sage.unit.test.d.ts.map +1 -0
  93. package/dist/{expansion → exploration}/sift.d.ts +12 -12
  94. package/dist/exploration/sift.d.ts.map +1 -0
  95. package/dist/{expansion → exploration}/sift.integration.test.d.ts +1 -1
  96. package/dist/exploration/sift.integration.test.d.ts.map +1 -0
  97. package/dist/exploration/sift.unit.test.d.ts.map +1 -0
  98. package/dist/{expansion → exploration}/standard-bfs.d.ts +8 -8
  99. package/dist/exploration/standard-bfs.d.ts.map +1 -0
  100. package/dist/exploration/standard-bfs.unit.test.d.ts.map +1 -0
  101. package/dist/{expansion → exploration}/tide.d.ts +8 -8
  102. package/dist/exploration/tide.d.ts.map +1 -0
  103. package/dist/{expansion → exploration}/tide.integration.test.d.ts +1 -1
  104. package/dist/exploration/tide.integration.test.d.ts.map +1 -0
  105. package/dist/exploration/tide.unit.test.d.ts.map +1 -0
  106. package/dist/{expansion → exploration}/types.d.ts +17 -17
  107. package/dist/exploration/types.d.ts.map +1 -0
  108. package/dist/{expansion → exploration}/warp.d.ts +8 -8
  109. package/dist/exploration/warp.d.ts.map +1 -0
  110. package/dist/{expansion → exploration}/warp.integration.test.d.ts +1 -1
  111. package/dist/exploration/warp.integration.test.d.ts.map +1 -0
  112. package/dist/exploration/warp.unit.test.d.ts.map +1 -0
  113. package/dist/{expansion--UuRowv-.cjs → exploration-BfDi17av.cjs} +136 -136
  114. package/dist/exploration-BfDi17av.cjs.map +1 -0
  115. package/dist/{expansion-CZLNK6Pr.js → exploration-DKjRNxS5.js} +136 -136
  116. package/dist/exploration-DKjRNxS5.js.map +1 -0
  117. package/dist/gpu/index.cjs +1 -1
  118. package/dist/gpu/index.js +1 -1
  119. package/dist/index/index.cjs +57 -53
  120. package/dist/index/index.js +5 -5
  121. package/dist/index.d.ts +1 -1
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/{kernel-CigCjrts.js → kernel-BLwhyVSV.js} +1 -1
  124. package/dist/{kernel-CigCjrts.js.map → kernel-BLwhyVSV.js.map} +1 -1
  125. package/dist/{kernel-2oH4Cn32.cjs → kernel-BffKjhZS.cjs} +1 -1
  126. package/dist/{kernel-2oH4Cn32.cjs.map → kernel-BffKjhZS.cjs.map} +1 -1
  127. package/dist/{kernel-CXeGBH3s.cjs → kernel-CbP715Sq.cjs} +1 -1
  128. package/dist/{kernel-CXeGBH3s.cjs.map → kernel-CbP715Sq.cjs.map} +1 -1
  129. package/dist/{kernel-CvnRsF7E.js → kernel-DolEKSSx.js} +1 -1
  130. package/dist/{kernel-CvnRsF7E.js.map → kernel-DolEKSSx.js.map} +1 -1
  131. package/dist/{kernel-DukrXtVb.cjs → kernel-E_h47HjZ.cjs} +1 -1
  132. package/dist/{kernel-DukrXtVb.cjs.map → kernel-E_h47HjZ.cjs.map} +1 -1
  133. package/dist/{kernel-6deK9fh1.js → kernel-lYa4TYth.js} +1 -1
  134. package/dist/{kernel-6deK9fh1.js.map → kernel-lYa4TYth.js.map} +1 -1
  135. package/dist/{operations-D-RB67WP.cjs → operations-CSU0yFPr.cjs} +4 -4
  136. package/dist/{operations-D-RB67WP.cjs.map → operations-CSU0yFPr.cjs.map} +1 -1
  137. package/dist/{operations-D9otVlIH.js → operations-CdrA87Au.js} +4 -4
  138. package/dist/{operations-D9otVlIH.js.map → operations-CdrA87Au.js.map} +1 -1
  139. package/dist/ranking/baselines/betweenness.d.ts +2 -2
  140. package/dist/ranking/baselines/betweenness.d.ts.map +1 -1
  141. package/dist/ranking/baselines/communicability.d.ts +3 -3
  142. package/dist/ranking/baselines/communicability.d.ts.map +1 -1
  143. package/dist/ranking/baselines/degree-sum.d.ts +2 -2
  144. package/dist/ranking/baselines/degree-sum.d.ts.map +1 -1
  145. package/dist/ranking/baselines/hitting-time.d.ts +2 -2
  146. package/dist/ranking/baselines/hitting-time.d.ts.map +1 -1
  147. package/dist/ranking/baselines/jaccard-arithmetic.d.ts +2 -2
  148. package/dist/ranking/baselines/jaccard-arithmetic.d.ts.map +1 -1
  149. package/dist/ranking/baselines/katz.d.ts +3 -3
  150. package/dist/ranking/baselines/katz.d.ts.map +1 -1
  151. package/dist/ranking/baselines/pagerank.d.ts +3 -3
  152. package/dist/ranking/baselines/pagerank.d.ts.map +1 -1
  153. package/dist/ranking/baselines/random-ranking.d.ts +2 -2
  154. package/dist/ranking/baselines/random-ranking.d.ts.map +1 -1
  155. package/dist/ranking/baselines/resistance-distance.d.ts +2 -2
  156. package/dist/ranking/baselines/resistance-distance.d.ts.map +1 -1
  157. package/dist/ranking/baselines/shortest.d.ts +2 -2
  158. package/dist/ranking/baselines/shortest.d.ts.map +1 -1
  159. package/dist/ranking/baselines/types.d.ts +3 -3
  160. package/dist/ranking/baselines/types.d.ts.map +1 -1
  161. package/dist/ranking/baselines/utils.d.ts +3 -3
  162. package/dist/ranking/baselines/utils.d.ts.map +1 -1
  163. package/dist/ranking/baselines/widest-path.d.ts +2 -2
  164. package/dist/ranking/baselines/widest-path.d.ts.map +1 -1
  165. package/dist/ranking/index.cjs +1 -1
  166. package/dist/ranking/index.js +1 -1
  167. package/dist/ranking/parse-gpu.d.ts +2 -2
  168. package/dist/ranking/parse-gpu.d.ts.map +1 -1
  169. package/dist/ranking/parse.d.ts +4 -4
  170. package/dist/ranking/parse.d.ts.map +1 -1
  171. package/dist/{ranking-pe5UaxKg.cjs → ranking-BQqrH26-.cjs} +2 -2
  172. package/dist/ranking-BQqrH26-.cjs.map +1 -0
  173. package/dist/{ranking-DOKDBcIR.js → ranking-B_KdM8Wq.js} +2 -2
  174. package/dist/ranking-B_KdM8Wq.js.map +1 -0
  175. package/dist/schemas/graph.d.ts +1 -1
  176. package/dist/schemas/index.cjs +1 -1
  177. package/dist/schemas/index.cjs.map +1 -1
  178. package/dist/schemas/index.js +1 -1
  179. package/dist/schemas/index.js.map +1 -1
  180. package/dist/seeds/basil.d.ts +12 -0
  181. package/dist/seeds/basil.d.ts.map +1 -0
  182. package/dist/seeds/brisk.d.ts +18 -0
  183. package/dist/seeds/brisk.d.ts.map +1 -0
  184. package/dist/seeds/hybrid-core.d.ts +32 -0
  185. package/dist/seeds/hybrid-core.d.ts.map +1 -0
  186. package/dist/seeds/hybrid-ensembles.unit.test.d.ts +2 -0
  187. package/dist/seeds/hybrid-ensembles.unit.test.d.ts.map +1 -0
  188. package/dist/seeds/index.cjs +11 -1108
  189. package/dist/seeds/index.d.ts +4 -0
  190. package/dist/seeds/index.d.ts.map +1 -1
  191. package/dist/seeds/index.js +2 -1103
  192. package/dist/seeds/omnia.d.ts +12 -0
  193. package/dist/seeds/omnia.d.ts.map +1 -0
  194. package/dist/seeds/prism.d.ts +12 -0
  195. package/dist/seeds/prism.d.ts.map +1 -0
  196. package/dist/seeds--fLhoBaG.cjs +1762 -0
  197. package/dist/seeds--fLhoBaG.cjs.map +1 -0
  198. package/dist/seeds-ihozTw4J.js +1703 -0
  199. package/dist/seeds-ihozTw4J.js.map +1 -0
  200. package/dist/utils/entropy.d.ts +1 -1
  201. package/dist/utils/index.cjs +1 -1
  202. package/dist/utils/index.cjs.map +1 -1
  203. package/dist/utils/index.js +1 -1
  204. package/dist/utils/index.js.map +1 -1
  205. package/package.json +7 -7
  206. package/dist/expansion/base-core.d.ts.map +0 -1
  207. package/dist/expansion/base-core.unit.test.d.ts.map +0 -1
  208. package/dist/expansion/base-helpers.d.ts.map +0 -1
  209. package/dist/expansion/base.d.ts.map +0 -1
  210. package/dist/expansion/base.unit.test.d.ts.map +0 -1
  211. package/dist/expansion/comparison.integration.test.d.ts.map +0 -1
  212. package/dist/expansion/dfs-priority.d.ts.map +0 -1
  213. package/dist/expansion/dfs-priority.unit.test.d.ts.map +0 -1
  214. package/dist/expansion/dome.d.ts.map +0 -1
  215. package/dist/expansion/dome.integration.test.d.ts.map +0 -1
  216. package/dist/expansion/dome.unit.test.d.ts.map +0 -1
  217. package/dist/expansion/edge.d.ts.map +0 -1
  218. package/dist/expansion/edge.integration.test.d.ts.map +0 -1
  219. package/dist/expansion/edge.unit.test.d.ts.map +0 -1
  220. package/dist/expansion/flux.d.ts.map +0 -1
  221. package/dist/expansion/flux.integration.test.d.ts.map +0 -1
  222. package/dist/expansion/flux.unit.test.d.ts.map +0 -1
  223. package/dist/expansion/frontier-balanced.d.ts.map +0 -1
  224. package/dist/expansion/frontier-balanced.unit.test.d.ts.map +0 -1
  225. package/dist/expansion/fuse.d.ts.map +0 -1
  226. package/dist/expansion/fuse.integration.test.d.ts.map +0 -1
  227. package/dist/expansion/fuse.unit.test.d.ts.map +0 -1
  228. package/dist/expansion/hae.d.ts.map +0 -1
  229. package/dist/expansion/hae.integration.test.d.ts.map +0 -1
  230. package/dist/expansion/hae.unit.test.d.ts.map +0 -1
  231. package/dist/expansion/index.cjs +0 -51
  232. package/dist/expansion/index.d.ts.map +0 -1
  233. package/dist/expansion/k-hop.d.ts.map +0 -1
  234. package/dist/expansion/k-hop.unit.test.d.ts.map +0 -1
  235. package/dist/expansion/lace.d.ts.map +0 -1
  236. package/dist/expansion/lace.integration.test.d.ts.map +0 -1
  237. package/dist/expansion/lace.unit.test.d.ts.map +0 -1
  238. package/dist/expansion/maze.d.ts.map +0 -1
  239. package/dist/expansion/maze.integration.test.d.ts.map +0 -1
  240. package/dist/expansion/maze.unit.test.d.ts.map +0 -1
  241. package/dist/expansion/pipe.d.ts.map +0 -1
  242. package/dist/expansion/pipe.integration.test.d.ts.map +0 -1
  243. package/dist/expansion/pipe.unit.test.d.ts.map +0 -1
  244. package/dist/expansion/priority-helpers.d.ts.map +0 -1
  245. package/dist/expansion/random-priority.d.ts.map +0 -1
  246. package/dist/expansion/random-priority.unit.test.d.ts.map +0 -1
  247. package/dist/expansion/random-walk.d.ts.map +0 -1
  248. package/dist/expansion/random-walk.unit.test.d.ts.map +0 -1
  249. package/dist/expansion/reach.d.ts.map +0 -1
  250. package/dist/expansion/reach.integration.test.d.ts.map +0 -1
  251. package/dist/expansion/reach.unit.test.d.ts.map +0 -1
  252. package/dist/expansion/sage.d.ts.map +0 -1
  253. package/dist/expansion/sage.integration.test.d.ts.map +0 -1
  254. package/dist/expansion/sage.unit.test.d.ts.map +0 -1
  255. package/dist/expansion/sift.d.ts.map +0 -1
  256. package/dist/expansion/sift.integration.test.d.ts.map +0 -1
  257. package/dist/expansion/sift.unit.test.d.ts.map +0 -1
  258. package/dist/expansion/standard-bfs.d.ts.map +0 -1
  259. package/dist/expansion/standard-bfs.unit.test.d.ts.map +0 -1
  260. package/dist/expansion/tide.d.ts.map +0 -1
  261. package/dist/expansion/tide.integration.test.d.ts.map +0 -1
  262. package/dist/expansion/tide.unit.test.d.ts.map +0 -1
  263. package/dist/expansion/types.d.ts.map +0 -1
  264. package/dist/expansion/warp.d.ts.map +0 -1
  265. package/dist/expansion/warp.integration.test.d.ts.map +0 -1
  266. package/dist/expansion/warp.unit.test.d.ts.map +0 -1
  267. package/dist/expansion--UuRowv-.cjs.map +0 -1
  268. package/dist/expansion-CZLNK6Pr.js.map +0 -1
  269. package/dist/ranking-DOKDBcIR.js.map +0 -1
  270. package/dist/ranking-pe5UaxKg.cjs.map +0 -1
  271. package/dist/seeds/index.cjs.map +0 -1
  272. package/dist/seeds/index.js.map +0 -1
  273. /package/dist/{expansion → exploration}/base-core.unit.test.d.ts +0 -0
  274. /package/dist/{expansion → exploration}/base.unit.test.d.ts +0 -0
  275. /package/dist/{expansion → exploration}/dfs-priority.unit.test.d.ts +0 -0
  276. /package/dist/{expansion → exploration}/dome.unit.test.d.ts +0 -0
  277. /package/dist/{expansion → exploration}/edge.unit.test.d.ts +0 -0
  278. /package/dist/{expansion → exploration}/flux.unit.test.d.ts +0 -0
  279. /package/dist/{expansion → exploration}/frontier-balanced.unit.test.d.ts +0 -0
  280. /package/dist/{expansion → exploration}/fuse.unit.test.d.ts +0 -0
  281. /package/dist/{expansion → exploration}/hae.unit.test.d.ts +0 -0
  282. /package/dist/{expansion → exploration}/k-hop.unit.test.d.ts +0 -0
  283. /package/dist/{expansion → exploration}/lace.unit.test.d.ts +0 -0
  284. /package/dist/{expansion → exploration}/maze.unit.test.d.ts +0 -0
  285. /package/dist/{expansion → exploration}/pipe.unit.test.d.ts +0 -0
  286. /package/dist/{expansion → exploration}/random-priority.unit.test.d.ts +0 -0
  287. /package/dist/{expansion → exploration}/random-walk.unit.test.d.ts +0 -0
  288. /package/dist/{expansion → exploration}/reach.unit.test.d.ts +0 -0
  289. /package/dist/{expansion → exploration}/sage.unit.test.d.ts +0 -0
  290. /package/dist/{expansion → exploration}/sift.unit.test.d.ts +0 -0
  291. /package/dist/{expansion → exploration}/standard-bfs.unit.test.d.ts +0 -0
  292. /package/dist/{expansion → exploration}/tide.unit.test.d.ts +0 -0
  293. /package/dist/{expansion → exploration}/warp.unit.test.d.ts +0 -0
@@ -3,9 +3,9 @@ import { f as runAsync, p as runSync, r as opDegree, s as opNeighbours } from ".
3
3
  import { c as graphToCSR, i as jaccardFromIntersection, r as intersectionBatch } from "./logic-DyBzRg1A.js";
4
4
  import { localTypeEntropy } from "./utils/index.js";
5
5
  import { t as jaccard } from "./jaccard-BwC_NuQu.js";
6
- //#region src/expansion/base-helpers.ts
6
+ //#region src/exploration/base-helpers.ts
7
7
  /**
8
- * Check whether expansion should continue given current progress.
8
+ * Check whether exploration should continue given current progress.
9
9
  *
10
10
  * Returns shouldContinue=false as soon as any configured limit is reached,
11
11
  * along with the appropriate termination reason.
@@ -13,7 +13,7 @@ import { t as jaccard } from "./jaccard-BwC_NuQu.js";
13
13
  * @param iterations - Number of iterations completed so far
14
14
  * @param nodesVisited - Number of distinct nodes visited so far
15
15
  * @param pathsFound - Number of paths discovered so far
16
- * @param limits - Configured expansion limits (0 = unlimited)
16
+ * @param limits - Configured exploration limits (0 = unlimited)
17
17
  * @returns Whether to continue and the termination reason if stopping
18
18
  */
19
19
  function continueExpansion(iterations, nodesVisited, pathsFound, limits) {
@@ -81,11 +81,11 @@ function reconstructPath$1(collisionNode, frontierA, frontierB, predecessors, se
81
81
  };
82
82
  }
83
83
  /**
84
- * Create an empty expansion result for early termination (e.g. no seeds given).
84
+ * Create an empty exploration result for early termination (e.g. no seeds given).
85
85
  *
86
86
  * @param algorithm - Name of the algorithm producing this result
87
87
  * @param startTime - performance.now() timestamp taken before the algorithm began
88
- * @returns An ExpansionResult with zero paths and zero stats
88
+ * @returns An ExplorationResult with zero paths and zero stats
89
89
  */
90
90
  function emptyResult$2(algorithm, startTime) {
91
91
  return {
@@ -105,7 +105,7 @@ function emptyResult$2(algorithm, startTime) {
105
105
  };
106
106
  }
107
107
  //#endregion
108
- //#region src/expansion/base-core.ts
108
+ //#region src/exploration/base-core.ts
109
109
  /**
110
110
  * Default priority function — degree-ordered (DOME).
111
111
  *
@@ -115,7 +115,7 @@ function degreePriority(_nodeId, context) {
115
115
  return context.degree;
116
116
  }
117
117
  /**
118
- * Generator core of the BASE expansion algorithm.
118
+ * Generator core of the BASE exploration algorithm.
119
119
  *
120
120
  * Yields GraphOp objects to request graph data, allowing the caller to
121
121
  * provide a sync or async runner. The optional `graphRef` parameter is
@@ -124,10 +124,10 @@ function degreePriority(_nodeId, context) {
124
124
  * graph may be supplied instead.
125
125
  *
126
126
  * @param graphMeta - Immutable graph metadata (directed, nodeCount, edgeCount)
127
- * @param seeds - Seed nodes for expansion
127
+ * @param seeds - Seed nodes for exploration
128
128
  * @param config - Expansion configuration (priority, limits, debug)
129
129
  * @param graphRef - Optional real graph reference for context.graph in priority functions
130
- * @returns An ExpansionResult with all discovered paths and statistics
130
+ * @returns An ExplorationResult with all discovered paths and statistics
131
131
  */
132
132
  function* baseCore(graphMeta, seeds, config, graphRef) {
133
133
  const startTime = performance.now();
@@ -333,15 +333,15 @@ function buildPriorityContext(_nodeId, frontierIndex, combinedVisited, allVisite
333
333
  };
334
334
  }
335
335
  //#endregion
336
- //#region src/expansion/base.ts
336
+ //#region src/exploration/base.ts
337
337
  /**
338
- * Run BASE expansion synchronously.
338
+ * Run BASE exploration synchronously.
339
339
  *
340
340
  * Delegates to baseCore + runSync. Behaviour is identical to the previous
341
341
  * direct implementation — all existing callers are unaffected.
342
342
  *
343
343
  * @param graph - Source graph
344
- * @param seeds - Seed nodes for expansion
344
+ * @param seeds - Seed nodes for exploration
345
345
  * @param config - Expansion configuration
346
346
  * @returns Expansion result with discovered paths
347
347
  */
@@ -353,7 +353,7 @@ function base(graph, seeds, config) {
353
353
  }, seeds, config, graph), graph);
354
354
  }
355
355
  /**
356
- * Run BASE expansion asynchronously.
356
+ * Run BASE exploration asynchronously.
357
357
  *
358
358
  * Delegates to baseCore + runAsync. Supports:
359
359
  * - Cancellation via AbortSignal (config.signal)
@@ -365,9 +365,9 @@ function base(graph, seeds, config) {
365
365
  * priority (DOME) does not access context.graph and works correctly.
366
366
  *
367
367
  * @param graph - Async source graph
368
- * @param seeds - Seed nodes for expansion
368
+ * @param seeds - Seed nodes for exploration
369
369
  * @param config - Expansion and async runner configuration
370
- * @returns Promise resolving to the expansion result
370
+ * @returns Promise resolving to the exploration result
371
371
  */
372
372
  async function baseAsync(graph, seeds, config) {
373
373
  const [nodeCount, edgeCount] = await Promise.all([graph.nodeCount, graph.edgeCount]);
@@ -383,7 +383,7 @@ async function baseAsync(graph, seeds, config) {
383
383
  return runAsync(gen, graph, runnerOptions);
384
384
  }
385
385
  //#endregion
386
- //#region src/expansion/dome.ts
386
+ //#region src/exploration/dome.ts
387
387
  /**
388
388
  * DOME priority: lower degree is expanded first.
389
389
  */
@@ -397,10 +397,10 @@ function domeHighDegreePriority(_nodeId, context) {
397
397
  return -context.degree;
398
398
  }
399
399
  /**
400
- * Run DOME expansion (degree-ordered).
400
+ * Run DOME exploration (degree-ordered).
401
401
  *
402
402
  * @param graph - Source graph
403
- * @param seeds - Seed nodes for expansion
403
+ * @param seeds - Seed nodes for exploration
404
404
  * @param config - Expansion configuration
405
405
  * @returns Expansion result with discovered paths
406
406
  */
@@ -411,12 +411,12 @@ function dome(graph, seeds, config) {
411
411
  });
412
412
  }
413
413
  /**
414
- * Run DOME expansion asynchronously (degree-ordered).
414
+ * Run DOME exploration asynchronously (degree-ordered).
415
415
  *
416
416
  * @param graph - Async source graph
417
- * @param seeds - Seed nodes for expansion
417
+ * @param seeds - Seed nodes for exploration
418
418
  * @param config - Expansion and async runner configuration
419
- * @returns Promise resolving to the expansion result
419
+ * @returns Promise resolving to the exploration result
420
420
  */
421
421
  async function domeAsync(graph, seeds, config) {
422
422
  return baseAsync(graph, seeds, {
@@ -434,12 +434,12 @@ function domeHighDegree(graph, seeds, config) {
434
434
  });
435
435
  }
436
436
  /**
437
- * Run DOME high-degree expansion asynchronously (high degree first).
437
+ * Run DOME high-degree exploration asynchronously (high degree first).
438
438
  *
439
439
  * @param graph - Async source graph
440
- * @param seeds - Seed nodes for expansion
440
+ * @param seeds - Seed nodes for exploration
441
441
  * @param config - Expansion and async runner configuration
442
- * @returns Promise resolving to the expansion result
442
+ * @returns Promise resolving to the exploration result
443
443
  */
444
444
  async function domeHighDegreeAsync(graph, seeds, config) {
445
445
  return baseAsync(graph, seeds, {
@@ -448,7 +448,7 @@ async function domeHighDegreeAsync(graph, seeds, config) {
448
448
  });
449
449
  }
450
450
  //#endregion
451
- //#region src/expansion/hae.ts
451
+ //#region src/exploration/hae.ts
452
452
  var EPSILON = 1e-10;
453
453
  /**
454
454
  * Default type mapper - uses node.type property.
@@ -472,13 +472,13 @@ function createHAEPriority(typeMapper) {
472
472
  };
473
473
  }
474
474
  /**
475
- * Run HAE expansion (Heterogeneity-Aware Expansion).
475
+ * Run HAE exploration (Heterogeneity-Aware Exploration).
476
476
  *
477
477
  * Discovers paths by prioritising nodes with diverse neighbour types,
478
478
  * using a custom type mapper for flexible type extraction.
479
479
  *
480
480
  * @param graph - Source graph
481
- * @param seeds - Seed nodes for expansion
481
+ * @param seeds - Seed nodes for exploration
482
482
  * @param config - HAE configuration with optional typeMapper
483
483
  * @returns Expansion result with discovered paths
484
484
  */
@@ -490,7 +490,7 @@ function hae(graph, seeds, config) {
490
490
  });
491
491
  }
492
492
  /**
493
- * Run HAE expansion asynchronously.
493
+ * Run HAE exploration asynchronously.
494
494
  *
495
495
  * Note: the HAE priority function accesses `context.graph` to retrieve
496
496
  * neighbour types. Full async equivalence requires PriorityContext
@@ -498,9 +498,9 @@ function hae(graph, seeds, config) {
498
498
  * surface; use with a `wrapAsync`-wrapped sync graph for testing.
499
499
  *
500
500
  * @param graph - Async source graph
501
- * @param seeds - Seed nodes for expansion
501
+ * @param seeds - Seed nodes for exploration
502
502
  * @param config - HAE configuration combined with async runner options
503
- * @returns Promise resolving to the expansion result
503
+ * @returns Promise resolving to the exploration result
504
504
  */
505
505
  async function haeAsync(graph, seeds, config) {
506
506
  const typeMapper = config?.typeMapper ?? defaultTypeMapper$1;
@@ -510,17 +510,17 @@ async function haeAsync(graph, seeds, config) {
510
510
  });
511
511
  }
512
512
  //#endregion
513
- //#region src/expansion/edge.ts
513
+ //#region src/exploration/edge.ts
514
514
  /** Default type mapper: reads `node.type`, falling back to "default". */
515
515
  var defaultTypeMapper = (n) => typeof n.type === "string" ? n.type : "default";
516
516
  /**
517
- * Run EDGE expansion (Entropy-Driven Graph Expansion).
517
+ * Run EDGE exploration (Entropy-Driven Graph Exploration).
518
518
  *
519
519
  * Discovers paths by prioritising nodes with diverse neighbour types,
520
520
  * deferring nodes with homogeneous neighbourhoods.
521
521
  *
522
522
  * @param graph - Source graph
523
- * @param seeds - Seed nodes for expansion
523
+ * @param seeds - Seed nodes for exploration
524
524
  * @param config - Expansion configuration
525
525
  * @returns Expansion result with discovered paths
526
526
  */
@@ -531,7 +531,7 @@ function edge(graph, seeds, config) {
531
531
  });
532
532
  }
533
533
  /**
534
- * Run EDGE expansion asynchronously.
534
+ * Run EDGE exploration asynchronously.
535
535
  *
536
536
  * Delegates to `haeAsync` with the default `node.type` mapper.
537
537
  *
@@ -541,9 +541,9 @@ function edge(graph, seeds, config) {
541
541
  * surface; use with a `wrapAsync`-wrapped sync graph for testing.
542
542
  *
543
543
  * @param graph - Async source graph
544
- * @param seeds - Seed nodes for expansion
544
+ * @param seeds - Seed nodes for exploration
545
545
  * @param config - Expansion and async runner configuration
546
- * @returns Promise resolving to the expansion result
546
+ * @returns Promise resolving to the exploration result
547
547
  */
548
548
  async function edgeAsync(graph, seeds, config) {
549
549
  return haeAsync(graph, seeds, {
@@ -552,7 +552,7 @@ async function edgeAsync(graph, seeds, config) {
552
552
  });
553
553
  }
554
554
  //#endregion
555
- //#region src/expansion/pipe.ts
555
+ //#region src/exploration/pipe.ts
556
556
  /**
557
557
  * Priority function using path potential.
558
558
  * Lower values = higher priority (expanded first).
@@ -570,13 +570,13 @@ function pipePriority(nodeId, context) {
570
570
  return context.degree / (1 + pathPotential);
571
571
  }
572
572
  /**
573
- * Run PIPE expansion (Path-Potential Informed Priority Expansion).
573
+ * Run PIPE exploration (Path-potential Informed Priority Exploration).
574
574
  *
575
575
  * Discovers paths by prioritising nodes that bridge multiple frontiers,
576
576
  * identifying connecting points between seed regions.
577
577
  *
578
578
  * @param graph - Source graph
579
- * @param seeds - Seed nodes for expansion
579
+ * @param seeds - Seed nodes for exploration
580
580
  * @param config - Expansion configuration
581
581
  * @returns Expansion result with discovered paths
582
582
  */
@@ -587,7 +587,7 @@ function pipe(graph, seeds, config) {
587
587
  });
588
588
  }
589
589
  /**
590
- * Run PIPE expansion asynchronously.
590
+ * Run PIPE exploration asynchronously.
591
591
  *
592
592
  * Note: the PIPE priority function accesses `context.graph` to retrieve
593
593
  * neighbour lists. Full async equivalence requires PriorityContext
@@ -595,9 +595,9 @@ function pipe(graph, seeds, config) {
595
595
  * surface; use with a `wrapAsync`-wrapped sync graph for testing.
596
596
  *
597
597
  * @param graph - Async source graph
598
- * @param seeds - Seed nodes for expansion
598
+ * @param seeds - Seed nodes for exploration
599
599
  * @param config - Expansion and async runner configuration
600
- * @returns Promise resolving to the expansion result
600
+ * @returns Promise resolving to the exploration result
601
601
  */
602
602
  async function pipeAsync(graph, seeds, config) {
603
603
  return baseAsync(graph, seeds, {
@@ -606,7 +606,7 @@ async function pipeAsync(graph, seeds, config) {
606
606
  });
607
607
  }
608
608
  //#endregion
609
- //#region src/expansion/priority-helpers.ts
609
+ //#region src/exploration/priority-helpers.ts
610
610
  /**
611
611
  * Compute average MI between each candidate and a set of reference nodes.
612
612
  *
@@ -747,16 +747,16 @@ function updateSalienceCounts(salienceCounts, paths, fromIndex) {
747
747
  return paths.length;
748
748
  }
749
749
  //#endregion
750
- //#region src/expansion/sage.ts
750
+ //#region src/exploration/sage.ts
751
751
  /**
752
- * Run SAGE expansion algorithm.
752
+ * Run SAGE exploration algorithm.
753
753
  *
754
- * Salience-aware multi-frontier expansion with two phases:
754
+ * Salience-aware multi-frontier exploration with two phases:
755
755
  * - Phase 1: Degree-based priority (early exploration)
756
756
  * - Phase 2: Salience feedback (path-aware frontier steering)
757
757
  *
758
758
  * @param graph - Source graph
759
- * @param seeds - Seed nodes for expansion
759
+ * @param seeds - Seed nodes for exploration
760
760
  * @param config - Expansion configuration
761
761
  * @returns Expansion result with discovered paths
762
762
  */
@@ -780,16 +780,16 @@ function sage(graph, seeds, config) {
780
780
  });
781
781
  }
782
782
  /**
783
- * Run SAGE expansion asynchronously.
783
+ * Run SAGE exploration asynchronously.
784
784
  *
785
785
  * Creates fresh closure state (salienceCounts, phase tracking) for this
786
786
  * invocation. The SAGE priority function does not access `context.graph`
787
787
  * directly, so it is safe to use in async mode via `baseAsync`.
788
788
  *
789
789
  * @param graph - Async source graph
790
- * @param seeds - Seed nodes for expansion
790
+ * @param seeds - Seed nodes for exploration
791
791
  * @param config - Expansion and async runner configuration
792
- * @returns Promise resolving to the expansion result
792
+ * @returns Promise resolving to the exploration result
793
793
  */
794
794
  async function sageAsync(graph, seeds, config) {
795
795
  const salienceCounts = /* @__PURE__ */ new Map();
@@ -808,16 +808,16 @@ async function sageAsync(graph, seeds, config) {
808
808
  });
809
809
  }
810
810
  //#endregion
811
- //#region src/expansion/reach.ts
811
+ //#region src/exploration/reach.ts
812
812
  /**
813
- * Run REACH expansion algorithm.
813
+ * Run REACH exploration algorithm.
814
814
  *
815
- * Mutual information-aware multi-frontier expansion with two phases:
815
+ * Mutual information-aware multi-frontier exploration with two phases:
816
816
  * - Phase 1: Degree-based priority (early exploration)
817
817
  * - Phase 2: Structural similarity feedback (MI-guided frontier steering)
818
818
  *
819
819
  * @param graph - Source graph
820
- * @param seeds - Seed nodes for expansion
820
+ * @param seeds - Seed nodes for exploration
821
821
  * @param config - Expansion configuration
822
822
  * @returns Expansion result with discovered paths
823
823
  */
@@ -864,7 +864,7 @@ function reach(graph, seeds, config) {
864
864
  });
865
865
  }
866
866
  /**
867
- * Run REACH expansion asynchronously.
867
+ * Run REACH exploration asynchronously.
868
868
  *
869
869
  * Creates fresh closure state (phase tracking, Jaccard cache) for this
870
870
  * invocation. The REACH priority function uses `jaccard(context.graph, ...)`
@@ -873,9 +873,9 @@ function reach(graph, seeds, config) {
873
873
  * deferred). This export establishes the async API surface.
874
874
  *
875
875
  * @param graph - Async source graph
876
- * @param seeds - Seed nodes for expansion
876
+ * @param seeds - Seed nodes for exploration
877
877
  * @param config - Expansion and async runner configuration
878
- * @returns Promise resolving to the expansion result
878
+ * @returns Promise resolving to the exploration result
879
879
  */
880
880
  async function reachAsync(graph, seeds, config) {
881
881
  let inPhase2 = false;
@@ -898,19 +898,19 @@ async function reachAsync(graph, seeds, config) {
898
898
  });
899
899
  }
900
900
  //#endregion
901
- //#region src/expansion/maze.ts
901
+ //#region src/exploration/maze.ts
902
902
  /** Default threshold for switching to phase 2 (after M paths) */
903
903
  var DEFAULT_PHASE2_THRESHOLD = 1;
904
904
  /** Salience weighting factor */
905
905
  var SALIENCE_WEIGHT = 1e3;
906
906
  /**
907
- * Run MAZE expansion algorithm.
907
+ * Run MAZE exploration algorithm.
908
908
  *
909
- * Multi-phase expansion combining path potential and salience with
909
+ * Multi-phase exploration combining path potential and salience with
910
910
  * adaptive frontier steering.
911
911
  *
912
912
  * @param graph - Source graph
913
- * @param seeds - Seed nodes for expansion
913
+ * @param seeds - Seed nodes for exploration
914
914
  * @param config - Expansion configuration
915
915
  * @returns Expansion result with discovered paths
916
916
  */
@@ -944,7 +944,7 @@ function maze(graph, seeds, config) {
944
944
  });
945
945
  }
946
946
  /**
947
- * Run MAZE expansion asynchronously.
947
+ * Run MAZE exploration asynchronously.
948
948
  *
949
949
  * Creates fresh closure state (salienceCounts, phase tracking) for this
950
950
  * invocation. The MAZE priority function accesses `context.graph` to
@@ -953,9 +953,9 @@ function maze(graph, seeds, config) {
953
953
  * This export establishes the async API surface.
954
954
  *
955
955
  * @param graph - Async source graph
956
- * @param seeds - Seed nodes for expansion
956
+ * @param seeds - Seed nodes for exploration
957
957
  * @param config - Expansion and async runner configuration
958
- * @returns Promise resolving to the expansion result
958
+ * @returns Promise resolving to the exploration result
959
959
  */
960
960
  async function mazeAsync(graph, seeds, config) {
961
961
  const salienceCounts = /* @__PURE__ */ new Map();
@@ -984,7 +984,7 @@ async function mazeAsync(graph, seeds, config) {
984
984
  });
985
985
  }
986
986
  //#endregion
987
- //#region src/expansion/tide.ts
987
+ //#region src/exploration/tide.ts
988
988
  /**
989
989
  * TIDE priority function.
990
990
  *
@@ -998,13 +998,13 @@ function tidePriority(nodeId, context) {
998
998
  return totalDegree;
999
999
  }
1000
1000
  /**
1001
- * Run TIDE expansion algorithm.
1001
+ * Run TIDE exploration algorithm.
1002
1002
  *
1003
1003
  * Expands from seeds prioritising low-degree edges first.
1004
1004
  * Useful for avoiding hubs and exploring sparse regions.
1005
1005
  *
1006
1006
  * @param graph - Source graph
1007
- * @param seeds - Seed nodes for expansion
1007
+ * @param seeds - Seed nodes for exploration
1008
1008
  * @param config - Expansion configuration
1009
1009
  * @returns Expansion result with discovered paths
1010
1010
  */
@@ -1015,7 +1015,7 @@ function tide(graph, seeds, config) {
1015
1015
  });
1016
1016
  }
1017
1017
  /**
1018
- * Run TIDE expansion asynchronously.
1018
+ * Run TIDE exploration asynchronously.
1019
1019
  *
1020
1020
  * Note: the TIDE priority function accesses `context.graph` to retrieve
1021
1021
  * neighbour lists and per-neighbour degrees. Full async equivalence
@@ -1023,9 +1023,9 @@ function tide(graph, seeds, config) {
1023
1023
  * establishes the async API surface.
1024
1024
  *
1025
1025
  * @param graph - Async source graph
1026
- * @param seeds - Seed nodes for expansion
1026
+ * @param seeds - Seed nodes for exploration
1027
1027
  * @param config - Expansion and async runner configuration
1028
- * @returns Promise resolving to the expansion result
1028
+ * @returns Promise resolving to the exploration result
1029
1029
  */
1030
1030
  async function tideAsync(graph, seeds, config) {
1031
1031
  return baseAsync(graph, seeds, {
@@ -1034,7 +1034,7 @@ async function tideAsync(graph, seeds, config) {
1034
1034
  });
1035
1035
  }
1036
1036
  //#endregion
1037
- //#region src/expansion/lace.ts
1037
+ //#region src/exploration/lace.ts
1038
1038
  /**
1039
1039
  * LACE priority function.
1040
1040
  *
@@ -1045,13 +1045,13 @@ function lacePriority(nodeId, context, mi) {
1045
1045
  return 1 - avgFrontierMI(context.graph, nodeId, context, mi);
1046
1046
  }
1047
1047
  /**
1048
- * Run LACE expansion algorithm.
1048
+ * Run LACE exploration algorithm.
1049
1049
  *
1050
1050
  * Expands from seeds prioritising high-MI edges.
1051
1051
  * Useful for finding paths with strong semantic associations.
1052
1052
  *
1053
1053
  * @param graph - Source graph
1054
- * @param seeds - Seed nodes for expansion
1054
+ * @param seeds - Seed nodes for exploration
1055
1055
  * @param config - Expansion configuration with MI function
1056
1056
  * @returns Expansion result with discovered paths
1057
1057
  */
@@ -1064,7 +1064,7 @@ function lace(graph, seeds, config) {
1064
1064
  });
1065
1065
  }
1066
1066
  /**
1067
- * Run LACE expansion asynchronously.
1067
+ * Run LACE exploration asynchronously.
1068
1068
  *
1069
1069
  * Note: the LACE priority function accesses `context.graph` via
1070
1070
  * `avgFrontierMI`. Full async equivalence requires PriorityContext
@@ -1072,9 +1072,9 @@ function lace(graph, seeds, config) {
1072
1072
  * API surface.
1073
1073
  *
1074
1074
  * @param graph - Async source graph
1075
- * @param seeds - Seed nodes for expansion
1075
+ * @param seeds - Seed nodes for exploration
1076
1076
  * @param config - LACE configuration combined with async runner options
1077
- * @returns Promise resolving to the expansion result
1077
+ * @returns Promise resolving to the exploration result
1078
1078
  */
1079
1079
  async function laceAsync(graph, seeds, config) {
1080
1080
  const { mi = jaccard, ...restConfig } = config ?? {};
@@ -1085,7 +1085,7 @@ async function laceAsync(graph, seeds, config) {
1085
1085
  });
1086
1086
  }
1087
1087
  /**
1088
- * Batch priority function for LACE expansion.
1088
+ * Batch priority function for LACE exploration.
1089
1089
  *
1090
1090
  * Computes average MI between each candidate and all nodes visited by the
1091
1091
  * same frontier in a single batch operation. More efficient than computing
@@ -1118,7 +1118,7 @@ function laceWithBatchPriority(config) {
1118
1118
  };
1119
1119
  }
1120
1120
  //#endregion
1121
- //#region src/expansion/warp.ts
1121
+ //#region src/exploration/warp.ts
1122
1122
  /**
1123
1123
  * WARP priority function.
1124
1124
  *
@@ -1133,13 +1133,13 @@ function warpPriority(nodeId, context) {
1133
1133
  return 1 / (1 + bridgeScore);
1134
1134
  }
1135
1135
  /**
1136
- * Run WARP expansion algorithm.
1136
+ * Run WARP exploration algorithm.
1137
1137
  *
1138
1138
  * Expands from seeds prioritising bridge nodes.
1139
1139
  * Useful for finding paths through structurally important nodes.
1140
1140
  *
1141
1141
  * @param graph - Source graph
1142
- * @param seeds - Seed nodes for expansion
1142
+ * @param seeds - Seed nodes for exploration
1143
1143
  * @param config - Expansion configuration
1144
1144
  * @returns Expansion result with discovered paths
1145
1145
  */
@@ -1150,7 +1150,7 @@ function warp(graph, seeds, config) {
1150
1150
  });
1151
1151
  }
1152
1152
  /**
1153
- * Run WARP expansion asynchronously.
1153
+ * Run WARP exploration asynchronously.
1154
1154
  *
1155
1155
  * Note: the WARP priority function accesses `context.graph` via
1156
1156
  * `countCrossFrontierNeighbours`. Full async equivalence requires
@@ -1158,9 +1158,9 @@ function warp(graph, seeds, config) {
1158
1158
  * establishes the async API surface.
1159
1159
  *
1160
1160
  * @param graph - Async source graph
1161
- * @param seeds - Seed nodes for expansion
1161
+ * @param seeds - Seed nodes for exploration
1162
1162
  * @param config - Expansion and async runner configuration
1163
- * @returns Promise resolving to the expansion result
1163
+ * @returns Promise resolving to the exploration result
1164
1164
  */
1165
1165
  async function warpAsync(graph, seeds, config) {
1166
1166
  return baseAsync(graph, seeds, {
@@ -1169,7 +1169,7 @@ async function warpAsync(graph, seeds, config) {
1169
1169
  });
1170
1170
  }
1171
1171
  //#endregion
1172
- //#region src/expansion/fuse.ts
1172
+ //#region src/exploration/fuse.ts
1173
1173
  /**
1174
1174
  * FUSE priority function.
1175
1175
  *
@@ -1182,13 +1182,13 @@ function fusePriority(nodeId, context, mi, salienceWeight) {
1182
1182
  return (1 - salienceWeight) * context.degree + salienceWeight * (1 - avgSalience);
1183
1183
  }
1184
1184
  /**
1185
- * Run FUSE expansion algorithm.
1185
+ * Run FUSE exploration algorithm.
1186
1186
  *
1187
1187
  * Combines structural exploration with semantic salience.
1188
1188
  * Useful for finding paths that are both short and semantically meaningful.
1189
1189
  *
1190
1190
  * @param graph - Source graph
1191
- * @param seeds - Seed nodes for expansion
1191
+ * @param seeds - Seed nodes for exploration
1192
1192
  * @param config - Expansion configuration with MI function
1193
1193
  * @returns Expansion result with discovered paths
1194
1194
  */
@@ -1201,7 +1201,7 @@ function fuse(graph, seeds, config) {
1201
1201
  });
1202
1202
  }
1203
1203
  /**
1204
- * Run FUSE expansion asynchronously.
1204
+ * Run FUSE exploration asynchronously.
1205
1205
  *
1206
1206
  * Note: the FUSE priority function accesses `context.graph` via
1207
1207
  * `avgFrontierMI`. Full async equivalence requires PriorityContext
@@ -1209,9 +1209,9 @@ function fuse(graph, seeds, config) {
1209
1209
  * API surface.
1210
1210
  *
1211
1211
  * @param graph - Async source graph
1212
- * @param seeds - Seed nodes for expansion
1212
+ * @param seeds - Seed nodes for exploration
1213
1213
  * @param config - FUSE configuration combined with async runner options
1214
- * @returns Promise resolving to the expansion result
1214
+ * @returns Promise resolving to the exploration result
1215
1215
  */
1216
1216
  async function fuseAsync(graph, seeds, config) {
1217
1217
  const { mi = jaccard, salienceWeight = .5, ...restConfig } = config ?? {};
@@ -1262,7 +1262,7 @@ function fuseWithBatchPriority(config) {
1262
1262
  };
1263
1263
  }
1264
1264
  //#endregion
1265
- //#region src/expansion/sift.ts
1265
+ //#region src/exploration/sift.ts
1266
1266
  /**
1267
1267
  * REACH (SIFT) priority function.
1268
1268
  *
@@ -1275,13 +1275,13 @@ function siftPriority(nodeId, context, mi, miThreshold) {
1275
1275
  else return context.degree + 100;
1276
1276
  }
1277
1277
  /**
1278
- * Run SIFT expansion algorithm.
1278
+ * Run SIFT exploration algorithm.
1279
1279
  *
1280
- * Two-phase adaptive expansion that learns MI thresholds
1281
- * from initial sampling, then uses them for guided expansion.
1280
+ * Two-phase adaptive exploration that learns MI thresholds
1281
+ * from initial sampling, then uses them for guided exploration.
1282
1282
  *
1283
1283
  * @param graph - Source graph
1284
- * @param seeds - Seed nodes for expansion
1284
+ * @param seeds - Seed nodes for exploration
1285
1285
  * @param config - Expansion configuration
1286
1286
  * @returns Expansion result with discovered paths
1287
1287
  */
@@ -1294,7 +1294,7 @@ function sift(graph, seeds, config) {
1294
1294
  });
1295
1295
  }
1296
1296
  /**
1297
- * Run SIFT expansion asynchronously.
1297
+ * Run SIFT exploration asynchronously.
1298
1298
  *
1299
1299
  * Note: the SIFT priority function accesses `context.graph` via
1300
1300
  * `avgFrontierMI`. Full async equivalence requires PriorityContext
@@ -1302,9 +1302,9 @@ function sift(graph, seeds, config) {
1302
1302
  * API surface.
1303
1303
  *
1304
1304
  * @param graph - Async source graph
1305
- * @param seeds - Seed nodes for expansion
1305
+ * @param seeds - Seed nodes for exploration
1306
1306
  * @param config - SIFT (REACHConfig) configuration combined with async runner options
1307
- * @returns Promise resolving to the expansion result
1307
+ * @returns Promise resolving to the exploration result
1308
1308
  */
1309
1309
  async function siftAsync(graph, seeds, config) {
1310
1310
  const { mi = jaccard, miThreshold = .25, ...restConfig } = config ?? {};
@@ -1356,7 +1356,7 @@ function siftWithBatchPriority(config) {
1356
1356
  };
1357
1357
  }
1358
1358
  //#endregion
1359
- //#region src/expansion/flux.ts
1359
+ //#region src/exploration/flux.ts
1360
1360
  /**
1361
1361
  * Compute local density around a node.
1362
1362
  */
@@ -1392,14 +1392,14 @@ function fluxPriority(nodeId, context, densityThreshold, bridgeThreshold) {
1392
1392
  else return degree;
1393
1393
  }
1394
1394
  /**
1395
- * Run FLUX expansion algorithm.
1395
+ * Run FLUX exploration algorithm.
1396
1396
  *
1397
- * Adaptively switches between expansion strategies based on
1397
+ * Adaptively switches between exploration strategies based on
1398
1398
  * local graph structure. Useful for heterogeneous graphs
1399
1399
  * with varying density.
1400
1400
  *
1401
1401
  * @param graph - Source graph
1402
- * @param seeds - Seed nodes for expansion
1402
+ * @param seeds - Seed nodes for exploration
1403
1403
  * @param config - Expansion configuration
1404
1404
  * @returns Expansion result with discovered paths
1405
1405
  */
@@ -1412,7 +1412,7 @@ function flux(graph, seeds, config) {
1412
1412
  });
1413
1413
  }
1414
1414
  /**
1415
- * Run FLUX expansion asynchronously.
1415
+ * Run FLUX exploration asynchronously.
1416
1416
  *
1417
1417
  * Note: the FLUX priority function accesses `context.graph` to compute
1418
1418
  * local density and cross-frontier bridge scores. Full async equivalence
@@ -1420,9 +1420,9 @@ function flux(graph, seeds, config) {
1420
1420
  * establishes the async API surface.
1421
1421
  *
1422
1422
  * @param graph - Async source graph
1423
- * @param seeds - Seed nodes for expansion
1423
+ * @param seeds - Seed nodes for exploration
1424
1424
  * @param config - FLUX (MAZEConfig) configuration combined with async runner options
1425
- * @returns Promise resolving to the expansion result
1425
+ * @returns Promise resolving to the exploration result
1426
1426
  */
1427
1427
  async function fluxAsync(graph, seeds, config) {
1428
1428
  const { densityThreshold = .5, bridgeThreshold = .3, ...restConfig } = config ?? {};
@@ -1433,7 +1433,7 @@ async function fluxAsync(graph, seeds, config) {
1433
1433
  });
1434
1434
  }
1435
1435
  //#endregion
1436
- //#region src/expansion/standard-bfs.ts
1436
+ //#region src/exploration/standard-bfs.ts
1437
1437
  /**
1438
1438
  * BFS priority: discovery iteration order (FIFO).
1439
1439
  */
@@ -1441,10 +1441,10 @@ function bfsPriority(_nodeId, context) {
1441
1441
  return context.iteration;
1442
1442
  }
1443
1443
  /**
1444
- * Run standard BFS expansion (FIFO discovery order).
1444
+ * Run standard BFS exploration (FIFO discovery order).
1445
1445
  *
1446
1446
  * @param graph - Source graph
1447
- * @param seeds - Seed nodes for expansion
1447
+ * @param seeds - Seed nodes for exploration
1448
1448
  * @param config - Expansion configuration
1449
1449
  * @returns Expansion result with discovered paths
1450
1450
  */
@@ -1455,12 +1455,12 @@ function standardBfs(graph, seeds, config) {
1455
1455
  });
1456
1456
  }
1457
1457
  /**
1458
- * Run standard BFS expansion asynchronously (FIFO discovery order).
1458
+ * Run standard BFS exploration asynchronously (FIFO discovery order).
1459
1459
  *
1460
1460
  * @param graph - Async source graph
1461
- * @param seeds - Seed nodes for expansion
1461
+ * @param seeds - Seed nodes for exploration
1462
1462
  * @param config - Expansion and async runner configuration
1463
- * @returns Promise resolving to the expansion result
1463
+ * @returns Promise resolving to the exploration result
1464
1464
  */
1465
1465
  async function standardBfsAsync(graph, seeds, config) {
1466
1466
  return baseAsync(graph, seeds, {
@@ -1469,7 +1469,7 @@ async function standardBfsAsync(graph, seeds, config) {
1469
1469
  });
1470
1470
  }
1471
1471
  //#endregion
1472
- //#region src/expansion/frontier-balanced.ts
1472
+ //#region src/exploration/frontier-balanced.ts
1473
1473
  /**
1474
1474
  * Frontier-balanced priority: frontier index dominates, then discovery iteration.
1475
1475
  * Scales frontier index by 1e9 to ensure round-robin ordering across frontiers.
@@ -1478,10 +1478,10 @@ function balancedPriority(_nodeId, context) {
1478
1478
  return context.frontierIndex * 1e9 + context.iteration;
1479
1479
  }
1480
1480
  /**
1481
- * Run frontier-balanced expansion (round-robin across frontiers).
1481
+ * Run frontier-balanced exploration (round-robin across frontiers).
1482
1482
  *
1483
1483
  * @param graph - Source graph
1484
- * @param seeds - Seed nodes for expansion
1484
+ * @param seeds - Seed nodes for exploration
1485
1485
  * @param config - Expansion configuration
1486
1486
  * @returns Expansion result with discovered paths
1487
1487
  */
@@ -1492,12 +1492,12 @@ function frontierBalanced(graph, seeds, config) {
1492
1492
  });
1493
1493
  }
1494
1494
  /**
1495
- * Run frontier-balanced expansion asynchronously (round-robin across frontiers).
1495
+ * Run frontier-balanced exploration asynchronously (round-robin across frontiers).
1496
1496
  *
1497
1497
  * @param graph - Async source graph
1498
- * @param seeds - Seed nodes for expansion
1498
+ * @param seeds - Seed nodes for exploration
1499
1499
  * @param config - Expansion and async runner configuration
1500
- * @returns Promise resolving to the expansion result
1500
+ * @returns Promise resolving to the exploration result
1501
1501
  */
1502
1502
  async function frontierBalancedAsync(graph, seeds, config) {
1503
1503
  return baseAsync(graph, seeds, {
@@ -1506,7 +1506,7 @@ async function frontierBalancedAsync(graph, seeds, config) {
1506
1506
  });
1507
1507
  }
1508
1508
  //#endregion
1509
- //#region src/expansion/random-priority.ts
1509
+ //#region src/exploration/random-priority.ts
1510
1510
  /**
1511
1511
  * Deterministic seeded random number generator.
1512
1512
  * Uses FNV-1a-like hash for input → [0, 1] output.
@@ -1530,10 +1530,10 @@ function makeRandomPriorityFn(seed) {
1530
1530
  return (nodeId) => seededRandom(nodeId, seed);
1531
1531
  }
1532
1532
  /**
1533
- * Run random-priority expansion (null hypothesis baseline).
1533
+ * Run random-priority exploration (null hypothesis baseline).
1534
1534
  *
1535
1535
  * @param graph - Source graph
1536
- * @param seeds - Seed nodes for expansion
1536
+ * @param seeds - Seed nodes for exploration
1537
1537
  * @param config - Expansion configuration
1538
1538
  * @returns Expansion result with discovered paths
1539
1539
  */
@@ -1545,12 +1545,12 @@ function randomPriority(graph, seeds, config) {
1545
1545
  });
1546
1546
  }
1547
1547
  /**
1548
- * Run random-priority expansion asynchronously (null hypothesis baseline).
1548
+ * Run random-priority exploration asynchronously (null hypothesis baseline).
1549
1549
  *
1550
1550
  * @param graph - Async source graph
1551
- * @param seeds - Seed nodes for expansion
1551
+ * @param seeds - Seed nodes for exploration
1552
1552
  * @param config - Expansion and async runner configuration
1553
- * @returns Promise resolving to the expansion result
1553
+ * @returns Promise resolving to the exploration result
1554
1554
  */
1555
1555
  async function randomPriorityAsync(graph, seeds, config) {
1556
1556
  const { seed = 0 } = config ?? {};
@@ -1560,7 +1560,7 @@ async function randomPriorityAsync(graph, seeds, config) {
1560
1560
  });
1561
1561
  }
1562
1562
  //#endregion
1563
- //#region src/expansion/dfs-priority.ts
1563
+ //#region src/exploration/dfs-priority.ts
1564
1564
  /**
1565
1565
  * DFS priority function: negative iteration produces LIFO ordering.
1566
1566
  *
@@ -1571,14 +1571,14 @@ function dfsPriorityFn(_nodeId, context) {
1571
1571
  return -context.iteration;
1572
1572
  }
1573
1573
  /**
1574
- * Run DFS-priority expansion (LIFO discovery order).
1574
+ * Run DFS-priority exploration (LIFO discovery order).
1575
1575
  *
1576
1576
  * Uses the BASE framework with a negative-iteration priority function,
1577
1577
  * which causes the most recently discovered node to be expanded first —
1578
1578
  * equivalent to depth-first search behaviour.
1579
1579
  *
1580
1580
  * @param graph - Source graph
1581
- * @param seeds - Seed nodes for expansion
1581
+ * @param seeds - Seed nodes for exploration
1582
1582
  * @param config - Expansion configuration
1583
1583
  * @returns Expansion result with discovered paths
1584
1584
  */
@@ -1589,12 +1589,12 @@ function dfsPriority(graph, seeds, config) {
1589
1589
  });
1590
1590
  }
1591
1591
  /**
1592
- * Run DFS-priority expansion asynchronously (LIFO discovery order).
1592
+ * Run DFS-priority exploration asynchronously (LIFO discovery order).
1593
1593
  *
1594
1594
  * @param graph - Async source graph
1595
- * @param seeds - Seed nodes for expansion
1595
+ * @param seeds - Seed nodes for exploration
1596
1596
  * @param config - Expansion and async runner configuration
1597
- * @returns Promise resolving to the expansion result
1597
+ * @returns Promise resolving to the exploration result
1598
1598
  */
1599
1599
  async function dfsPriorityAsync(graph, seeds, config) {
1600
1600
  return baseAsync(graph, seeds, {
@@ -1603,16 +1603,16 @@ async function dfsPriorityAsync(graph, seeds, config) {
1603
1603
  });
1604
1604
  }
1605
1605
  //#endregion
1606
- //#region src/expansion/k-hop.ts
1606
+ //#region src/exploration/k-hop.ts
1607
1607
  /**
1608
- * Run k-hop expansion (fixed-depth BFS).
1608
+ * Run k-hop exploration (fixed-depth BFS).
1609
1609
  *
1610
1610
  * Explores all nodes reachable within exactly k hops of any seed using
1611
1611
  * breadth-first search. Paths between seeds are detected when a node
1612
1612
  * is reached by frontiers from two different seeds.
1613
1613
  *
1614
1614
  * @param graph - Source graph
1615
- * @param seeds - Seed nodes for expansion
1615
+ * @param seeds - Seed nodes for exploration
1616
1616
  * @param config - K-hop configuration (k defaults to 2)
1617
1617
  * @returns Expansion result with discovered paths
1618
1618
  */
@@ -1766,7 +1766,7 @@ function emptyResult$1(startTime) {
1766
1766
  };
1767
1767
  }
1768
1768
  //#endregion
1769
- //#region src/expansion/random-walk.ts
1769
+ //#region src/exploration/random-walk.ts
1770
1770
  /**
1771
1771
  * Mulberry32 seeded PRNG — fast, compact, and high-quality for simulation.
1772
1772
  *
@@ -1786,7 +1786,7 @@ function mulberry32(seed) {
1786
1786
  };
1787
1787
  }
1788
1788
  /**
1789
- * Run random-walk-with-restart expansion.
1789
+ * Run random-walk-with-restart exploration.
1790
1790
  *
1791
1791
  * For each seed, performs `walks` independent random walks of up to
1792
1792
  * `walkLength` steps. At each step the walk either restarts (with
@@ -1796,10 +1796,10 @@ function mulberry32(seed) {
1796
1796
  * Inter-seed paths are detected when a walk reaches a node that was
1797
1797
  * previously reached by a walk originating from a different seed.
1798
1798
  * The recorded path contains only the two seed endpoints rather than
1799
- * the full walk trajectory, consistent with the ExpansionPath contract.
1799
+ * the full walk trajectory, consistent with the ExplorationPath contract.
1800
1800
  *
1801
1801
  * @param graph - Source graph
1802
- * @param seeds - Seed nodes for expansion
1802
+ * @param seeds - Seed nodes for exploration
1803
1803
  * @param config - Random walk configuration
1804
1804
  * @returns Expansion result with discovered paths
1805
1805
  */
@@ -1916,4 +1916,4 @@ function emptyResult(startTime) {
1916
1916
  //#endregion
1917
1917
  export { tide as A, edge as B, fuseWithBatchPriority as C, laceAsync as D, lace as E, reachAsync as F, domeAsync as G, hae as H, sage as I, base as J, domeHighDegree as K, sageAsync as L, maze as M, mazeAsync as N, laceBatchPriority as O, reach as P, pipe as R, fuseBatchPriority as S, warpAsync as T, haeAsync as U, edgeAsync as V, dome as W, baseAsync as Y, siftBatchPriority as _, dfsPriorityFn as a, fuse as b, frontierBalanced as c, standardBfsAsync as d, flux as f, siftAsync as g, sift as h, dfsPriorityAsync as i, tideAsync as j, laceWithBatchPriority as k, frontierBalancedAsync as l, createSiftBatchPriority as m, kHop as n, randomPriority as o, fluxAsync as p, domeHighDegreeAsync as q, dfsPriority as r, randomPriorityAsync as s, randomWalk as t, standardBfs as u, siftWithBatchPriority as v, warp as w, fuseAsync as x, createFuseBatchPriority as y, pipeAsync as z };
1918
1918
 
1919
- //# sourceMappingURL=expansion-CZLNK6Pr.js.map
1919
+ //# sourceMappingURL=exploration-DKjRNxS5.js.map