# `PhoenixKit.Modules.Storage.AnnotationThumbnailJob`
[🔗](https://github.com/BeamLabEU/phoenix_kit/blob/v2.13.11/lib/modules/storage/workers/annotation_thumbnail_job.ex#L1)

Background (re)generation of a file's baked annotated thumbnail.

Debounced: jobs are unique per `file_uuid` *while still pending or running*
(scheduled / available / executing / retryable) and enqueued with a short
delay, so a burst of annotation edits collapses into a single render. The job
reads the *current* annotations at run time, so it always reflects the latest
state.

Crucially, `:completed` is **not** a unique state: once a regen finishes, the
next edit enqueues a fresh one. (Oban's default unique states include
`:completed`, which would throttle regens to one per `period` per file and
silently drop edits made inside that window — the symptom being "my new shape
didn't show up until I drew another one.")

# `enqueue`

Enqueue a debounced annotated-thumbnail refresh for `file_uuid`.

Best-effort: never raises (so it can't break the annotation-save path even if
Oban isn't running). Returns `:ok` regardless.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
