def METHOD_NAME(obj, camera=None, global_multiplier=1, global_clip_min=0.003, global_clip_max=1):
    if camera is None:
        camera = bpy.context.scene.camera
    if camera is None:
        return global_clip_min
    if isinstance(obj, bpy.types.Object):
        if IS_COARSE:
            logger.warn(f'target_face_size({obj.name=}) is using the cameras location which is unsafe for {IS_COARSE=}')
        bbox = np.array([obj.matrix_world @ mathutils.Vector(v) for v in obj.bound_box])
        dists = np.linalg.norm(bbox - np.array(camera.location), axis=-1)
        eval_point = bbox[dists.argmin()]
        dist = np.linalg.norm(eval_point - camera.location)
    elif hasattr(obj, '__len__') and len(obj) == 3:
        if IS_COARSE:
            logger.warn(f'target_face_size({obj.name=}) is using the cameras location which is unsafe for {IS_COARSE=}')
        eval_point = mathutils.Vector(obj)
        dist = np.linalg.norm(eval_point - camera.location)
    elif isinstance(obj, (float, int)):
        dist = obj
    else:
        raise ValueError(f'target_face_size() could not handle {obj=}, {type(obj)=}')
    if camera is None:
        camera = bpy.context.scene.camera
    if camera is None:
        return global_clip_min  # raise ValueError(f'Please add a camera; attempted to   #
        # detail.target_face_size() but {bpy.context.scene.camera=}')
    camd = camera.data
    scene = bpy.context.scene
    mm_to_meter = 0.001
    f_m = mm_to_meter * camd.lens
    sensor_dims = mm_to_meter * np.array([camd.sensor_width, camd.sensor_height])
    pixel_shape = (scene.render.resolution_percentage / 100) * np.array(
        [scene.render.resolution_x, scene.render.resolution_y])
    pixel_dims = (sensor_dims / pixel_shape) * (dist / f_m)
    res = min(pixel_dims)
    return np.clip(global_multiplier * res, global_clip_min, global_clip_max)