JoyDomPainterFactory

Factory invoked when a replaced element (img) renders. The renderer reads src from node.props["src"] (or the node-level node["src"]) and asks the factory to produce a Painter; if it returns null, the element renders as an empty Box.

The factory is @Composable so callers can plug in their own loader (Compose Resources, a bundled-asset decoder, etc.) that needs to remember state across recompositions. The default is CoilPainterFactory, which loads every src through Coil 3. To fetch http(s) URLs the app must also add a Coil network engine (coil-network-*) to its classpath.