Align preview typography with FFmpeg output, add video/song title split, and ship OSS updates.

Separate YouTube video titles from on-video song/artist fields with Pro gating, serve curated fonts and watermark assets for 1:1 preview parity, and include billing/API/docs/deploy stack for self-hosted release.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Atakan Doğan Özban
2026-07-27 16:26:19 +02:00
co-authored by Cursor
parent 682020ff5a
commit c8015937f9
206 changed files with 37078 additions and 638 deletions
+25
View File
@@ -0,0 +1,25 @@
import assert from "node:assert/strict";
import {
artistFontSizeForWidth,
scaleFontToPreview,
titleFontSizeForWidth,
watermarkFontSizeForWidth,
} from "../lib/preview-typography";
function testFontSizesMatchLayout() {
const width = 1280;
assert.equal(titleFontSizeForWidth(width), Math.max(22, Math.round(width * 0.032)));
assert.equal(artistFontSizeForWidth(width), Math.max(16, Math.round(width * 0.02)));
assert.equal(watermarkFontSizeForWidth(width), Math.max(16, Math.round(width * 0.018)));
}
function testPreviewScaling() {
const encodeWidth = 1920;
const titlePx = titleFontSizeForWidth(encodeWidth);
const previewPx = scaleFontToPreview(titlePx, encodeWidth);
assert.ok(previewPx > 0 && previewPx < titlePx);
}
testFontSizesMatchLayout();
testPreviewScaling();
console.log("preview-typography.test.ts: ok");