@multiplatform.one/node-graph 7.7.2

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 (1121) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +80 -0
  3. package/css/graph.css +171 -0
  4. package/demo.ts +14 -0
  5. package/dist/cjs/NodeGraph.cjs +34 -0
  6. package/dist/cjs/NodeGraph.native.js +37 -0
  7. package/dist/cjs/NodeGraph.native.js.map +1 -0
  8. package/dist/cjs/bench/frameSampler.cjs +290 -0
  9. package/dist/cjs/bench/frameSampler.native.js +409 -0
  10. package/dist/cjs/bench/frameSampler.native.js.map +1 -0
  11. package/dist/cjs/bench/generateGraph.cjs +125 -0
  12. package/dist/cjs/bench/generateGraph.native.js +128 -0
  13. package/dist/cjs/bench/generateGraph.native.js.map +1 -0
  14. package/dist/cjs/diagnostics/GraphDiagnostics.cjs +154 -0
  15. package/dist/cjs/diagnostics/GraphDiagnostics.native.js +166 -0
  16. package/dist/cjs/diagnostics/GraphDiagnostics.native.js.map +1 -0
  17. package/dist/cjs/diagnostics/LiveGraphDiagnostics.cjs +101 -0
  18. package/dist/cjs/diagnostics/LiveGraphDiagnostics.native.js +106 -0
  19. package/dist/cjs/diagnostics/LiveGraphDiagnostics.native.js.map +1 -0
  20. package/dist/cjs/diagnostics/fromWire.cjs +48 -0
  21. package/dist/cjs/diagnostics/fromWire.native.js +51 -0
  22. package/dist/cjs/diagnostics/fromWire.native.js.map +1 -0
  23. package/dist/cjs/diagnostics/lastError.cjs +67 -0
  24. package/dist/cjs/diagnostics/lastError.native.js +75 -0
  25. package/dist/cjs/diagnostics/lastError.native.js.map +1 -0
  26. package/dist/cjs/diagnostics/types.cjs +18 -0
  27. package/dist/cjs/diagnostics/types.native.js +21 -0
  28. package/dist/cjs/diagnostics/types.native.js.map +1 -0
  29. package/dist/cjs/diagnostics/useGraphDiagnostics.cjs +69 -0
  30. package/dist/cjs/diagnostics/useGraphDiagnostics.native.js +75 -0
  31. package/dist/cjs/diagnostics/useGraphDiagnostics.native.js.map +1 -0
  32. package/dist/cjs/dom/GraphDomLayout.cjs +37 -0
  33. package/dist/cjs/dom/GraphDomLayout.native.js +40 -0
  34. package/dist/cjs/dom/GraphDomLayout.native.js.map +1 -0
  35. package/dist/cjs/dom/boot.cjs +100 -0
  36. package/dist/cjs/dom/boot.native.js +111 -0
  37. package/dist/cjs/dom/boot.native.js.map +1 -0
  38. package/dist/cjs/dom/wire.cjs +215 -0
  39. package/dist/cjs/dom/wire.native.js +274 -0
  40. package/dist/cjs/dom/wire.native.js.map +1 -0
  41. package/dist/cjs/edges/GraphEdge.cjs +169 -0
  42. package/dist/cjs/edges/GraphEdge.native.js +178 -0
  43. package/dist/cjs/edges/GraphEdge.native.js.map +1 -0
  44. package/dist/cjs/edges/edgeKinds.cjs +51 -0
  45. package/dist/cjs/edges/edgeKinds.native.js +54 -0
  46. package/dist/cjs/edges/edgeKinds.native.js.map +1 -0
  47. package/dist/cjs/edges/edgeStyle.cjs +94 -0
  48. package/dist/cjs/edges/edgeStyle.native.js +99 -0
  49. package/dist/cjs/edges/edgeStyle.native.js.map +1 -0
  50. package/dist/cjs/index.cjs +197 -0
  51. package/dist/cjs/index.native.js +200 -0
  52. package/dist/cjs/index.native.js.map +1 -0
  53. package/dist/cjs/interaction/lassoIntercept.cjs +54 -0
  54. package/dist/cjs/interaction/lassoIntercept.native.js +57 -0
  55. package/dist/cjs/interaction/lassoIntercept.native.js.map +1 -0
  56. package/dist/cjs/interaction/legalTargets.cjs +75 -0
  57. package/dist/cjs/interaction/legalTargets.native.js +118 -0
  58. package/dist/cjs/interaction/legalTargets.native.js.map +1 -0
  59. package/dist/cjs/interaction/snapAlignment.cjs +165 -0
  60. package/dist/cjs/interaction/snapAlignment.native.js +245 -0
  61. package/dist/cjs/interaction/snapAlignment.native.js.map +1 -0
  62. package/dist/cjs/interaction/snapChanges.cjs +214 -0
  63. package/dist/cjs/interaction/snapChanges.native.js +269 -0
  64. package/dist/cjs/interaction/snapChanges.native.js.map +1 -0
  65. package/dist/cjs/interaction/spatialHash.cjs +97 -0
  66. package/dist/cjs/interaction/spatialHash.native.js +165 -0
  67. package/dist/cjs/interaction/spatialHash.native.js.map +1 -0
  68. package/dist/cjs/interaction/useLassoSelect.cjs +259 -0
  69. package/dist/cjs/interaction/useLassoSelect.native.js +287 -0
  70. package/dist/cjs/interaction/useLassoSelect.native.js.map +1 -0
  71. package/dist/cjs/knobs/KnobEnvelopeProvider.cjs +77 -0
  72. package/dist/cjs/knobs/KnobEnvelopeProvider.native.js +85 -0
  73. package/dist/cjs/knobs/KnobEnvelopeProvider.native.js.map +1 -0
  74. package/dist/cjs/knobs/envelope.cjs +59 -0
  75. package/dist/cjs/knobs/envelope.native.js +78 -0
  76. package/dist/cjs/knobs/envelope.native.js.map +1 -0
  77. package/dist/cjs/knobs/graphKnobs.cjs +39 -0
  78. package/dist/cjs/knobs/graphKnobs.native.js +43 -0
  79. package/dist/cjs/knobs/graphKnobs.native.js.map +1 -0
  80. package/dist/cjs/knobs/useKnobEnvelope.cjs +108 -0
  81. package/dist/cjs/knobs/useKnobEnvelope.native.js +140 -0
  82. package/dist/cjs/knobs/useKnobEnvelope.native.js.map +1 -0
  83. package/dist/cjs/layout/dagre.cjs +125 -0
  84. package/dist/cjs/layout/dagre.native.js +259 -0
  85. package/dist/cjs/layout/dagre.native.js.map +1 -0
  86. package/dist/cjs/layout/layout.cjs +84 -0
  87. package/dist/cjs/layout/layout.native.js +112 -0
  88. package/dist/cjs/layout/layout.native.js.map +1 -0
  89. package/dist/cjs/layout/runner.cjs +194 -0
  90. package/dist/cjs/layout/runner.native.js +247 -0
  91. package/dist/cjs/layout/runner.native.js.map +1 -0
  92. package/dist/cjs/layout/structuredCloneShim.cjs +80 -0
  93. package/dist/cjs/layout/structuredCloneShim.native.js +160 -0
  94. package/dist/cjs/layout/structuredCloneShim.native.js.map +1 -0
  95. package/dist/cjs/layout/types.cjs +18 -0
  96. package/dist/cjs/layout/types.native.js +21 -0
  97. package/dist/cjs/layout/types.native.js.map +1 -0
  98. package/dist/cjs/layout/worker.entry.cjs +58 -0
  99. package/dist/cjs/layout/worker.entry.native.js +75 -0
  100. package/dist/cjs/layout/worker.entry.native.js.map +1 -0
  101. package/dist/cjs/layout/worker.generated.cjs +32 -0
  102. package/dist/cjs/layout/worker.generated.native.js +35 -0
  103. package/dist/cjs/layout/worker.generated.native.js.map +1 -0
  104. package/dist/cjs/model/commands.cjs +235 -0
  105. package/dist/cjs/model/commands.native.js +317 -0
  106. package/dist/cjs/model/commands.native.js.map +1 -0
  107. package/dist/cjs/model/connect.cjs +159 -0
  108. package/dist/cjs/model/connect.native.js +239 -0
  109. package/dist/cjs/model/connect.native.js.map +1 -0
  110. package/dist/cjs/model/document.cjs +18 -0
  111. package/dist/cjs/model/document.native.js +21 -0
  112. package/dist/cjs/model/document.native.js.map +1 -0
  113. package/dist/cjs/model/history.cjs +121 -0
  114. package/dist/cjs/model/history.native.js +178 -0
  115. package/dist/cjs/model/history.native.js.map +1 -0
  116. package/dist/cjs/model/index.cjs +60 -0
  117. package/dist/cjs/model/index.native.js +63 -0
  118. package/dist/cjs/model/index.native.js.map +1 -0
  119. package/dist/cjs/model/schema.cjs +63 -0
  120. package/dist/cjs/model/schema.native.js +68 -0
  121. package/dist/cjs/model/schema.native.js.map +1 -0
  122. package/dist/cjs/model/select.cjs +78 -0
  123. package/dist/cjs/model/select.native.js +107 -0
  124. package/dist/cjs/model/select.native.js.map +1 -0
  125. package/dist/cjs/model/serialize.cjs +332 -0
  126. package/dist/cjs/model/serialize.native.js +374 -0
  127. package/dist/cjs/model/serialize.native.js.map +1 -0
  128. package/dist/cjs/native/DomOnlyStory.cjs +60 -0
  129. package/dist/cjs/native/DomOnlyStory.native.js +66 -0
  130. package/dist/cjs/native/DomOnlyStory.native.js.map +1 -0
  131. package/dist/cjs/native/GraphToolbar.cjs +101 -0
  132. package/dist/cjs/native/GraphToolbar.native.js +107 -0
  133. package/dist/cjs/native/GraphToolbar.native.js.map +1 -0
  134. package/dist/cjs/native/domEntryRegistry.cjs +39 -0
  135. package/dist/cjs/native/domEntryRegistry.native.js +42 -0
  136. package/dist/cjs/native/domEntryRegistry.native.js.map +1 -0
  137. package/dist/cjs/native/graphChildren.cjs +45 -0
  138. package/dist/cjs/native/graphChildren.native.js +50 -0
  139. package/dist/cjs/native/graphChildren.native.js.map +1 -0
  140. package/dist/cjs/nodes/GraphNode.cjs +161 -0
  141. package/dist/cjs/nodes/GraphNode.native.js +206 -0
  142. package/dist/cjs/nodes/GraphNode.native.js.map +1 -0
  143. package/dist/cjs/nodes/GraphPort.cjs +104 -0
  144. package/dist/cjs/nodes/GraphPort.native.js +108 -0
  145. package/dist/cjs/nodes/GraphPort.native.js.map +1 -0
  146. package/dist/cjs/nodes/handleGeometry.cjs +98 -0
  147. package/dist/cjs/nodes/handleGeometry.native.js +104 -0
  148. package/dist/cjs/nodes/handleGeometry.native.js.map +1 -0
  149. package/dist/cjs/nodes/lod.cjs +41 -0
  150. package/dist/cjs/nodes/lod.native.js +45 -0
  151. package/dist/cjs/nodes/lod.native.js.map +1 -0
  152. package/dist/cjs/nodes/nodeMeasure.cjs +108 -0
  153. package/dist/cjs/nodes/nodeMeasure.native.js +134 -0
  154. package/dist/cjs/nodes/nodeMeasure.native.js.map +1 -0
  155. package/dist/cjs/nodes/overviewNode.cjs +74 -0
  156. package/dist/cjs/nodes/overviewNode.native.js +81 -0
  157. package/dist/cjs/nodes/overviewNode.native.js.map +1 -0
  158. package/dist/cjs/react-flow/ConnectionPuck.cjs +122 -0
  159. package/dist/cjs/react-flow/ConnectionPuck.native.js +143 -0
  160. package/dist/cjs/react-flow/ConnectionPuck.native.js.map +1 -0
  161. package/dist/cjs/react-flow/GraphActions.cjs +47 -0
  162. package/dist/cjs/react-flow/GraphActions.native.js +51 -0
  163. package/dist/cjs/react-flow/GraphActions.native.js.map +1 -0
  164. package/dist/cjs/react-flow/GraphCommandBridge.cjs +238 -0
  165. package/dist/cjs/react-flow/GraphCommandBridge.native.js +272 -0
  166. package/dist/cjs/react-flow/GraphCommandBridge.native.js.map +1 -0
  167. package/dist/cjs/react-flow/GraphNodeHost.cjs +77 -0
  168. package/dist/cjs/react-flow/GraphNodeHost.native.js +89 -0
  169. package/dist/cjs/react-flow/GraphNodeHost.native.js.map +1 -0
  170. package/dist/cjs/react-flow/GraphPaintProbe.cjs +60 -0
  171. package/dist/cjs/react-flow/GraphPaintProbe.native.js +65 -0
  172. package/dist/cjs/react-flow/GraphPaintProbe.native.js.map +1 -0
  173. package/dist/cjs/react-flow/GraphZoomVar.cjs +42 -0
  174. package/dist/cjs/react-flow/GraphZoomVar.native.js +48 -0
  175. package/dist/cjs/react-flow/GraphZoomVar.native.js.map +1 -0
  176. package/dist/cjs/react-flow/LassoOverlay.cjs +47 -0
  177. package/dist/cjs/react-flow/LassoOverlay.native.js +51 -0
  178. package/dist/cjs/react-flow/LassoOverlay.native.js.map +1 -0
  179. package/dist/cjs/react-flow/NodeGraphWeb.cjs +386 -0
  180. package/dist/cjs/react-flow/NodeGraphWeb.native.js +515 -0
  181. package/dist/cjs/react-flow/NodeGraphWeb.native.js.map +1 -0
  182. package/dist/cjs/react-flow/SnapGuides.cjs +89 -0
  183. package/dist/cjs/react-flow/SnapGuides.native.js +114 -0
  184. package/dist/cjs/react-flow/SnapGuides.native.js.map +1 -0
  185. package/dist/cjs/react-flow/demoControlBody.cjs +93 -0
  186. package/dist/cjs/react-flow/demoControlBody.native.js +104 -0
  187. package/dist/cjs/react-flow/demoControlBody.native.js.map +1 -0
  188. package/dist/cjs/react-flow/demoNodeBody.cjs +121 -0
  189. package/dist/cjs/react-flow/demoNodeBody.native.js +131 -0
  190. package/dist/cjs/react-flow/demoNodeBody.native.js.map +1 -0
  191. package/dist/cjs/react-flow/fixtures.cjs +215 -0
  192. package/dist/cjs/react-flow/fixtures.native.js +225 -0
  193. package/dist/cjs/react-flow/fixtures.native.js.map +1 -0
  194. package/dist/cjs/react-flow/flowAdapter.cjs +121 -0
  195. package/dist/cjs/react-flow/flowAdapter.native.js +133 -0
  196. package/dist/cjs/react-flow/flowAdapter.native.js.map +1 -0
  197. package/dist/cjs/react-flow/graphHandle.cjs +28 -0
  198. package/dist/cjs/react-flow/graphHandle.native.js +31 -0
  199. package/dist/cjs/react-flow/graphHandle.native.js.map +1 -0
  200. package/dist/cjs/react-flow/nodeCensus.cjs +56 -0
  201. package/dist/cjs/react-flow/nodeCensus.native.js +80 -0
  202. package/dist/cjs/react-flow/nodeCensus.native.js.map +1 -0
  203. package/dist/cjs/react-flow/useGraphController.cjs +297 -0
  204. package/dist/cjs/react-flow/useGraphController.native.js +393 -0
  205. package/dist/cjs/react-flow/useGraphController.native.js.map +1 -0
  206. package/dist/cjs/react-flow/xy.cjs +60 -0
  207. package/dist/cjs/react-flow/xy.native.js +63 -0
  208. package/dist/cjs/react-flow/xy.native.js.map +1 -0
  209. package/dist/cjs/theme/GraphFaces.cjs +114 -0
  210. package/dist/cjs/theme/GraphFaces.native.js +181 -0
  211. package/dist/cjs/theme/GraphFaces.native.js.map +1 -0
  212. package/dist/cjs/theme/GraphVarsStyle.cjs +88 -0
  213. package/dist/cjs/theme/GraphVarsStyle.native.js +100 -0
  214. package/dist/cjs/theme/GraphVarsStyle.native.js.map +1 -0
  215. package/dist/cjs/theme/faces.cjs +121 -0
  216. package/dist/cjs/theme/faces.generated.cjs +48 -0
  217. package/dist/cjs/theme/faces.generated.native.js +51 -0
  218. package/dist/cjs/theme/faces.generated.native.js.map +1 -0
  219. package/dist/cjs/theme/faces.native.js +133 -0
  220. package/dist/cjs/theme/faces.native.js.map +1 -0
  221. package/dist/cjs/theme/graphVars.cjs +318 -0
  222. package/dist/cjs/theme/graphVars.native.js +351 -0
  223. package/dist/cjs/theme/graphVars.native.js.map +1 -0
  224. package/dist/esm/NodeGraph.mjs +9 -0
  225. package/dist/esm/NodeGraph.mjs.map +1 -0
  226. package/dist/esm/NodeGraph.native.js +9 -0
  227. package/dist/esm/NodeGraph.native.js.map +1 -0
  228. package/dist/esm/bench/frameSampler.mjs +255 -0
  229. package/dist/esm/bench/frameSampler.mjs.map +1 -0
  230. package/dist/esm/bench/frameSampler.native.js +371 -0
  231. package/dist/esm/bench/frameSampler.native.js.map +1 -0
  232. package/dist/esm/bench/generateGraph.mjs +99 -0
  233. package/dist/esm/bench/generateGraph.mjs.map +1 -0
  234. package/dist/esm/bench/generateGraph.native.js +99 -0
  235. package/dist/esm/bench/generateGraph.native.js.map +1 -0
  236. package/dist/esm/diagnostics/GraphDiagnostics.mjs +128 -0
  237. package/dist/esm/diagnostics/GraphDiagnostics.mjs.map +1 -0
  238. package/dist/esm/diagnostics/GraphDiagnostics.native.js +137 -0
  239. package/dist/esm/diagnostics/GraphDiagnostics.native.js.map +1 -0
  240. package/dist/esm/diagnostics/LiveGraphDiagnostics.mjs +76 -0
  241. package/dist/esm/diagnostics/LiveGraphDiagnostics.mjs.map +1 -0
  242. package/dist/esm/diagnostics/LiveGraphDiagnostics.native.js +78 -0
  243. package/dist/esm/diagnostics/LiveGraphDiagnostics.native.js.map +1 -0
  244. package/dist/esm/diagnostics/fromWire.mjs +23 -0
  245. package/dist/esm/diagnostics/fromWire.mjs.map +1 -0
  246. package/dist/esm/diagnostics/fromWire.native.js +23 -0
  247. package/dist/esm/diagnostics/fromWire.native.js.map +1 -0
  248. package/dist/esm/diagnostics/lastError.mjs +39 -0
  249. package/dist/esm/diagnostics/lastError.mjs.map +1 -0
  250. package/dist/esm/diagnostics/lastError.native.js +44 -0
  251. package/dist/esm/diagnostics/lastError.native.js.map +1 -0
  252. package/dist/esm/diagnostics/types.mjs +2 -0
  253. package/dist/esm/diagnostics/types.mjs.map +1 -0
  254. package/dist/esm/diagnostics/types.native.js +2 -0
  255. package/dist/esm/diagnostics/types.native.js.map +1 -0
  256. package/dist/esm/diagnostics/useGraphDiagnostics.mjs +44 -0
  257. package/dist/esm/diagnostics/useGraphDiagnostics.mjs.map +1 -0
  258. package/dist/esm/diagnostics/useGraphDiagnostics.native.js +47 -0
  259. package/dist/esm/diagnostics/useGraphDiagnostics.native.js.map +1 -0
  260. package/dist/esm/dom/GraphDomLayout.mjs +11 -0
  261. package/dist/esm/dom/GraphDomLayout.mjs.map +1 -0
  262. package/dist/esm/dom/GraphDomLayout.native.js +11 -0
  263. package/dist/esm/dom/GraphDomLayout.native.js.map +1 -0
  264. package/dist/esm/dom/boot.mjs +67 -0
  265. package/dist/esm/dom/boot.mjs.map +1 -0
  266. package/dist/esm/dom/boot.native.js +75 -0
  267. package/dist/esm/dom/boot.native.js.map +1 -0
  268. package/dist/esm/dom/wire.mjs +183 -0
  269. package/dist/esm/dom/wire.mjs.map +1 -0
  270. package/dist/esm/dom/wire.native.js +239 -0
  271. package/dist/esm/dom/wire.native.js.map +1 -0
  272. package/dist/esm/edges/GraphEdge.mjs +139 -0
  273. package/dist/esm/edges/GraphEdge.mjs.map +1 -0
  274. package/dist/esm/edges/GraphEdge.native.js +145 -0
  275. package/dist/esm/edges/GraphEdge.native.js.map +1 -0
  276. package/dist/esm/edges/edgeKinds.mjs +25 -0
  277. package/dist/esm/edges/edgeKinds.mjs.map +1 -0
  278. package/dist/esm/edges/edgeKinds.native.js +25 -0
  279. package/dist/esm/edges/edgeKinds.native.js.map +1 -0
  280. package/dist/esm/edges/edgeStyle.mjs +63 -0
  281. package/dist/esm/edges/edgeStyle.mjs.map +1 -0
  282. package/dist/esm/edges/edgeStyle.native.js +65 -0
  283. package/dist/esm/edges/edgeStyle.native.js.map +1 -0
  284. package/dist/esm/index.mjs +50 -0
  285. package/dist/esm/index.mjs.map +1 -0
  286. package/dist/esm/index.native.js +50 -0
  287. package/dist/esm/index.native.js.map +1 -0
  288. package/dist/esm/interaction/lassoIntercept.mjs +29 -0
  289. package/dist/esm/interaction/lassoIntercept.mjs.map +1 -0
  290. package/dist/esm/interaction/lassoIntercept.native.js +29 -0
  291. package/dist/esm/interaction/lassoIntercept.native.js.map +1 -0
  292. package/dist/esm/interaction/legalTargets.mjs +48 -0
  293. package/dist/esm/interaction/legalTargets.mjs.map +1 -0
  294. package/dist/esm/interaction/legalTargets.native.js +88 -0
  295. package/dist/esm/interaction/legalTargets.native.js.map +1 -0
  296. package/dist/esm/interaction/snapAlignment.mjs +137 -0
  297. package/dist/esm/interaction/snapAlignment.mjs.map +1 -0
  298. package/dist/esm/interaction/snapAlignment.native.js +214 -0
  299. package/dist/esm/interaction/snapAlignment.native.js.map +1 -0
  300. package/dist/esm/interaction/snapChanges.mjs +184 -0
  301. package/dist/esm/interaction/snapChanges.mjs.map +1 -0
  302. package/dist/esm/interaction/snapChanges.native.js +236 -0
  303. package/dist/esm/interaction/snapChanges.native.js.map +1 -0
  304. package/dist/esm/interaction/spatialHash.mjs +71 -0
  305. package/dist/esm/interaction/spatialHash.mjs.map +1 -0
  306. package/dist/esm/interaction/spatialHash.native.js +136 -0
  307. package/dist/esm/interaction/spatialHash.native.js.map +1 -0
  308. package/dist/esm/interaction/useLassoSelect.mjs +231 -0
  309. package/dist/esm/interaction/useLassoSelect.mjs.map +1 -0
  310. package/dist/esm/interaction/useLassoSelect.native.js +256 -0
  311. package/dist/esm/interaction/useLassoSelect.native.js.map +1 -0
  312. package/dist/esm/knobs/KnobEnvelopeProvider.mjs +51 -0
  313. package/dist/esm/knobs/KnobEnvelopeProvider.mjs.map +1 -0
  314. package/dist/esm/knobs/KnobEnvelopeProvider.native.js +56 -0
  315. package/dist/esm/knobs/KnobEnvelopeProvider.native.js.map +1 -0
  316. package/dist/esm/knobs/envelope.mjs +29 -0
  317. package/dist/esm/knobs/envelope.mjs.map +1 -0
  318. package/dist/esm/knobs/envelope.native.js +45 -0
  319. package/dist/esm/knobs/envelope.native.js.map +1 -0
  320. package/dist/esm/knobs/graphKnobs.mjs +14 -0
  321. package/dist/esm/knobs/graphKnobs.mjs.map +1 -0
  322. package/dist/esm/knobs/graphKnobs.native.js +15 -0
  323. package/dist/esm/knobs/graphKnobs.native.js.map +1 -0
  324. package/dist/esm/knobs/useKnobEnvelope.mjs +83 -0
  325. package/dist/esm/knobs/useKnobEnvelope.mjs.map +1 -0
  326. package/dist/esm/knobs/useKnobEnvelope.native.js +112 -0
  327. package/dist/esm/knobs/useKnobEnvelope.native.js.map +1 -0
  328. package/dist/esm/layout/dagre.mjs +99 -0
  329. package/dist/esm/layout/dagre.mjs.map +1 -0
  330. package/dist/esm/layout/dagre.native.js +230 -0
  331. package/dist/esm/layout/dagre.native.js.map +1 -0
  332. package/dist/esm/layout/layout.mjs +57 -0
  333. package/dist/esm/layout/layout.mjs.map +1 -0
  334. package/dist/esm/layout/layout.native.js +82 -0
  335. package/dist/esm/layout/layout.native.js.map +1 -0
  336. package/dist/esm/layout/runner.mjs +164 -0
  337. package/dist/esm/layout/runner.mjs.map +1 -0
  338. package/dist/esm/layout/runner.native.js +214 -0
  339. package/dist/esm/layout/runner.native.js.map +1 -0
  340. package/dist/esm/layout/structuredCloneShim.mjs +54 -0
  341. package/dist/esm/layout/structuredCloneShim.mjs.map +1 -0
  342. package/dist/esm/layout/structuredCloneShim.native.js +131 -0
  343. package/dist/esm/layout/structuredCloneShim.native.js.map +1 -0
  344. package/dist/esm/layout/types.mjs +2 -0
  345. package/dist/esm/layout/types.mjs.map +1 -0
  346. package/dist/esm/layout/types.native.js +2 -0
  347. package/dist/esm/layout/types.native.js.map +1 -0
  348. package/dist/esm/layout/worker.entry.mjs +33 -0
  349. package/dist/esm/layout/worker.entry.mjs.map +1 -0
  350. package/dist/esm/layout/worker.entry.native.js +47 -0
  351. package/dist/esm/layout/worker.entry.native.js.map +1 -0
  352. package/dist/esm/layout/worker.generated.mjs +5 -0
  353. package/dist/esm/layout/worker.generated.mjs.map +1 -0
  354. package/dist/esm/layout/worker.generated.native.js +5 -0
  355. package/dist/esm/layout/worker.generated.native.js.map +1 -0
  356. package/dist/esm/model/commands.mjs +209 -0
  357. package/dist/esm/model/commands.mjs.map +1 -0
  358. package/dist/esm/model/commands.native.js +288 -0
  359. package/dist/esm/model/commands.native.js.map +1 -0
  360. package/dist/esm/model/connect.mjs +124 -0
  361. package/dist/esm/model/connect.mjs.map +1 -0
  362. package/dist/esm/model/connect.native.js +201 -0
  363. package/dist/esm/model/connect.native.js.map +1 -0
  364. package/dist/esm/model/document.mjs +2 -0
  365. package/dist/esm/model/document.mjs.map +1 -0
  366. package/dist/esm/model/document.native.js +2 -0
  367. package/dist/esm/model/document.native.js.map +1 -0
  368. package/dist/esm/model/history.mjs +96 -0
  369. package/dist/esm/model/history.mjs.map +1 -0
  370. package/dist/esm/model/history.native.js +150 -0
  371. package/dist/esm/model/history.native.js.map +1 -0
  372. package/dist/esm/model/index.mjs +8 -0
  373. package/dist/esm/model/index.mjs.map +1 -0
  374. package/dist/esm/model/index.native.js +8 -0
  375. package/dist/esm/model/index.native.js.map +1 -0
  376. package/dist/esm/model/schema.mjs +32 -0
  377. package/dist/esm/model/schema.mjs.map +1 -0
  378. package/dist/esm/model/schema.native.js +34 -0
  379. package/dist/esm/model/schema.native.js.map +1 -0
  380. package/dist/esm/model/select.mjs +49 -0
  381. package/dist/esm/model/select.mjs.map +1 -0
  382. package/dist/esm/model/select.native.js +75 -0
  383. package/dist/esm/model/select.native.js.map +1 -0
  384. package/dist/esm/model/serialize.mjs +306 -0
  385. package/dist/esm/model/serialize.mjs.map +1 -0
  386. package/dist/esm/model/serialize.native.js +345 -0
  387. package/dist/esm/model/serialize.native.js.map +1 -0
  388. package/dist/esm/native/DomOnlyStory.mjs +33 -0
  389. package/dist/esm/native/DomOnlyStory.mjs.map +1 -0
  390. package/dist/esm/native/DomOnlyStory.native.js +36 -0
  391. package/dist/esm/native/DomOnlyStory.native.js.map +1 -0
  392. package/dist/esm/native/GraphToolbar.mjs +76 -0
  393. package/dist/esm/native/GraphToolbar.mjs.map +1 -0
  394. package/dist/esm/native/GraphToolbar.native.js +79 -0
  395. package/dist/esm/native/GraphToolbar.native.js.map +1 -0
  396. package/dist/esm/native/domEntryRegistry.mjs +12 -0
  397. package/dist/esm/native/domEntryRegistry.mjs.map +1 -0
  398. package/dist/esm/native/domEntryRegistry.native.js +12 -0
  399. package/dist/esm/native/domEntryRegistry.native.js.map +1 -0
  400. package/dist/esm/native/graphChildren.mjs +18 -0
  401. package/dist/esm/native/graphChildren.mjs.map +1 -0
  402. package/dist/esm/native/graphChildren.native.js +20 -0
  403. package/dist/esm/native/graphChildren.native.js.map +1 -0
  404. package/dist/esm/nodes/GraphNode.mjs +136 -0
  405. package/dist/esm/nodes/GraphNode.mjs.map +1 -0
  406. package/dist/esm/nodes/GraphNode.native.js +178 -0
  407. package/dist/esm/nodes/GraphNode.native.js.map +1 -0
  408. package/dist/esm/nodes/GraphPort.mjs +79 -0
  409. package/dist/esm/nodes/GraphPort.mjs.map +1 -0
  410. package/dist/esm/nodes/GraphPort.native.js +80 -0
  411. package/dist/esm/nodes/GraphPort.native.js.map +1 -0
  412. package/dist/esm/nodes/handleGeometry.mjs +65 -0
  413. package/dist/esm/nodes/handleGeometry.mjs.map +1 -0
  414. package/dist/esm/nodes/handleGeometry.native.js +68 -0
  415. package/dist/esm/nodes/handleGeometry.native.js.map +1 -0
  416. package/dist/esm/nodes/lod.mjs +13 -0
  417. package/dist/esm/nodes/lod.mjs.map +1 -0
  418. package/dist/esm/nodes/lod.native.js +14 -0
  419. package/dist/esm/nodes/lod.native.js.map +1 -0
  420. package/dist/esm/nodes/nodeMeasure.mjs +72 -0
  421. package/dist/esm/nodes/nodeMeasure.mjs.map +1 -0
  422. package/dist/esm/nodes/nodeMeasure.native.js +95 -0
  423. package/dist/esm/nodes/nodeMeasure.native.js.map +1 -0
  424. package/dist/esm/nodes/overviewNode.mjs +49 -0
  425. package/dist/esm/nodes/overviewNode.mjs.map +1 -0
  426. package/dist/esm/nodes/overviewNode.native.js +53 -0
  427. package/dist/esm/nodes/overviewNode.native.js.map +1 -0
  428. package/dist/esm/react-flow/ConnectionPuck.mjs +96 -0
  429. package/dist/esm/react-flow/ConnectionPuck.mjs.map +1 -0
  430. package/dist/esm/react-flow/ConnectionPuck.native.js +114 -0
  431. package/dist/esm/react-flow/ConnectionPuck.native.js.map +1 -0
  432. package/dist/esm/react-flow/GraphActions.mjs +21 -0
  433. package/dist/esm/react-flow/GraphActions.mjs.map +1 -0
  434. package/dist/esm/react-flow/GraphActions.native.js +22 -0
  435. package/dist/esm/react-flow/GraphActions.native.js.map +1 -0
  436. package/dist/esm/react-flow/GraphCommandBridge.mjs +213 -0
  437. package/dist/esm/react-flow/GraphCommandBridge.mjs.map +1 -0
  438. package/dist/esm/react-flow/GraphCommandBridge.native.js +244 -0
  439. package/dist/esm/react-flow/GraphCommandBridge.native.js.map +1 -0
  440. package/dist/esm/react-flow/GraphNodeHost.mjs +50 -0
  441. package/dist/esm/react-flow/GraphNodeHost.mjs.map +1 -0
  442. package/dist/esm/react-flow/GraphNodeHost.native.js +59 -0
  443. package/dist/esm/react-flow/GraphNodeHost.native.js.map +1 -0
  444. package/dist/esm/react-flow/GraphPaintProbe.mjs +35 -0
  445. package/dist/esm/react-flow/GraphPaintProbe.mjs.map +1 -0
  446. package/dist/esm/react-flow/GraphPaintProbe.native.js +37 -0
  447. package/dist/esm/react-flow/GraphPaintProbe.native.js.map +1 -0
  448. package/dist/esm/react-flow/GraphZoomVar.mjs +16 -0
  449. package/dist/esm/react-flow/GraphZoomVar.mjs.map +1 -0
  450. package/dist/esm/react-flow/GraphZoomVar.native.js +19 -0
  451. package/dist/esm/react-flow/GraphZoomVar.native.js.map +1 -0
  452. package/dist/esm/react-flow/LassoOverlay.mjs +22 -0
  453. package/dist/esm/react-flow/LassoOverlay.mjs.map +1 -0
  454. package/dist/esm/react-flow/LassoOverlay.native.js +23 -0
  455. package/dist/esm/react-flow/LassoOverlay.native.js.map +1 -0
  456. package/dist/esm/react-flow/NodeGraphWeb.mjs +359 -0
  457. package/dist/esm/react-flow/NodeGraphWeb.mjs.map +1 -0
  458. package/dist/esm/react-flow/NodeGraphWeb.native.js +485 -0
  459. package/dist/esm/react-flow/NodeGraphWeb.native.js.map +1 -0
  460. package/dist/esm/react-flow/SnapGuides.mjs +60 -0
  461. package/dist/esm/react-flow/SnapGuides.mjs.map +1 -0
  462. package/dist/esm/react-flow/SnapGuides.native.js +82 -0
  463. package/dist/esm/react-flow/SnapGuides.native.js.map +1 -0
  464. package/dist/esm/react-flow/demoControlBody.mjs +67 -0
  465. package/dist/esm/react-flow/demoControlBody.mjs.map +1 -0
  466. package/dist/esm/react-flow/demoControlBody.native.js +75 -0
  467. package/dist/esm/react-flow/demoControlBody.native.js.map +1 -0
  468. package/dist/esm/react-flow/demoNodeBody.mjs +91 -0
  469. package/dist/esm/react-flow/demoNodeBody.mjs.map +1 -0
  470. package/dist/esm/react-flow/demoNodeBody.native.js +98 -0
  471. package/dist/esm/react-flow/demoNodeBody.native.js.map +1 -0
  472. package/dist/esm/react-flow/fixtures.mjs +185 -0
  473. package/dist/esm/react-flow/fixtures.mjs.map +1 -0
  474. package/dist/esm/react-flow/fixtures.native.js +192 -0
  475. package/dist/esm/react-flow/fixtures.native.js.map +1 -0
  476. package/dist/esm/react-flow/flowAdapter.mjs +94 -0
  477. package/dist/esm/react-flow/flowAdapter.mjs.map +1 -0
  478. package/dist/esm/react-flow/flowAdapter.native.js +103 -0
  479. package/dist/esm/react-flow/flowAdapter.native.js.map +1 -0
  480. package/dist/esm/react-flow/graphHandle.mjs +3 -0
  481. package/dist/esm/react-flow/graphHandle.mjs.map +1 -0
  482. package/dist/esm/react-flow/graphHandle.native.js +3 -0
  483. package/dist/esm/react-flow/graphHandle.native.js.map +1 -0
  484. package/dist/esm/react-flow/nodeCensus.mjs +28 -0
  485. package/dist/esm/react-flow/nodeCensus.mjs.map +1 -0
  486. package/dist/esm/react-flow/nodeCensus.native.js +49 -0
  487. package/dist/esm/react-flow/nodeCensus.native.js.map +1 -0
  488. package/dist/esm/react-flow/useGraphController.mjs +269 -0
  489. package/dist/esm/react-flow/useGraphController.mjs.map +1 -0
  490. package/dist/esm/react-flow/useGraphController.native.js +362 -0
  491. package/dist/esm/react-flow/useGraphController.native.js.map +1 -0
  492. package/dist/esm/react-flow/xy.mjs +8 -0
  493. package/dist/esm/react-flow/xy.mjs.map +1 -0
  494. package/dist/esm/react-flow/xy.native.js +8 -0
  495. package/dist/esm/react-flow/xy.native.js.map +1 -0
  496. package/dist/esm/theme/GraphFaces.mjs +88 -0
  497. package/dist/esm/theme/GraphFaces.mjs.map +1 -0
  498. package/dist/esm/theme/GraphFaces.native.js +152 -0
  499. package/dist/esm/theme/GraphFaces.native.js.map +1 -0
  500. package/dist/esm/theme/GraphVarsStyle.mjs +59 -0
  501. package/dist/esm/theme/GraphVarsStyle.mjs.map +1 -0
  502. package/dist/esm/theme/GraphVarsStyle.native.js +68 -0
  503. package/dist/esm/theme/GraphVarsStyle.native.js.map +1 -0
  504. package/dist/esm/theme/faces.generated.mjs +23 -0
  505. package/dist/esm/theme/faces.generated.mjs.map +1 -0
  506. package/dist/esm/theme/faces.generated.native.js +23 -0
  507. package/dist/esm/theme/faces.generated.native.js.map +1 -0
  508. package/dist/esm/theme/faces.mjs +89 -0
  509. package/dist/esm/theme/faces.mjs.map +1 -0
  510. package/dist/esm/theme/faces.native.js +98 -0
  511. package/dist/esm/theme/faces.native.js.map +1 -0
  512. package/dist/esm/theme/graphVars.mjs +284 -0
  513. package/dist/esm/theme/graphVars.mjs.map +1 -0
  514. package/dist/esm/theme/graphVars.native.js +314 -0
  515. package/dist/esm/theme/graphVars.native.js.map +1 -0
  516. package/dist/jsx/NodeGraph.mjs +9 -0
  517. package/dist/jsx/NodeGraph.mjs.map +1 -0
  518. package/dist/jsx/NodeGraph.native.js +37 -0
  519. package/dist/jsx/NodeGraph.native.js.map +1 -0
  520. package/dist/jsx/bench/frameSampler.mjs +255 -0
  521. package/dist/jsx/bench/frameSampler.mjs.map +1 -0
  522. package/dist/jsx/bench/frameSampler.native.js +409 -0
  523. package/dist/jsx/bench/frameSampler.native.js.map +1 -0
  524. package/dist/jsx/bench/generateGraph.mjs +99 -0
  525. package/dist/jsx/bench/generateGraph.mjs.map +1 -0
  526. package/dist/jsx/bench/generateGraph.native.js +128 -0
  527. package/dist/jsx/bench/generateGraph.native.js.map +1 -0
  528. package/dist/jsx/diagnostics/GraphDiagnostics.mjs +128 -0
  529. package/dist/jsx/diagnostics/GraphDiagnostics.mjs.map +1 -0
  530. package/dist/jsx/diagnostics/GraphDiagnostics.native.js +166 -0
  531. package/dist/jsx/diagnostics/GraphDiagnostics.native.js.map +1 -0
  532. package/dist/jsx/diagnostics/LiveGraphDiagnostics.mjs +76 -0
  533. package/dist/jsx/diagnostics/LiveGraphDiagnostics.mjs.map +1 -0
  534. package/dist/jsx/diagnostics/LiveGraphDiagnostics.native.js +106 -0
  535. package/dist/jsx/diagnostics/LiveGraphDiagnostics.native.js.map +1 -0
  536. package/dist/jsx/diagnostics/fromWire.mjs +23 -0
  537. package/dist/jsx/diagnostics/fromWire.mjs.map +1 -0
  538. package/dist/jsx/diagnostics/fromWire.native.js +51 -0
  539. package/dist/jsx/diagnostics/fromWire.native.js.map +1 -0
  540. package/dist/jsx/diagnostics/lastError.mjs +39 -0
  541. package/dist/jsx/diagnostics/lastError.mjs.map +1 -0
  542. package/dist/jsx/diagnostics/lastError.native.js +75 -0
  543. package/dist/jsx/diagnostics/lastError.native.js.map +1 -0
  544. package/dist/jsx/diagnostics/types.mjs +2 -0
  545. package/dist/jsx/diagnostics/types.mjs.map +1 -0
  546. package/dist/jsx/diagnostics/types.native.js +21 -0
  547. package/dist/jsx/diagnostics/types.native.js.map +1 -0
  548. package/dist/jsx/diagnostics/useGraphDiagnostics.mjs +44 -0
  549. package/dist/jsx/diagnostics/useGraphDiagnostics.mjs.map +1 -0
  550. package/dist/jsx/diagnostics/useGraphDiagnostics.native.js +75 -0
  551. package/dist/jsx/diagnostics/useGraphDiagnostics.native.js.map +1 -0
  552. package/dist/jsx/dom/GraphDomLayout.mjs +11 -0
  553. package/dist/jsx/dom/GraphDomLayout.mjs.map +1 -0
  554. package/dist/jsx/dom/GraphDomLayout.native.js +40 -0
  555. package/dist/jsx/dom/GraphDomLayout.native.js.map +1 -0
  556. package/dist/jsx/dom/boot.mjs +67 -0
  557. package/dist/jsx/dom/boot.mjs.map +1 -0
  558. package/dist/jsx/dom/boot.native.js +111 -0
  559. package/dist/jsx/dom/boot.native.js.map +1 -0
  560. package/dist/jsx/dom/wire.mjs +183 -0
  561. package/dist/jsx/dom/wire.mjs.map +1 -0
  562. package/dist/jsx/dom/wire.native.js +274 -0
  563. package/dist/jsx/dom/wire.native.js.map +1 -0
  564. package/dist/jsx/edges/GraphEdge.mjs +139 -0
  565. package/dist/jsx/edges/GraphEdge.mjs.map +1 -0
  566. package/dist/jsx/edges/GraphEdge.native.js +178 -0
  567. package/dist/jsx/edges/GraphEdge.native.js.map +1 -0
  568. package/dist/jsx/edges/edgeKinds.mjs +25 -0
  569. package/dist/jsx/edges/edgeKinds.mjs.map +1 -0
  570. package/dist/jsx/edges/edgeKinds.native.js +54 -0
  571. package/dist/jsx/edges/edgeKinds.native.js.map +1 -0
  572. package/dist/jsx/edges/edgeStyle.mjs +63 -0
  573. package/dist/jsx/edges/edgeStyle.mjs.map +1 -0
  574. package/dist/jsx/edges/edgeStyle.native.js +99 -0
  575. package/dist/jsx/edges/edgeStyle.native.js.map +1 -0
  576. package/dist/jsx/index.js +50 -0
  577. package/dist/jsx/index.js.map +1 -0
  578. package/dist/jsx/index.mjs +50 -0
  579. package/dist/jsx/index.mjs.map +1 -0
  580. package/dist/jsx/index.native.js +200 -0
  581. package/dist/jsx/index.native.js.map +1 -0
  582. package/dist/jsx/interaction/lassoIntercept.mjs +29 -0
  583. package/dist/jsx/interaction/lassoIntercept.mjs.map +1 -0
  584. package/dist/jsx/interaction/lassoIntercept.native.js +57 -0
  585. package/dist/jsx/interaction/lassoIntercept.native.js.map +1 -0
  586. package/dist/jsx/interaction/legalTargets.mjs +48 -0
  587. package/dist/jsx/interaction/legalTargets.mjs.map +1 -0
  588. package/dist/jsx/interaction/legalTargets.native.js +118 -0
  589. package/dist/jsx/interaction/legalTargets.native.js.map +1 -0
  590. package/dist/jsx/interaction/snapAlignment.mjs +137 -0
  591. package/dist/jsx/interaction/snapAlignment.mjs.map +1 -0
  592. package/dist/jsx/interaction/snapAlignment.native.js +245 -0
  593. package/dist/jsx/interaction/snapAlignment.native.js.map +1 -0
  594. package/dist/jsx/interaction/snapChanges.mjs +184 -0
  595. package/dist/jsx/interaction/snapChanges.mjs.map +1 -0
  596. package/dist/jsx/interaction/snapChanges.native.js +269 -0
  597. package/dist/jsx/interaction/snapChanges.native.js.map +1 -0
  598. package/dist/jsx/interaction/spatialHash.mjs +71 -0
  599. package/dist/jsx/interaction/spatialHash.mjs.map +1 -0
  600. package/dist/jsx/interaction/spatialHash.native.js +165 -0
  601. package/dist/jsx/interaction/spatialHash.native.js.map +1 -0
  602. package/dist/jsx/interaction/useLassoSelect.mjs +231 -0
  603. package/dist/jsx/interaction/useLassoSelect.mjs.map +1 -0
  604. package/dist/jsx/interaction/useLassoSelect.native.js +287 -0
  605. package/dist/jsx/interaction/useLassoSelect.native.js.map +1 -0
  606. package/dist/jsx/knobs/KnobEnvelopeProvider.mjs +51 -0
  607. package/dist/jsx/knobs/KnobEnvelopeProvider.mjs.map +1 -0
  608. package/dist/jsx/knobs/KnobEnvelopeProvider.native.js +85 -0
  609. package/dist/jsx/knobs/KnobEnvelopeProvider.native.js.map +1 -0
  610. package/dist/jsx/knobs/envelope.mjs +29 -0
  611. package/dist/jsx/knobs/envelope.mjs.map +1 -0
  612. package/dist/jsx/knobs/envelope.native.js +78 -0
  613. package/dist/jsx/knobs/envelope.native.js.map +1 -0
  614. package/dist/jsx/knobs/graphKnobs.mjs +14 -0
  615. package/dist/jsx/knobs/graphKnobs.mjs.map +1 -0
  616. package/dist/jsx/knobs/graphKnobs.native.js +43 -0
  617. package/dist/jsx/knobs/graphKnobs.native.js.map +1 -0
  618. package/dist/jsx/knobs/useKnobEnvelope.mjs +83 -0
  619. package/dist/jsx/knobs/useKnobEnvelope.mjs.map +1 -0
  620. package/dist/jsx/knobs/useKnobEnvelope.native.js +140 -0
  621. package/dist/jsx/knobs/useKnobEnvelope.native.js.map +1 -0
  622. package/dist/jsx/layout/dagre.mjs +99 -0
  623. package/dist/jsx/layout/dagre.mjs.map +1 -0
  624. package/dist/jsx/layout/dagre.native.js +259 -0
  625. package/dist/jsx/layout/dagre.native.js.map +1 -0
  626. package/dist/jsx/layout/layout.mjs +57 -0
  627. package/dist/jsx/layout/layout.mjs.map +1 -0
  628. package/dist/jsx/layout/layout.native.js +112 -0
  629. package/dist/jsx/layout/layout.native.js.map +1 -0
  630. package/dist/jsx/layout/runner.mjs +164 -0
  631. package/dist/jsx/layout/runner.mjs.map +1 -0
  632. package/dist/jsx/layout/runner.native.js +247 -0
  633. package/dist/jsx/layout/runner.native.js.map +1 -0
  634. package/dist/jsx/layout/structuredCloneShim.mjs +54 -0
  635. package/dist/jsx/layout/structuredCloneShim.mjs.map +1 -0
  636. package/dist/jsx/layout/structuredCloneShim.native.js +160 -0
  637. package/dist/jsx/layout/structuredCloneShim.native.js.map +1 -0
  638. package/dist/jsx/layout/types.mjs +2 -0
  639. package/dist/jsx/layout/types.mjs.map +1 -0
  640. package/dist/jsx/layout/types.native.js +21 -0
  641. package/dist/jsx/layout/types.native.js.map +1 -0
  642. package/dist/jsx/layout/worker.entry.mjs +33 -0
  643. package/dist/jsx/layout/worker.entry.mjs.map +1 -0
  644. package/dist/jsx/layout/worker.entry.native.js +75 -0
  645. package/dist/jsx/layout/worker.entry.native.js.map +1 -0
  646. package/dist/jsx/layout/worker.generated.mjs +5 -0
  647. package/dist/jsx/layout/worker.generated.mjs.map +1 -0
  648. package/dist/jsx/layout/worker.generated.native.js +35 -0
  649. package/dist/jsx/layout/worker.generated.native.js.map +1 -0
  650. package/dist/jsx/model/commands.mjs +209 -0
  651. package/dist/jsx/model/commands.mjs.map +1 -0
  652. package/dist/jsx/model/commands.native.js +317 -0
  653. package/dist/jsx/model/commands.native.js.map +1 -0
  654. package/dist/jsx/model/connect.mjs +124 -0
  655. package/dist/jsx/model/connect.mjs.map +1 -0
  656. package/dist/jsx/model/connect.native.js +239 -0
  657. package/dist/jsx/model/connect.native.js.map +1 -0
  658. package/dist/jsx/model/document.mjs +2 -0
  659. package/dist/jsx/model/document.mjs.map +1 -0
  660. package/dist/jsx/model/document.native.js +21 -0
  661. package/dist/jsx/model/document.native.js.map +1 -0
  662. package/dist/jsx/model/history.mjs +96 -0
  663. package/dist/jsx/model/history.mjs.map +1 -0
  664. package/dist/jsx/model/history.native.js +178 -0
  665. package/dist/jsx/model/history.native.js.map +1 -0
  666. package/dist/jsx/model/index.mjs +8 -0
  667. package/dist/jsx/model/index.mjs.map +1 -0
  668. package/dist/jsx/model/index.native.js +63 -0
  669. package/dist/jsx/model/index.native.js.map +1 -0
  670. package/dist/jsx/model/schema.mjs +32 -0
  671. package/dist/jsx/model/schema.mjs.map +1 -0
  672. package/dist/jsx/model/schema.native.js +68 -0
  673. package/dist/jsx/model/schema.native.js.map +1 -0
  674. package/dist/jsx/model/select.mjs +49 -0
  675. package/dist/jsx/model/select.mjs.map +1 -0
  676. package/dist/jsx/model/select.native.js +107 -0
  677. package/dist/jsx/model/select.native.js.map +1 -0
  678. package/dist/jsx/model/serialize.mjs +306 -0
  679. package/dist/jsx/model/serialize.mjs.map +1 -0
  680. package/dist/jsx/model/serialize.native.js +374 -0
  681. package/dist/jsx/model/serialize.native.js.map +1 -0
  682. package/dist/jsx/native/DomOnlyStory.mjs +33 -0
  683. package/dist/jsx/native/DomOnlyStory.mjs.map +1 -0
  684. package/dist/jsx/native/DomOnlyStory.native.js +66 -0
  685. package/dist/jsx/native/DomOnlyStory.native.js.map +1 -0
  686. package/dist/jsx/native/GraphToolbar.mjs +76 -0
  687. package/dist/jsx/native/GraphToolbar.mjs.map +1 -0
  688. package/dist/jsx/native/GraphToolbar.native.js +107 -0
  689. package/dist/jsx/native/GraphToolbar.native.js.map +1 -0
  690. package/dist/jsx/native/domEntryRegistry.mjs +12 -0
  691. package/dist/jsx/native/domEntryRegistry.mjs.map +1 -0
  692. package/dist/jsx/native/domEntryRegistry.native.js +42 -0
  693. package/dist/jsx/native/domEntryRegistry.native.js.map +1 -0
  694. package/dist/jsx/native/graphChildren.mjs +18 -0
  695. package/dist/jsx/native/graphChildren.mjs.map +1 -0
  696. package/dist/jsx/native/graphChildren.native.js +50 -0
  697. package/dist/jsx/native/graphChildren.native.js.map +1 -0
  698. package/dist/jsx/nodes/GraphNode.mjs +136 -0
  699. package/dist/jsx/nodes/GraphNode.mjs.map +1 -0
  700. package/dist/jsx/nodes/GraphNode.native.js +206 -0
  701. package/dist/jsx/nodes/GraphNode.native.js.map +1 -0
  702. package/dist/jsx/nodes/GraphPort.mjs +79 -0
  703. package/dist/jsx/nodes/GraphPort.mjs.map +1 -0
  704. package/dist/jsx/nodes/GraphPort.native.js +108 -0
  705. package/dist/jsx/nodes/GraphPort.native.js.map +1 -0
  706. package/dist/jsx/nodes/handleGeometry.mjs +65 -0
  707. package/dist/jsx/nodes/handleGeometry.mjs.map +1 -0
  708. package/dist/jsx/nodes/handleGeometry.native.js +104 -0
  709. package/dist/jsx/nodes/handleGeometry.native.js.map +1 -0
  710. package/dist/jsx/nodes/lod.mjs +13 -0
  711. package/dist/jsx/nodes/lod.mjs.map +1 -0
  712. package/dist/jsx/nodes/lod.native.js +45 -0
  713. package/dist/jsx/nodes/lod.native.js.map +1 -0
  714. package/dist/jsx/nodes/nodeMeasure.mjs +72 -0
  715. package/dist/jsx/nodes/nodeMeasure.mjs.map +1 -0
  716. package/dist/jsx/nodes/nodeMeasure.native.js +134 -0
  717. package/dist/jsx/nodes/nodeMeasure.native.js.map +1 -0
  718. package/dist/jsx/nodes/overviewNode.mjs +49 -0
  719. package/dist/jsx/nodes/overviewNode.mjs.map +1 -0
  720. package/dist/jsx/nodes/overviewNode.native.js +81 -0
  721. package/dist/jsx/nodes/overviewNode.native.js.map +1 -0
  722. package/dist/jsx/react-flow/ConnectionPuck.mjs +96 -0
  723. package/dist/jsx/react-flow/ConnectionPuck.mjs.map +1 -0
  724. package/dist/jsx/react-flow/ConnectionPuck.native.js +143 -0
  725. package/dist/jsx/react-flow/ConnectionPuck.native.js.map +1 -0
  726. package/dist/jsx/react-flow/GraphActions.mjs +21 -0
  727. package/dist/jsx/react-flow/GraphActions.mjs.map +1 -0
  728. package/dist/jsx/react-flow/GraphActions.native.js +51 -0
  729. package/dist/jsx/react-flow/GraphActions.native.js.map +1 -0
  730. package/dist/jsx/react-flow/GraphCommandBridge.mjs +213 -0
  731. package/dist/jsx/react-flow/GraphCommandBridge.mjs.map +1 -0
  732. package/dist/jsx/react-flow/GraphCommandBridge.native.js +272 -0
  733. package/dist/jsx/react-flow/GraphCommandBridge.native.js.map +1 -0
  734. package/dist/jsx/react-flow/GraphNodeHost.mjs +50 -0
  735. package/dist/jsx/react-flow/GraphNodeHost.mjs.map +1 -0
  736. package/dist/jsx/react-flow/GraphNodeHost.native.js +89 -0
  737. package/dist/jsx/react-flow/GraphNodeHost.native.js.map +1 -0
  738. package/dist/jsx/react-flow/GraphPaintProbe.mjs +35 -0
  739. package/dist/jsx/react-flow/GraphPaintProbe.mjs.map +1 -0
  740. package/dist/jsx/react-flow/GraphPaintProbe.native.js +65 -0
  741. package/dist/jsx/react-flow/GraphPaintProbe.native.js.map +1 -0
  742. package/dist/jsx/react-flow/GraphZoomVar.mjs +16 -0
  743. package/dist/jsx/react-flow/GraphZoomVar.mjs.map +1 -0
  744. package/dist/jsx/react-flow/GraphZoomVar.native.js +48 -0
  745. package/dist/jsx/react-flow/GraphZoomVar.native.js.map +1 -0
  746. package/dist/jsx/react-flow/LassoOverlay.mjs +22 -0
  747. package/dist/jsx/react-flow/LassoOverlay.mjs.map +1 -0
  748. package/dist/jsx/react-flow/LassoOverlay.native.js +51 -0
  749. package/dist/jsx/react-flow/LassoOverlay.native.js.map +1 -0
  750. package/dist/jsx/react-flow/NodeGraphWeb.mjs +359 -0
  751. package/dist/jsx/react-flow/NodeGraphWeb.mjs.map +1 -0
  752. package/dist/jsx/react-flow/NodeGraphWeb.native.js +515 -0
  753. package/dist/jsx/react-flow/NodeGraphWeb.native.js.map +1 -0
  754. package/dist/jsx/react-flow/SnapGuides.mjs +60 -0
  755. package/dist/jsx/react-flow/SnapGuides.mjs.map +1 -0
  756. package/dist/jsx/react-flow/SnapGuides.native.js +114 -0
  757. package/dist/jsx/react-flow/SnapGuides.native.js.map +1 -0
  758. package/dist/jsx/react-flow/demoControlBody.mjs +67 -0
  759. package/dist/jsx/react-flow/demoControlBody.mjs.map +1 -0
  760. package/dist/jsx/react-flow/demoControlBody.native.js +104 -0
  761. package/dist/jsx/react-flow/demoControlBody.native.js.map +1 -0
  762. package/dist/jsx/react-flow/demoNodeBody.mjs +91 -0
  763. package/dist/jsx/react-flow/demoNodeBody.mjs.map +1 -0
  764. package/dist/jsx/react-flow/demoNodeBody.native.js +131 -0
  765. package/dist/jsx/react-flow/demoNodeBody.native.js.map +1 -0
  766. package/dist/jsx/react-flow/fixtures.mjs +185 -0
  767. package/dist/jsx/react-flow/fixtures.mjs.map +1 -0
  768. package/dist/jsx/react-flow/fixtures.native.js +225 -0
  769. package/dist/jsx/react-flow/fixtures.native.js.map +1 -0
  770. package/dist/jsx/react-flow/flowAdapter.mjs +94 -0
  771. package/dist/jsx/react-flow/flowAdapter.mjs.map +1 -0
  772. package/dist/jsx/react-flow/flowAdapter.native.js +133 -0
  773. package/dist/jsx/react-flow/flowAdapter.native.js.map +1 -0
  774. package/dist/jsx/react-flow/graphHandle.mjs +3 -0
  775. package/dist/jsx/react-flow/graphHandle.mjs.map +1 -0
  776. package/dist/jsx/react-flow/graphHandle.native.js +31 -0
  777. package/dist/jsx/react-flow/graphHandle.native.js.map +1 -0
  778. package/dist/jsx/react-flow/nodeCensus.mjs +28 -0
  779. package/dist/jsx/react-flow/nodeCensus.mjs.map +1 -0
  780. package/dist/jsx/react-flow/nodeCensus.native.js +80 -0
  781. package/dist/jsx/react-flow/nodeCensus.native.js.map +1 -0
  782. package/dist/jsx/react-flow/useGraphController.mjs +269 -0
  783. package/dist/jsx/react-flow/useGraphController.mjs.map +1 -0
  784. package/dist/jsx/react-flow/useGraphController.native.js +393 -0
  785. package/dist/jsx/react-flow/useGraphController.native.js.map +1 -0
  786. package/dist/jsx/react-flow/xy.mjs +8 -0
  787. package/dist/jsx/react-flow/xy.mjs.map +1 -0
  788. package/dist/jsx/react-flow/xy.native.js +63 -0
  789. package/dist/jsx/react-flow/xy.native.js.map +1 -0
  790. package/dist/jsx/theme/GraphFaces.mjs +88 -0
  791. package/dist/jsx/theme/GraphFaces.mjs.map +1 -0
  792. package/dist/jsx/theme/GraphFaces.native.js +181 -0
  793. package/dist/jsx/theme/GraphFaces.native.js.map +1 -0
  794. package/dist/jsx/theme/GraphVarsStyle.mjs +59 -0
  795. package/dist/jsx/theme/GraphVarsStyle.mjs.map +1 -0
  796. package/dist/jsx/theme/GraphVarsStyle.native.js +100 -0
  797. package/dist/jsx/theme/GraphVarsStyle.native.js.map +1 -0
  798. package/dist/jsx/theme/faces.generated.mjs +23 -0
  799. package/dist/jsx/theme/faces.generated.mjs.map +1 -0
  800. package/dist/jsx/theme/faces.generated.native.js +51 -0
  801. package/dist/jsx/theme/faces.generated.native.js.map +1 -0
  802. package/dist/jsx/theme/faces.mjs +89 -0
  803. package/dist/jsx/theme/faces.mjs.map +1 -0
  804. package/dist/jsx/theme/faces.native.js +133 -0
  805. package/dist/jsx/theme/faces.native.js.map +1 -0
  806. package/dist/jsx/theme/graphVars.mjs +284 -0
  807. package/dist/jsx/theme/graphVars.mjs.map +1 -0
  808. package/dist/jsx/theme/graphVars.native.js +351 -0
  809. package/dist/jsx/theme/graphVars.native.js.map +1 -0
  810. package/dom-inner.ts +21 -0
  811. package/metro/index.js +174 -0
  812. package/metro/index.spec.mjs +235 -0
  813. package/model.ts +9 -0
  814. package/package.json +137 -0
  815. package/src/NodeGraph.native.spec.ts +164 -0
  816. package/src/NodeGraph.native.tsx +278 -0
  817. package/src/NodeGraph.tsx +27 -0
  818. package/src/bench/Perf200.stories.tsx +351 -0
  819. package/src/bench/frameSampler.spec.ts +467 -0
  820. package/src/bench/frameSampler.ts +516 -0
  821. package/src/bench/generateGraph.ts +138 -0
  822. package/src/diagnostics/GraphDiagnostics.spec.tsx +206 -0
  823. package/src/diagnostics/GraphDiagnostics.stories.tsx +194 -0
  824. package/src/diagnostics/GraphDiagnostics.tsx +140 -0
  825. package/src/diagnostics/LiveGraphDiagnostics.native.tsx +61 -0
  826. package/src/diagnostics/LiveGraphDiagnostics.tsx +121 -0
  827. package/src/diagnostics/deliberateBreak.ts +35 -0
  828. package/src/diagnostics/fromWire.spec.ts +74 -0
  829. package/src/diagnostics/fromWire.ts +48 -0
  830. package/src/diagnostics/lastError.ts +91 -0
  831. package/src/diagnostics/types.ts +103 -0
  832. package/src/diagnostics/useGraphDiagnostics.spec.tsx +199 -0
  833. package/src/diagnostics/useGraphDiagnostics.ts +85 -0
  834. package/src/dom/GraphDomLayout.spec.tsx +56 -0
  835. package/src/dom/GraphDomLayout.tsx +49 -0
  836. package/src/dom/NodeGraphDom.ts +43 -0
  837. package/src/dom/NodeGraphDomInner.tsx +524 -0
  838. package/src/dom/NodeGraphDomShell.ts +402 -0
  839. package/src/dom/boot.spec.ts +90 -0
  840. package/src/dom/boot.ts +153 -0
  841. package/src/dom/domEntry.spec.ts +481 -0
  842. package/src/dom/importGraph.spec.ts +287 -0
  843. package/src/dom/schemaRegistry.spec.tsx +182 -0
  844. package/src/dom/wire.spec.ts +486 -0
  845. package/src/dom/wire.ts +493 -0
  846. package/src/edges/Edges.stories.tsx +271 -0
  847. package/src/edges/GraphEdge.tsx +198 -0
  848. package/src/edges/edgeKinds.ts +51 -0
  849. package/src/edges/edgeStyle.spec.ts +295 -0
  850. package/src/edges/edgeStyle.ts +124 -0
  851. package/src/index.native.ts +147 -0
  852. package/src/index.ts +243 -0
  853. package/src/interaction/Lasso.stories.tsx +198 -0
  854. package/src/interaction/Snapping.stories.tsx +189 -0
  855. package/src/interaction/lassoIntercept.spec.ts +166 -0
  856. package/src/interaction/lassoIntercept.ts +81 -0
  857. package/src/interaction/legalTargets.spec.ts +304 -0
  858. package/src/interaction/legalTargets.ts +91 -0
  859. package/src/interaction/snapAlignment.spec.ts +412 -0
  860. package/src/interaction/snapAlignment.ts +209 -0
  861. package/src/interaction/snapChanges.spec.ts +273 -0
  862. package/src/interaction/snapChanges.ts +292 -0
  863. package/src/interaction/spatialHash.spec.ts +168 -0
  864. package/src/interaction/spatialHash.ts +128 -0
  865. package/src/interaction/useLassoSelect.spec.tsx +487 -0
  866. package/src/interaction/useLassoSelect.ts +489 -0
  867. package/src/knobs/KnobEnvelopeProvider.tsx +110 -0
  868. package/src/knobs/envelope.spec.tsx +371 -0
  869. package/src/knobs/envelope.ts +130 -0
  870. package/src/knobs/envelopeTheme.spec.ts +58 -0
  871. package/src/knobs/graphKnobs.ts +36 -0
  872. package/src/knobs/useKnobEnvelope.ts +152 -0
  873. package/src/layout/AutoLayout.stories.tsx +338 -0
  874. package/src/layout/dagre.ts +149 -0
  875. package/src/layout/layout.spec.ts +244 -0
  876. package/src/layout/layout.ts +121 -0
  877. package/src/layout/runner.spec.ts +365 -0
  878. package/src/layout/runner.ts +256 -0
  879. package/src/layout/structuredCloneShim.spec.ts +103 -0
  880. package/src/layout/structuredCloneShim.ts +106 -0
  881. package/src/layout/types.ts +112 -0
  882. package/src/layout/worker.entry.ts +74 -0
  883. package/src/layout/worker.generated.spec.ts +157 -0
  884. package/src/layout/worker.generated.ts +32 -0
  885. package/src/model/commands.spec.ts +214 -0
  886. package/src/model/commands.ts +209 -0
  887. package/src/model/connect.spec.ts +444 -0
  888. package/src/model/connect.ts +281 -0
  889. package/src/model/document.ts +121 -0
  890. package/src/model/history.spec.ts +278 -0
  891. package/src/model/history.ts +153 -0
  892. package/src/model/index.ts +74 -0
  893. package/src/model/schema.ts +177 -0
  894. package/src/model/select.spec.ts +220 -0
  895. package/src/model/select.ts +88 -0
  896. package/src/model/serialize.spec.ts +393 -0
  897. package/src/model/serialize.ts +395 -0
  898. package/src/native/DomOnlyStory.tsx +72 -0
  899. package/src/native/GraphFallback.native.tsx +123 -0
  900. package/src/native/GraphToolbar.tsx +171 -0
  901. package/src/native/NodeGraph.native.tsx +505 -0
  902. package/src/native/domEntryRegistry.spec.ts +66 -0
  903. package/src/native/domEntryRegistry.ts +45 -0
  904. package/src/native/graphChildren.spec.ts +67 -0
  905. package/src/native/graphChildren.ts +62 -0
  906. package/src/native/graphFallback.spec.ts +49 -0
  907. package/src/native/graphHandleRemount.spec.tsx +189 -0
  908. package/src/nodes/GraphNode.spec.tsx +270 -0
  909. package/src/nodes/GraphNode.stories.tsx +451 -0
  910. package/src/nodes/GraphNode.tsx +240 -0
  911. package/src/nodes/GraphPort.spec.tsx +442 -0
  912. package/src/nodes/GraphPort.stories.tsx +407 -0
  913. package/src/nodes/GraphPort.tsx +117 -0
  914. package/src/nodes/Overview.stories.tsx +237 -0
  915. package/src/nodes/handleGeometry.spec.ts +161 -0
  916. package/src/nodes/handleGeometry.ts +232 -0
  917. package/src/nodes/lod.spec.tsx +300 -0
  918. package/src/nodes/lod.ts +69 -0
  919. package/src/nodes/nodeMeasure.spec.ts +245 -0
  920. package/src/nodes/nodeMeasure.ts +216 -0
  921. package/src/nodes/overviewNode.tsx +71 -0
  922. package/src/packageShape.spec.ts +145 -0
  923. package/src/react-flow/ConnectionPuck.spec.tsx +242 -0
  924. package/src/react-flow/ConnectionPuck.tsx +175 -0
  925. package/src/react-flow/GraphActions.tsx +64 -0
  926. package/src/react-flow/GraphCommandBridge.spec.tsx +130 -0
  927. package/src/react-flow/GraphCommandBridge.tsx +288 -0
  928. package/src/react-flow/GraphNodeHost.tsx +101 -0
  929. package/src/react-flow/GraphPaintProbe.spec.tsx +116 -0
  930. package/src/react-flow/GraphPaintProbe.tsx +65 -0
  931. package/src/react-flow/GraphZoomVar.tsx +48 -0
  932. package/src/react-flow/LassoOverlay.tsx +59 -0
  933. package/src/react-flow/NodeGraphWeb.spec.tsx +441 -0
  934. package/src/react-flow/NodeGraphWeb.stories.tsx +260 -0
  935. package/src/react-flow/NodeGraphWeb.tsx +645 -0
  936. package/src/react-flow/SnapGuides.spec.tsx +161 -0
  937. package/src/react-flow/SnapGuides.tsx +113 -0
  938. package/src/react-flow/demoControlBody.tsx +96 -0
  939. package/src/react-flow/demoNodeBody.tsx +121 -0
  940. package/src/react-flow/fixtures.ts +185 -0
  941. package/src/react-flow/flowAdapter.ts +170 -0
  942. package/src/react-flow/graphHandle.ts +112 -0
  943. package/src/react-flow/nodeCensus.spec.ts +66 -0
  944. package/src/react-flow/nodeCensus.ts +69 -0
  945. package/src/react-flow/useGraphController.spec.tsx +849 -0
  946. package/src/react-flow/useGraphController.ts +473 -0
  947. package/src/react-flow/xy.spec.ts +182 -0
  948. package/src/react-flow/xy.ts +131 -0
  949. package/src/theme/GraphFaces.spec.tsx +101 -0
  950. package/src/theme/GraphFaces.tsx +218 -0
  951. package/src/theme/GraphVarsStyle.tsx +113 -0
  952. package/src/theme/faces.generated.ts +53 -0
  953. package/src/theme/faces.spec.ts +228 -0
  954. package/src/theme/faces.ts +275 -0
  955. package/src/theme/graphCss.spec.ts +111 -0
  956. package/src/theme/graphVars.spec.ts +322 -0
  957. package/src/theme/graphVars.ts +441 -0
  958. package/types/NodeGraph.d.ts +17 -0
  959. package/types/NodeGraph.d.ts.map +1 -0
  960. package/types/NodeGraph.native.d.ts +142 -0
  961. package/types/NodeGraph.native.d.ts.map +1 -0
  962. package/types/bench/frameSampler.d.ts +235 -0
  963. package/types/bench/frameSampler.d.ts.map +1 -0
  964. package/types/bench/generateGraph.d.ts +43 -0
  965. package/types/bench/generateGraph.d.ts.map +1 -0
  966. package/types/diagnostics/GraphDiagnostics.d.ts +30 -0
  967. package/types/diagnostics/GraphDiagnostics.d.ts.map +1 -0
  968. package/types/diagnostics/LiveGraphDiagnostics.d.ts +27 -0
  969. package/types/diagnostics/LiveGraphDiagnostics.d.ts.map +1 -0
  970. package/types/diagnostics/LiveGraphDiagnostics.native.d.ts +25 -0
  971. package/types/diagnostics/LiveGraphDiagnostics.native.d.ts.map +1 -0
  972. package/types/diagnostics/deliberateBreak.d.ts +28 -0
  973. package/types/diagnostics/deliberateBreak.d.ts.map +1 -0
  974. package/types/diagnostics/fromWire.d.ts +17 -0
  975. package/types/diagnostics/fromWire.d.ts.map +1 -0
  976. package/types/diagnostics/lastError.d.ts +50 -0
  977. package/types/diagnostics/lastError.d.ts.map +1 -0
  978. package/types/diagnostics/types.d.ts +101 -0
  979. package/types/diagnostics/types.d.ts.map +1 -0
  980. package/types/diagnostics/useGraphDiagnostics.d.ts +23 -0
  981. package/types/diagnostics/useGraphDiagnostics.d.ts.map +1 -0
  982. package/types/dom/GraphDomLayout.d.ts +40 -0
  983. package/types/dom/GraphDomLayout.d.ts.map +1 -0
  984. package/types/dom/NodeGraphDom.d.ts +4 -0
  985. package/types/dom/NodeGraphDom.d.ts.map +1 -0
  986. package/types/dom/NodeGraphDomInner.d.ts +26 -0
  987. package/types/dom/NodeGraphDomInner.d.ts.map +1 -0
  988. package/types/dom/NodeGraphDomShell.d.ts +221 -0
  989. package/types/dom/NodeGraphDomShell.d.ts.map +1 -0
  990. package/types/dom/boot.d.ts +90 -0
  991. package/types/dom/boot.d.ts.map +1 -0
  992. package/types/dom/wire.d.ts +355 -0
  993. package/types/dom/wire.d.ts.map +1 -0
  994. package/types/edges/GraphEdge.d.ts +59 -0
  995. package/types/edges/GraphEdge.d.ts.map +1 -0
  996. package/types/edges/edgeKinds.d.ts +43 -0
  997. package/types/edges/edgeKinds.d.ts.map +1 -0
  998. package/types/edges/edgeStyle.d.ts +79 -0
  999. package/types/edges/edgeStyle.d.ts.map +1 -0
  1000. package/types/index.d.ts +123 -0
  1001. package/types/index.d.ts.map +1 -0
  1002. package/types/index.native.d.ts +86 -0
  1003. package/types/index.native.d.ts.map +1 -0
  1004. package/types/interaction/lassoIntercept.d.ts +58 -0
  1005. package/types/interaction/lassoIntercept.d.ts.map +1 -0
  1006. package/types/interaction/legalTargets.d.ts +59 -0
  1007. package/types/interaction/legalTargets.d.ts.map +1 -0
  1008. package/types/interaction/snapAlignment.d.ts +85 -0
  1009. package/types/interaction/snapAlignment.d.ts.map +1 -0
  1010. package/types/interaction/snapChanges.d.ts +133 -0
  1011. package/types/interaction/snapChanges.d.ts.map +1 -0
  1012. package/types/interaction/spatialHash.d.ts +37 -0
  1013. package/types/interaction/spatialHash.d.ts.map +1 -0
  1014. package/types/interaction/useLassoSelect.d.ts +151 -0
  1015. package/types/interaction/useLassoSelect.d.ts.map +1 -0
  1016. package/types/knobs/KnobEnvelopeProvider.d.ts +45 -0
  1017. package/types/knobs/KnobEnvelopeProvider.d.ts.map +1 -0
  1018. package/types/knobs/envelope.d.ts +99 -0
  1019. package/types/knobs/envelope.d.ts.map +1 -0
  1020. package/types/knobs/graphKnobs.d.ts +26 -0
  1021. package/types/knobs/graphKnobs.d.ts.map +1 -0
  1022. package/types/knobs/useKnobEnvelope.d.ts +43 -0
  1023. package/types/knobs/useKnobEnvelope.d.ts.map +1 -0
  1024. package/types/layout/dagre.d.ts +39 -0
  1025. package/types/layout/dagre.d.ts.map +1 -0
  1026. package/types/layout/layout.d.ts +58 -0
  1027. package/types/layout/layout.d.ts.map +1 -0
  1028. package/types/layout/runner.d.ts +60 -0
  1029. package/types/layout/runner.d.ts.map +1 -0
  1030. package/types/layout/structuredCloneShim.d.ts +44 -0
  1031. package/types/layout/structuredCloneShim.d.ts.map +1 -0
  1032. package/types/layout/types.d.ts +113 -0
  1033. package/types/layout/types.d.ts.map +1 -0
  1034. package/types/layout/worker.entry.d.ts +34 -0
  1035. package/types/layout/worker.entry.d.ts.map +1 -0
  1036. package/types/layout/worker.generated.d.ts +26 -0
  1037. package/types/layout/worker.generated.d.ts.map +1 -0
  1038. package/types/model/commands.d.ts +49 -0
  1039. package/types/model/commands.d.ts.map +1 -0
  1040. package/types/model/connect.d.ts +83 -0
  1041. package/types/model/connect.d.ts.map +1 -0
  1042. package/types/model/document.d.ts +111 -0
  1043. package/types/model/document.d.ts.map +1 -0
  1044. package/types/model/history.d.ts +40 -0
  1045. package/types/model/history.d.ts.map +1 -0
  1046. package/types/model/index.d.ts +20 -0
  1047. package/types/model/index.d.ts.map +1 -0
  1048. package/types/model/schema.d.ts +136 -0
  1049. package/types/model/schema.d.ts.map +1 -0
  1050. package/types/model/select.d.ts +41 -0
  1051. package/types/model/select.d.ts.map +1 -0
  1052. package/types/model/serialize.d.ts +33 -0
  1053. package/types/model/serialize.d.ts.map +1 -0
  1054. package/types/native/DomOnlyStory.d.ts +49 -0
  1055. package/types/native/DomOnlyStory.d.ts.map +1 -0
  1056. package/types/native/GraphFallback.native.d.ts +41 -0
  1057. package/types/native/GraphFallback.native.d.ts.map +1 -0
  1058. package/types/native/GraphToolbar.d.ts +75 -0
  1059. package/types/native/GraphToolbar.d.ts.map +1 -0
  1060. package/types/native/NodeGraph.native.d.ts +128 -0
  1061. package/types/native/NodeGraph.native.d.ts.map +1 -0
  1062. package/types/native/domEntryRegistry.d.ts +33 -0
  1063. package/types/native/domEntryRegistry.d.ts.map +1 -0
  1064. package/types/native/graphChildren.d.ts +36 -0
  1065. package/types/native/graphChildren.d.ts.map +1 -0
  1066. package/types/nodes/GraphNode.d.ts +48 -0
  1067. package/types/nodes/GraphNode.d.ts.map +1 -0
  1068. package/types/nodes/GraphPort.d.ts +41 -0
  1069. package/types/nodes/GraphPort.d.ts.map +1 -0
  1070. package/types/nodes/handleGeometry.d.ts +183 -0
  1071. package/types/nodes/handleGeometry.d.ts.map +1 -0
  1072. package/types/nodes/lod.d.ts +55 -0
  1073. package/types/nodes/lod.d.ts.map +1 -0
  1074. package/types/nodes/nodeMeasure.d.ts +146 -0
  1075. package/types/nodes/nodeMeasure.d.ts.map +1 -0
  1076. package/types/nodes/overviewNode.d.ts +34 -0
  1077. package/types/nodes/overviewNode.d.ts.map +1 -0
  1078. package/types/react-flow/ConnectionPuck.d.ts +62 -0
  1079. package/types/react-flow/ConnectionPuck.d.ts.map +1 -0
  1080. package/types/react-flow/GraphActions.d.ts +45 -0
  1081. package/types/react-flow/GraphActions.d.ts.map +1 -0
  1082. package/types/react-flow/GraphCommandBridge.d.ts +45 -0
  1083. package/types/react-flow/GraphCommandBridge.d.ts.map +1 -0
  1084. package/types/react-flow/GraphNodeHost.d.ts +32 -0
  1085. package/types/react-flow/GraphNodeHost.d.ts.map +1 -0
  1086. package/types/react-flow/GraphPaintProbe.d.ts +26 -0
  1087. package/types/react-flow/GraphPaintProbe.d.ts.map +1 -0
  1088. package/types/react-flow/GraphZoomVar.d.ts +31 -0
  1089. package/types/react-flow/GraphZoomVar.d.ts.map +1 -0
  1090. package/types/react-flow/LassoOverlay.d.ts +39 -0
  1091. package/types/react-flow/LassoOverlay.d.ts.map +1 -0
  1092. package/types/react-flow/NodeGraphWeb.d.ts +195 -0
  1093. package/types/react-flow/NodeGraphWeb.d.ts.map +1 -0
  1094. package/types/react-flow/SnapGuides.d.ts +49 -0
  1095. package/types/react-flow/SnapGuides.d.ts.map +1 -0
  1096. package/types/react-flow/demoControlBody.d.ts +47 -0
  1097. package/types/react-flow/demoControlBody.d.ts.map +1 -0
  1098. package/types/react-flow/demoNodeBody.d.ts +37 -0
  1099. package/types/react-flow/demoNodeBody.d.ts.map +1 -0
  1100. package/types/react-flow/fixtures.d.ts +107 -0
  1101. package/types/react-flow/fixtures.d.ts.map +1 -0
  1102. package/types/react-flow/flowAdapter.d.ts +56 -0
  1103. package/types/react-flow/flowAdapter.d.ts.map +1 -0
  1104. package/types/react-flow/graphHandle.d.ts +90 -0
  1105. package/types/react-flow/graphHandle.d.ts.map +1 -0
  1106. package/types/react-flow/nodeCensus.d.ts +42 -0
  1107. package/types/react-flow/nodeCensus.d.ts.map +1 -0
  1108. package/types/react-flow/useGraphController.d.ts +93 -0
  1109. package/types/react-flow/useGraphController.d.ts.map +1 -0
  1110. package/types/react-flow/xy.d.ts +84 -0
  1111. package/types/react-flow/xy.d.ts.map +1 -0
  1112. package/types/theme/GraphFaces.d.ts +82 -0
  1113. package/types/theme/GraphFaces.d.ts.map +1 -0
  1114. package/types/theme/GraphVarsStyle.d.ts +56 -0
  1115. package/types/theme/GraphVarsStyle.d.ts.map +1 -0
  1116. package/types/theme/faces.d.ts +152 -0
  1117. package/types/theme/faces.d.ts.map +1 -0
  1118. package/types/theme/faces.generated.d.ts +27 -0
  1119. package/types/theme/faces.generated.d.ts.map +1 -0
  1120. package/types/theme/graphVars.d.ts +155 -0
  1121. package/types/theme/graphVars.d.ts.map +1 -0
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Web barrel.
3
+ *
4
+ * The model half is NOT re-exported here. It has its own condition
5
+ * (`@multiplatform.one/node-graph/model`) so a server, a CLI, a Frappe hook or
6
+ * the CI bench can import it without React or `@xyflow` — re-exporting it from
7
+ * this file would defeat that by making one import pull the whole editor.
8
+ *
9
+ * `css/graph.css` is imported by `NodeGraphWeb`, so a consumer of `NodeGraph`
10
+ * gets it automatically. A consumer who mounts `ReactFlow` themselves imports
11
+ * `@multiplatform.one/node-graph/css/graph.css`.
12
+ */
13
+ export { NodeGraph } from "./NodeGraph";
14
+ export type { NodeGraphProps } from "./NodeGraph";
15
+ export { graphCanvasDefaults, NodeGraphWeb } from "./react-flow/NodeGraphWeb";
16
+ export type { NodeGraphWebProps } from "./react-flow/NodeGraphWeb";
17
+ export { defaultGraphNodeType, useGraphController } from "./react-flow/useGraphController";
18
+ export type { GraphController, GraphRelayoutOptions, UseGraphControllerOptions, } from "./react-flow/useGraphController";
19
+ export { GraphActionsProvider, useGraphActions } from "./react-flow/GraphActions";
20
+ /**
21
+ * The imperative handle (design §9.1), on the WEB barrel as well as the native
22
+ * one. Milestone 6: a control is either a sibling on this handle or a
23
+ * serializable option, and a web story that could not rehearse the native shape
24
+ * would be a story that proves nothing about the phone.
25
+ */
26
+ export { graphCommandNames } from "./react-flow/graphHandle";
27
+ export type { GraphCommands, GraphCommandSlot, NodeGraphHandle } from "./react-flow/graphHandle";
28
+ export { GraphCommandBridge } from "./react-flow/GraphCommandBridge";
29
+ export type { GraphCommandBridgeProps } from "./react-flow/GraphCommandBridge";
30
+ export { GraphPaintProbe } from "./react-flow/GraphPaintProbe";
31
+ export { GraphZoomVar, graphZoomVarName } from "./react-flow/GraphZoomVar";
32
+ export { DomOnlyStory, domOnlyStoryDecorator, hasDomRealm } from "./native/DomOnlyStory";
33
+ export type { DomOnlyStoryProps } from "./native/DomOnlyStory";
34
+ /**
35
+ * The event union, on the WEB barrel too. `NodeGraphWeb.onGraphEvent` hands it
36
+ * out, so a web consumer needs the type to declare its handler — the same union
37
+ * that crosses the bridge as JSON on native, which is what lets one story file
38
+ * read a runner on both.
39
+ */
40
+ export type { GraphEventWire, LassoPhaseWire, PerfReportWire } from "./dom/wire";
41
+ export type { GraphActions } from "./react-flow/GraphActions";
42
+ export type { GraphFlowNodeData } from "./react-flow/flowAdapter";
43
+ export { toFlowEdges, toFlowNodes } from "./react-flow/flowAdapter";
44
+ export { GraphNodeHost, useGraphHost } from "./react-flow/GraphNodeHost";
45
+ export { ConnectionPuck, connectionPuckLabel } from "./react-flow/ConnectionPuck";
46
+ export type { ConnectionPuckLabel, ConnectionPuckProps } from "./react-flow/ConnectionPuck";
47
+ export { filterLegalCandidates, isLegalTarget, legalTargets } from "./interaction/legalTargets";
48
+ export type { LegalTargetQuery } from "./interaction/legalTargets";
49
+ export { mountedNodeCount, registerMountedNode, resetNodeCensus, subscribeNodeCensus, } from "./react-flow/nodeCensus";
50
+ export { demoControlSchemaId, demoGraphSchemaId } from "./react-flow/fixtures";
51
+ export type { GraphHostValue } from "./react-flow/GraphNodeHost";
52
+ export { GraphEdge, graphEdgeType, graphEdgeTypes } from "./edges/GraphEdge";
53
+ export type { GraphEdgeData } from "./edges/GraphEdge";
54
+ export { builtinEdgeKindNames, builtinEdgeKinds } from "./edges/edgeKinds";
55
+ export type { BuiltinEdgeData, BuiltinEdgeKind } from "./edges/edgeKinds";
56
+ export { dashAnimation, edgeAppearances, edgeMarkerEnd, edgeStrokeWidth, edgeStrokeWidths, resolveEdgeStyle, } from "./edges/edgeStyle";
57
+ export type { EdgeAppearance, EdgeMarker, EdgePathKind, EdgeStyle } from "./edges/edgeStyle";
58
+ export { GraphBootFailure, GraphDiagnostics } from "./diagnostics/GraphDiagnostics";
59
+ export { graphDiagnosticsFromWire } from "./diagnostics/fromWire";
60
+ export type { GraphDiagnosticsProps } from "./diagnostics/GraphDiagnostics";
61
+ export { useGraphDiagnostics } from "./diagnostics/useGraphDiagnostics";
62
+ export { graphErrorGlobalKey, readGraphError, recordGraphError, resetGraphError, } from "./diagnostics/lastError";
63
+ export type { GraphErrorRecord } from "./diagnostics/lastError";
64
+ export type { GraphDiagnostics as GraphDiagnosticsRecord, GraphDiagnosticsInput, GraphFaceDelivery, GraphRenderer, LayoutRunnerKind, } from "./diagnostics/types";
65
+ export { GraphFaces, useGraphFaces } from "./theme/GraphFaces";
66
+ export type { GraphFacesProps, GraphFaceSource, GraphFaceStatus } from "./theme/GraphFaces";
67
+ export { corruptFirstFamily, faceBytes, graphFaceCeilingBytes, graphFaceCss, graphFaces, probeFamily, probeRenderedFamily, splitFontStack, } from "./theme/faces";
68
+ export type { FaceProbe, GraphFaceAsset, GraphFaceCategory, GraphFaceDeclaration, } from "./theme/faces";
69
+ export { generatedGraphFaces } from "./theme/faces.generated";
70
+ export { KnobEnvelopeProvider } from "./knobs/KnobEnvelopeProvider";
71
+ export { resolveEnvelopeThemeName } from "./knobs/KnobEnvelopeProvider";
72
+ export type { KnobEnvelopeProviderProps } from "./knobs/KnobEnvelopeProvider";
73
+ export { knobEnvelopeIdentity, knobEnvelopeSchemaVersion, knobsForEnvelope, } from "./knobs/envelope";
74
+ export type { GraphFontRef, KnobEnvelope } from "./knobs/envelope";
75
+ export { useKnobEnvelope } from "./knobs/useKnobEnvelope";
76
+ export type { UseKnobEnvelopeOptions } from "./knobs/useKnobEnvelope";
77
+ export { useGraphNodeKnobs } from "./knobs/graphKnobs";
78
+ export type { GraphNodeKnobs, UseGraphNodeKnobsOptions } from "./knobs/graphKnobs";
79
+ export { lassoFlowProps, lassoHoldMs, lassoSlopPx, useLassoSelect, } from "./interaction/useLassoSelect";
80
+ export type { GraphInteractionMode, LassoFlowProps, LassoLongPressOptions, LassoSelect, LassoViewportPort, UseLassoSelectOptions, } from "./interaction/useLassoSelect";
81
+ export { installLassoIntercept } from "./interaction/lassoIntercept";
82
+ export type { LassoIntercept, LassoInterceptOptions } from "./interaction/lassoIntercept";
83
+ export { LassoOverlay } from "./react-flow/LassoOverlay";
84
+ export type { LassoOverlayProps } from "./react-flow/LassoOverlay";
85
+ export { GraphToolbar } from "./native/GraphToolbar";
86
+ export type { GraphToolbarProps } from "./native/GraphToolbar";
87
+ export { GraphNode } from "./nodes/GraphNode";
88
+ export type { GraphNodeProps } from "./nodes/GraphNode";
89
+ export { GraphPort } from "./nodes/GraphPort";
90
+ export { defaultOverviewZoom, detailOpacity, isOverview, lodForZoom } from "./nodes/lod";
91
+ export type { GraphRenderMode } from "./nodes/lod";
92
+ export { OverviewNode } from "./nodes/overviewNode";
93
+ export type { OverviewNodeProps } from "./nodes/overviewNode";
94
+ export type { GraphPortProps } from "./nodes/GraphPort";
95
+ export { FINE_PORT_HIT_MIN, paintedPortSize, paintedPortSizePx, portConnectionRadius, portGeometry, portHitSize, portRegionInset, } from "./nodes/handleGeometry";
96
+ export type { PortGeometry, PortRect } from "./nodes/handleGeometry";
97
+ export { containerRadiusPx, defaultNodeMeasure, FINE_PORT_PITCH, graphNodeMeasure, graphNodeMinHeight, graphNodeRadius, graphNodeRadiusPx, graphNodeWidth, nodePanelPaddingPx, nodeRadiusTokenPx, portSpacing, verticalPortCrowd, } from "./nodes/nodeMeasure";
98
+ export type { GraphNodeMeasure, GraphNodePort, GraphNodeRadiusKnob, GraphNodeSizeKnob, GraphNodeSpaceKnob, GraphPortSide, } from "./nodes/nodeMeasure";
99
+ export { GraphVars, graphRootClassName, graphVarsSheet, useGraphCssVars, } from "./theme/GraphVarsStyle";
100
+ export type { GraphVarsProps } from "./theme/GraphVarsStyle";
101
+ export { graphCssVars } from "./theme/graphVars";
102
+ export type { GraphCssVarsOptions, GraphThemeAccess } from "./theme/graphVars";
103
+ /**
104
+ * The DOM-entry registry, on the WEB barrel too, and that is deliberate.
105
+ *
106
+ * A cross-platform app registers its `'use dom'` entry from one shared module
107
+ * (design §9.3), and a shared module has to resolve on both platforms or the
108
+ * web build fails on a name only the native barrel carries. The registry itself
109
+ * is platform-neutral — a module-level slot and two functions, no React Native
110
+ * import — and on web nothing reads it, because `NodeGraphWeb` mounts React
111
+ * Flow directly and there is no bridge to cross.
112
+ */
113
+ export { clearNodeGraphDomEntry, getNodeGraphDomEntry, setNodeGraphDomEntry, } from "./native/domEntryRegistry";
114
+ export type { NodeGraphDomEntry } from "./native/domEntryRegistry";
115
+ export { layoutWithDagre, defaultLayoutSpacing } from "./layout/dagre";
116
+ export { buildLayoutRequest, layout, reconcilePositions } from "./layout/layout";
117
+ export type { GraphLayoutOptions } from "./layout/layout";
118
+ export { createLayoutRunner, defaultProbeTimeoutMs, getLayoutRunner, readLayoutRunnerFallback, resetLayoutRunner, resolveRunner, } from "./layout/runner";
119
+ export type { LayoutRunner, LayoutRunnerFallback, LayoutRunnerOptions } from "./layout/runner";
120
+ export type { LayoutDirection, LayoutEdgeInput, LayoutEngine, LayoutNodeInput, LayoutOptions, LayoutRequest, LayoutResult, LayoutWorkerRequest, LayoutWorkerResponse, } from "./layout/types";
121
+ export { cloneStructured, ensureStructuredClone } from "./layout/structuredCloneShim";
122
+ export { layoutWorkerBytes, layoutWorkerSha256 } from "./layout/worker.generated";
123
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Native barrel.
3
+ *
4
+ * Deliberately NOT a mirror of `index.ts`. What a native consumer gets is the
5
+ * host, the fallback and the bridge types — the canvas itself lives inside the
6
+ * WebView and exporting it here would let a consumer mount React Flow on the
7
+ * Hermes side, where it cannot run.
8
+ *
9
+ * The model half stays on its own condition
10
+ * (`@multiplatform.one/node-graph/model`) on both platforms, so a screen that
11
+ * only needs the document shape does not pull in a WebView.
12
+ *
13
+ * Only `.native.*` twins exist in this package — never a `.web.*` twin (MPO-192).
14
+ */
15
+ export { NodeGraph } from "./NodeGraph.native";
16
+ export type { NodeGraphProps } from "./NodeGraph.native";
17
+ export { demoControlSchemaId, demoGraphSchemaId } from "./react-flow/fixtures";
18
+ export { NodeGraphNative, readyTimeoutMs } from "./native/NodeGraph.native";
19
+ export type { NodeGraphNativeProps } from "./native/NodeGraph.native";
20
+ export { GraphFallback, graphFallbackDetail } from "./native/GraphFallback.native";
21
+ /**
22
+ * The toolbar is plain Tamagui and lives on the Hermes side, above the WebView
23
+ * (design §7.3, §7.6). `useLassoSelect` is deliberately NOT here: it imports
24
+ * `SelectionMode` from the `@xyflow` boundary, and dragging React Flow onto
25
+ * Hermes to read one enum is exactly what this barrel exists to prevent. The
26
+ * mode itself is a string a shell can hold in `useState` and send across the
27
+ * bridge; only its TYPE crosses, and a type is erased.
28
+ */
29
+ export { GraphToolbar } from "./native/GraphToolbar";
30
+ export type { GraphToolbarProps } from "./native/GraphToolbar";
31
+ export type { GraphInteractionMode } from "./interaction/useLassoSelect";
32
+ /**
33
+ * The imperative handle a native SIBLING drives the canvas with (design §9.1).
34
+ *
35
+ * This is the milestone-6 surface: `NodeGraph` on native drops children, so a
36
+ * toolbar, a Tidy button and a perf readout reach the canvas through these
37
+ * eleven commands and read state back off the wire. Exported here because a
38
+ * consumer needs the TYPE to declare its ref.
39
+ */
40
+ export { graphCommandNames } from "./react-flow/graphHandle";
41
+ export type { GraphCommands, GraphCommandSlot, NodeGraphHandle } from "./react-flow/graphHandle";
42
+ export { graphChildrenWarning, resetGraphChildrenWarning, warnOnGraphChildren, } from "./native/graphChildren";
43
+ export { DomOnlyStory, hasDomRealm } from "./native/DomOnlyStory";
44
+ export type { DomOnlyStoryProps } from "./native/DomOnlyStory";
45
+ export type { GraphFallbackProps, GraphFallbackReason } from "./native/GraphFallback.native";
46
+ /**
47
+ * The DOM entry is NOT re-exported here.
48
+ *
49
+ * Design §9.3: the entry is app-owned, and this barrel is imported by native
50
+ * code. Re-exporting the package's own `'use dom'` module would put a second
51
+ * DOM bundle into every app that touches the barrel — one nothing renders,
52
+ * because `NodeGraphNative` refuses to mount an entry that has no config. It
53
+ * stays reachable at `@multiplatform.one/node-graph/dom` for anyone who wants
54
+ * to read the reference implementation.
55
+ *
56
+ * `NodeGraphDomShell` is absent for a sharper reason: its module body stamps
57
+ * `__mp_graph_boot` at evaluation, and evaluating it on the Hermes side would
58
+ * write a boot record for a WebView that does not exist. It lives at
59
+ * `@multiplatform.one/node-graph/dom-inner`, which only a `'use dom'` file ever
60
+ * imports. Only its TYPES cross to native.
61
+ */
62
+ export type { NodeGraphDomHandle, NodeGraphDomOptions, NodeGraphDomProps, NodeGraphDomRealmProps, NodeGraphDomShellProps, } from "./dom/NodeGraphDomShell";
63
+ export { clearNodeGraphDomEntry, getNodeGraphDomEntry, setNodeGraphDomEntry, } from "./native/domEntryRegistry";
64
+ export type { NodeGraphDomEntry } from "./native/domEntryRegistry";
65
+ export { bootStageIndex, bootStages, graphReadySettleMs, readBootElapsedMs, readBootRecord, readBootStage, resetBoot, stampBootStage, } from "./dom/boot";
66
+ export type { BootRecord, BootStage } from "./dom/boot";
67
+ /**
68
+ * The `ready` payload as design 9.5's record, and the panel that renders it.
69
+ *
70
+ * Both are on the NATIVE barrel because native is where they are needed: the
71
+ * canvas is inside a WebView, so `onReady` is the only way its diagnostics
72
+ * reach a screen. `LiveGraphDiagnostics` is the story-shaped version of that.
73
+ */
74
+ export { GraphBootFailure, GraphDiagnostics } from "./diagnostics/GraphDiagnostics";
75
+ export type { GraphDiagnosticsProps } from "./diagnostics/GraphDiagnostics";
76
+ export { graphDiagnosticsFromWire } from "./diagnostics/fromWire";
77
+ export type { GraphDiagnostics as GraphDiagnosticsRecord, GraphFaceDelivery, GraphRenderer, LayoutRunnerKind, } from "./diagnostics/types";
78
+ export { createGraphEventEmitter, createRevEchoGate, decodeGraphEvent, encodeGraphEvent, graphEventEmission, graphEventKinds, isBenignCanvasError, isGraphEventKind, } from "./dom/wire";
79
+ export type { FaceProbeWire, FontFaceWire, GraphDiagnosticsWire, GraphFaceDeliveryWire, GraphErrorPhase, GraphEventEmitter, GraphEventKind, GraphEventThrottle, GraphEventWire, LassoPhaseWire, PerfReportWire, RevEchoGate, } from "./dom/wire";
80
+ export { KnobEnvelopeProvider } from "./knobs/KnobEnvelopeProvider";
81
+ export { resolveEnvelopeThemeName } from "./knobs/KnobEnvelopeProvider";
82
+ export { knobEnvelopeIdentity, knobEnvelopeSchemaVersion, knobsForEnvelope, } from "./knobs/envelope";
83
+ export type { GraphFontRef, KnobEnvelope } from "./knobs/envelope";
84
+ export { useKnobEnvelope } from "./knobs/useKnobEnvelope";
85
+ export type { UseKnobEnvelopeOptions } from "./knobs/useKnobEnvelope";
86
+ //# sourceMappingURL=index.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../src/index.native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * The long-press interceptor (design §7.3, task 3.7).
3
+ *
4
+ * One capture-phase `touchmove` listener on an ancestor, calling
5
+ * `stopPropagation()`. That is the whole mechanism, and it is small because
6
+ * the reasoning that led to it is where the work was:
7
+ *
8
+ * - d3-zoom binds `touchmove.zoom` (`d3-zoom/src/zoom.js:80`) as a legacy
9
+ * `TouchEvent`, in the BUBBLE phase, on the element `zoom()` was called
10
+ * with — `.react-flow__renderer`, which is an ANCESTOR of the pane.
11
+ * - `setPointerCapture` retargets `PointerEvent`s only, so it cannot take
12
+ * that away.
13
+ * - d3 consults its `filter` in `touchstarted` (`:316`) and never again in
14
+ * `touchmoved` (`:340`), so flipping `panOnDrag` 350 ms into a hold cannot
15
+ * stop the gesture already running.
16
+ *
17
+ * A capture listener above the renderer runs BEFORE any of that, and
18
+ * `stopPropagation()` in the capture phase ends the event's journey there:
19
+ * it never descends to the target and never bubbles back up. The listener that
20
+ * would have panned the canvas is not removed, disabled or raced — it is
21
+ * simply never reached.
22
+ *
23
+ * Three properties this deliberately has, each with a spec:
24
+ *
25
+ * - `touchmove` ONLY. `touchcancel` has to get through, because arming
26
+ * dispatches one at the pane so d3 ends its gesture cleanly instead of
27
+ * sitting on a live `g.touch0`. An interceptor that swallowed everything
28
+ * would eat its own escape hatch.
29
+ * - never `preventDefault()`. Suppressing the pan is a propagation decision,
30
+ * not a default-action one, and the pane already carries
31
+ * `touch-action: none` (design §7.5).
32
+ * - `passive: false` is passed explicitly. Chrome makes a `touchmove`
33
+ * listener on `document` or `window` passive by DEFAULT, and a passive
34
+ * listener that later needed `preventDefault` would fail silently. Stating
35
+ * it means the listener behaves as written wherever it is installed.
36
+ *
37
+ * No React and no `@xyflow` here on purpose: this is the piece design §7.3
38
+ * calls the one mechanism no spike has run, so it is testable at its own level
39
+ * rather than only through a canvas.
40
+ */
41
+ export interface LassoInterceptOptions {
42
+ /**
43
+ * Any ancestor of the element d3 is bound to. `.react-flow__renderer` is
44
+ * itself an ancestor of the pane, so an interceptor on the PANE would be
45
+ * below the listener it is trying to stop — the hook passes the pane's
46
+ * `ownerDocument`, which cannot be chosen wrongly.
47
+ */
48
+ readonly ancestor: EventTarget;
49
+ /** Each swallowed event, so the marquee can be drawn from the same stream. */
50
+ readonly onIntercept?: (event: TouchEvent) => void;
51
+ }
52
+ export interface LassoIntercept {
53
+ /** Removes the listener. Idempotent, and it never removes anyone else's. */
54
+ readonly release: () => void;
55
+ readonly active: boolean;
56
+ }
57
+ export declare function installLassoIntercept(options: LassoInterceptOptions): LassoIntercept;
58
+ //# sourceMappingURL=lassoIntercept.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lassoIntercept.d.ts","sourceRoot":"","sources":["../../src/interaction/lassoIntercept.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAqBpF"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Which ports a connection drag is allowed to land on (design §7.4, §4.4).
3
+ *
4
+ * `connectionRadius` is the 44 px hit diameter (task 3.4 H5), so React Flow's
5
+ * magnetism will snap a drag onto whatever handle is nearest — including one
6
+ * the schema refuses. That is correct behaviour from React Flow and the wrong
7
+ * thing to SHOW: a puck naming a target the drop then rejects teaches a user
8
+ * that the affordance lies. So the candidates get filtered through the same
9
+ * rule engine the drop will use.
10
+ *
11
+ * Pure. No React, no DOM, no `@xyflow` — it runs in vitest under Node, and the
12
+ * same function answers for the puck, for a keyboard flow, and for a headless
13
+ * consumer that wants to know what its document permits.
14
+ *
15
+ * `validateConnection` and never `validateDrop`. This is the pointer-tick path
16
+ * and `refuseCycle` is O(V+E); the TYPE refuses it here rather than a comment
17
+ * asking nicely (design §4.4).
18
+ */
19
+ import type { ConnectionRule, EdgeKindDefs, GraphDocument, GraphSchema, NodeKindDefs, PortRef } from "../model/index";
20
+ export interface LegalTargetQuery<N extends NodeKindDefs, E extends EdgeKindDefs> {
21
+ readonly document: GraphDocument<N, E>;
22
+ readonly schema: GraphSchema<N, E>;
23
+ /** Where the drag started. An input here yields nothing, by `refuseDirection`. */
24
+ readonly source: PortRef;
25
+ /** Defaults to the schema's own rules, which is what the drop will use. */
26
+ readonly rules?: readonly ConnectionRule<N, E>[];
27
+ }
28
+ /**
29
+ * Every port `validateConnection` accepts for this source, in DOCUMENT order.
30
+ *
31
+ * Order is part of the contract: a candidate list that reshuffles between
32
+ * pointer ticks would make a highlight flicker between two equally legal ports
33
+ * on the same node.
34
+ *
35
+ * A port on the source node is not special-cased. Whether a self-loop is legal
36
+ * is the schema's call, made by including or omitting `refuseSelfLoop`, and
37
+ * this function has no opinion of its own — which is what lets a schema that
38
+ * wants loops have them without a flag here.
39
+ */
40
+ export declare function legalTargets<N extends NodeKindDefs, E extends EdgeKindDefs>(query: LegalTargetQuery<N, E>): readonly PortRef[];
41
+ /**
42
+ * The same answer for ONE candidate, without walking the document.
43
+ *
44
+ * What the puck actually calls. React Flow has already told us which handle it
45
+ * snapped to, so asking about every port to check one is work paid on every
46
+ * pointer tick of every drag.
47
+ */
48
+ export declare function isLegalTarget<N extends NodeKindDefs, E extends EdgeKindDefs>(query: LegalTargetQuery<N, E> & {
49
+ readonly target: PortRef;
50
+ }): boolean;
51
+ /**
52
+ * React Flow's magnetic candidates, minus the ones the rules refuse.
53
+ *
54
+ * Order is the caller's, not the document's: React Flow hands these back
55
+ * sorted by distance, and re-sorting them into document order would throw away
56
+ * the "nearest" the magnetism just computed.
57
+ */
58
+ export declare function filterLegalCandidates<N extends NodeKindDefs, E extends EdgeKindDefs>(candidates: readonly PortRef[], query: LegalTargetQuery<N, E>): readonly PortRef[];
59
+ //# sourceMappingURL=legalTargets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legalTargets.d.ts","sourceRoot":"","sources":["../../src/interaction/legalTargets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,OAAO,EACR,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY;IAC9E,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;CAClD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EACzE,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,SAAS,OAAO,EAAE,CAUpB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EAC1E,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC3D,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EAClF,UAAU,EAAE,SAAS,OAAO,EAAE,EAC9B,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,SAAS,OAAO,EAAE,CAEpB"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Alignment snapping, design §7.2. Pure: no DOM, no React, no `@xyflow`, so it
3
+ * runs in vitest under Node and could run in a worklet or a worker later.
4
+ *
5
+ * This is a PORT of the native-first spike's snapper, not a fresh design. Two
6
+ * things changed on the way in, and both are the whole reason the port was
7
+ * worth doing rather than copying:
8
+ *
9
+ * - the spike snapped ONE node by its index in a flat position array. This
10
+ * takes the dragged selection's **union rect** and its **id set**, so a
11
+ * multi-select drag snaps the box and one delta moves every member (S6);
12
+ * - the spike compared origins only. This compares the nine line pairs
13
+ * (S4), so a node aligns to a neighbour's centre or far edge, which is what
14
+ * makes the guides mean anything.
15
+ *
16
+ * The threshold arrives in FLOW units and is a screen distance divided by the
17
+ * zoom (S2). `alignmentThreshold` does that division; the caller owns the zoom.
18
+ */
19
+ import type { NodeId, Rect, XY } from "../model/document";
20
+ import type { SpatialHash } from "./spatialHash";
21
+ /** Design §7.2: 8 on a mouse, 12 under a finger, both in SCREEN px. */
22
+ export declare const defaultSnapThresholdPx: {
23
+ readonly fine: 8;
24
+ readonly coarse: 12;
25
+ };
26
+ /** Design §7.2 S3. How far from the dragged box a neighbour may be and count. */
27
+ export declare const defaultCandidateRadius = 400;
28
+ export interface PositionedNode {
29
+ readonly id: NodeId;
30
+ readonly rect: Rect;
31
+ }
32
+ export type SnapAxis = "x" | "y";
33
+ /** The three lines a rect offers per axis: `{left, centerX, right}` in §7.2's words. */
34
+ export type SnapLine = "start" | "center" | "end";
35
+ export interface SnapGuide {
36
+ readonly axis: SnapAxis;
37
+ /** The flow coordinate of the line: an x for a vertical guide, a y for a horizontal one. */
38
+ readonly position: number;
39
+ /** Where the line starts on the OTHER axis. Spans the moved rect and the neighbour. */
40
+ readonly start: number;
41
+ readonly end: number;
42
+ /** The neighbour it aligned to, so a story can name it and a test can assert it. */
43
+ readonly nodeId: NodeId;
44
+ readonly movingLine: SnapLine;
45
+ readonly candidateLine: SnapLine;
46
+ }
47
+ export interface SnapResult {
48
+ /** The snapped top-left of the dragged selection's union rect. */
49
+ readonly position: XY;
50
+ /** At most two: one per axis. Design §7.2 S10. */
51
+ readonly guides: readonly SnapGuide[];
52
+ /** True the frame a guide appears — what haptics fire on, once. */
53
+ readonly acquired: boolean;
54
+ }
55
+ export interface SnapToAlignmentInput {
56
+ /** The WHOLE dragged selection. Every member is excluded from candidates (S7). */
57
+ readonly ids: readonly NodeId[];
58
+ /** Union bounds of that selection, unsnapped. */
59
+ readonly rect: Rect;
60
+ /**
61
+ * Live geometry. The index is the drag-start snapshot and only picks WHICH
62
+ * neighbours to consider; this map is what the arithmetic reads, so a node
63
+ * that moved under a programmatic change is aligned to where it is now.
64
+ */
65
+ readonly nodes: ReadonlyMap<NodeId, PositionedNode>;
66
+ /** Built once at drag start, from every node (S3). */
67
+ readonly index: SpatialHash;
68
+ readonly thresholdFlowUnits: number;
69
+ readonly radius: number;
70
+ }
71
+ /**
72
+ * Screen px → flow units. A fixed flow-unit threshold is 4 screen px at 0.5×,
73
+ * which is the "snapping feels dead when I pinch out" bug, so this division is
74
+ * not a detail (S2).
75
+ *
76
+ * A zoom of zero or less returns 0 rather than Infinity: React Flow clamps zoom
77
+ * well above zero, but a threshold of Infinity would snap the node to the first
78
+ * neighbour in the index and there would be no way to see why.
79
+ */
80
+ export declare function alignmentThreshold(options: {
81
+ readonly thresholdScreenPx: number;
82
+ readonly zoom: number;
83
+ }): number;
84
+ export declare function snapToAlignment(input: SnapToAlignmentInput): SnapResult;
85
+ //# sourceMappingURL=snapAlignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapAlignment.d.ts","sourceRoot":"","sources":["../../src/interaction/snapAlignment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,uEAAuE;AACvE,eAAO,MAAM,sBAAsB;;;CAAmC,CAAC;AAEvE,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;AAEjC,wFAAwF;AACxF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACpD,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAIT;AAqFD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,UAAU,CA8BvE"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Snapping wired into `onNodesChange`, design §7.2 rules S1, S3, S5, S6 and S11.
3
+ *
4
+ * Pure, and deliberately structural about its inputs: it names no `@xyflow`
5
+ * type, so it runs under Node and the boundary in `react-flow/xy.ts` stays the
6
+ * only import site. `SnapChange` and `SnapChangeNode` are the shape React Flow
7
+ * happens to hand us, written down rather than imported.
8
+ *
9
+ * The three decisions worth reading before changing anything here:
10
+ *
11
+ * - **A live drag only (S1).** A programmatic move — layout, undo, paste — is
12
+ * never snapped, or a relayout fights itself.
13
+ *
14
+ * S1's wording says `dragging === true` and nothing else. Taken literally
15
+ * that undoes every snap at the moment of release, and it was MEASURED
16
+ * doing so in Chrome on `NodeGraph/Snapping → ZoomThreshold`: mid-drag the
17
+ * node sat at the aligned 370 with a guide painted, and on mouseup it
18
+ * jumped back off the line. The mechanism is `XYDrag`'s `end` handler
19
+ * (`@xyflow/system/dist/esm/index.js:2311-2316`) calling
20
+ * `updateNodePositions(dragItems, false)`, which re-emits the position
21
+ * XYDrag derived from the raw pointer (`:2154`, `x - dragItem.distance.x`).
22
+ * Those drag items never saw our rewrite, so the closing frame is the
23
+ * unsnapped one and it is also the frame the document commits.
24
+ *
25
+ * So the rule as built is: a position change is snapped when it belongs to
26
+ * a LIVE drag — `dragging: true`, or the `dragging: false` frame that
27
+ * closes a drag this session was already snapping. A change with `dragging`
28
+ * undefined is still never snapped, and neither is a `dragging: false`
29
+ * change with no live session, which is what a stray programmatic set looks
30
+ * like. That keeps S1's intent and makes the snap survive the mouse button
31
+ * coming up.
32
+ * - **The index is a drag, not a frame (S3).** It is built once, on the first
33
+ * dragging change, from every node NOT in the dragged set, and lives in a
34
+ * `SnapSession` the caller owns. Rebuilding it per frame is the difference
35
+ * between a query and a re-scan of the whole graph 120 times a second.
36
+ * - **Grid first, alignment per axis (S5).** The grid runs on the union rect,
37
+ * then alignment runs from THERE, and an axis keeps its grid value unless a
38
+ * guide fired on it. Running alignment from the raw pointer instead would
39
+ * make a node the grid carried into range fail to align, which reads as the
40
+ * snap being flaky rather than as two rules composing.
41
+ */
42
+ import type { NodeId, Rect, XY } from "../model/document";
43
+ import type { PositionedNode, SnapGuide } from "./snapAlignment";
44
+ import type { SpatialHash, SpatialItem } from "./spatialHash";
45
+ /** Alignment on, grid off — React Flow's own `snapToGrid` defaults off too. */
46
+ export declare const graphSnappingDefaults: {
47
+ readonly alignment: true;
48
+ readonly grid: null;
49
+ };
50
+ export interface GraphSnappingOptions {
51
+ /**
52
+ * Design §7.2. Off per node via `node.locked`, which React Flow enforces
53
+ * upstream by refusing to drag a locked node at all.
54
+ */
55
+ readonly alignment?: boolean;
56
+ /** Flow units, or `null` for no grid. */
57
+ readonly grid?: number | null;
58
+ /** SCREEN px. Divided by the zoom before use (S2). */
59
+ readonly thresholdScreenPx?: number;
60
+ }
61
+ /** The subset of a React Flow node change this reads. */
62
+ export interface SnapChange {
63
+ readonly type: string;
64
+ readonly id?: NodeId;
65
+ readonly position?: XY;
66
+ readonly dragging?: boolean;
67
+ }
68
+ /** The subset of a React Flow node this reads, seeded or measured. */
69
+ export interface SnapChangeNode {
70
+ readonly id: NodeId;
71
+ readonly position: XY;
72
+ readonly measured?: {
73
+ readonly width?: number | null;
74
+ readonly height?: number | null;
75
+ };
76
+ readonly width?: number | null;
77
+ readonly height?: number | null;
78
+ readonly initialWidth?: number | null;
79
+ readonly initialHeight?: number | null;
80
+ }
81
+ /**
82
+ * The drag's memory. The caller holds one (a ref) and hands it back every
83
+ * frame; nothing here is global, so two canvases on one page cannot share an
84
+ * index built from the other's nodes.
85
+ */
86
+ export interface SnapSession {
87
+ index: SpatialHash | null;
88
+ nodes: ReadonlyMap<NodeId, PositionedNode> | null;
89
+ /** The dragged id set this index was built against. */
90
+ key: string | null;
91
+ /** Diagnostic: how many times the index was built. One per drag. */
92
+ builds: number;
93
+ }
94
+ export interface SnapContext {
95
+ readonly nodes: readonly SnapChangeNode[];
96
+ readonly zoom: number;
97
+ readonly session: SnapSession;
98
+ readonly alignment?: boolean;
99
+ readonly grid?: number | null;
100
+ readonly thresholdScreenPx?: number;
101
+ readonly radius?: number;
102
+ /** Test seam. The spy that proves S3, and nothing else uses it. */
103
+ readonly buildIndex?: (items: readonly SpatialItem[]) => SpatialHash;
104
+ }
105
+ export interface SnapChangesResult<C> {
106
+ /** The input array itself when nothing moved, so React sees no new work. */
107
+ readonly changes: readonly C[];
108
+ readonly guides: readonly SnapGuide[];
109
+ }
110
+ export declare function createSnapSession(): SnapSession;
111
+ export declare function resetSnapSession(session: SnapSession): void;
112
+ /**
113
+ * S11, stated as code: motion settings reach `animateGuides` and nothing else.
114
+ *
115
+ * Snapping is not motion. `animation: "none"` and OS reduced-motion turn off
116
+ * the guide's fade; a canvas where the node stops aligning because someone
117
+ * turned animations off is a different, worse editor.
118
+ */
119
+ export declare function snapContextOptions(input: {
120
+ readonly snapping?: GraphSnappingOptions;
121
+ readonly animation?: string | null;
122
+ readonly reducedMotion?: boolean;
123
+ readonly coarsePointer?: boolean;
124
+ }): {
125
+ readonly alignment: boolean;
126
+ readonly grid: number | null;
127
+ readonly thresholdScreenPx: number;
128
+ readonly animateGuides: boolean;
129
+ };
130
+ /** Measured wins, then a document-set size, then the pre-paint seed (design §5). */
131
+ export declare function snapNodeRect(node: SnapChangeNode): Rect;
132
+ export declare function applySnapToChanges<C extends SnapChange>(changes: readonly C[], context: SnapContext): SnapChangesResult<C>;
133
+ //# sourceMappingURL=snapChanges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapChanges.d.ts","sourceRoot":"","sources":["../../src/interaction/snapChanges.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * A uniform-grid spatial hash over node rects. Pure: no DOM, no React, no
3
+ * `@xyflow`, so it runs in vitest under Node and in a worker later.
4
+ *
5
+ * Design §7.2 rule S3: the index is built ONCE at drag start from every
6
+ * non-dragged node, and every frame of the drag queries it. Cell 256 flow
7
+ * units, which is roughly a node and a gap — small enough that a query touches
8
+ * a handful of buckets, large enough that a 200-node graph is a few hundred
9
+ * cells rather than tens of thousands.
10
+ *
11
+ * `query` returns the EXACT overlap set, not the bucket contents. A broad phase
12
+ * that hands back near misses would make every caller re-filter, and the one
13
+ * caller there is (`snapToAlignment`) would then be the place a shared-edge
14
+ * off-by-one lived. `rectsOverlap` from the model is the single definition of
15
+ * touching, so the marquee and the snapper cannot disagree about it.
16
+ */
17
+ import type { NodeId, Rect } from "../model/document";
18
+ /** 256 flow units: about one node plus its gap. Design §7.2 S3. */
19
+ export declare const defaultCellSize = 256;
20
+ export interface SpatialItem {
21
+ readonly id: NodeId;
22
+ readonly rect: Rect;
23
+ }
24
+ export interface SpatialHash {
25
+ readonly cellSize: number;
26
+ /** Items handed to `buildSpatialHash`, including any that were unindexable. */
27
+ readonly size: number;
28
+ /** Occupied buckets. Diagnostic — a cell size that fits the graph keeps it small. */
29
+ readonly cellCount: number;
30
+ /** Every item overlapping `rect`, in insertion order. */
31
+ query(rect: Rect): readonly SpatialItem[];
32
+ }
33
+ export interface SpatialHashOptions {
34
+ readonly cellSize?: number;
35
+ }
36
+ export declare function buildSpatialHash(items: Iterable<SpatialItem>, options?: SpatialHashOptions): SpatialHash;
37
+ //# sourceMappingURL=spatialHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spatialHash.d.ts","sourceRoot":"","sources":["../../src/interaction/spatialHash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGtD,mEAAmE;AACnE,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,WAAW,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAkCD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,OAAO,GAAE,kBAAuB,GAC/B,WAAW,CAkDb"}