@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,235 @@
1
+ /**
2
+ * The frame sampler, design §13.2 and plan task 5.1.
3
+ *
4
+ * It samples `requestAnimationFrame` deltas from INSIDE the canvas, because
5
+ * that is the clock that measures the frames a user sees. The host RN view's
6
+ * FPS is a different and less useful quantity: it keeps ticking while the
7
+ * WebView is stalled.
8
+ *
9
+ * Three things it refuses to do, each one a way a perf number lies:
10
+ *
11
+ * - **Report an idle page.** `didMove` compares a transform signature taken at
12
+ * the first sample against one taken at the last, and `reportRun` REJECTS a
13
+ * run where they match rather than handing back plausible-looking numbers.
14
+ * The reactflow spike lost a whole round of measurements to exactly this
15
+ * when touch emulation silently reset, which is why design §13.2 makes it
16
+ * mandatory rather than advisory.
17
+ * - **Report an empty run.** Zero frames is not a fast run.
18
+ * - **Guess a window.** `relayoutGate` throws on a mark that was never set
19
+ * instead of measuring from t = 0 and calling it a pre-window.
20
+ *
21
+ * No React, no `@xyflow`, no DOM in the core: everything the sampler needs from
22
+ * the page arrives as the `probeTransform` and `countNodes` callbacks, so the
23
+ * whole module runs in vitest under a fake clock. `createDomTransformProbe`
24
+ * builds the real probe from SELECTORS the caller passes, which keeps the one
25
+ * `@xyflow` import site in `react-flow/xy.ts` where the lint rule wants it.
26
+ */
27
+ import type { Result } from "../model/index";
28
+ /** 60 Hz. A frame longer than this dropped one. */
29
+ export declare const frameBudgetMs = 16.7;
30
+ /** Two frames. Design §13.2's "no frame over 33 ms" gate reads this. */
31
+ export declare const doubleFrameBudgetMs = 33.3;
32
+ export interface FrameStats {
33
+ readonly samples: number;
34
+ readonly mean: number;
35
+ readonly p50: number;
36
+ readonly p95: number;
37
+ readonly worst: number;
38
+ /** Frames STRICTLY over 16.7 ms. A frame exactly on budget did not drop one. */
39
+ readonly over16_7: number;
40
+ readonly over33_3: number;
41
+ /** Derived from the mean, so it is the average frame rate and not a peak. */
42
+ readonly fps: number;
43
+ }
44
+ export declare function summarizeFrames(deltas: readonly number[]): FrameStats;
45
+ export interface FrameSample {
46
+ /** The rAF timestamp this frame ENDED at. */
47
+ readonly t: number;
48
+ readonly d: number;
49
+ }
50
+ export interface FrameMark {
51
+ readonly t: number;
52
+ /** The transform signature at the instant of the mark, so a post-window `didMove` is checkable. */
53
+ readonly signature: string;
54
+ /** Which mark this is. Carried on the ordered list, where the key is gone. */
55
+ readonly label: string;
56
+ }
57
+ export interface FrameRun {
58
+ readonly deltas: readonly number[];
59
+ readonly samples: readonly FrameSample[];
60
+ readonly stats: FrameStats;
61
+ readonly didMove: boolean;
62
+ readonly nodeCount: number;
63
+ readonly marks: Readonly<Record<string, FrameMark>>;
64
+ /**
65
+ * Every mark IN ORDER, including repeats of the same label.
66
+ *
67
+ * `marks` is keyed, so `mark("start")` six times keeps the sixth and loses
68
+ * five — which is fine for `relayoutGate`, whose whole subject is a single
69
+ * relayout, and useless for six scripted pans. Both are kept rather than one
70
+ * derived from the other: the keyed record is a different question ("when did
71
+ * the relayout fire") from the ordered list ("which windows were gestures").
72
+ */
73
+ readonly markList: readonly FrameMark[];
74
+ readonly startedAt: number;
75
+ readonly stoppedAt: number;
76
+ readonly startSignature: string;
77
+ readonly stopSignature: string;
78
+ /**
79
+ * `start()` had been called and this `stop()` is the one closing it.
80
+ *
81
+ * The device instrument. On a phone there is no console, so "the Stop never
82
+ * reached the canvas" and "the Stop arrived with no run in flight" are the
83
+ * same picture: a readout stuck on `sampling…`. They are different bugs — the
84
+ * first is a dead bridge, the second is a lost Start — and only the canvas
85
+ * knows which. `reportRun` turns this into a named rejection so a screenshot
86
+ * can say.
87
+ */
88
+ readonly started: boolean;
89
+ }
90
+ export interface FrameSamplerOptions {
91
+ readonly now?: () => number;
92
+ readonly requestFrame?: (cb: (t: number) => void) => number;
93
+ readonly cancelFrame?: (handle: number) => void;
94
+ /**
95
+ * A short string that changes when anything on the canvas moved. Design
96
+ * §13.2's `didMove` is exactly "this changed between the first and last
97
+ * sample"; nothing is compared per frame, so the probe can afford to walk
98
+ * every node.
99
+ */
100
+ readonly probeTransform?: () => string;
101
+ readonly countNodes?: () => number;
102
+ /** Ring buffer bound. 3600 frames is a minute at 60 Hz. */
103
+ readonly maxSamples?: number;
104
+ }
105
+ export interface FrameSampler {
106
+ start: () => void;
107
+ stop: () => FrameRun;
108
+ /** Stamps an instant AND the transform signature at it. Returns the timestamp. */
109
+ mark: (label: string) => number;
110
+ readonly running: boolean;
111
+ }
112
+ export declare function createFrameSampler(options?: FrameSamplerOptions): FrameSampler;
113
+ /**
114
+ * The real probe, built from selectors the caller supplies.
115
+ *
116
+ * React Flow places both the viewport and every node with a CSS TRANSFORM and
117
+ * never with a layout offset, so `offsetLeft` / `offsetTop` are 0 at every
118
+ * arrangement — milestone 4 shipped a position stamp built on them that was a
119
+ * constant, and caught it in Chrome rather than in a spec. This reads
120
+ * `style.transform`, which is the thing that actually moves.
121
+ *
122
+ * A pan moves the viewport; a node drag moves one node while the viewport
123
+ * stands still. Both are in the signature, because both are runs design §13.2
124
+ * asks for.
125
+ */
126
+ export declare function createDomTransformProbe(selectors: {
127
+ readonly viewport: string;
128
+ readonly node: string;
129
+ readonly root?: ParentNode;
130
+ }): () => string;
131
+ /** The default bracket labels. A pair, so a story cannot spell one of them. */
132
+ export declare const gestureStartMark = "start";
133
+ export declare const gestureEndMark = "end";
134
+ export interface GestureWindow {
135
+ /** Frames inside a `start` → `end` pair, and only those. */
136
+ readonly stats: FrameStats;
137
+ /** How many pairs the run recorded. Design §13.2's six scripted pans is six. */
138
+ readonly segments: number;
139
+ /** Frames that fell in no segment: the harness sitting still between pans. */
140
+ readonly idleFrames: number;
141
+ /**
142
+ * A `start` still open when the Stop came, closed at the Stop.
143
+ *
144
+ * Reported rather than silently dropped or silently included. Dropping loses
145
+ * a whole gesture; including it without saying so folds the idle tail into a
146
+ * number that claims to be gesture-only. 0 or 1, since the marks are read in
147
+ * order.
148
+ */
149
+ readonly unclosed: number;
150
+ }
151
+ /**
152
+ * Design §13.2's cell, bounded to the GESTURES instead of to the session.
153
+ *
154
+ * The m6 iOS number — `952 frames · p95 18.8 · mean 16.7` over six scripted
155
+ * pans — was reported with its own caveat attached: the window ran from Start
156
+ * to Stop, so it held every idle frame between one pan and the next. Idle
157
+ * frames are cheap and plentiful, so they drag the mean down and leave the p95
158
+ * roughly alone: the cell was pessimistic about the tail and optimistic about
159
+ * the average, and there was no way to say by how much.
160
+ *
161
+ * A `start` mark opens a segment and the next `end` closes it. Repeats are read
162
+ * in ORDER off `markList`, because the keyed `marks` record keeps only the last
163
+ * of each label — six pans marked `start`/`end` are one entry there.
164
+ *
165
+ * `null` when nothing was marked at all. "No gesture was bracketed" and "a
166
+ * bracketed gesture produced no frames" are different findings, and a zeroed
167
+ * `FrameStats` cannot tell them apart.
168
+ */
169
+ export declare function gestureWindow(run: FrameRun, labels?: {
170
+ readonly start: string;
171
+ readonly end: string;
172
+ }): GestureWindow | null;
173
+ export interface FrameRunContext {
174
+ readonly label: string;
175
+ readonly host: string;
176
+ readonly nodeCount: number;
177
+ readonly culling: boolean;
178
+ readonly layoutRunner?: string;
179
+ readonly note?: string;
180
+ }
181
+ export interface FrameReport extends FrameRunContext {
182
+ readonly didMove: true;
183
+ readonly stats: FrameStats;
184
+ /** The gesture-only cell, or `null` when the run bracketed nothing. */
185
+ readonly gesture: GestureWindow | null;
186
+ readonly deltas: readonly number[];
187
+ readonly durationMs: number;
188
+ readonly marks: Readonly<Record<string, FrameMark>>;
189
+ }
190
+ export interface FrameReportRejection {
191
+ readonly reason: "empty" | "didMove" | "notStarted";
192
+ readonly message: string;
193
+ }
194
+ /**
195
+ * The gate on the way OUT of a run.
196
+ *
197
+ * A `didMove: false` run is discarded, not reported — design §13.2, verbatim.
198
+ * Returning a `Result` rather than throwing is the package's house shape
199
+ * (`parseDocument`), and it means a five-run cell can drop a bad run and say
200
+ * how many it dropped instead of dying halfway through a session.
201
+ */
202
+ export declare function reportRun(run: FrameRun, context: FrameRunContext): Result<FrameReport, FrameReportRejection>;
203
+ /**
204
+ * Frames whose timestamp falls in `(from, to]`.
205
+ *
206
+ * Half-open on the NEAR edge on purpose: the frame that ended exactly at the
207
+ * mark is a frame that happened before the relayout fired, so it belongs to
208
+ * the pre-window.
209
+ */
210
+ export declare function sliceWindow(run: FrameRun, from: number, to: number): number[];
211
+ export interface RelayoutGateVerdict {
212
+ readonly pass: boolean;
213
+ readonly pre: FrameStats;
214
+ readonly post: FrameStats;
215
+ readonly p95Ratio: number;
216
+ readonly postDidMove: boolean;
217
+ readonly windowMs: number;
218
+ readonly markT: number;
219
+ /** `p95` | `newHeavyFrames` | `didMove`. Empty on a pass. */
220
+ readonly reasons: readonly string[];
221
+ }
222
+ /**
223
+ * Design §13.2's first absolute gate, as a function rather than a paragraph.
224
+ *
225
+ * PASS is all three of:
226
+ *
227
+ * - the post window's p95 is within 20% of the pre window's,
228
+ * - the post window holds no more frames over 33.3 ms than the pre window did
229
+ * (the design's "no frame over 33 ms appears in the post window that is
230
+ * absent from the pre window", read as a count so it is falsifiable),
231
+ * - `didMove` holds across the post window ALONE — a relayout that froze the
232
+ * canvas produces a beautiful histogram.
233
+ */
234
+ export declare function relayoutGate(run: FrameRun, markLabel: string, windowMs?: number): RelayoutGateVerdict;
235
+ //# sourceMappingURL=frameSampler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameSampler.d.ts","sourceRoot":"","sources":["../../src/bench/frameSampler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,mDAAmD;AACnD,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAeD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAwBrE;AAED,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,mGAAmG;IACnG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,MAAM,CAAC;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,QAAQ,CAAC;IACrB,kFAAkF;IAClF,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAID,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAuFlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B,GAAG,MAAM,MAAM,CAaf;AAED,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,QAAQ,EACb,MAAM,GAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAGrD,GACA,aAAa,GAAG,IAAI,CA4BtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,eAAe,GACvB,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAoD3C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAM7E;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,SAAM,GACb,mBAAmB,CA0BrB"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The bench graph: 200 nodes, ~400 edges, and the same document every time.
3
+ *
4
+ * Determinism is the point. Design §13.2 asks for five runs per cell and the
5
+ * median of the per-run p95, which only means anything if the five runs are
6
+ * looking at the same graph — and a `Math.random` scatter makes a regression
7
+ * indistinguishable from a luckier layout. `mulberry32` is named in plan task
8
+ * 5.1 for that reason: 32 bits of state, one multiply and two shifts, no
9
+ * dependency, and identical output on Hermes and in V8.
10
+ *
11
+ * Edges only ever run FORWARD (`target index > source index`), so the graph is
12
+ * acyclic by construction. That is not decoration: dagre ranks a cyclic graph
13
+ * by breaking edges it picks itself, which would make the layout bench's
14
+ * numbers depend on which edge it happened to break.
15
+ *
16
+ * No React and no `@xyflow` here — the model half of the package has to stay
17
+ * importable from a CLI and from the CI bench (design §3.1), and this module is
18
+ * imported by both the bench script and the story.
19
+ */
20
+ import type { BuiltinEdgeData } from "../edges/edgeKinds";
21
+ import type { GraphDocument } from "../model/index";
22
+ import type { DemoNodeData } from "../react-flow/fixtures";
23
+ /** Mulberry32. Named in plan task 5.1; 32-bit state, seeded, repeatable. */
24
+ export declare function mulberry32(seed: number): () => number;
25
+ export interface BenchGraphOptions {
26
+ readonly count: number;
27
+ readonly seed?: number;
28
+ /** Extra forward edges attempted per node that HAS an out port. 3 gives ~400 at 200. */
29
+ readonly fanOut?: number;
30
+ /** Flow units between grid columns and rows. Wide on purpose: culling is the thing under test. */
31
+ readonly columns?: number;
32
+ readonly columnGap?: number;
33
+ readonly rowGap?: number;
34
+ }
35
+ type Doc = GraphDocument<DemoNodeData, BuiltinEdgeData>;
36
+ /**
37
+ * A graph big enough that culling matters and laid out so it does NOT all fit
38
+ * on one screen — design §13.2's runs are taken "not at `fitView`", which only
39
+ * has meaning if the graph overflows the viewport.
40
+ */
41
+ export declare function generateBenchGraph(options: BenchGraphOptions): Doc;
42
+ export {};
43
+ //# sourceMappingURL=generateGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateGraph.d.ts","sourceRoot":"","sources":["../../src/bench/generateGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,MAAM,CASrD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,KAAK,GAAG,GAAG,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAgBxD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,GAAG,CAqElE"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Design §9.5's record, rendered so a screenshot is a diagnosis.
3
+ *
4
+ * On a device there is no console to open, so this panel is the whole of the
5
+ * evidence. It leads with the failure when there is one — **which stage boot
6
+ * reached and which phase threw** — because that pair is what tells a reader
7
+ * which of design §9.4's five layers let the failure through, and everything
8
+ * else is context behind it.
9
+ *
10
+ * Dev-only by default, per §9.5. `show` overrides that, which is what the
11
+ * device runs at 2.7/2.8 use to read the panel out of a release build.
12
+ */
13
+ import type { ReactNode } from "react";
14
+ import type { GraphDiagnostics as GraphDiagnosticsRecord } from "./types";
15
+ export interface GraphDiagnosticsProps {
16
+ readonly diagnostics: GraphDiagnosticsRecord;
17
+ /** Defaults to dev-only. Pass `true` to read the panel in a release build. */
18
+ readonly show?: boolean;
19
+ }
20
+ /**
21
+ * The failure banner.
22
+ *
23
+ * Named separately because it is the part that has to survive a screenshot at
24
+ * phone resolution: a reader must get the stage and the phase without zooming.
25
+ */
26
+ export declare function GraphBootFailure({ diagnostics, }: {
27
+ diagnostics: GraphDiagnosticsRecord;
28
+ }): ReactNode;
29
+ export declare function GraphDiagnostics({ diagnostics, show }: GraphDiagnosticsProps): ReactNode;
30
+ //# sourceMappingURL=GraphDiagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphDiagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics/GraphDiagnostics.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAC7C,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAiBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,sBAAsB,CAAC;CACrC,GAAG,SAAS,CAgBZ;AAED,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAwExF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * A REAL canvas with design §9.5's panel under it — the web half.
3
+ *
4
+ * WHY IT EXISTS (MPO-211). `NodeGraph/Diagnostics` was a harness: it walked the
5
+ * boot stages by hand and fed the panel synthetic input, including
6
+ * `nodesMounted: loaded ? 12 : 0` — a literal, in the one story whose job was
7
+ * to prove that number. A harness that hardcodes the thing it exists to prove
8
+ * is worse than no harness, so the harness keeps the half it is genuinely good
9
+ * at (breaking the bundle on purpose) and this component owns the measured
10
+ * half.
11
+ *
12
+ * Every number below comes from the canvas mounted beside it:
13
+ *
14
+ * - `nodesMounted` from `nodeCensus`, which counts `GraphNodeHost` instances
15
+ * and therefore counts node bodies React Flow actually rendered;
16
+ * - `nodesInDocument` from the document handed to the canvas;
17
+ * - `faces` from design §6.3's corrupted-first-family probe, run against a
18
+ * node title the canvas rendered;
19
+ * - `faceDelivery` from `GraphFaces`, which is how the panel says whether the
20
+ * asset URL answered or the base64 carried it.
21
+ *
22
+ * The native twin is `LiveGraphDiagnostics.native.tsx`, and it reads the same
23
+ * record out of the WebView's `ready` event instead. Only a `.native.tsx`
24
+ * twin, never a `.web.*` one (MPO-192).
25
+ */
26
+ export declare function LiveGraphDiagnostics(): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=LiveGraphDiagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveGraphDiagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics/LiveGraphDiagnostics.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAqCH,wBAAgB,oBAAoB,4CA2DnC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A REAL canvas with design §9.5's panel under it — the NATIVE half, and the
3
+ * only place AC-3's DOM half can be read (MPO-211).
4
+ *
5
+ * The problem this solves. On device the canvas renders inside a WebView, so
6
+ * every number worth having is measured in a JS realm the Hermes side cannot
7
+ * reach: how many node bodies actually mounted, and whether §6.3's
8
+ * corrupted-first-family control says the `$body` face painted. A story on the
9
+ * Hermes side can measure neither — `NodeGraph/GraphNode` → `FontProof` tries,
10
+ * and its probe measures the Hermes-side stack, which is not the thing AC-3
11
+ * asks about. The canvas already computes all of it and sends it over the
12
+ * `ready` event; until now nothing on a device DISPLAYED it.
13
+ *
14
+ * So this mounts the same `<NodeGraph>` the Kitchen Sink's `Main` story mounts,
15
+ * takes the `ready` payload, and renders it straight into `GraphDiagnostics`.
16
+ * Nothing is synthesised here. If the canvas never reports, the panel says so
17
+ * rather than showing zeroes that look like measurements.
18
+ *
19
+ * `../NodeGraph.native` is imported by its explicit filename, the same way
20
+ * `index.native.ts` does it: `onReady` is native-only by construction, so the
21
+ * shared specifier would resolve to the web twin under `tsgo` and the prop
22
+ * would not typecheck.
23
+ */
24
+ export declare function LiveGraphDiagnostics(): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=LiveGraphDiagnostics.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveGraphDiagnostics.native.d.ts","sourceRoot":"","sources":["../../src/diagnostics/LiveGraphDiagnostics.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAgBH,wBAAgB,oBAAoB,4CAsBnC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * A module that throws when it is evaluated. That is its whole job.
3
+ *
4
+ * Design §9.5 asks for a story toggle that "deliberately breaks the bundle so
5
+ * the fallback path is a story rather than a hope". A toggle that only sets a
6
+ * flag would exercise a branch, not the failure — the real failure is a module
7
+ * whose EVALUATION throws inside `await import(...)`, which is what the boot
8
+ * heartbeat of §9.4 layer 3 is built to catch and what the diagnostics panel
9
+ * has to be able to name.
10
+ *
11
+ * SAFE TO SHIP, and `GraphDiagnostics.stories.tsx` is the only importer:
12
+ *
13
+ * - It is reached exclusively through a dynamic `import()` behind a story
14
+ * control, so nothing evaluates it unless a human flips the switch.
15
+ * - The package build EXCLUDES THIS FILE BY NAME, so no compiled copy exists.
16
+ * Excluding only `*.stories.*` was not enough and the first build proved
17
+ * it: `tamagui-build` compiles every source file it finds, reachable or
18
+ * not, and emitted `dist/esm/diagnostics/deliberateBreak.mjs`. The exclude
19
+ * pattern is the same mechanism that keeps the DOM entry out of `dist`.
20
+ * - `GraphDiagnostics.spec.tsx` asserts no non-story module under `src/`
21
+ * imports it, so it cannot quietly acquire a second caller.
22
+ *
23
+ * The message is written to look like the failure it stands in for: the
24
+ * `import.meta` parse error that blanks a WebView with no reachable error
25
+ * boundary (design §9.4).
26
+ */
27
+ export {};
28
+ //# sourceMappingURL=deliberateBreak.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliberateBreak.d.ts","sourceRoot":"","sources":["../../src/diagnostics/deliberateBreak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,OAAO,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The `ready` event's payload, as design §9.5's record.
3
+ *
4
+ * The two shapes are the same fields with one deliberate difference:
5
+ * `GraphDiagnosticsWire.layoutRunner` is a plain string, so adding a layout
6
+ * runner in milestone 4 is not a bridge change. This is the one place that
7
+ * difference is reconciled, and an unknown runner narrows to `"none"` rather
8
+ * than being cast — a value the panel invented would read as a runner that ran.
9
+ *
10
+ * Everything else crosses unchanged. `FaceProbeWire` and `FaceProbe` are the
11
+ * same five fields, and `graphDiagnosticsWireFields` in `wire.spec.ts` is what
12
+ * holds them to that.
13
+ */
14
+ import type { GraphDiagnosticsWire } from "../dom/wire";
15
+ import type { GraphDiagnostics } from "./types";
16
+ export declare function graphDiagnosticsFromWire(wire: GraphDiagnosticsWire): GraphDiagnostics;
17
+ //# sourceMappingURL=fromWire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fromWire.d.ts","sourceRoot":"","sources":["../../src/diagnostics/fromWire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AAgBlE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAgBrF"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The one error worth reporting, kept where both halves of boot can reach it.
3
+ *
4
+ * Same shape and same reason as `dom/boot.ts`: `NodeGraphDom.ts` must carry no
5
+ * top-level import of ours that could itself throw (design §9.4 layer 3), so it
6
+ * writes this slot INLINE from its own catch block. A module-scoped variable
7
+ * would give the entry and the diagnostics panel two separate records, and the
8
+ * panel would report the empty one.
9
+ *
10
+ * Everything here treats the global as untrusted. A record another library
11
+ * clobbered, or a phase outside the wire's four, reads back as `null` rather
12
+ * than throwing inside the error path — which is the one path where a second
13
+ * throw costs you the diagnosis.
14
+ *
15
+ * Design: docs/design/node-graph-editor.md §9.5.
16
+ */
17
+ import type { GraphErrorPhase } from "../dom/wire";
18
+ /**
19
+ * The key `NodeGraphDom.ts` writes inline.
20
+ *
21
+ * Exported so `useGraphDiagnostics.spec.tsx` can assert the entry's literal and
22
+ * this module's reader still name the same slot — the one place the two halves
23
+ * could silently drift.
24
+ */
25
+ export declare const graphErrorGlobalKey = "__mp_graph_error";
26
+ export interface GraphErrorRecord {
27
+ readonly phase: GraphErrorPhase;
28
+ readonly message: string;
29
+ readonly stack?: string;
30
+ /** `Date.now()` at the record, so a panel can say how long ago it happened. */
31
+ readonly at: number;
32
+ }
33
+ /** The record as written, normalised. Anything unrecognisable reads as `null`. */
34
+ export declare function readGraphError(): GraphErrorRecord | null;
35
+ /**
36
+ * Record an error, keeping the FIRST one.
37
+ *
38
+ * A module-eval throw usually produces a train of render errors behind it, and
39
+ * last-write-wins would report the consequence while the cause scrolled off.
40
+ * `resetGraphError` is what Retry calls before remounting, so a genuinely new
41
+ * boot is not judged on the previous one's failure.
42
+ */
43
+ export declare function recordGraphError(error: {
44
+ readonly phase: GraphErrorPhase;
45
+ readonly message: string;
46
+ readonly stack?: string;
47
+ }): GraphErrorRecord | null;
48
+ /** Test seam, and what Retry calls before remounting. */
49
+ export declare function resetGraphError(): void;
50
+ //# sourceMappingURL=lastError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lastError.d.ts","sourceRoot":"","sources":["../../src/diagnostics/lastError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAYD,kFAAkF;AAClF,wBAAgB,cAAc,IAAI,gBAAgB,GAAG,IAAI,CAYxD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,gBAAgB,GAAG,IAAI,CAY1B;AAED,yDAAyD;AACzD,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * What a WebView that came up wrong is able to tell you (design §9.5).
3
+ *
4
+ * Every field here answers a question an agent reading a device screenshot has
5
+ * to be able to answer without a console: how far did boot get, which renderer
6
+ * drew this, which layout runner resolved, did the face actually paint, how
7
+ * many nodes mounted, and what threw first.
8
+ */
9
+ import type { BootStage } from "../dom/boot";
10
+ import type { LayoutRunnerKind as LayoutEngineRunnerKind } from "../layout/types";
11
+ import type { GraphErrorPhase } from "../dom/wire";
12
+ import type { FaceProbe } from "../theme/faces";
13
+ /**
14
+ * Design §8's four, plus `none`.
15
+ *
16
+ * `none` is not in the design's union and is not a fifth strategy — it is the
17
+ * honest state before a canvas has resolved a runner. The alternative was
18
+ * reporting `inline`, which is a real runner and would read as "the worker
19
+ * fallback fired" to exactly the person the field exists for.
20
+ *
21
+ * The four are IMPORTED rather than restated. Milestone 4 made
22
+ * `layout/types.ts` the definition, and two hand-kept copies of a union is how
23
+ * a fifth runner ends up reportable in one file and not the other.
24
+ */
25
+ export type LayoutRunnerKind = LayoutEngineRunnerKind | "none";
26
+ export type GraphRenderer = "react-flow-web" | "react-flow-dom";
27
+ /**
28
+ * Which of design 6.3's two mechanisms actually delivered a face.
29
+ *
30
+ * On device this is the whole answer to "did the asset URL work, or did the
31
+ * 211 KB of base64 carry it" — a question nothing on screen could answer
32
+ * before MPO-211, because `GraphFaces` reported it to a callback the panel
33
+ * never saw. `pending` means the probe has not answered yet, and is reported
34
+ * rather than guessed.
35
+ */
36
+ export interface GraphFaceDelivery {
37
+ readonly id: string;
38
+ readonly family: string;
39
+ readonly weight: number;
40
+ readonly source: "asset" | "inline" | "pending" | "failed";
41
+ }
42
+ export interface GraphDiagnostics {
43
+ readonly stage: BootStage | null;
44
+ /**
45
+ * Milliseconds from the entry's `script` stamp to this record, or `null`
46
+ * where no boot record exists.
47
+ *
48
+ * The number the native watchdog's budget is set FROM (MPO-211). Design
49
+ * 9.4's 4000 ms was never measured; on emulator-5590 rebooted fresh it
50
+ * fired on a canvas that then rendered on the first Retry.
51
+ */
52
+ readonly bootMs: number | null;
53
+ readonly renderer: GraphRenderer;
54
+ readonly xyflowVersion: string;
55
+ readonly layoutRunner: LayoutRunnerKind;
56
+ readonly faces: readonly FaceProbe[];
57
+ /** Which mechanism delivered each declared face. Empty where none was mounted. */
58
+ readonly faceDelivery: readonly GraphFaceDelivery[];
59
+ /**
60
+ * Node bodies React Flow has MOUNTED, from `nodeCensus` — not the document's
61
+ * node count, which is the field below.
62
+ *
63
+ * The two differ whenever `culling` is true: the demo document has 12 nodes
64
+ * and mounts 10 at the default viewport. Reporting one number for both is
65
+ * what made "renders 12 nodes" unreadable off a device screenshot.
66
+ */
67
+ readonly nodesMounted: number;
68
+ /** Nodes in the document the canvas parsed. */
69
+ readonly nodesInDocument: number;
70
+ readonly culling: boolean;
71
+ readonly renderMode: "detail" | "overview";
72
+ readonly scheme: "light" | "dark";
73
+ readonly lastError: {
74
+ readonly phase: GraphErrorPhase;
75
+ readonly message: string;
76
+ } | null;
77
+ }
78
+ /**
79
+ * What the caller knows, as against what this module derives.
80
+ *
81
+ * The split is deliberate. `stage`, `xyflowVersion` and `lastError` are read
82
+ * from module state and cannot be faked by a caller; the rest are live values
83
+ * only the canvas holds. Making the canvas hand them in beats reaching into
84
+ * React Flow's store from a second place — `renderMode` in particular is
85
+ * already computed once, in `GraphNodeHost`, from the live zoom.
86
+ */
87
+ export interface GraphDiagnosticsInput {
88
+ readonly renderer: GraphRenderer;
89
+ readonly nodesMounted: number;
90
+ readonly nodesInDocument: number;
91
+ readonly culling: boolean;
92
+ readonly renderMode: "detail" | "overview";
93
+ readonly scheme: "light" | "dark";
94
+ /** Omitted until `resolveRunner()` has answered. Reported as `none`. */
95
+ readonly layoutRunner?: LayoutRunnerKind;
96
+ /** From `probeRenderedFamily`. Omitted reports as an empty list, never absent. */
97
+ readonly faces?: readonly FaceProbe[];
98
+ /** From `GraphFaces`' `onStatus`. Omitted reports as an empty list, never absent. */
99
+ readonly faceDelivery?: readonly GraphFaceDelivery[];
100
+ }
101
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,MAAM,CAAC;AAE/D,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpD;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1F;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACtD"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Reads design §9.5's record out of the state that already exists.
3
+ *
4
+ * Nothing here is stored twice. The boot stage comes from the heartbeat's
5
+ * global, the version from the one `@xyflow` import site, the first error from
6
+ * the slot the DOM entry writes inline. What a caller passes in is only what
7
+ * lives in the canvas and nowhere else.
8
+ *
9
+ * THE GLOBALS ARE READ ON EVERY RENDER, and that is not an oversight to be
10
+ * memoized away. Both are written from EFFECTS — `stampBootStage` from the
11
+ * boot sequence, the error slot from the DOM entry's catch — so both land
12
+ * after the first render has already happened. A `useMemo` keyed on the input
13
+ * alone captures them at mount and never looks again, and the panel then
14
+ * reports `stage: none` on a boot that reached `faces`. Measured on the
15
+ * Storybook at task 2.6, before the spec existed to catch it.
16
+ *
17
+ * Two cheap property reads per render is the correct price. The memo below
18
+ * exists only to keep the RESULT's identity stable when nothing actually
19
+ * moved, so a consumer memoizing on it does not re-run every frame.
20
+ */
21
+ import type { GraphDiagnostics, GraphDiagnosticsInput } from "./types";
22
+ export declare function useGraphDiagnostics(input: GraphDiagnosticsInput): GraphDiagnostics;
23
+ //# sourceMappingURL=useGraphDiagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGraphDiagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics/useGraphDiagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,CAsDlF"}