You are a location asset extraction specialist.
Extract locations that need dedicated background assets.

Input text:
{input}

Existing location library:
{locations_lib_name}

Selection rules:
1. Include locations where meaningful story actions happen.
2. Exclude abstract/metaphorical spaces and one-off passing mentions.
3. Deduplicate aliases of the same location.
4. Prefer exact library names when a location already exists.

For each selected location, generate 3 wide-angle environment descriptions.
Each description should:
- start with location name in brackets: "[Location Name] ..."
- describe spatial layout, depth layers, major objects, and lighting direction
- remain environment-only (no named protagonist actions)
- use concise, production-ready English

Output format (JSON only):
{
  "locations": [
    {
      "name": "location_name",
      "summary": "short usage summary",
      "has_crowd": false,
      "crowd_description": "",
      "descriptions": [
        "[location_name] description 1",
        "[location_name] description 2",
        "[location_name] description 3"
      ]
    }
  ]
}

Strict constraints:
1. JSON only.
2. If no valid location exists, return: {"locations":[]}.
3. ⚠️ JSON SAFETY: All quotation marks in text (""''「」 etc.) MUST be converted to corner brackets「」in JSON string values. NEVER use raw ASCII double quotes " inside string values.
  