2d019a38

By: Michael Lynch <git@mtlynch.io>

Give all media conversion one shared signature

The prior slice gave video its own path-to-path converter (VideoTranscodeFunc
/ VideoFileToWebM) to avoid re-spilling an already-on-disk upload to a temp
file, and renamed the stream-based Converter to ImageConvertFunc. That left two
conversion signatures to reason about.

Collapse back to a single MediaConverter func(r io.Reader, w io.Writer) error
shared by photo, animated-photo, and video conversion, matching the name the
importers package already uses. Video streams through mediastore.WriteConverted
again, intentionally accepting the redundant filesystem copies; writeFullSizeVideo
documents why so the copies don't read as an oversight. The struct that bundles
the per-kind converters becomes MediaConverters to free up the MediaConverter name.

Drop the now-unused convert.VideoFileToWebM and littlemoments.TranscodedVideoPath.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacedeploy-to-flydiagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux