{
  "_doc": "Kinetic descriptor lexicon. Maps semantic action regex patterns to camera-artifact language. Loaded by prompt_config.py, injected as strict instructions to Flash enrichment.",
  "kinetic_map": [
    {
      "id": "physical_strain",
      "pattern": "\\b(?:push|shov|pry|wrench|wedge|lever|haul|heav|strain|brace|forc)\\w*\\b",
      "descriptor": "muscles taut, unbalanced dynamic pose, off-axis framing"
    },
    {
      "id": "impact",
      "pattern": "\\b(?:impact|strike|hit|slam|clang|smash|crash|burst|explod|shatter)\\w*\\b",
      "descriptor": "motion blur on point of contact, kinetic energy frozen mid-transfer, dust kicked into lens"
    },
    {
      "id": "running",
      "pattern": "\\b(?:run|sprint|chase|flee|dash|scrambl|bolt)\\w*\\b",
      "descriptor": "motion blur on trailing limbs, forward lean, kinetic diagonal composition"
    },
    {
      "id": "falling",
      "pattern": "\\b(?:fall|drop|plummet|descend|tumbl|plunge|hang|dangl|suspend)\\w*\\b",
      "descriptor": "vertigo framing, dutch angle, gravitational pull in composition"
    },
    {
      "id": "grabbing",
      "pattern": "\\b(?:grab|grip|seize|clutch|clamp|choke|throttle|restrain|hold|close[sd]?\\s+on)\\w*\\b",
      "descriptor": "locked muscles, white-knuckle tension, veins visible, compression force"
    },
    {
      "id": "fear",
      "pattern": "\\b(?:terror|fear|dread|panic|horror|shock|startl)\\w*\\b",
      "descriptor": "wide-eyed shallow breath, micro-tremor in hands, sweat catching light"
    },
    {
      "id": "awe",
      "pattern": "\\b(?:awe|wonder|discover|reveal|marvel|astonish|pristine)\\w*\\b",
      "descriptor": "held breath, eyes tracking slowly, stillness against active environment"
    },
    {
      "id": "determination",
      "pattern": "\\b(?:determin|resolv|grit|clench|set jaw|steely|focus|concentrat)\\w*\\b",
      "descriptor": "jaw set, tendons visible in neck, center-weighted composition, static framing"
    },
    {
      "id": "exhaustion",
      "pattern": "\\b(?:exhaust|fatigu|weary|drain|gasp|labored|surviv|precarious)\\w*\\b",
      "descriptor": "heavy limbs, slumped posture, sweat and grime catching ambient light"
    },
    {
      "id": "stillness",
      "pattern": "\\b(?:still|static|patient|stealth|silent|quiet|calm|slow)\\w*\\b",
      "descriptor": "still, static framing, held breath, negative space pressing in"
    },
    {
      "id": "combat",
      "pattern": "\\b(?:combat|fight|war|weapon|attack|assault|threat|menac)\\w*\\b",
      "descriptor": "coiled tension, center of gravity low, sharp angular shadows"
    },
    {
      "id": "abandonment",
      "pattern": "\\b(?:abandon|lone|isolat|void|empty|desolat|forsaken)\\w*\\b",
      "descriptor": "deep negative space, subject small in frame, echoing geometry"
    },
    {
      "id": "urgency",
      "pattern": "\\b(?:urgent|desperate|frantic|hurr|rush|press)\\w*\\b",
      "descriptor": "canted frame, compressed depth of field, blur at frame edges"
    },
    {
      "id": "mechanical",
      "pattern": "\\b(?:mechanical|android|chassis|processor|restart|boot|activat|power)\\w*\\b",
      "descriptor": "precision in stillness, machine-perfect posture, light cycling through optics"
    }
  ],
  "fallback": "natural posture, documentary framing, ambient atmosphere",
  "lighting_direction_map": [
    {"pattern": "\\bfloor\\s+level|uplight|from\\s+below|under\\w*\\s+light", "direction": "BOTTOM"},
    {"pattern": "\\boverhead|from\\s+above|top\\s*light|ceili?ng", "direction": "TOP"},
    {"pattern": "\\bbackli[gt]|silhouett|rim\\s+light|from\\s+behind", "direction": "BEHIND"},
    {"pattern": "\\bfront\\w*\\s+light|fill\\s+light|key\\s+light", "direction": "FRONT LEFT"},
    {"pattern": "\\bself[\\s-]illuminat|self[\\s-]lit|glow\\w*\\s+from\\s+(?:the\\s+)?(?:device|counter|screen|display|pod|chest)", "direction": "SELF-ILLUMINATED"},
    {"pattern": "\\bstrip\\s+light|emergency\\s+strip|narrow\\s+beam", "direction": "SIDE"},
    {"pattern": "\\bheadlamp|head\\s+lamp", "direction": "FROM SUBJECT"},
    {"pattern": "\\bspark|burst|flash|momentary", "direction": "BURST FROM POINT SOURCE"}
  ],
  "lighting_quality_map": [
    {"pattern": "\\bhard\\b|harsh|sharp\\s+shadow|directional", "quality": "hard"},
    {"pattern": "\\bsoft\\b|diffuse|ambient|scatter", "quality": "soft diffuse"},
    {"pattern": "\\bpulse|puls\\w+|glow\\w*|throb", "quality": "pulsing"},
    {"pattern": "\\bflicker|strobe", "quality": "flickering"}
  ]
}
