def METHOD_NAME(
    scenario_spec: ScenarioSpec, scenario_download_path: str = "exported_scenarios"
) -> List[LightScenario]:
    """
    Create a list of LightInstances given a ScenarioSpec. Only keep the text of the input and references.
    Note that one LightScenario object is created for each split of the Scenario for simplification.
    """
    scenario: Scenario = create_scenario(scenario_spec)
    ensure_directory_exists(scenario_download_path)
    scenario.output_path = os.path.join(scenario_download_path, scenario.name)
    ensure_directory_exists(scenario.output_path)
    # Load instances
    instances: List[Instance]
    with htrack_block("scenario.get_instances"):
        instances = scenario.get_instances()
    # Get instance ids
    instances = with_instance_ids(instances)
    # Classify instances into splits
    splits: List[str] = [TRAIN_SPLIT, VALID_SPLIT, TEST_SPLIT]
    split_mapping: DefaultDict[str, list] = defaultdict(list)
    for instance in instances:
        if instance.split is None or instance.split not in splits:
            raise ValueError(
                f"split should be one of {TRAIN_SPLIT}, {VALID_SPLIT}, or {TEST_SPLIT}, but got {instance.split}"
            )
        split_mapping[instance.split].append(instance)
    # Convert Scenarios to LightScenarios
    light_scenarios: List[LightScenario] = []
    for split, instances in split_mapping.items():
        light_instances: List[LightInstance] = [create_light_instance_from_instance(instance) for instance in instances]
        light_scenario_key: LightScenarioKey = LightScenarioKey(
            scenario_spec=scenario_spec,
            split=split,
        )
        light_scenario = LightScenario(
            scenario_key=light_scenario_key,
            instances=light_instances,
        )
        light_scenarios.append(light_scenario)
    return light_scenarios