//! Auto-generated by `eulumdat-templates build` -- DO NOT EDIT
//! Built-in templates for photometric files
//! Template content is lazily loaded from a separate WASM module (eulumdat-wasm-templates).

/// Template format
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum TemplateFormat {
    Ldt,
    IesLm63,
    AtlaXml,
    AtlaJson,
}

/// Template definition with name, format, and lazy-loaded content ID
pub struct Template {
    pub name: &'static str,
    pub description: &'static str,
    pub format: TemplateFormat,
    pub id: &'static str,
}

pub const AEC_MAXWELL_8_T4_LUXEON_5050_SQUARE_WITH_GLASS_MEASURED_CIE: Template = Template {
    name: "AEC_MAXWELL-8-T4 LUXEON 5050 Square with glass-MEASURED_CIE.IES",
    description: "Well suited for compare",
    format: TemplateFormat::IesLm63,
    id: "aec-maxwell-8-t4-luxeon-5050-square-with-glass-measured-cie",
};

pub const AEC_MAXWELL_8_T4_LUXEON_5050_SQUARE_WITH_GLASS_MEASURED_IESNA: Template = Template {
    name: "AEC_MAXWELL-8-T4 LUXEON 5050 Square with glass-MEASURED_IESNA.ies",
    description: "Well suited for compare",
    format: TemplateFormat::IesLm63,
    id: "aec-maxwell-8-t4-luxeon-5050-square-with-glass-measured-iesna",
};

pub const ATLA_GROW_LIGHT_RB: Template = Template {
    name: "_atla_grow_light_rb.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "atla-grow-light-rb",
};

pub const ATLA_GROW_LIGHT: Template = Template {
    name: "_atla_grow_light.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "atla-grow-light",
};

pub const ATLA_HALOGEN_LAMP: Template = Template {
    name: "_atla_halogen_lamp.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "atla-halogen-lamp",
};

pub const ATLA_HEAT_LAMP: Template = Template {
    name: "_atla_heat_lamp.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "atla-heat-lamp",
};

pub const ATLA_INCANDESCENT: Template = Template {
    name: "_atla_incandescent.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "atla-incandescent",
};

pub const ATLA_UV_BLACKLIGHT: Template = Template {
    name: "_atla_uv_blacklight.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "atla-uv-blacklight",
};

pub const ITALO_1_5P5_S05_3_140_3M: Template = Template {
    name: "ITALO 1 5P5 S05 3.140-3M.IES",
    description: "",
    format: TemplateFormat::IesLm63,
    id: "italo-1-5p5-s05-3-140-3m",
};

pub const WIKI_BATWING: Template = Template {
    name: "wiki-batwing.ldt",
    description: "The Example from the WIKI to illustrate the point...",
    format: TemplateFormat::Ldt,
    id: "wiki-batwing",
};

pub const WIKI_SPOTLIGHT: Template = Template {
    name: "wiki-spotlight.ldt",
    description: "The Example from the WIKI to illustrate the point...",
    format: TemplateFormat::Ldt,
    id: "wiki-spotlight",
};

pub const WIKI_FLOOD: Template = Template {
    name: "wiki-flood.ldt",
    description: "The Example from the WIKI to illustrate the point...",
    format: TemplateFormat::Ldt,
    id: "wiki-flood",
};

pub const ROAD_LUMINAIRE: Template = Template {
    name: "road_luminaire.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "road-luminaire",
};

pub const PROJECTOR: Template = Template {
    name: "projector.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "projector",
};

pub const FLOOR_UPLIGHT: Template = Template {
    name: "floor_uplight.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "floor-uplight",
};

pub const FLUORESCENT_LUMINAIRE: Template = Template {
    name: "fluorescent_luminaire.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "fluorescent-luminaire",
};

pub const DEMO_TWO_LAMP_SETS: Template = Template {
    name: "demo_two_lamp_sets.ldt",
    description: "Two lamp sets (LED110 + LED120)",
    format: TemplateFormat::Ldt,
    id: "demo-two-lamp-sets",
};

pub const TM_32_24_ROAD_LUMINAIRE_BIM: Template = Template {
    name: "tm-32-24_road_luminaire_bim.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-32-24-road-luminaire-bim",
};

pub const ATLA_FLUORESCENT_JSON: Template = Template {
    name: "_atla_fluorescent.json",
    description: "",
    format: TemplateFormat::AtlaJson,
    id: "atla-fluorescent-json",
};

pub const ATLA_FLUORESCENT_XML: Template = Template {
    name: "_atla_fluorescent.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "atla-fluorescent-xml",
};

pub const TM_32_24_OFFICE_DOWNLIGHT_BIM: Template = Template {
    name: "tm-32-24_office_downlight_bim.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-32-24-office-downlight-bim",
};

pub const TM_33_23_FAR_RED_SUPPLEMENTAL: Template = Template {
    name: "tm-33-23_far_red_supplemental.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-33-23-far-red-supplemental",
};

pub const TM_33_23_HORTICULTURAL_LED: Template = Template {
    name: "tm-33-23_horticultural_led.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-33-23-horticultural-led",
};

pub const TM_33_23_MINIMAL: Template = Template {
    name: "tm-33-23_minimal.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-33-23-minimal",
};

pub const TM_33_23_SEEDLING_PROPAGATION: Template = Template {
    name: "tm-33-23_seedling_propagation.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-33-23-seedling-propagation",
};

pub const TM_33_23_UV_SUPPLEMENTAL: Template = Template {
    name: "tm-33-23_uv_supplemental.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-33-23-uv-supplemental",
};

pub const TM_33_23_WITH_CUSTOM_DATA: Template = Template {
    name: "tm-33-23_with_custom_data.xml",
    description: "",
    format: TemplateFormat::AtlaXml,
    id: "tm-33-23-with-custom-data",
};

pub const LEDVANCE_FL_MAX_LUM_1200W_757_ASYM_50X110WAL: Template = Template {
    name: "4058075580695_FL_MAX_LUM_1200W_757_ASYM_50X110WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-1200w-757-asym-50x110wal",
};

pub const LEDVANCE_FL_MAX_LUM_600W_757_SYM_60_WAL: Template = Template {
    name: "4058075580602_FL_MAX_LUM_600W_757_SYM_60_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-600w-757-sym-60-wal",
};

pub const LEDVANCE_FL_MAX_LUM_900W_757_SYM_30_WAL: Template = Template {
    name: "4058075580633_FL_MAX_LUM_900W_757_SYM_30_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-900w-757-sym-30-wal",
};

pub const LEDVANCEFL_MAX_LUM_900W_757_SYM_60_WAL: Template = Template {
    name: "4058075580640_FL_MAX_LUM_900W_757_SYM_60_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvancefl-max-lum-900w-757-sym-60-wal",
};

pub const LEDVANCE_FL_MAX_LUM_900W_757_ASYM_50X110_WAL: Template = Template {
    name: "4058075580657_FL_MAX_LUM_900W_757_ASYM_50X110_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-900w-757-asym-50x110-wal",
};

pub const LEDVANCE_FL_MAX_LUM_1200W_757_SYM_10_WAL: Template = Template {
    name: "4058075580664_FL_MAX_LUM_1200W_757_SYM_10_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-1200w-757-sym-10-wal",
};

pub const LEDVANCE_FL_MAX_LUM_1200W_757_SYM_30_WAL: Template = Template {
    name: "4058075580671_FL_MAX_LUM_1200W_757_SYM_30_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-1200w-757-sym-30-wal",
};

pub const LEDVANCE_FL_MAX_LUM_1200W_757_SYM_60_WAL: Template = Template {
    name: "4058075580688_FL_MAX_LUM_1200W_757_SYM_60_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-1200w-757-sym-60-wal",
};

pub const LEDVANCE_FL_MAX_LUM_600W_757_SYM_30_WAL: Template = Template {
    name: "4058075580596_FL_MAX_LUM_600W_757_SYM_30_WAL.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "Ledvance-fl-max-lum-600w-757-sym-30-wal",
};

pub const T_0_0_0: Template = Template {
    name: "0-0-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-0-0",
};

pub const T_0_0_1: Template = Template {
    name: "0-0-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-0-1",
};

pub const T_0_0_2: Template = Template {
    name: "0-0-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-0-2",
};

pub const T_0_1_0: Template = Template {
    name: "0-1-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-1-0",
};

pub const T_0_1_1: Template = Template {
    name: "0-1-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-1-1",
};

pub const T_0_1_2: Template = Template {
    name: "0-1-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-1-2",
};

pub const T_0_2_0: Template = Template {
    name: "0-2-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-2-0",
};

pub const T_0_2_1: Template = Template {
    name: "0-2-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-2-1",
};

pub const T_0_2_2: Template = Template {
    name: "0-2-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-2-2",
};

pub const T_0_3_0: Template = Template {
    name: "0-3-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-3-0",
};

pub const T_0_3_1: Template = Template {
    name: "0-3-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-3-1",
};

pub const T_0_3_2: Template = Template {
    name: "0-3-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-3-2",
};

pub const T_0_4_0: Template = Template {
    name: "0-4-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-4-0",
};

pub const T_0_4_1: Template = Template {
    name: "0-4-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-4-1",
};

pub const T_0_4_2: Template = Template {
    name: "0-4-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "0-4-2",
};

pub const T_1_0_0: Template = Template {
    name: "1-0-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-0-0",
};

pub const T_1_0_1: Template = Template {
    name: "1-0-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-0-1",
};

pub const T_1_0_2: Template = Template {
    name: "1-0-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-0-2",
};

pub const T_1_1_0: Template = Template {
    name: "1-1-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-1-0",
};

pub const T_1_1_1: Template = Template {
    name: "1-1-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-1-1",
};

pub const T_1_1_2: Template = Template {
    name: "1-1-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-1-2",
};

pub const T_1_2_0: Template = Template {
    name: "1-2-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-2-0",
};

pub const T_1_2_1: Template = Template {
    name: "1-2-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-2-1",
};

pub const T_1_2_2: Template = Template {
    name: "1-2-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-2-2",
};

pub const T_1_3_0: Template = Template {
    name: "1-3-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-3-0",
};

pub const T_1_3_1: Template = Template {
    name: "1-3-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-3-1",
};

pub const T_1_3_2: Template = Template {
    name: "1-3-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-3-2",
};

pub const T_1_4_0: Template = Template {
    name: "1-4-0.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-4-0",
};

pub const T_1_4_1: Template = Template {
    name: "1-4-1.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-4-1",
};

pub const T_1_4_2: Template = Template {
    name: "1-4-2.ldt",
    description: "",
    format: TemplateFormat::Ldt,
    id: "1-4-2",
};

/// All available templates
pub const ALL_TEMPLATES: &[&Template] = &[
    &AEC_MAXWELL_8_T4_LUXEON_5050_SQUARE_WITH_GLASS_MEASURED_CIE,
    &AEC_MAXWELL_8_T4_LUXEON_5050_SQUARE_WITH_GLASS_MEASURED_IESNA,
    &ATLA_GROW_LIGHT_RB,
    &ATLA_GROW_LIGHT,
    &ATLA_HALOGEN_LAMP,
    &ATLA_HEAT_LAMP,
    &ATLA_INCANDESCENT,
    &ATLA_UV_BLACKLIGHT,
    &ITALO_1_5P5_S05_3_140_3M,
    &WIKI_BATWING,
    &WIKI_SPOTLIGHT,
    &WIKI_FLOOD,
    &ROAD_LUMINAIRE,
    &PROJECTOR,
    &FLOOR_UPLIGHT,
    &FLUORESCENT_LUMINAIRE,
    &DEMO_TWO_LAMP_SETS,
    &TM_32_24_ROAD_LUMINAIRE_BIM,
    &ATLA_FLUORESCENT_JSON,
    &ATLA_FLUORESCENT_XML,
    &TM_32_24_OFFICE_DOWNLIGHT_BIM,
    &TM_33_23_FAR_RED_SUPPLEMENTAL,
    &TM_33_23_HORTICULTURAL_LED,
    &TM_33_23_MINIMAL,
    &TM_33_23_SEEDLING_PROPAGATION,
    &TM_33_23_UV_SUPPLEMENTAL,
    &TM_33_23_WITH_CUSTOM_DATA,
    &LEDVANCE_FL_MAX_LUM_1200W_757_ASYM_50X110WAL,
    &LEDVANCE_FL_MAX_LUM_600W_757_SYM_60_WAL,
    &LEDVANCE_FL_MAX_LUM_900W_757_SYM_30_WAL,
    &LEDVANCEFL_MAX_LUM_900W_757_SYM_60_WAL,
    &LEDVANCE_FL_MAX_LUM_900W_757_ASYM_50X110_WAL,
    &LEDVANCE_FL_MAX_LUM_1200W_757_SYM_10_WAL,
    &LEDVANCE_FL_MAX_LUM_1200W_757_SYM_30_WAL,
    &LEDVANCE_FL_MAX_LUM_1200W_757_SYM_60_WAL,
    &LEDVANCE_FL_MAX_LUM_600W_757_SYM_30_WAL,
    &T_0_0_0,
    &T_0_0_1,
    &T_0_0_2,
    &T_0_1_0,
    &T_0_1_1,
    &T_0_1_2,
    &T_0_2_0,
    &T_0_2_1,
    &T_0_2_2,
    &T_0_3_0,
    &T_0_3_1,
    &T_0_3_2,
    &T_0_4_0,
    &T_0_4_1,
    &T_0_4_2,
    &T_1_0_0,
    &T_1_0_1,
    &T_1_0_2,
    &T_1_1_0,
    &T_1_1_1,
    &T_1_1_2,
    &T_1_2_0,
    &T_1_2_1,
    &T_1_2_2,
    &T_1_3_0,
    &T_1_3_1,
    &T_1_3_2,
    &T_1_4_0,
    &T_1_4_1,
    &T_1_4_2,
];
