Skip to content

Commit 37f147e

Browse files
author
m.buchhorn-roth
committed
fix(graph): reduce text clutter and strengthen selected relations
- place node labels in front of node mesh (y/z offset) - show relation labels only for selected-node connections - increase global link opacity to avoid gray/faded edges - make selected-node connected relations significantly thicker
1 parent 45d9eb8 commit 37f147e

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

src/components/RELIEFKnowledgeGraph3D.tsx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -510,11 +510,12 @@ export function RELIEFKnowledgeGraph3D() {
510510

511511
const label = new SpriteText(node.label) as any
512512
label.color = '#e2e8f0'
513-
label.textHeight = node.type === 'case' ? 7 : node.type === 'law' ? 6.5 : node.type === 'ai' ? 6 : node.type === 'person' ? 5.5 : 5
513+
label.textHeight = node.type === 'case' ? 6.2 : node.type === 'law' ? 5.8 : node.type === 'ai' ? 5.4 : node.type === 'person' ? 5 : 4.6
514514
label.backgroundColor = isSelected ? 'rgba(15, 23, 42, 0.95)' : 'rgba(15, 23, 42, 0.88)'
515-
label.padding = [3.5, 6]
515+
label.padding = [2.5, 5]
516516
label.borderRadius = 3
517-
label.position.y = -(size + 9)
517+
label.position.y = size + 6
518+
label.position.z = size * 0.45
518519
if (label.material) {
519520
label.material.depthTest = false
520521
label.material.depthWrite = false
@@ -578,8 +579,8 @@ export function RELIEFKnowledgeGraph3D() {
578579
}, [isLinkConnectedToSelected, selectedNode])
579580

580581
const linkWidth = useCallback((link: GraphLink) => {
581-
if (!selectedNode) return 2.9
582-
return isLinkConnectedToSelected(link) ? 5.2 : 0.6
582+
if (!selectedNode) return 3.4
583+
return isLinkConnectedToSelected(link) ? 7.2 : 0.9
583584
}, [isLinkConnectedToSelected, selectedNode])
584585

585586
const linkDirectionalParticles = useCallback((link: GraphLink) => {
@@ -592,7 +593,7 @@ export function RELIEFKnowledgeGraph3D() {
592593
}, [isLinkConnectedToSelected, selectedNode])
593594

594595
const linkThreeObject = useCallback((link: GraphLink) => {
595-
const showLabel = !selectedNode || isLinkConnectedToSelected(link)
596+
const showLabel = !!selectedNode && isLinkConnectedToSelected(link)
596597
if (!showLabel) return null
597598

598599
const relationText = link.description && link.description.trim().length > 0
@@ -601,9 +602,9 @@ export function RELIEFKnowledgeGraph3D() {
601602

602603
const label = new SpriteText(relationText) as any
603604
label.color = '#f8fafc'
604-
label.textHeight = selectedNode ? 4.5 : 3.6
605-
label.backgroundColor = selectedNode ? 'rgba(15, 23, 42, 0.98)' : 'rgba(15, 23, 42, 0.9)'
606-
label.padding = selectedNode ? [2.2, 4.2] : [1.8, 3.4]
605+
label.textHeight = 3.8
606+
label.backgroundColor = 'rgba(15, 23, 42, 0.92)'
607+
label.padding = [1.6, 3.2]
607608
label.borderRadius = 2
608609
if (label.material) {
609610
label.material.depthTest = false
@@ -707,6 +708,7 @@ export function RELIEFKnowledgeGraph3D() {
707708
nodeThreeObjectExtend={true}
708709
linkColor={linkColor}
709710
linkDirectionalArrowColor={linkDirectionalArrowColor}
711+
linkOpacity={0.98}
710712
linkWidth={linkWidth}
711713
linkThreeObject={linkThreeObject}
712714
linkPositionUpdate={linkPositionUpdate}

0 commit comments

Comments
 (0)