diff --git a/src/lib/navigator/EventNetwork/utils/forceSimulation.ts b/src/lib/navigator/EventNetwork/utils/forceSimulation.ts index bb21ebb..17d65bc 100644 --- a/src/lib/navigator/EventNetwork/utils/forceSimulation.ts +++ b/src/lib/navigator/EventNetwork/utils/forceSimulation.ts @@ -205,16 +205,10 @@ export function setupDragHandlers( simulation.alphaTarget(0); } - // Person anchors should remain fixed after dragging - if (d.isPersonAnchor) { - // Keep the new position fixed - d.fx = d.x; - d.fy = d.y; - } else { - // Release fixed position for other nodes - d.fx = null; - d.fy = null; - } + // Keep all nodes fixed after dragging + // This allows users to manually position any node type + d.fx = d.x; + d.fy = d.y; }); } diff --git a/src/lib/navigator/EventNetwork/utils/starForceSimulation.ts b/src/lib/navigator/EventNetwork/utils/starForceSimulation.ts index 7c52e8d..3c6cff8 100644 --- a/src/lib/navigator/EventNetwork/utils/starForceSimulation.ts +++ b/src/lib/navigator/EventNetwork/utils/starForceSimulation.ts @@ -247,15 +247,10 @@ export function createStarDragHandler( function dragended(event: any, d: NetworkNode) { if (!event.active) simulation.alphaTarget(0); - // Tag anchors, person anchors, and star centers stay fixed after dragging - if (d.isTagAnchor || d.isPersonAnchor || d.kind === 30040) { - d.fx = event.x; - d.fy = event.y; - } else { - // Let content nodes float - d.fx = null; - d.fy = null; - } + // Keep all nodes fixed after dragging + // This allows users to manually position any node type + d.fx = event.x; + d.fy = event.y; } return d3.drag()