Author: Michael Lynch <git@mtlynch.io>
Committer: Michael Lynch <mtlynch@noreply.codeberg.org>
Split convert package by abstraction level (#231) The convert package mixed four altitudes: a storage abstraction, image primitives, fs-to-storage transform pipelines, and ffmpeg primitives. Separate them to match the layout the upload work (slice-3) builds on: - mediastore: MediaWriter/LocalWriter/WriteFile plus a generic WriteConverted helper that consolidates the temp-file-and-write pipeline previously duplicated in convert and importers. - images: pure image primitives (GenerateSquareThumbnail, ResizeToWidth). - imagepipe: GenerateAndWriteSquareThumbnail/GenerateAndWriteResized, rebuilt on mediastore.WriteConverted + images primitives. - convert: now only ffmpeg primitives (video, avif); stdlib-only imports. Migrate all call sites (importers, the import-from-tinybeans main) accordingly. s3.Writer needs no change since it satisfies the interface implicitly. This is the layout half of the slice-3 refactoring, applied to master in isolation. The slice-3-only helpers that serve upload functionality (mediastore.WriteProduced, images.Dimensions, images.Reencode) are intentionally deferred to slice-3. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Reviewed-on: https://codeberg.org/mtlynch/little-moments/pulls/231
| Time to Start | Worker time | Duration | Time to finish | Idle | |
| Config | 1s | 6s | 6s | 7s | 1s |
| Eval | 6s | 45s | 45s | 51s | 0s |
| Build | 11s | 5m34s | 1m04s | 1m15s | 0s |
| Suite | 1s | 6m26s | 1m13s | 1m15s | 1s |