@graphty/webgpu-graph-algorithms 0.5.1 → 0.6.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 (243) hide show
  1. package/README.md +98 -52
  2. package/dist/browser.js +1 -1
  3. package/dist/chunks/{context-BR7fx3vR.js → context-BXqgCifx.js} +190 -40
  4. package/dist/chunks/context-BXqgCifx.js.map +1 -0
  5. package/dist/node.js +1 -1
  6. package/dist/src/algorithms/components.d.ts.map +1 -1
  7. package/dist/src/algorithms/components.js +12 -13
  8. package/dist/src/algorithms/components.js.map +1 -1
  9. package/dist/src/algorithms/degree.d.ts +6 -8
  10. package/dist/src/algorithms/degree.d.ts.map +1 -1
  11. package/dist/src/algorithms/degree.js +58 -35
  12. package/dist/src/algorithms/degree.js.map +1 -1
  13. package/dist/src/algorithms/pagerank.d.ts.map +1 -1
  14. package/dist/src/algorithms/pagerank.js +16 -14
  15. package/dist/src/algorithms/pagerank.js.map +1 -1
  16. package/dist/src/algorithms/power-iteration.d.ts +2 -2
  17. package/dist/src/algorithms/power-iteration.d.ts.map +1 -1
  18. package/dist/src/algorithms/power-iteration.js +17 -14
  19. package/dist/src/algorithms/power-iteration.js.map +1 -1
  20. package/dist/src/constants.d.ts +38 -8
  21. package/dist/src/constants.d.ts.map +1 -1
  22. package/dist/src/constants.js +38 -8
  23. package/dist/src/constants.js.map +1 -1
  24. package/dist/src/errors.d.ts +3 -2
  25. package/dist/src/errors.d.ts.map +1 -1
  26. package/dist/src/errors.js +2 -1
  27. package/dist/src/errors.js.map +1 -1
  28. package/dist/src/index.d.ts +6 -4
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +8 -3
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/kernel/dispatch.d.ts +8 -3
  33. package/dist/src/kernel/dispatch.d.ts.map +1 -1
  34. package/dist/src/kernel/dispatch.js +18 -7
  35. package/dist/src/kernel/dispatch.js.map +1 -1
  36. package/dist/src/kernel/kernel.d.ts +30 -1
  37. package/dist/src/kernel/kernel.d.ts.map +1 -1
  38. package/dist/src/kernel/kernel.js +49 -5
  39. package/dist/src/kernel/kernel.js.map +1 -1
  40. package/dist/src/kernel/prelude.d.ts.map +1 -1
  41. package/dist/src/kernel/prelude.js +6 -1
  42. package/dist/src/kernel/prelude.js.map +1 -1
  43. package/dist/src/kernel/profiler.d.ts +15 -3
  44. package/dist/src/kernel/profiler.d.ts.map +1 -1
  45. package/dist/src/kernel/profiler.js +27 -4
  46. package/dist/src/kernel/profiler.js.map +1 -1
  47. package/dist/src/kernels.d.ts +17 -7
  48. package/dist/src/kernels.d.ts.map +1 -1
  49. package/dist/src/kernels.js +323 -16
  50. package/dist/src/kernels.js.map +1 -1
  51. package/dist/src/layouts/calibrate.d.ts +51 -0
  52. package/dist/src/layouts/calibrate.d.ts.map +1 -0
  53. package/dist/src/layouts/calibrate.js +172 -0
  54. package/dist/src/layouts/calibrate.js.map +1 -0
  55. package/dist/src/layouts/force-simulation.d.ts +39 -4
  56. package/dist/src/layouts/force-simulation.d.ts.map +1 -1
  57. package/dist/src/layouts/force-simulation.js +71 -19
  58. package/dist/src/layouts/force-simulation.js.map +1 -1
  59. package/dist/src/layouts/forceatlas2.d.ts +107 -36
  60. package/dist/src/layouts/forceatlas2.d.ts.map +1 -1
  61. package/dist/src/layouts/forceatlas2.js +296 -100
  62. package/dist/src/layouts/forceatlas2.js.map +1 -1
  63. package/dist/src/layouts/fruchterman-reingold.d.ts +73 -27
  64. package/dist/src/layouts/fruchterman-reingold.d.ts.map +1 -1
  65. package/dist/src/layouts/fruchterman-reingold.js +230 -70
  66. package/dist/src/layouts/fruchterman-reingold.js.map +1 -1
  67. package/dist/src/layouts/model-common.d.ts +41 -3
  68. package/dist/src/layouts/model-common.d.ts.map +1 -1
  69. package/dist/src/layouts/model-common.js +74 -3
  70. package/dist/src/layouts/model-common.js.map +1 -1
  71. package/dist/src/layouts/repulsion-grid.d.ts +152 -0
  72. package/dist/src/layouts/repulsion-grid.d.ts.map +1 -0
  73. package/dist/src/layouts/repulsion-grid.js +318 -0
  74. package/dist/src/layouts/repulsion-grid.js.map +1 -0
  75. package/dist/src/layouts/spring-electrical.d.ts +75 -30
  76. package/dist/src/layouts/spring-electrical.d.ts.map +1 -1
  77. package/dist/src/layouts/spring-electrical.js +231 -74
  78. package/dist/src/layouts/spring-electrical.js.map +1 -1
  79. package/dist/src/memory/residency.d.ts +6 -2
  80. package/dist/src/memory/residency.d.ts.map +1 -1
  81. package/dist/src/memory/residency.js +84 -14
  82. package/dist/src/memory/residency.js.map +1 -1
  83. package/dist/src/primitives/core-shape.d.ts +38 -2
  84. package/dist/src/primitives/core-shape.d.ts.map +1 -1
  85. package/dist/src/primitives/core-shape.js +71 -3
  86. package/dist/src/primitives/core-shape.js.map +1 -1
  87. package/dist/src/primitives/grid-pyramid.d.ts +71 -0
  88. package/dist/src/primitives/grid-pyramid.d.ts.map +1 -0
  89. package/dist/src/primitives/grid-pyramid.js +143 -0
  90. package/dist/src/primitives/grid-pyramid.js.map +1 -0
  91. package/dist/src/primitives/grid.d.ts +118 -0
  92. package/dist/src/primitives/grid.d.ts.map +1 -0
  93. package/dist/src/primitives/grid.js +225 -0
  94. package/dist/src/primitives/grid.js.map +1 -0
  95. package/dist/src/primitives/histogram.d.ts +67 -0
  96. package/dist/src/primitives/histogram.d.ts.map +1 -0
  97. package/dist/src/primitives/histogram.js +190 -0
  98. package/dist/src/primitives/histogram.js.map +1 -0
  99. package/dist/src/primitives/radix-sort.d.ts +75 -0
  100. package/dist/src/primitives/radix-sort.d.ts.map +1 -0
  101. package/dist/src/primitives/radix-sort.js +168 -0
  102. package/dist/src/primitives/radix-sort.js.map +1 -0
  103. package/dist/src/primitives/scan.d.ts +44 -0
  104. package/dist/src/primitives/scan.d.ts.map +1 -0
  105. package/dist/src/primitives/scan.js +151 -0
  106. package/dist/src/primitives/scan.js.map +1 -0
  107. package/dist/src/primitives/segmented-reduce.d.ts +25 -17
  108. package/dist/src/primitives/segmented-reduce.d.ts.map +1 -1
  109. package/dist/src/primitives/segmented-reduce.js +166 -47
  110. package/dist/src/primitives/segmented-reduce.js.map +1 -1
  111. package/dist/src/primitives/spmv.d.ts +18 -14
  112. package/dist/src/primitives/spmv.d.ts.map +1 -1
  113. package/dist/src/primitives/spmv.js +94 -58
  114. package/dist/src/primitives/spmv.js.map +1 -1
  115. package/dist/src/primitives/verify.d.ts +49 -0
  116. package/dist/src/primitives/verify.d.ts.map +1 -0
  117. package/dist/src/primitives/verify.js +229 -0
  118. package/dist/src/primitives/verify.js.map +1 -0
  119. package/dist/src/types/context.d.ts +53 -0
  120. package/dist/src/types/context.d.ts.map +1 -1
  121. package/dist/src/types/layout.d.ts +20 -0
  122. package/dist/src/types/layout.d.ts.map +1 -1
  123. package/dist/src/wgsl/counting-scatter.wgsl.d.ts +8 -0
  124. package/dist/src/wgsl/counting-scatter.wgsl.d.ts.map +1 -0
  125. package/dist/src/wgsl/counting-scatter.wgsl.js +17 -0
  126. package/dist/src/wgsl/counting-scatter.wgsl.js.map +1 -0
  127. package/dist/src/wgsl/fa2-attraction.wgsl.d.ts +23 -11
  128. package/dist/src/wgsl/fa2-attraction.wgsl.d.ts.map +1 -1
  129. package/dist/src/wgsl/fa2-attraction.wgsl.js +98 -20
  130. package/dist/src/wgsl/fa2-attraction.wgsl.js.map +1 -1
  131. package/dist/src/wgsl/fa2-stats-finalize.wgsl.d.ts +6 -2
  132. package/dist/src/wgsl/fa2-stats-finalize.wgsl.d.ts.map +1 -1
  133. package/dist/src/wgsl/fa2-stats-finalize.wgsl.js +22 -1
  134. package/dist/src/wgsl/fa2-stats-finalize.wgsl.js.map +1 -1
  135. package/dist/src/wgsl/grid-cell-key.wgsl.d.ts +8 -0
  136. package/dist/src/wgsl/grid-cell-key.wgsl.d.ts.map +1 -0
  137. package/dist/src/wgsl/grid-cell-key.wgsl.js +30 -0
  138. package/dist/src/wgsl/grid-cell-key.wgsl.js.map +1 -0
  139. package/dist/src/wgsl/grid-centroid-hub.wgsl.d.ts +8 -0
  140. package/dist/src/wgsl/grid-centroid-hub.wgsl.d.ts.map +1 -0
  141. package/dist/src/wgsl/grid-centroid-hub.wgsl.js +29 -0
  142. package/dist/src/wgsl/grid-centroid-hub.wgsl.js.map +1 -0
  143. package/dist/src/wgsl/grid-centroid.wgsl.d.ts +8 -0
  144. package/dist/src/wgsl/grid-centroid.wgsl.d.ts.map +1 -0
  145. package/dist/src/wgsl/grid-centroid.wgsl.js +29 -0
  146. package/dist/src/wgsl/grid-centroid.wgsl.js.map +1 -0
  147. package/dist/src/wgsl/grid-downsample.wgsl.d.ts +7 -0
  148. package/dist/src/wgsl/grid-downsample.wgsl.d.ts.map +1 -0
  149. package/dist/src/wgsl/grid-downsample.wgsl.js +28 -0
  150. package/dist/src/wgsl/grid-downsample.wgsl.js.map +1 -0
  151. package/dist/src/wgsl/grid-far-field.wgsl.d.ts +13 -0
  152. package/dist/src/wgsl/grid-far-field.wgsl.d.ts.map +1 -0
  153. package/dist/src/wgsl/grid-far-field.wgsl.js +98 -0
  154. package/dist/src/wgsl/grid-far-field.wgsl.js.map +1 -0
  155. package/dist/src/wgsl/grid-near-field.wgsl.d.ts +19 -0
  156. package/dist/src/wgsl/grid-near-field.wgsl.d.ts.map +1 -0
  157. package/dist/src/wgsl/grid-near-field.wgsl.js +129 -0
  158. package/dist/src/wgsl/grid-near-field.wgsl.js.map +1 -0
  159. package/dist/src/wgsl/histogram.wgsl.d.ts +7 -0
  160. package/dist/src/wgsl/histogram.wgsl.d.ts.map +1 -0
  161. package/dist/src/wgsl/histogram.wgsl.js +15 -0
  162. package/dist/src/wgsl/histogram.wgsl.js.map +1 -0
  163. package/dist/src/wgsl/indirect-finalize.wgsl.d.ts +8 -0
  164. package/dist/src/wgsl/indirect-finalize.wgsl.d.ts.map +1 -0
  165. package/dist/src/wgsl/indirect-finalize.wgsl.js +26 -0
  166. package/dist/src/wgsl/indirect-finalize.wgsl.js.map +1 -0
  167. package/dist/src/wgsl/radix-hist.wgsl.d.ts +9 -0
  168. package/dist/src/wgsl/radix-hist.wgsl.d.ts.map +1 -0
  169. package/dist/src/wgsl/radix-hist.wgsl.js +31 -0
  170. package/dist/src/wgsl/radix-hist.wgsl.js.map +1 -0
  171. package/dist/src/wgsl/radix-scatter.wgsl.d.ts +9 -0
  172. package/dist/src/wgsl/radix-scatter.wgsl.d.ts.map +1 -0
  173. package/dist/src/wgsl/radix-scatter.wgsl.js +40 -0
  174. package/dist/src/wgsl/radix-scatter.wgsl.js.map +1 -0
  175. package/dist/src/wgsl/scan-add.wgsl.d.ts +6 -0
  176. package/dist/src/wgsl/scan-add.wgsl.d.ts.map +1 -0
  177. package/dist/src/wgsl/scan-add.wgsl.js +14 -0
  178. package/dist/src/wgsl/scan-add.wgsl.js.map +1 -0
  179. package/dist/src/wgsl/scan-block.wgsl.d.ts +8 -0
  180. package/dist/src/wgsl/scan-block.wgsl.d.ts.map +1 -0
  181. package/dist/src/wgsl/scan-block.wgsl.js +30 -0
  182. package/dist/src/wgsl/scan-block.wgsl.js.map +1 -0
  183. package/dist/src/wgsl/segmented-reduce.wgsl.d.ts +22 -8
  184. package/dist/src/wgsl/segmented-reduce.wgsl.d.ts.map +1 -1
  185. package/dist/src/wgsl/segmented-reduce.wgsl.js +84 -15
  186. package/dist/src/wgsl/segmented-reduce.wgsl.js.map +1 -1
  187. package/dist/src/wgsl/spmv-pull.wgsl.d.ts +22 -11
  188. package/dist/src/wgsl/spmv-pull.wgsl.d.ts.map +1 -1
  189. package/dist/src/wgsl/spmv-pull.wgsl.js +110 -36
  190. package/dist/src/wgsl/spmv-pull.wgsl.js.map +1 -1
  191. package/dist/tsconfig.build.tsbuildinfo +1 -1
  192. package/dist/webgpu-graph-algorithms.js +3815 -1003
  193. package/dist/webgpu-graph-algorithms.js.map +1 -1
  194. package/package.json +5 -4
  195. package/src/algorithms/components.ts +12 -16
  196. package/src/algorithms/degree.ts +58 -43
  197. package/src/algorithms/pagerank.ts +20 -18
  198. package/src/algorithms/power-iteration.ts +19 -18
  199. package/src/constants.ts +38 -8
  200. package/src/errors.ts +3 -1
  201. package/src/index.ts +14 -4
  202. package/src/kernel/dispatch.ts +18 -7
  203. package/src/kernel/kernel.ts +59 -5
  204. package/src/kernel/prelude.ts +9 -0
  205. package/src/kernel/profiler.ts +28 -4
  206. package/src/kernels.ts +356 -18
  207. package/src/layouts/calibrate.ts +187 -0
  208. package/src/layouts/force-simulation.ts +91 -23
  209. package/src/layouts/forceatlas2.ts +331 -106
  210. package/src/layouts/fruchterman-reingold.ts +255 -74
  211. package/src/layouts/model-common.ts +98 -3
  212. package/src/layouts/repulsion-grid.ts +451 -0
  213. package/src/layouts/spring-electrical.ts +257 -78
  214. package/src/memory/residency.ts +126 -20
  215. package/src/primitives/core-shape.ts +91 -4
  216. package/src/primitives/grid-pyramid.ts +221 -0
  217. package/src/primitives/grid.ts +349 -0
  218. package/src/primitives/histogram.ts +273 -0
  219. package/src/primitives/radix-sort.ts +246 -0
  220. package/src/primitives/scan.ts +197 -0
  221. package/src/primitives/segmented-reduce.ts +214 -56
  222. package/src/primitives/spmv.ts +125 -65
  223. package/src/primitives/verify.ts +249 -0
  224. package/src/types/context.ts +56 -0
  225. package/src/types/layout.ts +22 -0
  226. package/src/wgsl/counting-scatter.wgsl.ts +16 -0
  227. package/src/wgsl/fa2-attraction.wgsl.ts +98 -20
  228. package/src/wgsl/fa2-stats-finalize.wgsl.ts +22 -1
  229. package/src/wgsl/grid-cell-key.wgsl.ts +29 -0
  230. package/src/wgsl/grid-centroid-hub.wgsl.ts +28 -0
  231. package/src/wgsl/grid-centroid.wgsl.ts +28 -0
  232. package/src/wgsl/grid-downsample.wgsl.ts +27 -0
  233. package/src/wgsl/grid-far-field.wgsl.ts +97 -0
  234. package/src/wgsl/grid-near-field.wgsl.ts +128 -0
  235. package/src/wgsl/histogram.wgsl.ts +14 -0
  236. package/src/wgsl/indirect-finalize.wgsl.ts +25 -0
  237. package/src/wgsl/radix-hist.wgsl.ts +30 -0
  238. package/src/wgsl/radix-scatter.wgsl.ts +39 -0
  239. package/src/wgsl/scan-add.wgsl.ts +13 -0
  240. package/src/wgsl/scan-block.wgsl.ts +29 -0
  241. package/src/wgsl/segmented-reduce.wgsl.ts +84 -15
  242. package/src/wgsl/spmv-pull.wgsl.ts +110 -36
  243. package/dist/chunks/context-BR7fx3vR.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"forceatlas2.js","sourceRoot":"","sources":["../../../src/layouts/forceatlas2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forceatlas2.js","sourceRoot":"","sources":["../../../src/layouts/forceatlas2.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Fruchterman-Reingold on the exact repulsion tier (spec 7.20; contract 3.13): the ForceModel that ForceSimulation
3
- * drives -- the K1 K2 K3 K5 sequence per iteration and toScene per batch (no K4: no speed controller), the constant
4
- * override set (`LAW` 1 on K2 / K3, `APPLY` 1 on K5, `STATS_MODE` 1 on K1, PD-1), the per-iteration Fa2Params values
2
+ * Fruchterman-Reingold on the exact or the grid repulsion tier (spec 7.20, 7.8; contract 3.13): the ForceModel that
3
+ * ForceSimulation drives -- the K1 K2 K3 K5 sequence per iteration on the exact tier (K1 K2 G1..G7 K5 on the grid
4
+ * tier, P4-T13) and toScene per batch (no K4: no speed controller), the constant override set (`LAW` 1 on K2 / K3
5
+ * and on G6 / G7, `APPLY` 1 on K5, `STATS_MODE` 1 on K1, PD-1), the per-iteration Fa2Params values
5
6
  * with the cooling schedule's temperature (PD-5), the controller resets and the stats decoder -- plus the option
6
7
  * resolver and `createFruchtermanReingold`. The model shares FA2's four kernels, buffers and blocks: `oldForce` is
7
8
  * allocated, bound and never read (K5 compiles `SWING_MODE = 1`, PD-2 / PD-20); the mass lane is 1 for every node
@@ -15,6 +16,11 @@
15
16
  * the CPU's reheat() does. The temperature is `max(0, 0.1 - dt * (global - tempOrigin))`, dt = 0.1 / (iterations + 1);
16
17
  * at 0 nothing moves and the settle window closes the run (DEP-P5-C: the budget restarts at 0, the temperature does
17
18
  * not).
19
+ *
20
+ * The grid tier (P4-T13, PD-22) is FA2's: `RepulsionGrid` with `LAW` 1 when `tierFor(tuning, n)` says so (PD-18),
21
+ * the grid buffers from `buffers()`, K1's grid block under `gridMax > 0` (PD-14) over the model's own `hubCounters`,
22
+ * the three passes `fr-k1` / `fr-attraction` / `fr-grid` before `fa2-to-scene` (PD-16), and the union stage list
23
+ * (PD-17: `upTo` stops after the last stage recorded at or before its position; K4 is never recorded).
18
24
  */
19
25
  import { type GraphSnapshot } from "@graphty/graph-format";
20
26
  import { type GpuContext } from "../context.js";
@@ -25,6 +31,8 @@ import { type FruchtermanReingoldStats, type GpuLayoutSimulation, type GpuLayout
25
31
  import { type FruchtermanReingoldOptions, type ResolvedFruchtermanReingoldOptions } from "../types/options.js";
26
32
  import { type BufferSpec, type ForceModel, type ModelInputs, type ModelResources, type StateWriter } from "./force-simulation.js";
27
33
  import { type Overrides } from "./model-common.js";
34
+ /** The stage names of both tiers in dispatch order plus the per-batch toScene (spec 7.20; P4 PD-17: the union list; the exact tier records K1 K2 K3 K5, the grid tier K1 K2 G1..G7 K5, K4 never). */
35
+ declare const FR_STAGES: readonly ["K1", "K2", "K3", "G1", "G2", "G3", "G4", "G5", "G6", "G7", "K4", "K5", "toScene"];
28
36
  /**
29
37
  * Applies FR_DEFAULTS to the option record and validates every range (spec 7.20, 9.3). `k`: null, 0 and NaN mean the
30
38
  * auto default `1 / sqrt(n)` (the CPU's `if (!k)`, `layout/src/simulation/fruchterman-reingold.ts:140-152`); a
@@ -37,12 +45,12 @@ import { type Overrides } from "./model-common.js";
37
45
  * @returns the frozen resolved record
38
46
  */
39
47
  export declare function resolveFruchtermanReingoldOptions(options: FruchtermanReingoldOptions | undefined, previous?: ResolvedFruchtermanReingoldOptions): ResolvedFruchtermanReingoldOptions;
40
- /** The Fruchterman-Reingold model (spec 7.20: K1 K2 K3 K5 per iteration; toScene once per batch). Stages: ["K1", "K2", "K3", "K5", "toScene"]. */
48
+ /** The Fruchterman-Reingold model (spec 7.20: K1 K2 K3 K5 per iteration on the exact tier, K1 K2 G1..G7 K5 on the grid tier; toScene once per batch). Stages: the union list of PD-17. */
41
49
  export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanReingoldOptions, FruchtermanReingoldStats> {
42
50
  /** The model kind of spec 7.19. */
43
51
  readonly kind = "fruchtermanReingold";
44
52
  /** The stage names in dispatch order (the `upTo` vocabulary of recordIteration and debugRunStages). */
45
- readonly stages: readonly ["K1", "K2", "K3", "K5", "toScene"];
53
+ readonly stages: typeof FR_STAGES;
46
54
  /** Fa2Params: the per-iteration uniform block (the simulation writes the shared fields into it). */
47
55
  readonly params: UniformBlock;
48
56
  /** Fa2State: the state header block. */
@@ -59,6 +67,8 @@ export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanR
59
67
  private pendingReheat;
60
68
  private resources;
61
69
  private bound;
70
+ /** The grid of the load inputs() last resolved (null on the exact tier): onLoad() writes its frame, specs() lists its kernels. */
71
+ private nextGrid;
62
72
  /** The K1-K5 compute pass of the batch being recorded, keyed by CommandBatch.id (one pass per batch, contract 4.4). */
63
73
  private openPass;
64
74
  /**
@@ -68,17 +78,19 @@ export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanR
68
78
  */
69
79
  constructor(tuning: ResolvedLayoutTuning, resolved: ResolvedFruchtermanReingoldOptions);
70
80
  /**
71
- * force 12n and oldForce 12n (zeroed; bound and never read, PD-2) plus the 256-byte FillParams uniform buffer the
72
- * fill dispatch reads. n = 0 reports one node's worth of bytes so no zero-length buffer is ever created.
81
+ * force 12n and oldForce 12n (zeroed; bound and never read, PD-2), the 256-byte FillParams uniform buffer the
82
+ * fill dispatch reads, the 16-byte `hubCounters` K1 binds on every tier (P4 PD-14), and the grid buffers of
83
+ * `RepulsionGrid.buffers` exactly when `tierFor(tuning, n)` is the grid tier (PD-18). n = 0 reports one node's
84
+ * worth of bytes so no zero-length buffer is ever created.
73
85
  * @param n - the node count
74
- * @param _dim - the layout dimension (the force arrays are stride 3 in both)
75
- * @returns the three model-owned buffer specs
86
+ * @param dim - the layout dimension (the force arrays are stride 3 in both; the grid's geometry differs)
87
+ * @returns the model-owned buffer specs
76
88
  */
77
- buffers(n: number, _dim: 2 | 3): readonly BufferSpec[];
89
+ buffers(n: number, dim: 2 | 3): readonly BufferSpec[];
78
90
  /**
79
91
  * Mass 1 for every node and no weights (PD-11: FR has no mass and ignores weights), the fixed mask of the
80
- * `fixed` option applied at load (PD-6). The tier rule is the simulation's (load() throws for the grid tier
81
- * before calling this).
92
+ * `fixed` option applied at load (PD-6). Also remembers the grid of this load (`tierFor(tuning, n)`, spec 7.8)
93
+ * for onLoad() and specs(): the simulation calls inputs() first, then onLoad() before bind().
82
94
  * @param s - the snapshot being loaded
83
95
  * @param options - the simulation's current option record
84
96
  * @returns the per-load inputs
@@ -92,16 +104,20 @@ export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanR
92
104
  overrides(_options: FruchtermanReingoldOptions): Overrides;
93
105
  /**
94
106
  * The six module specs of an override set in dispatch order -- K1, K2, K3, K5, toScene, fill -- each with only the
95
- * override names its entry declares (K2 also USE_PERM / HAS_WEIGHTS), for warm() and the compile matrix.
107
+ * override names its entry declares (K2 also USE_PERM / HAS_WEIGHTS), for warm() and the compile matrix,
108
+ * followed by the grid tier's specs (`RepulsionGrid.specs` under FR_GRID_OVERRIDES) when the load inputs() last
109
+ * resolved is a grid load (the pipeline key carries no geometry).
96
110
  * @param overrides - the merged override set (the model's plus USE_PERM / HAS_WEIGHTS)
97
111
  * @param _subgroups - accepted for the ForceModel interface and unused (the composer picks the twin from caps)
98
112
  * @returns the specs
99
113
  */
100
114
  specs(overrides: Overrides, _subgroups: boolean): readonly WgslModuleSpec[];
101
115
  /**
102
- * Compiles (through the cache) and binds every kernel against the buffers of this load(): K1, K2 (or the fill of
103
- * force when arcCount === 0), K3, K5, toScene; writes the FillParams { count: 3n, value: 0, mode: 0 } into the
104
- * model's uniform buffer. With n === 0 nothing is bound.
116
+ * Compiles (through the cache) and binds every kernel against the buffers of this load(): K1, K2 over the degree
117
+ * tiers through bindAttraction (or the fill of force when arcCount === 0), K3 on the exact tier or G1-G7 through
118
+ * RepulsionGrid on the grid tier (PD-18), K5, toScene; writes the FillParams { count: 3n, value: 0, mode: 0 }
119
+ * into the model's uniform buffer. With n === 0 nothing is bound. The K2 TIER 1 / 2 pipelines compile on the
120
+ * first load whose degrees need them (P4 PD-7).
105
121
  * @param resources - the graph, the shared and model buffers, the ring and the cache
106
122
  * @param overrides - the merged override set
107
123
  */
@@ -118,19 +134,45 @@ export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanR
118
134
  */
119
135
  paramsFor(iteration: number, options: FruchtermanReingoldOptions): UniformValues;
120
136
  /**
121
- * Records one iteration into the batch: K1, K2 (or the fill of force when arcCount === 0), K3, K5 in the batch's
122
- * ONE compute pass (opened by the first call of a batch and reused by every later call with the same batch.id),
123
- * then toScene in a second pass that ends it, stopping after stage `upTo` when given. With n === 0 nothing is
124
- * recorded; a call before bind() completed is E_NOT_LOADED (never a silent no-op).
137
+ * Records one iteration into the batch, stopping after stage `upTo` when given (PD-17: `upTo` names a position
138
+ * in the union list and the recording stops after the last stage recorded at or before it, so "K3" on the grid
139
+ * tier stops after K2 and "G5" on the exact tier after K3). The exact tier: K1, K2 (or the fill of force when
140
+ * arcCount === 0), K3, K5 in the batch's ONE compute pass (opened by the first call of a batch and reused by
141
+ * every later call with the same batch.id), then toScene in a second pass that ends it. The grid tier (PD-16):
142
+ * the passes `fr-k1` (K1), `fr-attraction` (K2's tiers) and `fr-grid` (G1-G7, K5) per iteration, then
143
+ * `fa2-to-scene`. With n === 0 nothing is recorded; a call before bind() completed is E_NOT_LOADED (never a
144
+ * silent no-op).
125
145
  * @param batch - the batch being recorded
126
146
  * @param slot - the UniformRing slot holding this iteration's Fa2Params
127
- * @param tier - "exact" (the grid tier is E_UNSUPPORTED until P4)
147
+ * @param tier - the tier the simulation resolved at load() (the same rule bind() applied, PD-18)
128
148
  * @param upTo - a stage name to stop after; undefined records every stage including toScene
129
149
  */
130
150
  recordIteration(batch: CommandBatch, slot: number, tier: "exact" | "grid", upTo?: string): void;
151
+ /**
152
+ * The grid tier's iteration (PD-16): three compute passes before toScene; no K4.
153
+ * @param batch - the batch being recorded
154
+ * @param bound - the bound model
155
+ * @param offset - the Fa2Params dynamic offset of the iteration
156
+ * @param stop - the FR_STAGES index to stop after
157
+ */
158
+ private recordGridIteration;
159
+ /**
160
+ * K2's tier dispatches, or the fill of force when the graph has no arcs (spec 7.5).
161
+ * @param pass - the open compute pass
162
+ * @param bound - the bound model
163
+ * @param offset - the Fa2Params dynamic offset
164
+ */
165
+ private recordK2;
166
+ /**
167
+ * The toScene pass that ends the iteration's pass; the batch is complete after it, so nothing reuses the pass.
168
+ * @param batch - the batch
169
+ * @param bound - the bound model
170
+ * @param offset - the Fa2Params dynamic offset
171
+ */
172
+ private recordToScene;
131
173
  /**
132
174
  * temperature = 0.1 (what stats reads before the first batch lands), kineticEnergy = 0; the temperature index
133
- * restarts at 0 (PD-5).
175
+ * restarts at 0 (PD-5). On a grid load the frame of the first build (K1 folds nothing on the first iteration).
134
176
  * @param state - the state writer of the simulation
135
177
  */
136
178
  onLoad(state: StateWriter): void;
@@ -155,8 +197,9 @@ export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanR
155
197
  */
156
198
  onSetParams(patch: Partial<FruchtermanReingoldOptions>, _state: StateWriter): void;
157
199
  /**
158
- * Decodes the state header and the k trace records of a completed batch into FruchtermanReingoldStats: the exact
159
- * tier with null grid fields, msPerIteration null (the simulation owns the clock), the temperature K1 wrote.
200
+ * Decodes the state header and the k trace records of a completed batch into FruchtermanReingoldStats:
201
+ * `repulsionTier` is the bound tier, the grid fields are the header's on the grid tier and null on the exact
202
+ * tier, msPerIteration null (the simulation owns the clock), the temperature K1 wrote.
160
203
  * @param state - a DataView over the 256-byte state header
161
204
  * @param trace - a DataView over the k Fa2Trace records of the batch
162
205
  * @returns the stats
@@ -181,15 +224,18 @@ export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanR
181
224
  * @returns its index
182
225
  */
183
226
  private stageIndex;
184
- /** Drops the bind groups of the previous bind() (the buffers changed) and forgets the pass of a batch recorded before the rebind. */
227
+ /** Releases the grid stage's lease and the bind groups (the simulation calls it from dispose() once every in-flight batch has settled). */
228
+ dispose(): void;
229
+ /** Drops the bind groups of the previous bind() (the buffers changed), releases the grid stage's lease and forgets the pass of a batch recorded before the rebind. */
185
230
  private dropBound;
186
231
  }
187
232
  /**
188
- * Spec 3.3 createFruchtermanReingold, verbatim: a GpuLayoutSimulation running Fruchterman-Reingold on the exact
189
- * repulsion tier with the option defaults of spec 7.20 and the GPU-only tuning of GpuLayoutTuning.
233
+ * Spec 3.3 createFruchtermanReingold, verbatim: a GpuLayoutSimulation running Fruchterman-Reingold on the exact or
234
+ * the grid repulsion tier (spec 7.8) with the option defaults of spec 7.20 and the GPU-only tuning of GpuLayoutTuning.
190
235
  * @param ctx - the context (E_DISPOSED / E_DEVICE_LOST through assertReady)
191
236
  * @param options - the Fruchterman-Reingold options and the GPU-only tuning knobs in one record
192
237
  * @returns the simulation in state "created"; load() next
193
238
  */
194
239
  export declare function createFruchtermanReingold(ctx: GpuContext, options?: FruchtermanReingoldOptions & GpuLayoutTuning): GpuLayoutSimulation<FruchtermanReingoldOptions, FruchtermanReingoldStats>;
240
+ export {};
195
241
  //# sourceMappingURL=fruchterman-reingold.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fruchterman-reingold.d.ts","sourceRoot":"","sources":["../../../src/layouts/fruchterman-reingold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fruchterman-reingold.d.ts","sourceRoot":"","sources":["../../../src/layouts/fruchterman-reingold.ts"],"names":[],"mappings":"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"}