/** * OpenVibe overlays (Shared 4.152.0): small floating surfaces that stay with a person across pages and across OpenVibe * sites: a live channel's picture, a chat, an agent at work, a Codes task. The owner, 11-08: "move and resize it like * YouTube on Android", "a chat button for the room", "make it work across sites", "an SDK any site, agent, Vibe chat * or Codes can use". * * OVOverlay.open({ id, src, title, href, live, side: { title, src }, aspect, w, corner, portable }) → handle * src a first-party https URL drawn in a sandboxed frame (Live's /embed/, a chat room, an agent) * title shown on the card; href: where "open" goes (the full page); live: the LIVE badge * side a second frame the card's chat button opens beside it (a sheet above the app bar on a phone) * portable (default true) it follows the person to another OpenVibe site they open from a link * OVOverlay.close(id) · OVOverlay.list() · OVOverlay.declare(id, descriptor | null) * declare: a page that draws its own floating player (Live's mini player moves its