VideoRenderer
Video -- the frame a player will occupy, with the poster in it.
Nothing plays, and that is the shipped behaviour rather than a gap left open. The guide asks for "a native video player component with user controls enabled", and there is no such component in Compose Multiplatform: playback means a per-platform media stack -- ExoPlayer, AVPlayer, an HTML <video> element -- which is an engine in each of four targets, inside a module whose job is a design-system adapter. So this draws what a player would occupy and says what is there, and a host with a media stack registers its own Video renderer through ComponentRegistry.with -- the escape hatch Icon documents, used here for the same reason.
That is a weaker promise than the guide's and it is made visibly rather than silently: the frame carries a play glyph that does not depress, so a surface with a Video on it reads as a video that this host cannot play rather than as a video that is broken.
posterUrl is drawn, and url is never fetched. The poster goes through the same LocalA2uiImageLoader every Image does, under the same http/https restriction, so a host that has wired up images gets the still for free. The video URL is not touched at all -- not even to probe it -- because fetching it is exactly the capability this renderer does not have.
The frame is 16:9 and fills the width it is offered, which is the guide's "span the full width of the parent's container". A row grants it a share rather than letting it take the whole width -- see claimsMainAxis in Layout.kt.
The frame is named, and the name is the host's. A Video is the one component in the catalog carrying no words of the agent's -- no description, no altText -- so an unnamed frame is a region a screen reader passes over entirely. A2uiStrings.video supplies it.