loading property
When true, the renderer paints a shimmer placeholder over the image
area instead of the actual url. Use this when the backend has
triggered an async generation (e.g. a nail design render) and
wants the chat surface to feel alive while the task is still
pending. The accompanying card typically carries a callback
action whose payload.task_id the host polls; when the task
resolves, the host updates the message in place with loading: false and the real URL.
Implementation
String get url; String? get alt;@JsonKey(name: 'aspect_ratio') String get aspectRatio;/// When true, the renderer paints a shimmer placeholder over the image
/// area instead of the actual `url`. Use this when the backend has
/// triggered an async generation (e.g. a nail design render) and
/// wants the chat surface to feel alive while the task is still
/// pending. The accompanying card typically carries a `callback`
/// action whose `payload.task_id` the host polls; when the task
/// resolves, the host updates the message in place with `loading:
/// false` and the real URL.
bool get loading;