How can I hide the white selection rectangle that appears when dragging in the Omniverse viewport?

Hi Team,

I am trying to implement drag and drop feature of asset on viewport.

In the screenshot above, I dragged from A to B. The problem is the white rectangle that appears while dragging.

Code:

class DoNotPrevent(sc.GestureManager):
    def can_be_prevented(self, gesture):
        return False


class PDragGesture(sc.DragGesture):
    def __init__(self, client, viewport_api):
        super().__init__(mouse_button=0, manager=DoNotPrevent())

        self._client = client
        self._viewport_api = viewport_api

    def on_changed(self):
        self._query_world_pos(
            self.sender.gesture_payload.mouse,
            self._on_end_resolved,
        )

    def _update_position(self, world_pos):
        self._cell_id = 1

        pnb = self._client.get_details(self._cell_id)
        pnb.position = Position(
            x=world_pos[0],
            y=world_pos[1],
            z=world_pos[2],
        )

        self._client.edit_position(pnb)

    def _on_end_resolved(self, prim_path, world_pos, *_):
        try:
            self._update_position(world_pos)
        except Exception:
            logging.exception("Exception in drag handler")

    def on_ended(self):
        pass

    def _query_world_pos(self, ndc_mouse, callback):
        """Convert NDC mouse position to world space."""

        omni.usd.get_context().set_pickable("/", True)

        mouse, viewport = self._viewport_api.map_ndc_to_texture_pixel(ndc_mouse)
        if mouse is None or viewport is None:
            return

        viewport.request_query(
            mouse,
            callback,
            query_name="p_drag",
        )


class ViewportDCM(sc.Manipulator):
    def __init__(self, client, viewport_ap, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.__drag_gesture = KDragGesture(viewport_api)
        self.__drag_gesture_p = PDragGesture(client, viewport_api)

    def on_build(self):
        self.__transform = sc.Transform()

        with self.__transform:
            gestures = [
                self.__drag_gesture,
                self.__drag_gesture_p,
            ]

            self.__screen = sc.Screen(gesture=gestures)

How can I hide or disable the rectangle?

Thanks,

When you say Drag and Drop, do you mean drag from outside the viewport from a file browser panel? Because that code is already in there. No need to add it.

If you mean you are dragging a prim around the viewport, again that code is already in there.

So I am not clear on the work flow. Exactly when would someone use this and how? Send a video.