An image publishes its frame (a picture), a source per format, and the
img; it owns no
state or messages, and the browser owns loading and which candidate to
fetch. The img carries the original's ratio as --fk-image-ratio and the
placeholder's background as --fk-image-placeholder, the focal point as
--fk-image-focus, and data-layout (fixed, constrained, full). A
frame whose provider has no URL for the image is drawn empty, marked
data-unavailable, holding the image's box (--fk-image-ratio,
--fk-image-width) and its alt text.
Marks the img's data-state (loading, loaded, failed), for a style
to read; Recipes.Image hides a failed image, keeping its box, so no
broken-image glyph or stray alt text shows. Pass it beside the style. It
sends no Message, so it is never on by default; without it (or before a page
hydrates) the browser draws a failed image as it does.