updateNodePosition method
Implementation
void updateNodePosition(String id, Offset newPos, {bool saveState = true}) {
// Assuming this is called on drag end or similar final interaction
if (saveState) {
_saveToHistory();
}
final updatedPositions = Map<String, Offset>.from(state.nodePositions)
..[id] = newPos;
emit(state.copyWith(
nodePositions: updatedPositions,
canUndo: true,
canRedo: saveState ? false : state.canRedo,
));
}