@andespindola/brainlink 0.1.0-beta.137 → 0.1.0-beta.138
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.
|
@@ -815,14 +815,16 @@ const edgeRelevanceScore = edge => {
|
|
|
815
815
|
return score
|
|
816
816
|
}
|
|
817
817
|
|
|
818
|
-
const collectVisibleEdgesForNodes = nodeIds => {
|
|
818
|
+
const collectVisibleEdgesForNodes = (nodeIds, options = { preferComplete: false }) => {
|
|
819
819
|
if (nodeIds.size === 0) {
|
|
820
820
|
return []
|
|
821
821
|
}
|
|
822
822
|
|
|
823
823
|
const seen = new Set()
|
|
824
824
|
const candidates = []
|
|
825
|
-
const limit =
|
|
825
|
+
const limit = options.preferComplete
|
|
826
|
+
? hierarchyAbsoluteEdgeSafetyCap
|
|
827
|
+
: edgeBudgetForCurrentFrame()
|
|
826
828
|
|
|
827
829
|
nodeIds.forEach(nodeId => {
|
|
828
830
|
const candidateEdges = state.visibleEdgeByNode.get(nodeId) ?? []
|
|
@@ -1358,10 +1360,18 @@ const projectNodesIntoChildGraph = (nodes, focusRenderNode, group) => {
|
|
|
1358
1360
|
|
|
1359
1361
|
const centerX = (minX + maxX) / 2
|
|
1360
1362
|
const centerY = (minY + maxY) / 2
|
|
1361
|
-
const
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1363
|
+
const maxDistanceFromCenter = nodes.reduce((maxDistance, node) => {
|
|
1364
|
+
const distance = Math.hypot(node.x - centerX, node.y - centerY)
|
|
1365
|
+
return Math.max(maxDistance, distance)
|
|
1366
|
+
}, 1)
|
|
1367
|
+
const subgraphFillByNodeCount = (nodeCount) => {
|
|
1368
|
+
if (nodeCount <= 24) return 0.62
|
|
1369
|
+
if (nodeCount <= 80) return 0.7
|
|
1370
|
+
if (nodeCount <= 200) return 0.78
|
|
1371
|
+
return 0.84
|
|
1372
|
+
}
|
|
1373
|
+
const targetRadius = Math.max(1, childGraphRenderRadius(group) * subgraphFillByNodeCount(nodes.length))
|
|
1374
|
+
const scale = targetRadius / Math.max(maxDistanceFromCenter, 1)
|
|
1365
1375
|
|
|
1366
1376
|
return nodes.map(node => ({
|
|
1367
1377
|
...node,
|
|
@@ -1715,7 +1725,7 @@ const computeHierarchyRenderVisibility = (viewport) => {
|
|
|
1715
1725
|
const childEdges = (isMicroView || revealProgress > 0)
|
|
1716
1726
|
? focusChildGroups.length > 0
|
|
1717
1727
|
? groupEdgesForRenderedGroups(childNodes)
|
|
1718
|
-
: collectVisibleEdgesForNodes(childIds).map(edge => ({
|
|
1728
|
+
: collectVisibleEdgesForNodes(childIds, { preferComplete: true }).map(edge => ({
|
|
1719
1729
|
...edge,
|
|
1720
1730
|
sourceNode: childById.get(edge.source) ?? edge.sourceNode,
|
|
1721
1731
|
targetNode: childById.get(edge.target) ?? edge.targetNode
|
package/package.json
CHANGED