# export_abc_all()

Exports all registered references as Alembic files in batch.  
Each output file is named automatically using the reference's namespace. (`{namespace}.abc`)

### Signature
```python
api.export_abc_all(output_folder: str, abc_options: dict = None, preset: str = None) -> dict
```

### Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| `output_folder` | `str` | Output folder path (must already exist) |
| `abc_options` | `dict` | Alembic option overrides |
| `preset` | `str` | Saved preset name (e.g. `"Unreal_UE5"`, `"Unity_ABC"`) |

### Return Value
```python
{
    "success": bool,
    "message": str,
    "exported_count": int,
    "failed_count": int,
    "results": [
        {
            "slot": int,
            "name": str,
            "success": bool,
            "output_path": str,   # on success
            "error": str,         # on failure
        },
        ...
    ]
}
```

### Errors
| Error | Cause |
| --- | --- |
| `ValueError` | Output folder does not exist, invalid preset name |
| `TypeError` | `abc_options` is not `dict` |

### Example
```python
from os_fast_ref.api import FastRefAPI

api = FastRefAPI()
api.refresh()

# Default preset
result = api.export_abc_all(output_folder=r"J:\output")
print(f"Exported: {result['exported_count']}, Failed: {result['failed_count']}")

# UE5 — meshes only for all slots
result = api.export_abc_all(
    output_folder=r"J:\output",
    preset="Unreal_UE5",
    abc_options={"ExportMeshes": True, "ExportBones": False},
)

for r in result["results"]:
    status = "OK" if r["success"] else "FAIL"
    print(f"  [{r['slot']}] {r['name']}: {status}")
```

---