|
|
35d5baf7be
|
feat: thumbnail generator plugin with configurable size/format
- ThumbnailGeneratorPort in domain (bytes + config → resized bytes)
- adapters-thumbnail: ImageThumbnailGenerator using image crate
- ThumbnailGeneratorPlugin reads width/height/format/profile from step config
- PostgresDerivativeRepository + 012_derivatives migration
- Seeded in extract_metadata pipeline as step 2 (300x300 webp)
- Standalone generate_derivative pipeline for on-demand use
|
2026-05-31 20:44:55 +02:00 |
|
|
|
45669ec848
|
feat: real EXIF extraction via adapters-exif crate
- MetadataExtractorPort in domain (bytes → StructuredData)
- adapters-exif: NomExifExtractor using nom-exif, handles EXIF + TrackInfo
- Worker's MetadataExtractorPlugin delegates to port, no longer knows nom-exif
- Filters noisy binary tags (U8Array, Undefined, Unknown)
|
2026-05-31 20:28:50 +02:00 |
|
|
|
0e9911ebfc
|
feat: event infrastructure — payload, transport, NATS adapter
- EventPublisher now takes &DomainEvent (11 call sites + 3 impls updated)
- EventEnvelope + EventConsumer port in domain
- event-payload: serializable DomainEvent mirror with subject routing
- event-transport: generic Transport/MessageSource traits, publisher/consumer adapters
- adapters-nats: JetStream publish + durable pull consumer
|
2026-05-31 11:50:16 +02:00 |
|
|
|
4b31a0f74b
|
app: add sidecar sync commands (export, detect, import, resolve, full export/import)
|
2026-05-31 05:29:03 +02:00 |
|
|
|
f9cb142c3b
|
init: scaffold from k-template with postgres + worker
|
2026-05-31 03:08:38 +02:00 |
|