# processSourceBridged

Function

Source: https://github.com/playcanvas/splat-transform/blob/b6424a5b3b929695fbaafe738a995adb1240d675/src/lib/process-source.ts#L150

```ts
processSourceBridged(source: ChunkSource, actions: ProcessAction[], pool: ChunkDataPool, options?: ProcessOptions): Promise<ChunkSource>
```

Apply an ordered action list to a [ChunkSource](https://api.playcanvas.com/splat-transform/interfaces/ChunkSource.md), streaming the
chunk-native runs and bridging only the DataTable-only runs. Consecutive
actions are grouped into maximal same-mode runs (order preserved): a
chunk-native run (SOURCE_ACTION_KINDS) goes through [processSource](https://api.playcanvas.com/splat-transform/functions/processSource.md);
a DataTable-only run (decimate, the GPU voxel filters, …)
materializes once, runs `processDataTable`, and re-bridges to a source via
`dataTableToChunkSource`. So the not-yet-chunked ops do their work inline as
islands and everything around them keeps streaming.

**Parameters**

- `source` ([`ChunkSource`](https://api.playcanvas.com/splat-transform/interfaces/ChunkSource.md)): The input source (consumed; the returned source owns it).
- `actions` ([`ProcessAction`](https://api.playcanvas.com/splat-transform/types/ProcessAction.md)`[]`): Actions to apply in order.
- `pool` ([`ChunkDataPool`](https://api.playcanvas.com/splat-transform/interfaces/ChunkDataPool.md)): Pool for the chunk-native passes and the bridge's chunk size.
- `options` ([`ProcessOptions`](https://api.playcanvas.com/splat-transform/types/ProcessOptions.md), optional): Process options (e.g. `createDevice` for the GPU islands).

**Returns** `Promise<`[`ChunkSource`](https://api.playcanvas.com/splat-transform/interfaces/ChunkSource.md)`>`: The processed source.
