feat(images): multi-format portfolio pipeline (AVIF/WebP/JPEG/JXL)

Backend now stores AVIF, WebP, JPEG, and optional JXL variants for both full-size and thumbnail images. Database schema extended with 7 new columns. Image validation supports AVIF and JXL magic bytes. Comprehensive test coverage for all format URL fields and magic byte detection. Legacy single-URL images remain backward-compatible.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-06-04 01:06:33 +01:00
co-authored by Sisyphus
parent bffb984ebb
commit 0da7498ad7
5 changed files with 1145 additions and 119 deletions
+8 -1
View File
@@ -576,7 +576,14 @@ create table images (
url text not null,
thumbnail_url text not null,
tag_names text[] not null default '{}',
created_at timestamptz not null default now()
created_at timestamptz not null default now(),
full_avif_url text,
full_webp_url text,
full_jpg_url text,
full_jxl_url text,
thumb_avif_url text,
thumb_webp_url text,
thumb_jpg_url text
);
-- only for autocomplete text