code: def move_until_no_overlap(
      asset,
      simulator,
      spawn_region=((-1, -1, -1), (1, 1, 1)),
      max_trials=100,
      rng=default_rng(),
  ):
      return resample_while(
          asset,
          samplers=[rotation_sampler(), position_sampler(spawn_region)],
          condition=simulator.check_overlap,
          max_trials=max_trials,
          rng=rng,
      )
  
file_path: kubric/kubric/randomness.py
imports: import numpy
  import pyquaternion
  from typing import Optional, Tuple
  from kubric.core import color
  from kubric.core import objects
label_desc: Use image node_id 8 for calling a global function with example usage: move_until_no_overlap(asset, simulator, spawn_region, max_trials, rng) and returns: resample_while