Files
apparel-designer/templates/products/f530dc06-ef10-46b4-9903-3927f85bd9a7/product.json
khalid@traclabs.com aba2dbedfb v0.6: template-manager owns the product catalog
The host no longer carries a runtime product catalog. products.js
shrinks to a legacy single-product stub; the canonical catalog lives in
template-manager's productsStore, seeded ONCE on first boot from the
new seedProducts.js (after that the store under templates/ is
authoritative and the seed is ignored — intentional, so restarts never
rewrite an admin-managed catalog). phoneModels.js and
templateCategories.js are the supporting constant sets, and
docs/template-schema.md documents the v4 schema.

templates/ is the admin-managed store itself (_products_index.json +
products/<id>/product.json, JSON only) — committed so the configured
catalog (sizes, pricing, options built up in the admin UI) survives a
fresh checkout rather than regressing to the seed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 23:28:48 -05:00

82 lines
2.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"id": "f530dc06-ef10-46b4-9903-3927f85bd9a7",
"slug": "magnet",
"label": "Magnet",
"description": "Refrigerator-safe matte magnet, square or die-cut round.",
"category": "Home",
"options": [],
"sizes": [
{
"id": "6f88ed75-7ab5-49ae-8dc5-18568da63899",
"slug": "3x3-square",
"label": "3\" × 3\" Square",
"physical": {
"width": 3,
"height": 3,
"unit": "in"
},
"canvas": {
"width": 300,
"height": 300
},
"printZone": {
"x": 30,
"y": 30,
"width": 240,
"height": 240
},
"silhouettePath": "M12,0 L288,0 A12,12 0 0 1 300,12 L300,288 A12,12 0 0 1 288,300 L12,300 A12,12 0 0 1 0,288 L0,12 A12,12 0 0 1 12,0 Z",
"mockupFallbackColor": "#fef9c3",
"basePriceCents": 700
},
{
"id": "3a9d60f5-821c-4f3f-8d41-62cfeaba208a",
"slug": "4x4-square",
"label": "4\" × 4\" Square",
"physical": {
"width": 4,
"height": 4,
"unit": "in"
},
"canvas": {
"width": 400,
"height": 400
},
"printZone": {
"x": 40,
"y": 40,
"width": 320,
"height": 320
},
"silhouettePath": "M16,0 L384,0 A16,16 0 0 1 400,16 L400,384 A16,16 0 0 1 384,400 L16,400 A16,16 0 0 1 0,384 L0,16 A16,16 0 0 1 16,0 Z",
"mockupFallbackColor": "#fef9c3",
"basePriceCents": 900
},
{
"id": "17e3cc66-f897-4717-8b08-c5b0308668df",
"slug": "3in-round",
"label": "3\" Round",
"physical": {
"width": 3,
"height": 3,
"unit": "in"
},
"canvas": {
"width": 300,
"height": 300
},
"printZone": {
"x": 30,
"y": 30,
"width": 240,
"height": 240
},
"silhouettePath": "M150,0 A150,150 0 1 0 150,300 A150,150 0 1 0 150,0 Z",
"mockupFallbackColor": "#fde68a",
"basePriceCents": 700
}
],
"createdAt": "2026-05-25T12:31:21.554Z",
"updatedAt": "2026-05-25T12:31:21.554Z"
}