export var slideTemplateBudgets = {
    SquareYellow: {
        template: "SquareYellow",
        description: "One image plus one short header.",
        fields: {
            header: { targetMin: 8, targetMax: 24, hardMax: 32 },
            imageAlt: { targetMin: 12, targetMax: 60, hardMax: 100 }
        }
    },
    SquareVideo: {
        template: "SquareVideo",
        description: "One video plus one short header.",
        fields: {
            header: { targetMin: 8, targetMax: 24, hardMax: 32 },
            videoSrc: {
                targetMin: 12,
                targetMax: 160,
                hardMax: 300,
                notes: "Prefer a stable hosted or CDN video URL."
            }
        }
    },
    FullscreenSplit: {
        template: "FullscreenSplit",
        description: "One image, one short text block.",
        fields: {
            eyebrow: { targetMin: 6, targetMax: 14, hardMax: 24 },
            title: { targetMin: 12, targetMax: 34, hardMax: 44 },
            body: { targetMin: 12, targetMax: 42, hardMax: 56 }
        }
    },
    FullscreenVideo: {
        template: "FullscreenVideo",
        description: "Full-bleed video with optional short overlay text.",
        fields: {
            header: { targetMin: 6, targetMax: 20, hardMax: 28 },
            videoSrc: {
                targetMin: 12,
                targetMax: 160,
                hardMax: 300,
                notes: "Prefer a stable hosted or CDN video URL."
            },
            caption: { targetMin: 12, targetMax: 42, hardMax: 56 }
        }
    },
    FullscreenVideoTitle: {
        template: "FullscreenVideoTitle",
        description: "Full-bleed video with one large overlaid title.",
        fields: {
            title: { targetMin: 12, targetMax: 26, hardMax: 36 },
            videoSrc: {
                targetMin: 12,
                targetMax: 160,
                hardMax: 300,
                notes: "Prefer a stable hosted or CDN video URL."
            }
        }
    },
    FullscreenVideoCenterCaption: {
        template: "FullscreenVideoCenterCaption",
        description: "Full-bleed video with one oversized centered caption.",
        fields: {
            caption: { targetMin: 12, targetMax: 30, hardMax: 42 },
            videoSrc: {
                targetMin: 12,
                targetMax: 160,
                hardMax: 300,
                notes: "Prefer a stable hosted or CDN video URL."
            }
        }
    },
    EquationFocus: {
        template: "EquationFocus",
        description: "One display equation plus one short annotation.",
        fields: {
            header: { targetMin: 6, targetMax: 20, hardMax: 28 },
            title: { targetMin: 12, targetMax: 32, hardMax: 48 },
            latexString: {
                targetMin: 8,
                targetMax: 60,
                hardMax: 120,
                notes: "One expression only."
            },
            annotation: { targetMin: 12, targetMax: 42, hardMax: 56 }
        }
    },
    QuoteImage: {
        template: "QuoteImage",
        description: "One quote plus one image.",
        fields: {
            quote: { targetMin: 18, targetMax: 50, hardMax: 72 },
            attribution: { targetMin: 4, targetMax: 18, hardMax: 24 }
        }
    },
    ChartSingle: {
        template: "ChartSingle",
        description: "One chart and one short framing line.",
        fields: {
            header: { targetMin: 6, targetMax: 20, hardMax: 28 },
            title: { targetMin: 12, targetMax: 30, hardMax: 40 },
            body: { targetMin: 12, targetMax: 36, hardMax: 48 },
            pointLabel: { targetMin: 4, targetMax: 10, hardMax: 14 }
        }
    },
    ProcessFlow: {
        template: "ProcessFlow",
        description: "Short pipeline with 3-5 steps.",
        fields: {
            title: { targetMin: 12, targetMax: 34, hardMax: 44 },
            step: { targetMin: 8, targetMax: 22, hardMax: 30 }
        }
    },
    DefinitionCard: {
        template: "DefinitionCard",
        description: "One term, one definition, one concrete example.",
        fields: {
            header: { targetMin: 6, targetMax: 20, hardMax: 28 },
            term: { targetMin: 6, targetMax: 22, hardMax: 28 },
            definition: { targetMin: 18, targetMax: 50, hardMax: 65 },
            example: { targetMin: 12, targetMax: 40, hardMax: 52 }
        }
    },
    GlitchComponentFrame: {
        template: "GlitchComponentFrame",
        description: "Interactive hosted component plus one short framing line.",
        fields: {
            header: { targetMin: 6, targetMax: 20, hardMax: 28 },
            componentId: { targetMin: 4, targetMax: 24, hardMax: 40 },
            componentUrl: {
                targetMin: 12,
                targetMax: 160,
                hardMax: 300,
                notes: "Prefer a stable hosted component URL."
            },
            caption: { targetMin: 12, targetMax: 42, hardMax: 56 }
        }
    }
};
