def METHOD_NAME(self, i, placeholder, face_size=0.01, distance=0, **params):
    if self.camera is not None and distance < self.cam_meshing_max_dist:
        assert self.adapt_mesh_method != 'remesh'
        skin_obj, outofview, vert_dists, _ = split_inview(placeholder, cam=self.camera, vis_margin=0.15)
        butil.parent_to(outofview, skin_obj, no_inverse=True, no_transform=True)
        face_size = detail.target_face_size(vert_dists.min())
    else:
        skin_obj = deep_clone_obj(placeholder, keep_modifiers=True, keep_materials=True)
    butil.parent_to(skin_obj, placeholder, no_inverse=True, no_transform=True)
    with butil.DisableModifiers(skin_obj):
        detail.adapt_mesh_resolution(skin_obj, face_size, method=self.adapt_mesh_method, apply=True)
    tag_object(skin_obj, 'boulder')
    return skin_ob