-- Web-playback transcoding cache (H.264 MP4) with TTL enforced in application layer. -- Run against the main punimtag database (same DB as photos table). ALTER TABLE photos ADD COLUMN IF NOT EXISTS web_playable_path TEXT; ALTER TABLE photos ADD COLUMN IF NOT EXISTS web_transcode_status TEXT NOT NULL DEFAULT 'none'; ALTER TABLE photos ADD COLUMN IF NOT EXISTS web_transcode_error TEXT; ALTER TABLE photos ADD COLUMN IF NOT EXISTS web_transcode_job_id TEXT; COMMENT ON COLUMN photos.web_playable_path IS 'Path to browser-safe MP4 or original path if already H.264/AAC-safe'; COMMENT ON COLUMN photos.web_transcode_status IS 'none|queued|running|ready|failed';