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:
co-authored by
Cursor
parent
682020ff5a
commit
c8015937f9
@@ -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");
|
||||
Reference in New Issue
Block a user