Add the Marble and Highlighter templates, completing the 13 reference templates

Marble uses a flat-to-gradient band in place of the marble photo and bundles Lustria (OFL).
Both logo slots are opt-in. Quirk 13 documents a fontkit glyph-cache issue that the
tests work around with warm-up renders; the engine fix follows separately.
This commit is contained in:
2026-10-04 12:47:05 +05:30
parent dd85c3b3c5
commit 76533ad2c7
30 changed files with 3190 additions and 27 deletions
+3 -3
View File
@@ -8,7 +8,7 @@ describe("template catalog", () => {
it("has one entry per registered template, in the registry's order, ids unique", () => {
expect(TEMPLATE_CATALOG.map((e) => e.id)).toEqual(Object.keys(TEMPLATES));
expect(new Set(TEMPLATE_CATALOG.map((e) => e.id)).size).toBe(TEMPLATE_CATALOG.length);
expect(TEMPLATE_CATALOG).toHaveLength(12);
expect(TEMPLATE_CATALOG).toHaveLength(14);
});
it("groups the C4 templates into the Ledger and Band families", () => {
@@ -20,8 +20,8 @@ describe("template catalog", () => {
expect(FAMILY_LABELS.band).toBe("Band");
});
it("lists the standalone templates, Monolith and Cobalt Stripe, last", () => {
expect(TEMPLATE_CATALOG.filter((e) => e.family === "standalone").map((e) => e.id)).toEqual(["monolith", "cobalt-stripe"]);
it("lists the standalone templates, Monolith, Cobalt Stripe, Marble and Highlighter, last", () => {
expect(TEMPLATE_CATALOG.filter((e) => e.family === "standalone").map((e) => e.id)).toEqual(["monolith", "cobalt-stripe", "marble", "highlighter"]);
expect(FAMILY_LABELS.standalone).toBe("Standalone");
});