#pragma once

#include "Game/T6/T6.h"
#include "Techset/CommonTechnique.h"
#include "Techset/CommonTechset.h"

namespace T6
{
    static inline const char* techniqueTypeNames[]{
        "depth prepass",
        "build shadowmap depth",
        "unlit",
        "emissive",
        "lit",
        "lit sun",
        "lit sun shadow",
        "lit spot",
        "lit spot shadow",
        "lit spot square",
        "lit spot square shadow",
        "lit spot round",
        "lit spot round shadow",
        "lit omni",
        "lit omni shadow",
        "lit dlight glight",
        "lit sun dlight glight",
        "lit sun shadow dlight glight",
        "lit spot dlight glight",
        "lit spot shadow dlight glight",
        "lit spot square dlight glight",
        "lit spot square shadow dlight glight",
        "lit spot round dlight glight",
        "lit spot round shadow dlight glight",
        "lit omni dlight glight",
        "lit omni shadow dlight glight",
        "light spot",
        "light omni",
        "fakelight normal",
        "fakelight view",
        "sunlight preview",
        "case texture",
        "solid wireframe",
        "shaded wireframe",
        "debug bumpmap",
        "debug performance",
    };
    static_assert(std::extent_v<decltype(techniqueTypeNames)> == TECHNIQUE_COUNT);
    static inline techset::CommonTechniqueTypeNames commonTechniqueTypeNames(techniqueTypeNames, std::extent_v<decltype(techniqueTypeNames)>);

    static inline techset::CommonStreamRoutingSourceInfo streamRoutingSources[]{
        {
         .name = "position",
         .abbreviation = "p",
         .optional = false,
         },
        {
         .name = "color",
         .abbreviation = "c",
         .optional = false,
         },
        {
         .name = "texcoord[0]",
         .abbreviation = "t0",
         .optional = false,
         },
        {
         .name = "normal",
         .abbreviation = "n",
         .optional = false,
         },
        {
         .name = "tangent",
         .abbreviation = "t",
         .optional = false,
         },
        {
         .name = "texcoord[1]",
         .abbreviation = "t1",
         .optional = false,
         },
        {
         .name = "texcoord[2]",
         .abbreviation = "t2",
         .optional = true,
         },
        {
         .name = "texcoord[3]",
         .abbreviation = "t3",
         .optional = true,
         },
        {
         .name = "normalTransform[0]",
         .abbreviation = "n0",
         .optional = true,
         },
        {
         .name = "normalTransform[1]",
         .abbreviation = "n1",
         .optional = true,
         },
        {
         .name = "blendWeight",
         .abbreviation = "b",
         .optional = true,
         },
    };
    static_assert(std::extent_v<decltype(streamRoutingSources)> == STREAM_SRC_COUNT);

    static inline techset::CommonStreamRoutingDestinationInfo streamRoutingDestinations[]{
        {
         .name = "position",
         .abbreviation = "p",
         },
        {
         .name = "normal",
         .abbreviation = "n",
         },
        {
         .name = "color[0]",
         .abbreviation = "c0",
         },
        {
         .name = "color[1]",
         .abbreviation = "c1",
         },
        {
         .name = "depth",
         .abbreviation = "d",
         },
        {
         .name = "texcoord[0]",
         .abbreviation = "t0",
         },
        {
         .name = "texcoord[1]",
         .abbreviation = "t1",
         },
        {
         .name = "texcoord[2]",
         .abbreviation = "t2",
         },
        {
         .name = "texcoord[3]",
         .abbreviation = "t3",
         },
        {
         .name = "texcoord[4]",
         .abbreviation = "t4",
         },
        {
         .name = "texcoord[5]",
         .abbreviation = "t5",
         },
        {
         .name = "texcoord[6]",
         .abbreviation = "t6",
         },
        {
         .name = "texcoord[7]",
         .abbreviation = "t7",
         },
        {
         .name = "texcoord[8]",
         .abbreviation = "t8",
         },
        {
         .name = "texcoord[9]",
         .abbreviation = "t9",
         },
        {
         .name = "texcoord[10]",
         .abbreviation = "t10",
         },
        {
         .name = "texcoord[11]",
         .abbreviation = "t11",
         },
        {
         .name = "texcoord[12]",
         .abbreviation = "t12",
         },
        {
         .name = "texcoord[13]",
         .abbreviation = "t13",
         },
        {
         .name = "blendWeight",
         .abbreviation = "b",
         },
    };
    static_assert(std::extent_v<decltype(streamRoutingDestinations)> == STREAM_DST_COUNT);

    static inline techset::CommonStreamRoutingInfos commonRoutingInfos(streamRoutingSources,
                                                                       std::extent_v<decltype(streamRoutingSources)>,
                                                                       streamRoutingDestinations,
                                                                       std::extent_v<decltype(streamRoutingDestinations)>);

    static inline techset::CommonCodeConstSourceInfo commonCodeConstSources[]{
        {
         .value = CONST_SRC_CODE_LIGHT_POSITION,
         .accessor = "lightPosition",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_DIFFUSE,
         .accessor = "lightDiffuse",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOTDIR,
         .accessor = "lightSpotDir",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOTFACTORS,
         .accessor = "lightSpotFactors",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .techFlags = MTL_TECHFLAG_USES_LIGHT_SPOT_FACTORS,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_ATTENUATION,
         .accessor = "lightAttenuation",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_FALLOFF_A,
         .accessor = "lightFallOffA",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_FALLOFF_B,
         .accessor = "lightFallOffB",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX0,
         .accessor = "lightSpotMatrix0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX1,
         .accessor = "lightSpotMatrix1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX2,
         .accessor = "lightSpotMatrix2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX3,
         .accessor = "lightSpotMatrix3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOT_AABB,
         .accessor = "lightSpotAABB",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_CONE_CONTROL1,
         .accessor = "lightConeControl1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_CONE_CONTROL2,
         .accessor = "lightConeControl2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_SPOT_COOKIE_SLIDE_CONTROL,
         .accessor = "lightSpotCookieSlideControl",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_SHADOW_PARMS,
         .accessor = "shadowParms",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_SHADOWMAP_POLYGON_OFFSET,
         .accessor = "shadowmapPolygonOffset",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_RENDER_TARGET_SIZE,
         .accessor = "renderTargetSize",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_UPSCALED_TARGET_SIZE,
         .accessor = "upscaledTargetSize",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DOF_EQUATION_VIEWMODEL_AND_FAR_BLUR,
         .accessor = "dofEquationViewModelAndFarBlur",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DOF_EQUATION_SCENE,
         .accessor = "dofEquationScene",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DOF_LERP_SCALE,
         .accessor = "dofLerpScale",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DOF_LERP_BIAS,
         .accessor = "dofLerpBias",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DOF_ROW_DELTA,
         .accessor = "dofRowDelta",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_PARTICLE_CLOUD_COLOR,
         .accessor = "particleCloudColor",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GAMETIME,
         .accessor = "gameTime",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_FILTER_TAP_0,
         .accessor = "filterTap",
         .arrayCount = 8,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_MATRIX_R,
         .accessor = "colorMatrixR",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_MATRIX_G,
         .accessor = "colorMatrixG",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_MATRIX_B,
         .accessor = "colorMatrixB",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_SHADOWMAP_SWITCH_PARTITION,
         .accessor = "shadowmapSwitchPartition",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_SUNSHADOWMAP_PIXEL_SIZE,
         .accessor = "sunShadowmapPixelSize",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_SHADOWMAP_SCALE,
         .accessor = "shadowmapScale",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_ZNEAR,
         .accessor = "zNear",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SUN_POSITION,
         .accessor = "sunPosition",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SUN_DIFFUSE,
         .accessor = "sunDiffuse",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_LIGHTING_LOOKUP_SCALE,
         .accessor = "lightingLookupScale",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_BUMPMAP,
         .accessor = "debugBumpmap",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_PERFORMANCE,
         .accessor = "debugPerformance",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_MATERIAL_COLOR,
         .accessor = "materialColor",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_FOG,
         .accessor = "fogConsts",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_FOG2,
         .accessor = "fogConsts2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_FOG_COLOR,
         .accessor = "fogColor",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SUN_FOG,
         .accessor = "sunFog",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SUN_FOG_DIR,
         .accessor = "sunFogDir",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SUN_FOG_COLOR,
         .accessor = "sunFogColor",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLOW_SETUP,
         .accessor = "glowSetup",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GLOW_APPLY,
         .accessor = "glowApply",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_BIAS,
         .accessor = "colorBias",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_TINT_BASE,
         .accessor = "colorTintBase",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_TINT_DELTA,
         .accessor = "colorTintDelta",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_OUTDOOR_FEATHER_PARMS,
         .accessor = "outdoorFeatherParms",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SKY_TRANSITION,
         .accessor = "skyTransition",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SPOT_SHADOWMAP_PIXEL_ADJUST,
         .accessor = "spotShadowmapPixelAdjust",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SPOT_SHADOWMAP_PIXEL_ADJUST,
         .accessor = "dlightSpotShadowmapPixelAdjust",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CLIP_SPACE_LOOKUP_SCALE,
         .accessor = "clipSpaceLookupScale",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = CONST_SRC_CODE_CLIP_SPACE_LOOKUP_OFFSET,
         .accessor = "clipSpaceLookupOffset",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = CONST_SRC_CODE_PARTICLE_CLOUD_MATRIX,
         .accessor = "particleCloudMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = CONST_SRC_CODE_PARTICLE_CLOUD_VEL_WORLD,
         .accessor = "particleCloudVelWorld",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .techFlags = TECHNIQUE_FLAG_100,
         },
        {
         .value = CONST_SRC_CODE_DEPTH_FROM_CLIP,
         .accessor = "depthFromClip",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = CONST_SRC_CODE_CODE_MESH_ARG_0,
         .accessor = "codeMeshArg",
         .arrayCount = 2,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = CONST_SRC_CODE_GRID_LIGHTING_COORDS_AND_VIS,
         .accessor = "gridLightingCoordsAndVis",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         },
        {
         .value = CONST_SRC_CODE_GRID_LIGHTING_SH_0,
         .accessor = "gridLightingSH0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         },
        {
         .value = CONST_SRC_CODE_GRID_LIGHTING_SH_1,
         .accessor = "gridLightingSH1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         },
        {
         .value = CONST_SRC_CODE_GRID_LIGHTING_SH_2,
         .accessor = "gridLightingSH2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         },
        {
         .value = CONST_SRC_CODE_REFLECTION_LIGHTING_SH_0,
         .accessor = "reflectionLightingSH0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_REFLECTION_LIGHTING_SH_1,
         .accessor = "reflectionLightingSH1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_REFLECTION_LIGHTING_SH_2,
         .accessor = "reflectionLightingSH2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_WIND_DIRECTION,
         .accessor = "windDirection",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_MOTIONBLUR_DIRECTION_AND_MAGNITUDE,
         .accessor = "motionblurDirectionAndMagnitude",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COMPOSITE_FX_DISTORTION,
         .accessor = "flameDistortion",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GLOW_BLOOM_SCALE,
         .accessor = "bloomScale",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COMPOSITE_FX_OVERLAY_TEXCOORD,
         .accessor = "overlayTexCoord",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_BIAS1,
         .accessor = "colorBias1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_TINT_BASE1,
         .accessor = "colorTintBase1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_COLOR_TINT_DELTA1,
         .accessor = "colorTintDelta1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_FADE_EFFECT,
         .accessor = "fadeEffect",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_VIEWPORT_DIMENSIONS,
         .accessor = "viewportDimensions",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_FRAMEBUFFER_READ,
         .accessor = "framebufferRead",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_RESIZE_PARAMS1,
         .accessor = "resizeParams1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_RESIZE_PARAMS2,
         .accessor = "resizeParams2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_RESIZE_PARAMS3,
         .accessor = "resizeParams3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_VARIANT_WIND_SPRING_0,
         .accessor = "variantWindSpring",
         .arrayCount = 16,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_CHARACTER_CHARRED_AMOUNT,
         .accessor = "_characterCharredAmount",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL0,
         .accessor = "postFxControl0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL1,
         .accessor = "postFxControl1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL2,
         .accessor = "postFxControl2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL3,
         .accessor = "postFxControl3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL4,
         .accessor = "postFxControl4",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL5,
         .accessor = "postFxControl5",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL6,
         .accessor = "postFxControl6",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL7,
         .accessor = "postFxControl7",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL8,
         .accessor = "postFxControl8",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROL9,
         .accessor = "postFxControl9",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROLA,
         .accessor = "postFxControlA",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROLB,
         .accessor = "postFxControlB",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROLC,
         .accessor = "postFxControlC",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROLD,
         .accessor = "postFxControlD",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROLE,
         .accessor = "postFxControlE",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_POSTFX_CONTROLF,
         .accessor = "postFxControlF",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_HDRCONTROL_0,
         .accessor = "hdrControl0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_HDRCONTROL_1,
         .accessor = "hdrControl1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLIGHT_POSXS,
         .accessor = "glightPosXs",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLIGHT_POSYS,
         .accessor = "glightPosYs",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLIGHT_POSZS,
         .accessor = "glightPosZs",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLIGHT_FALLOFFS,
         .accessor = "glightFallOffs",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLIGHT_REDS,
         .accessor = "glightReds",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLIGHT_GREENS,
         .accessor = "glightGreens",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GLIGHT_BLUES,
         .accessor = "glightBlues",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_POSITION,
         .accessor = "dlightPosition",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_DIFFUSE,
         .accessor = "dlightDiffuse",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_ATTENUATION,
         .accessor = "dlightAttenuation",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_FALLOFF,
         .accessor = "dlightFallOff",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_0,
         .accessor = "dlightSpotMatrix0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_1,
         .accessor = "dlightSpotMatrix1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_2,
         .accessor = "dlightSpotMatrix2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_3,
         .accessor = "dlightSpotMatrix3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SPOT_DIR,
         .accessor = "dlightSpotDir",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SPOT_FACTORS,
         .accessor = "dlightSpotFactors",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_0,
         .accessor = "dlightShadowLookupMatrix0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_1,
         .accessor = "dlightShadowLookupMatrix1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_2,
         .accessor = "dlightShadowLookupMatrix2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_3,
         .accessor = "dlightShadowLookupMatrix3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL0,
         .accessor = "cloudLayerControl0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL1,
         .accessor = "cloudLayerControl1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL2,
         .accessor = "cloudLayerControl2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL3,
         .accessor = "cloudLayerControl3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL4,
         .accessor = "cloudLayerControl4",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_HERO_LIGHTING_R,
         .accessor = "heroLightingR",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_HERO_LIGHTING_G,
         .accessor = "heroLightingG",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_HERO_LIGHTING_B,
         .accessor = "heroLightingB",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_LIGHT_HERO_SCALE,
         .accessor = "lightHeroScale",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_CINEMATIC_BLUR_BOX,
         .accessor = "cinematicBlurBox",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CINEMATIC_BLUR_BOX2,
         .accessor = "cinematicBlurBox2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_ADSZSCALE,
         .accessor = "adsZScale",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_UI3D_UV_SETUP_0,
         .accessor = "ui3dUVSetup0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_UI3D_UV_SETUP_1,
         .accessor = "ui3dUVSetup1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_UI3D_UV_SETUP_2,
         .accessor = "ui3dUVSetup2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_UI3D_UV_SETUP_3,
         .accessor = "ui3dUVSetup3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_UI3D_UV_SETUP_4,
         .accessor = "ui3dUVSetup4",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_UI3D_UV_SETUP_5,
         .accessor = "ui3dUVSetup5",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CHARACTER_DISSOLVE_COLOR,
         .accessor = "_characterDissolveColor",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CAMERA_LOOK,
         .accessor = "cameraLook",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CAMERA_UP,
         .accessor = "cameraUp",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_CAMERA_SIDE,
         .accessor = "cameraSide",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_RIMINTENSITY,
         .accessor = "rimIntensity",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM0,
         .accessor = "scriptVector0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM1,
         .accessor = "scriptVector1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM2,
         .accessor = "scriptVector2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM3,
         .accessor = "scriptVector3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM4,
         .accessor = "scriptVector4",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM5,
         .accessor = "scriptVector5",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM6,
         .accessor = "scriptVector6",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_PARAM7,
         .accessor = "scriptVector7",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_EYEOFFSET,
         .accessor = "genericEyeOffset",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_GENERIC_QUADINTENSITY,
         .accessor = "genericQuadIntensity",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM0,
         .accessor = "weaponParam0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM1,
         .accessor = "weaponParam1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM2,
         .accessor = "weaponParam2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM3,
         .accessor = "weaponParam3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM4,
         .accessor = "weaponParam4",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM5,
         .accessor = "weaponParam5",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM6,
         .accessor = "weaponParam6",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM7,
         .accessor = "weaponParam7",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM8,
         .accessor = "weaponParam8",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WEAPON_PARAM9,
         .accessor = "weaponParam9",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_0,
         .accessor = "qrcode0",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_1,
         .accessor = "qrcode1",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_2,
         .accessor = "qrcode2",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_3,
         .accessor = "qrcode3",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_4,
         .accessor = "qrcode4",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_5,
         .accessor = "qrcode5",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_6,
         .accessor = "qrcode6",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_7,
         .accessor = "qrcode7",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_8,
         .accessor = "qrcode8",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_9,
         .accessor = "qrcode9",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_10,
         .accessor = "qrcode10",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_QRCODE_11,
         .accessor = "qrcode11",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_EYEOFFSET,
         .accessor = "eyeOffset",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = CONST_SRC_CODE_SKY_COLOR_MULTIPLIER,
         .accessor = "skyColorMultiplier",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_EXTRA_CAM_PARAM,
         .accessor = "extraCamParam",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_EMBLEM_LUT_SELECTOR,
         .accessor = "emblemLUTSelector",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_COLOR_OVERRIDE,
         .accessor = "debugColorOverride",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_ALPHA_OVERRIDE,
         .accessor = "debugAlphaOverride",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_NORMAL_OVERRIDE,
         .accessor = "debugNormalOverride",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_SPECULAR_OVERRIDE,
         .accessor = "debugSpecularOverride",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_GLOSS_OVERRIDE,
         .accessor = "debugGlossOverride",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_DEBUG_OCCLUSION_OVERRIDE,
         .accessor = "debugOcclusionOverride",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = CONST_SRC_CODE_WORLD_MATRIX,
         .accessor = "worldMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_WORLD_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_WORLD_MATRIX,
         .accessor = "inverseWorldMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_WORLD_MATRIX,
         .accessor = "transposeWorldMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_WORLD_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_MATRIX,
         .accessor = "inverseTransposeWorldMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_WORLD_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_VIEW_MATRIX,
         .accessor = "viewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_VIEW_MATRIX,
         .accessor = "inverseViewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_VIEW_MATRIX,
         .accessor = "transposeViewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_MATRIX,
         .accessor = "inverseTransposeViewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_PROJECTION_MATRIX,
         .accessor = "projectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_PROJECTION_MATRIX,
         .accessor = "inverseProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_PROJECTION_MATRIX,
         .accessor = "transposeProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_PROJECTION_MATRIX,
         .accessor = "inverseTransposeProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_WORLD_VIEW_MATRIX,
         .accessor = "worldViewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_WORLD_VIEW_MATRIX,
         .accessor = "inverseWorldViewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_MATRIX,
         .accessor = "transposeWorldViewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_WORLD_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX,
         .accessor = "inverseTransposeWorldViewMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_WORLD_VIEW_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_VIEW_PROJECTION_MATRIX,
         .accessor = "viewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_VIEW_PROJECTION_MATRIX,
         .accessor = "inverseViewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_VIEW_PROJECTION_MATRIX,
         .accessor = "transposeViewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_PROJECTION_MATRIX,
         .accessor = "inverseTransposeViewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_WORLD_VIEW_PROJECTION_MATRIX,
         .accessor = "worldViewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX,
         .accessor = "inverseWorldViewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX,
         .accessor = "transposeWorldViewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_WORLD_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX,
         .accessor = "inverseTransposeWorldViewProjectionMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_SHADOW_LOOKUP_MATRIX,
         .accessor = "shadowLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_SHADOW_LOOKUP_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_SHADOW_LOOKUP_MATRIX,
         .accessor = "inverseShadowLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_SHADOW_LOOKUP_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_SHADOW_LOOKUP_MATRIX,
         .accessor = "transposeShadowLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_SHADOW_LOOKUP_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_SHADOW_LOOKUP_MATRIX,
         .accessor = "inverseTransposeShadowLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_SHADOW_LOOKUP_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         .accessor = "worldOutdoorLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         .accessor = "inverseWorldOutdoorLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         .accessor = "transposeWorldOutdoorLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         },
        {
         .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         .accessor = "inverseTransposeWorldOutdoorLookupMatrix",
         .arrayCount = 0,
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM,
         .transposedMatrix = CONST_SRC_CODE_INVERSE_WORLD_OUTDOOR_LOOKUP_MATRIX,
         },
    };

    static inline techset::CommonCodeSamplerSourceInfo commonCodeSamplerSources[]{
        {
         .value = TEXTURE_SRC_CODE_BLACK,
         .accessor = "black",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_WHITE,
         .accessor = "white",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_IDENTITY_NORMAL_MAP,
         .accessor = "identityNormalMap",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_MODEL_LIGHTING,
         .accessor = "modelLightingSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_LIGHTMAP_PRIMARY,
         .accessor = "lightmapSamplerPrimary",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         },
        {
         .value = TEXTURE_SRC_CODE_LIGHTMAP_SECONDARY,
         .accessor = "lightmapSamplerSecondary",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         .customSamplerIndex = CUSTOM_SAMPLER_LIGHTMAP_SECONDARY,
         },
        {
         .value = TEXTURE_SRC_CODE_SHADOWMAP_SUN,
         .accessor = "shadowmapSamplerSun",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_SHADOWMAP_SPOT,
         .accessor = "shadowmapSamplerSpot",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_FEEDBACK,
         .accessor = "feedbackSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = TEXTURE_SRC_CODE_RESOLVED_POST_SUN,
         .accessor = "resolvedPostSun",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .techFlags = MTL_TECHFLAG_NEEDS_RESOLVED_POST_SUN,
         },
        {
         .value = TEXTURE_SRC_CODE_RESOLVED_SCENE,
         .accessor = "resolvedScene",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .techFlags = MTL_TECHFLAG_NEEDS_RESOLVED_SCENE,
         },
        {
         .value = TEXTURE_SRC_CODE_POST_EFFECT_SRC,
         .accessor = "postEffectSrc",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_POST_EFFECT_GODRAYS,
         .accessor = "postEffectGodRays",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_POST_EFFECT_0,
         .accessor = "postEffect0",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_POST_EFFECT_1,
         .accessor = "postEffect1",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_LIGHT_ATTENUATION,
         .accessor = "attenuationSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_DLIGHT_ATTENUATION,
         .accessor = "dlightAttenuationSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_OUTDOOR,
         .accessor = "outdoor",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_FLOATZ,
         .accessor = "floatZSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .techFlags = MTL_TECHFLAG_USES_FLOATZ,
         },
        {
         .value = TEXTURE_SRC_CODE_PROCESSED_FLOATZ,
         .accessor = "processedFloatZSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .techFlags = MTL_TECHFLAG_USES_FLOATZ,
         },
        {
         .value = TEXTURE_SRC_CODE_RAW_FLOATZ,
         .accessor = "rawFloatZSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         .techFlags = MTL_TECHFLAG_USES_FLOATZ,
         },
        {
         .value = TEXTURE_SRC_CODE_STENCIL,
         .accessor = "stencilSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_CINEMATIC_Y,
         .accessor = "cinematicYSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = TEXTURE_SRC_CODE_CINEMATIC_CR,
         .accessor = "cinematicCrSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = TEXTURE_SRC_CODE_CINEMATIC_CB,
         .accessor = "cinematicCbSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = TEXTURE_SRC_CODE_CINEMATIC_A,
         .accessor = "cinematicASampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = TEXTURE_SRC_CODE_REFLECTION_PROBE,
         .accessor = "reflectionProbeSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM,
         .customSamplerIndex = CUSTOM_SAMPLER_REFLECTION_PROBE,
         },
        {
         .value = TEXTURE_SRC_CODE_FEATHER_FLOAT_Z,
         .accessor = "featherFloatZSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_TEXTURE_0,
         .accessor = "codeTexture0",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_TEXTURE_1,
         .accessor = "codeTexture1",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_TEXTURE_2,
         .accessor = "codeTexture2",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_TEXTURE_3,
         .accessor = "codeTexture3",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_IMPACT_MASK_DEPRECATED,
         .accessor = "impactMaskSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_UI3D,
         .accessor = "ui3dSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_MISSILE_CAM,
         .accessor = "missileCamSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_MISSILE_CAM_0,
         .accessor = "missileCam0Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_MISSILE_CAM_1,
         .accessor = "missileCam1Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_MISSILE_CAM_2,
         .accessor = "missileCam2Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_MISSILE_CAM_3,
         .accessor = "missileCam3Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_COMPOSITE_RESULT,
         .accessor = "compositeResult",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT,
         },
        {
         .value = TEXTURE_SRC_CODE_HEATMAP,
         .accessor = "heatmapSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_SONAR_COLOR,
         .accessor = "sonarColorSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_SONAR_DEPTH,
         .accessor = "sonarDepthSampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_0,
         .accessor = "qrcode0Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_1,
         .accessor = "qrcode1Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_2,
         .accessor = "qrcode2Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_3,
         .accessor = "qrcode3Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_4,
         .accessor = "qrcode4Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_5,
         .accessor = "qrcode5Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_6,
         .accessor = "qrcode6Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_7,
         .accessor = "qrcode7Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_8,
         .accessor = "qrcode8Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_9,
         .accessor = "qrcode9Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_10,
         .accessor = "qrcode10Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
        {
         .value = TEXTURE_SRC_CODE_QRCODE_11,
         .accessor = "qrcode11Sampler",
         .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY,
         },
    };

    // See MaterialShaderArgumentType
    static inline techset::CommonShaderArgumentType commonArgumentTypes[]{
        {.m_shader_type = techset::CommonTechniqueShaderType::VERTEX, .m_value_type = techset::CommonShaderValueType::MATERIAL_CONST  },
        {.m_shader_type = techset::CommonTechniqueShaderType::VERTEX, .m_value_type = techset::CommonShaderValueType::LITERAL_CONST   },
        {.m_shader_type = techset::CommonTechniqueShaderType::PIXEL,  .m_value_type = techset::CommonShaderValueType::MATERIAL_SAMPLER},
        {.m_shader_type = techset::CommonTechniqueShaderType::VERTEX, .m_value_type = techset::CommonShaderValueType::CODE_CONST      },
        {.m_shader_type = techset::CommonTechniqueShaderType::PIXEL,  .m_value_type = techset::CommonShaderValueType::CODE_SAMPLER    },
        {.m_shader_type = techset::CommonTechniqueShaderType::PIXEL,  .m_value_type = techset::CommonShaderValueType::CODE_CONST      },
        {.m_shader_type = techset::CommonTechniqueShaderType::PIXEL,  .m_value_type = techset::CommonShaderValueType::MATERIAL_CONST  },
        {.m_shader_type = techset::CommonTechniqueShaderType::PIXEL,  .m_value_type = techset::CommonShaderValueType::LITERAL_CONST   },
    };
    static_assert(std::extent_v<decltype(commonArgumentTypes)> == MTL_ARG_COUNT);

    static inline const char* commonIgnoredArgAccessors[]{
        "combined_dlight",
        "combined_glight",
    };

    static inline techset::CommonCodeSourceInfos commonCodeSourceInfos(commonCodeConstSources,
                                                                       std::extent_v<decltype(commonCodeConstSources)>,
                                                                       commonCodeSamplerSources,
                                                                       std::extent_v<decltype(commonCodeSamplerSources)>,
                                                                       commonIgnoredArgAccessors,
                                                                       std::extent_v<decltype(commonIgnoredArgAccessors)>,
                                                                       commonArgumentTypes,
                                                                       std::extent_v<decltype(commonArgumentTypes)>);

    static inline MaterialTypeInfo g_materialTypeInfo[]{
        {"",     ""    },
        {"m/",   "m_"  },
        {"mc/",  "mc_" },
        {"mlv/", "mlv_"},
        {"wc/",  "wc_" },
        {"wpc/", "wpc_"},
        {"wq/",  "wq_" },
        {"wqc/", "wqc_"},
    };
    static_assert(std::extent_v<decltype(g_materialTypeInfo)> == MTL_TYPE_COUNT);
} // namespace T6
