@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,48 @@
1
+ /**
2
+ * The Tamagui node body.
3
+ *
4
+ * Knobs reach it through the REAL `useResolvedKnobs` — the resolver with its
5
+ * Preset / Surface / Intent context stack, not the pure functions — which is
6
+ * what MPO-191 AC-3 asks for. Every style comes from a whole `knobProps.*`
7
+ * fragment spread (AGENTS.md); nothing here cherry-picks a resolved token.
8
+ *
9
+ * Two things this component must NOT do, both from design §7.1:
10
+ * - clip. The frame is never `overflow: hidden`, because handles sit at the
11
+ * node edge under `translate(±50%)` and a clipping frame eats half the dot
12
+ * and most of the 44pt hit region.
13
+ * - re-measure the world on a knob flip. `useUpdateNodeInternals` fires for
14
+ * ONE node when its own `ports` identity changes — a port added or removed
15
+ * changes `handleBounds` with no size change for React Flow's per-node
16
+ * ResizeObserver to see. A knob flip DOES change height, the observer does
17
+ * catch that (measured, design §5), and firing 200 updates on top of it
18
+ * would stack a second forced-layout storm on the observer's.
19
+ */
20
+ import { type ReactNode } from "react";
21
+ import type { GraphRenderMode } from "./lod";
22
+ import { type GraphNodeMeasure, type GraphNodePort } from "./nodeMeasure";
23
+ export interface GraphNodeProps {
24
+ /** Node id. React Flow addresses `updateNodeInternals` by it. */
25
+ readonly id: string;
26
+ readonly title: string;
27
+ readonly subtitle?: string;
28
+ readonly ports?: readonly GraphNodePort[];
29
+ /** Semantic intent — reaches the resolver, never a colour prop. */
30
+ readonly intent?: string;
31
+ readonly selected?: boolean;
32
+ readonly dragging?: boolean;
33
+ /** `NodeKindSpec.measure`; falls back to the per-kind default table. */
34
+ readonly measure?: Partial<GraphNodeMeasure>;
35
+ /**
36
+ * "overview" below `overviewZoom` (design §5). Children FADE, they never
37
+ * unmount, so the box keeps the same height in both modes and React Flow's
38
+ * ResizeObserver has nothing to chase.
39
+ */
40
+ readonly renderMode?: GraphRenderMode;
41
+ /** true on a touch surface — widens the port pitch to the press floor. */
42
+ readonly coarsePointer?: boolean;
43
+ /** Rendered inside each port row. Task 1.9 puts the painted disc here. */
44
+ readonly renderPort?: (port: GraphNodePort) => ReactNode;
45
+ readonly children?: ReactNode;
46
+ }
47
+ export declare function GraphNode({ id, title, subtitle, ports, intent, selected, dragging, measure, renderMode, coarsePointer, renderPort, children, }: GraphNodeProps): import("react/jsx-runtime").JSX.Element;
48
+ //# sourceMappingURL=GraphNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNode.d.ts","sourceRoot":"","sources":["../../src/nodes/GraphNode.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAM1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAKnB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAmBD,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAgB,EAChB,QAAgB,EAChB,OAAO,EACP,UAAqB,EACrB,aAAqB,EACrB,UAAU,EACV,QAAQ,GACT,EAAE,cAAc,2CAmJhB"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * A port. PAINTED ONLY — this component draws a dot and declares a hit region;
3
+ * it decides nothing about whether a connection is legal. That is
4
+ * `validateConnection`'s job (task 1.3) and the puck's (task 3.5).
5
+ *
6
+ * Two knob laws it obeys and one it refuses (design §11):
7
+ * - size: `honour`. The painted dot is 8 / 10 / 12.
8
+ * - borderWidth: `honour`. The dot's ring follows the knob.
9
+ * - borderRadius: `IGNORE`. 50% at every stop, `none` included, because a
10
+ * square port reads as a resize grip. The circle is the part's identity,
11
+ * not its styling.
12
+ * - elevation: `ignore`. Ports never cast a shadow.
13
+ *
14
+ * The 44pt region is a `::after` pseudo-element in `css/graph.css`, never
15
+ * element growth — see §7.1 H2 and `handleGeometry.ts`. This component's only
16
+ * job in that mechanism is to publish the two custom properties the sheet
17
+ * reads, so the geometry has exactly one source.
18
+ */
19
+ import type { GraphPortSide } from "./nodeMeasure";
20
+ export interface GraphPortProps {
21
+ readonly id: string;
22
+ readonly side: GraphPortSide;
23
+ readonly direction: "in" | "out";
24
+ /** Semantic intent — reaches the resolver, never a colour prop. */
25
+ readonly intent?: string;
26
+ /**
27
+ * true on a touch surface. Picks H3's 44 over its fine-pointer value.
28
+ *
29
+ * Defaults to `isTouchSurface()` (design 7.1 H3), not to `false`. A port
30
+ * rendered on a phone with nobody passing the prop was getting a 24 px
31
+ * target — under the press floor the whole mechanism exists to reach — and
32
+ * nothing in the type said so. The canvas passes it explicitly; this is the
33
+ * standalone case.
34
+ */
35
+ readonly coarsePointer?: boolean;
36
+ /** The owning node's port pitch, so H4's crowding cap can bite. */
37
+ readonly portSpacingPx?: number;
38
+ readonly isConnectable?: boolean;
39
+ }
40
+ export declare function GraphPort({ id, side, direction, intent, coarsePointer, portSpacingPx, isConnectable, }: GraphPortProps): import("react/jsx-runtime").JSX.Element;
41
+ //# sourceMappingURL=GraphPort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphPort.d.ts","sourceRoot":"","sources":["../../src/nodes/GraphPort.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,eAAe,CAAC;AAStE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,IAAI,EACJ,SAAS,EACT,MAAM,EACN,aAAgC,EAChC,aAAa,EACb,aAAoB,GACrB,EAAE,cAAc,2CAuDhB"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Port geometry — pure. The painted dot and the region you can actually hit
3
+ * are two different numbers, and design §7.1 is emphatic that conflating them
4
+ * is the commonest false FAIL in a knob sweep.
5
+ *
6
+ * The laws, verbatim from §7.1:
7
+ *
8
+ * H1. The painted dot is 8 / 10 / 12 by the size knob and NEVER grows to 44.
9
+ * A 44 px painted dot is a different component.
10
+ * H2. The hit region is a pseudo-element, never element growth, because
11
+ * `getEdgePosition` reads the handle box's outer edge (`center` defaults
12
+ * to false) — growing 8 to 44 would move every rendered edge endpoint 18
13
+ * flow units outward on exactly the sides an LR graph uses.
14
+ * H3. 44 on coarse pointers, `max(painted, 24)` on fine. A 44 px invisible
15
+ * disc around every handle on a dense mouse canvas steals clicks from the
16
+ * node body.
17
+ * H4. Two ports closer than the hit diameter would have overlapping discs and
18
+ * the wrong one would win, so the hit caps at `min(44, portSpacing)`.
19
+ * H7. The region is 44 SCREEN px at every zoom, not 44 px of flow space.
20
+ * Added in milestone 6, and it is the only law here that was measured on a
21
+ * phone before it was written down. Every element a node owns lives inside
22
+ * `.react-flow__viewport`, whose transform carries the zoom, so a region
23
+ * declared 44 px renders 44 x zoom. On the iPhone 16e at zoom 0.377 that
24
+ * is 16.6 pt wide — a half-width of 8.3 pt — and a tap 18 pt off the
25
+ * painted centre panned the canvas instead of grabbing the port. Same miss
26
+ * on emulator-5592 at zoom 0.397. So the inset carries a 1/zoom term and
27
+ * the sheet reads the live zoom from `--mpo-graph-zoom`.
28
+ *
29
+ * H2 and H7 are the CSS in `css/graph.css`, not numbers; the rest are here.
30
+ */
31
+ import { type GraphNodeSizeKnob, type GraphPortSide } from "./nodeMeasure";
32
+ /** H1. Painted diameter per size stop. Never 44 at any stop, by construction. */
33
+ export declare const paintedPortSizePx: Record<GraphNodeSizeKnob, number>;
34
+ /**
35
+ * H3's fine-pointer floor. Below this a mouse target is a coin toss; above 44
36
+ * it would start eating the node body, which is why fine and coarse differ at
37
+ * all.
38
+ */
39
+ export declare const FINE_PORT_HIT_MIN = 24;
40
+ export declare function paintedPortSize(size: GraphNodeSizeKnob): number;
41
+ /**
42
+ * H3 with H4's cap applied.
43
+ *
44
+ * The floor at the painted size is geometric, not a taste call: the hit region
45
+ * is a pseudo-element inset OUTWARD from the dot, so a hit smaller than the
46
+ * dot would inset inward and shrink the target below what the user can see.
47
+ */
48
+ export declare function portHitSize(opts: {
49
+ readonly size: GraphNodeSizeKnob;
50
+ readonly coarsePointer: boolean;
51
+ /** The node's port pitch. Defaults to the pitch for this pointer kind. */
52
+ readonly portSpacingPx?: number;
53
+ }): number;
54
+ /**
55
+ * The `inset` the `::after` region carries, in px.
56
+ *
57
+ * NEGATIVE when the hit is larger than the dot, which is the whole point: the
58
+ * pseudo-element grows outward from the painted disc without touching the
59
+ * handle's own box, so `handleBounds` — which reads `getBoundingClientRect()`
60
+ * and `getDimensions()` — sees nothing change and every edge endpoint stays
61
+ * where the 8 px dot put it.
62
+ *
63
+ * `borderWidthPx` is not decoration. An absolutely positioned pseudo-element
64
+ * insets from its parent's PADDING box, and the dot is `box-sizing:
65
+ * border-box` with a knob-driven ring, so the padding box is `size - 2 ×
66
+ * border`. Measured in Chrome before this term existed: a 44 asked for
67
+ * rendered as 42. A press floor that lands two pixels under the floor is not
68
+ * a floor, so the ring is added back here rather than rounded away.
69
+ */
70
+ export declare function portRegionInset(opts: {
71
+ readonly size: GraphNodeSizeKnob;
72
+ readonly coarsePointer: boolean;
73
+ readonly portSpacingPx?: number;
74
+ /** The dot's ring, from `knobProps.surface.borderWidth`. */
75
+ readonly borderWidthPx?: number;
76
+ }): number;
77
+ /**
78
+ * H7. The same inset with the viewport zoom divided back out.
79
+ *
80
+ * The region has to be `hit` SCREEN px, and it is painted inside a box the
81
+ * viewport transform scales by `zoom`. Local width is therefore `hit / zoom`,
82
+ * and the inset that produces it is `(painted - hit / zoom) / 2`, plus the ring
83
+ * term H2 already carries. At zoom 1 this IS `portRegionInset`, which is what
84
+ * `handleGeometry.spec.ts` asserts, so the new term cannot silently change the
85
+ * number the desktop canvas has always used.
86
+ *
87
+ * The floor on `zoom` is not defensive tidiness: dividing by zero in CSS is
88
+ * silent and yields an infinite region that swallows the whole canvas. React
89
+ * Flow never emits a zoom of 0, so the guard costs nothing and removes the one
90
+ * way this arithmetic can produce something catastrophic.
91
+ *
92
+ * `css/graph.css` computes the identical expression from
93
+ * `--mpo-graph-handle-size`, `--mpo-graph-handle-hit`,
94
+ * `--mpo-graph-handle-border` and `--mpo-graph-zoom`. `GraphPort.spec.tsx`
95
+ * reads the rule text and checks the two agree, because jsdom cannot resolve a
96
+ * pseudo-element and a spec written against `getComputedStyle(el, "::after")`
97
+ * would assert nothing at all.
98
+ */
99
+ export declare function portRegionInsetAtZoom(opts: {
100
+ readonly size: GraphNodeSizeKnob;
101
+ readonly coarsePointer: boolean;
102
+ readonly portSpacingPx?: number;
103
+ readonly borderWidthPx?: number;
104
+ /** The live viewport zoom. 1 outside a canvas. */
105
+ readonly zoom: number;
106
+ }): number;
107
+ /**
108
+ * What the region ACTUALLY measures on screen, in px, at a given zoom.
109
+ *
110
+ * The number MPO-212's 3.4 criterion is about, and the one nothing computed
111
+ * before milestone 6. With the 1/zoom term this is `portHitSize(opts)` at every
112
+ * zoom, which is the whole claim — so a spec asserting it at 0.4 and at 2 is
113
+ * asserting the fix rather than the arithmetic that implements it.
114
+ */
115
+ export declare function portRegionScreenSize(opts: {
116
+ readonly size: GraphNodeSizeKnob;
117
+ readonly coarsePointer: boolean;
118
+ readonly portSpacingPx?: number;
119
+ readonly borderWidthPx?: number;
120
+ readonly zoom: number;
121
+ }): number;
122
+ /**
123
+ * H5. `connectionRadius` matches the hit diameter, so the magnetic drop radius
124
+ * is the visible affordance rather than React Flow's 20 px default. Wired into
125
+ * the canvas in task 1.11; the number lives here with its siblings.
126
+ */
127
+ export declare function portConnectionRadius(opts: {
128
+ readonly size: GraphNodeSizeKnob;
129
+ readonly coarsePointer: boolean;
130
+ readonly portSpacingPx?: number;
131
+ }): number;
132
+ /** A rectangle in the node's own coordinate space, top-left anchored. */
133
+ export interface PortRect {
134
+ readonly x: number;
135
+ readonly y: number;
136
+ readonly width: number;
137
+ readonly height: number;
138
+ }
139
+ /**
140
+ * The two rectangles a port occupies, which are NOT the same rectangle.
141
+ *
142
+ * `box` is what React Flow measures. `handleBounds` is built from
143
+ * `getBoundingClientRect()` and `getDimensions()` (`dom.ts:82-91`), so `box` is
144
+ * the handle ELEMENT — and `getHandlePosition` turns it into the point every
145
+ * edge is drawn to.
146
+ *
147
+ * `region` is what a finger lands on: the `::after` pseudo-element. A
148
+ * pseudo-element is not in the box tree its parent reports, so it moves
149
+ * `region` without moving `box`.
150
+ *
151
+ * Keeping them apart in the TYPE is the mechanism H2 describes. Element growth
152
+ * would collapse them into one rectangle, and every edge endpoint on an LR
153
+ * graph would slide outward by half the difference — 18 units at 8 → 44.
154
+ */
155
+ export interface PortGeometry {
156
+ /** What `handleBounds` measures. Painted size only; `hit` never enters. */
157
+ readonly box: PortRect;
158
+ /** What the pointer hits — the `::after` region. Grows with `hit`. */
159
+ readonly region: PortRect;
160
+ }
161
+ /**
162
+ * Where a port sits on its node, and how big each of its two rectangles is.
163
+ *
164
+ * `painted` and `hit` are separate parameters ON PURPOSE, so the endpoint law
165
+ * is falsifiable: a caller can ask for a 44 px hit and read back a box that did
166
+ * not move. A single-size signature could not express the broken mechanism, and
167
+ * a test that cannot express the bug cannot catch it.
168
+ *
169
+ * React Flow's own sheet centres a handle on the node edge — `left: 0` /
170
+ * `right: 0` with `translate(∓50%)` and `top: 50%` with `translateY(-50%)`
171
+ * (style.css `.react-flow__handle-left` and friends) — so both rectangles are
172
+ * concentric on that edge point rather than tangent to it.
173
+ */
174
+ export declare function portGeometry(opts: {
175
+ readonly painted: number;
176
+ readonly hit: number;
177
+ readonly side: GraphPortSide;
178
+ readonly nodeWidth: number;
179
+ readonly nodeHeight: number;
180
+ /** Distance along the port's edge, from the node's top-left corner. */
181
+ readonly offset: number;
182
+ }): PortGeometry;
183
+ //# sourceMappingURL=handleGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGeometry.d.ts","sourceRoot":"","sources":["../../src/nodes/handleGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAExF,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,MAAM,CAKT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,MAAM,CAET;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAGT;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAQT;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,MAAM,CAET;AAED,yEAAyE;AACzE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;CAC3B;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,YAAY,CAOf"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Level of detail, and the one invariant that makes it safe (design §5).
3
+ *
4
+ * Pure. No React, no DOM, no `@xyflow` — the whole decision is one comparison,
5
+ * and putting it here rather than inline in `GraphNodeHost` is what lets the
6
+ * crossing be swept over a grid in vitest instead of eyeballed in a browser.
7
+ *
8
+ * The invariant this module exists to protect is NOT about paint. React Flow 12
9
+ * installs a per-node `ResizeObserver`, so a height-changing LOD would
10
+ * re-measure every node on every zoom tick and move every attached edge
11
+ * endpoint with it. That is why `renderMode` fades children and never unmounts
12
+ * them, and why `overviewNode.tsx` is measured from the same recipe the detail
13
+ * body uses rather than being "a small box".
14
+ */
15
+ /**
16
+ * On `GraphNodeRenderProps` from v1 (design §5). Naming it here rather than
17
+ * inline in the schema is what lets a consumer's own node body take the union
18
+ * without importing the whole model.
19
+ */
20
+ export type GraphRenderMode = "detail" | "overview";
21
+ /**
22
+ * The default crossing. 0.35 is design §5's number, and it lives here so
23
+ * `graphCanvasDefaults`, `GraphHostValue` and every spec read ONE constant
24
+ * instead of three copies that can drift apart by a decimal.
25
+ */
26
+ export declare const defaultOverviewZoom = 0.35;
27
+ /**
28
+ * Which mode a node draws in at this zoom.
29
+ *
30
+ * The comparison is `zoom < overviewZoom`, so the threshold itself is DETAIL.
31
+ * That is a real choice and not an off-by-one: `overviewZoom` is the zoom at
32
+ * which detail is still legible, and a canvas parked exactly on its own
33
+ * default should show the graph, not the summary.
34
+ *
35
+ * Monotone by construction, which is the whole of "crosses at `overviewZoom`
36
+ * and nowhere else": one comparison cannot produce two transitions.
37
+ *
38
+ * A non-finite zoom resolves to `detail`. It only reaches here from a store
39
+ * mid-initialisation or a consumer's own transform, and a graph that renders
40
+ * its full body is a graph a user can still work with — where an overview of
41
+ * unknown zoom is a screen of grey rectangles with no way back.
42
+ */
43
+ export declare function lodForZoom(zoom: number, overviewZoom?: number): GraphRenderMode;
44
+ /** True when children should be faded out. Spelled once so no caller re-derives it. */
45
+ export declare function isOverview(mode: GraphRenderMode): boolean;
46
+ /**
47
+ * The opacity a node's non-essential children carry in each mode.
48
+ *
49
+ * A NUMBER, not a boolean the caller turns into a number, because zero is the
50
+ * load-bearing value: children at `opacity: 0` are still laid out, still
51
+ * measured, and still hold the box open. `display: none` or an unmount would
52
+ * collapse the box and hand React Flow's observer a new height to chase.
53
+ */
54
+ export declare function detailOpacity(mode: GraphRenderMode): number;
55
+ //# sourceMappingURL=lod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lod.d.ts","sourceRoot":"","sources":["../../src/nodes/lod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAA4B,GACzC,eAAe,CAGjB;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAE3D"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * The GraphNode measure recipe — pure. No React, no DOM, no `@xyflow`.
3
+ *
4
+ * A node is a CONTAINER, not a control (design §11 Size). Everything here
5
+ * exists to keep it off the control-height ladder: the width rides a per-kind
6
+ * table, the radius caps at the node's own padding, and the minimum height is
7
+ * floored by how many ports have to fit down one edge.
8
+ *
9
+ * Pure on purpose. `graphNode.spec.ts` runs it in Node with no renderer, so
10
+ * the laws are falsifiable before a pixel exists.
11
+ */
12
+ import { type Knobs } from "@multiplatform.one/theme";
13
+ export type GraphNodeSizeKnob = Knobs["size"];
14
+ export type GraphNodeSpaceKnob = Knobs["space"];
15
+ export type GraphNodeRadiusKnob = Knobs["borderRadius"];
16
+ export type GraphPortSide = "left" | "right" | "top" | "bottom";
17
+ /**
18
+ * The structural subset of `PortSpec` this module needs to measure a node.
19
+ *
20
+ * TODO(task 1.3): replace with `PortSpec` from `../model` once the schema
21
+ * lands. It is declared structurally compatible on purpose — `PortSpec` adds
22
+ * `index`, `dataType` and `arity`, none of which change a measurement — so the
23
+ * swap is an import change, not a rewrite.
24
+ */
25
+ export interface GraphNodePort {
26
+ readonly id: string;
27
+ readonly side: GraphPortSide;
28
+ readonly direction: "in" | "out";
29
+ readonly label?: string;
30
+ }
31
+ /** `NodeKindSpec.measure` (design §4.3): width fixed per kind, height knob-driven. */
32
+ export interface GraphNodeMeasure {
33
+ readonly width: number;
34
+ readonly minHeight: number;
35
+ }
36
+ /**
37
+ * The default per-kind measure table (design §11 Size: "default 172 / 190 / 216").
38
+ *
39
+ * A kind that declares its own `measure` overrides this entirely; the table is
40
+ * what an undeclared kind falls back to. `minHeight` anchors on design §5's
41
+ * measured node heights (62 px compact, 72 px default) with `large` one step
42
+ * above, rather than a number invented here.
43
+ */
44
+ export declare const defaultNodeMeasure: Record<GraphNodeSizeKnob, GraphNodeMeasure>;
45
+ /**
46
+ * Container padding in px per `space` stop.
47
+ *
48
+ * Mirrors `panelPaddingPxMap` in `resolveKnobs.ts`, which is private to that
49
+ * module — the resolver mirrors the same numbers for the same reason (it stays
50
+ * pure, so it cannot read live tokens). `graphNode.spec.ts` pins this mirror
51
+ * against `capContainerRadius(..., "full")`, which returns the padding px
52
+ * itself, so a change in the resolver fails the spec here instead of drifting.
53
+ */
54
+ export declare const nodePanelPaddingPx: Record<GraphNodeSpaceKnob, number>;
55
+ /**
56
+ * Vertical pitch between two ports on the same node edge.
57
+ *
58
+ * Coarse pointers get the press floor itself (design §7.1 H4: two ports closer
59
+ * than the hit diameter would have overlapping discs and the wrong one would
60
+ * win). Fine pointers get 24, which is H3's fine-pointer hit diameter and is
61
+ * already above every painted stop (8 / 10 / 12), so the pitch never has to
62
+ * consult the painted ladder — that is what keeps this module independent of
63
+ * `handleGeometry.ts` rather than circular with it.
64
+ */
65
+ export declare const FINE_PORT_PITCH = 24;
66
+ export declare function portSpacing(opts: {
67
+ readonly coarsePointer: boolean;
68
+ }): number;
69
+ /**
70
+ * §11 Size, GraphNode frame: `remap` to `NodeKindSpec.measure.width`.
71
+ *
72
+ * The size knob reaches the width only through the per-kind table. It never
73
+ * reaches the control-height recipe (`knobProps.control.height`), because a
74
+ * node is a container and a container that steps with a control ladder is a
75
+ * control wearing a frame.
76
+ */
77
+ export declare function graphNodeWidth(opts: {
78
+ readonly size: GraphNodeSizeKnob;
79
+ readonly measure?: Partial<GraphNodeMeasure>;
80
+ }): number;
81
+ /**
82
+ * How many ports stack down the tallest vertical edge.
83
+ *
84
+ * Height crowding is per EDGE, not per node: `left` and `right` ports stack
85
+ * vertically and can collide with their own side's neighbours, never with the
86
+ * opposite side's. `top` / `bottom` ports stack horizontally and constrain
87
+ * width, so they do not enter a height floor at all.
88
+ */
89
+ export declare function verticalPortCrowd(ports: readonly GraphNodePort[]): number;
90
+ /**
91
+ * §7.1 H4, the floor half: a node is tall enough for every port on its
92
+ * busiest edge to be a real target, instead of ports silently stealing hits
93
+ * from each other.
94
+ */
95
+ export declare function graphNodeMinHeight(opts: {
96
+ readonly size: GraphNodeSizeKnob;
97
+ readonly ports: readonly GraphNodePort[];
98
+ readonly portSpacingPx: number;
99
+ readonly measure?: Partial<GraphNodeMeasure>;
100
+ }): number;
101
+ /**
102
+ * §11 Radius, GraphNode frame: CONTAINER-CAP. The Tamagui value to paint —
103
+ * the radius token while it fits inside the node's own padding, the padding px
104
+ * once it would not.
105
+ */
106
+ export declare function graphNodeRadius(knobs: {
107
+ readonly borderRadius: GraphNodeRadiusKnob;
108
+ readonly space: GraphNodeSpaceKnob;
109
+ }): string | number;
110
+ /**
111
+ * Radius TOKEN → px.
112
+ *
113
+ * Mirrors `borderRadiusMap` / `radiusPxMap` in `resolveKnobs.ts`, both private
114
+ * to that module. Needed because `capContainerRadius` returns either a token
115
+ * (`"$4"`) or a px number, and a rendered node has to report ONE number.
116
+ * `graphNode.spec.ts` pins the whole map against the doctrine table at every
117
+ * stop and space, so a token that stops meaning what it says fails there.
118
+ */
119
+ export declare const nodeRadiusTokenPx: Readonly<Record<string, number>>;
120
+ /**
121
+ * px for whatever `capContainerRadius` resolved to. A number is already the
122
+ * capped px; a token goes through the mirror above.
123
+ */
124
+ export declare function containerRadiusPx(value: string | number): number;
125
+ /**
126
+ * The same radius in px, resolved through the DG-RAD doctrine table rather
127
+ * than the resolver.
128
+ *
129
+ * Two independent implementations of one law: `graphNodeRadius` goes through
130
+ * `capContainerRadius` (resolver), this goes through `resolveRadiusForPart`
131
+ * (doctrine). `graphNode.spec.ts` asserts they agree at every stop, so a
132
+ * doctrine/resolver drift is a failing test rather than a corner that quietly
133
+ * clips a child.
134
+ */
135
+ export declare function graphNodeRadiusPx(knobs: {
136
+ readonly borderRadius: GraphNodeRadiusKnob;
137
+ readonly space: GraphNodeSpaceKnob;
138
+ }): number;
139
+ /** The complete measure a node is seeded with BEFORE first paint (design §5). */
140
+ export declare function graphNodeMeasure(opts: {
141
+ readonly size: GraphNodeSizeKnob;
142
+ readonly ports: readonly GraphNodePort[];
143
+ readonly portSpacingPx: number;
144
+ readonly measure?: Partial<GraphNodeMeasure>;
145
+ }): GraphNodeMeasure;
146
+ //# sourceMappingURL=nodeMeasure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeMeasure.d.ts","sourceRoot":"","sources":["../../src/nodes/nodeMeasure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,KAAK,KAAK,EAGX,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAI1E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAIjE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9C,GAAG,MAAM,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAQzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9C,GAAG,MAAM,CAGT;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC,GAAG,MAAM,GAAG,MAAM,CAElB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM9D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAShE;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC,GAAG,MAAM,CAMT;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9C,GAAG,gBAAgB,CAKnB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The overview body: one plain box with the resolved background (design §5).
3
+ *
4
+ * At 500 nodes and zoom 0.2, a Tamagui body per node is 500 knob resolutions,
5
+ * 500 subtrees and 500 observer callbacks to paint something the size of a
6
+ * postage stamp. This is what a consumer swaps in instead, and it is also what
7
+ * the merged single-path edge layer will sit behind in v1.1.
8
+ *
9
+ * The load-bearing part is not the div, it is the MEASURE. Width and minimum
10
+ * height come from `nodeMeasure.ts` — the same recipe `GraphNode` uses, given
11
+ * the same knobs and the same ports — so swapping the body cannot change the
12
+ * node's box, and React Flow's per-node `ResizeObserver` has nothing to report.
13
+ * A "small grey rectangle" here would move every edge endpoint on the canvas
14
+ * the moment a user zoomed out, which is the failure design §5 is written
15
+ * against.
16
+ *
17
+ * `lod.spec.tsx` asserts the box against `GraphNode`'s rather than against a
18
+ * number, so the two cannot drift.
19
+ */
20
+ import type { GraphNodeMeasure, GraphNodePort } from "./nodeMeasure";
21
+ export interface OverviewNodeProps {
22
+ readonly id: string;
23
+ /** Same ports the detail body would render. They set the height floor. */
24
+ readonly ports?: readonly GraphNodePort[];
25
+ /** Semantic intent — reaches the resolver, never a colour prop. */
26
+ readonly intent?: string;
27
+ readonly selected?: boolean;
28
+ /** `NodeKindSpec.measure`; falls back to the per-kind default table. */
29
+ readonly measure?: Partial<GraphNodeMeasure>;
30
+ /** true on a touch surface — widens the port pitch, raising the floor. */
31
+ readonly coarsePointer?: boolean;
32
+ }
33
+ export declare function OverviewNode({ id, ports, intent, selected, measure, coarsePointer, }: OverviewNodeProps): import("react/jsx-runtime").JSX.Element;
34
+ //# sourceMappingURL=overviewNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overviewNode.d.ts","sourceRoot":"","sources":["../../src/nodes/overviewNode.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAqB,MAAM,eAAe,CAAC;AAGxF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,KAAK,EACL,MAAM,EACN,QAAgB,EAChB,OAAO,EACP,aAAqB,GACtB,EAAE,iBAAiB,2CAyBnB"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The connection puck (design §7.4, task 3.5).
3
+ *
4
+ * The native spike named this the hardest touch item, verbatim: the finger
5
+ * occludes the port it is aiming at. So during a connection drag ONE overlay,
6
+ * pinned to the top of the canvas, says what the drag is currently over. One
7
+ * div, updated on move, no per-node cost.
8
+ *
9
+ * COUNTER-SCALED, and the mechanism is placement rather than arithmetic. React
10
+ * Flow renders `<ReactFlow>`'s children as siblings of `.react-flow__viewport`,
11
+ * not inside it, so nothing here rides the pan/zoom matrix and the puck is the
12
+ * same physical size at zoom 0.25 and at zoom 2. Applying a `scale(1/zoom)` on
13
+ * top of that would counter a transform that was never applied and shrink the
14
+ * puck as the user zoomed IN. `ConnectionPuck.spec.tsx` measures the rendered
15
+ * size at both extremes rather than trusting either story.
16
+ *
17
+ * The candidate it names is filtered through `legalTargets`. `connectionRadius`
18
+ * is the 44 px hit diameter (task 3.4 H5), so React Flow will snap the drag
19
+ * onto whatever handle is nearest, including one the schema refuses. Naming a
20
+ * target the drop will then reject is worse than naming nothing.
21
+ */
22
+ import type { EdgeKindDefs, GraphDocument, GraphSchema, NodeKindDefs, PortRef } from "../model/index";
23
+ export interface ConnectionPuckProps<N extends NodeKindDefs, E extends EdgeKindDefs> {
24
+ readonly document: GraphDocument<N, E>;
25
+ readonly schema: GraphSchema<N, E>;
26
+ /**
27
+ * Names a node for the puck. Defaults to the node id, which is the only name
28
+ * the MODEL has: a node's human title lives in the consumer's own `render`,
29
+ * and this package cannot reach into it.
30
+ */
31
+ readonly nodeLabel?: (nodeId: string) => string | undefined;
32
+ /** Semantic intent, reaches the resolver, never a colour prop. */
33
+ readonly intent?: string;
34
+ }
35
+ export interface ConnectionPuckLabel {
36
+ /** What the puck says. */
37
+ readonly text: string;
38
+ /** Whether a LEGAL candidate is under the pointer right now. */
39
+ readonly legal: boolean;
40
+ /** `node:port` of that candidate, or `""`. What the device screenshot reads. */
41
+ readonly target: string;
42
+ }
43
+ /**
44
+ * What the puck should say, as a pure function.
45
+ *
46
+ * Split out of the component because everything interesting here is a
47
+ * DECISION — is this candidate legal, and if not what is still worth saying —
48
+ * and a decision asserted through a rendered DOM is a decision asserted
49
+ * through three layers of Tamagui. The component keeps only the two store
50
+ * reads.
51
+ */
52
+ export declare function connectionPuckLabel<N extends NodeKindDefs, E extends EdgeKindDefs>(opts: {
53
+ readonly document: GraphDocument<N, E>;
54
+ readonly schema: GraphSchema<N, E>;
55
+ /** null when no connection is in progress. */
56
+ readonly source: PortRef | null;
57
+ /** null when the drag is over open canvas. */
58
+ readonly candidate: PortRef | null;
59
+ readonly nodeLabel?: (nodeId: string) => string | undefined;
60
+ }): ConnectionPuckLabel | null;
61
+ export declare function ConnectionPuck<N extends NodeKindDefs, E extends EdgeKindDefs>({ document, schema, nodeLabel, intent, }: ConnectionPuckProps<N, E>): import("react/jsx-runtime").JSX.Element | null;
62
+ //# sourceMappingURL=ConnectionPuck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionPuck.d.ts","sourceRoot":"","sources":["../../src/react-flow/ConnectionPuck.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,OAAO,EAER,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY;IACjF,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5D,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAoBD,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE;IACxF,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC7D,GAAG,mBAAmB,GAAG,IAAI,CAgB7B;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EAAE,EAC7E,QAAQ,EACR,MAAM,EACN,SAAS,EACT,MAAM,GACP,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,kDA0D3B"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * The canvas's own actions, published to whatever a consumer renders inside it.
3
+ *
4
+ * `NodeGraphWeb` mounts the controller; a toolbar, a Tidy button or an Undo
5
+ * button is a `children` of the canvas, which is BELOW that. Without a channel
6
+ * the only way to reach `relayout()` would be for every consumer to call
7
+ * `useGraphController` themselves and mount `ReactFlow` by hand, which is
8
+ * exactly the composition the package exists to do once.
9
+ *
10
+ * A context rather than a ref prop: `canUndo`, `layoutPending` and
11
+ * `layoutRunner` all change, and a button that reads them has to re-render
12
+ * when they do. A ref would hand out stale booleans.
13
+ *
14
+ * Deliberately NOT merged into `GraphHostProvider`. That context is read by
15
+ * every node body on every render at 200 nodes; putting `layoutPending` in it
16
+ * would re-render the whole graph each time a tidy starts and finishes.
17
+ */
18
+ import type { ReactNode } from "react";
19
+ import type { LayoutRunnerKind } from "../diagnostics/types";
20
+ import type { LayoutResult } from "../layout/types";
21
+ import type { GraphRelayoutOptions } from "./useGraphController";
22
+ export interface GraphActions {
23
+ /** Tidy. ONE undoable command, design §8. */
24
+ readonly relayout: (options?: GraphRelayoutOptions) => Promise<LayoutResult | null>;
25
+ readonly undo: () => void;
26
+ readonly redo: () => void;
27
+ readonly canUndo: boolean;
28
+ readonly canRedo: boolean;
29
+ /** `none` until the first relayout has resolved a runner. */
30
+ readonly layoutRunner: LayoutRunnerKind;
31
+ readonly lastLayoutMs: number | null;
32
+ readonly layoutPending: boolean;
33
+ readonly nodeCount: number;
34
+ }
35
+ export declare function GraphActionsProvider({ value, children, }: {
36
+ readonly value: GraphActions;
37
+ readonly children: ReactNode;
38
+ }): import("react/jsx-runtime").JSX.Element;
39
+ /**
40
+ * Throws outside the canvas, on purpose. A silent `null` here would surface as
41
+ * a Tidy button that does nothing, which is the hardest kind of bug to see in
42
+ * a story.
43
+ */
44
+ export declare function useGraphActions(): GraphActions;
45
+ //# sourceMappingURL=GraphActions.d.ts.map