# parallel

`parallel(...programs)` starts its immutable children at the same local origin
and completes when its finite children complete. Writer overlap is validated
before a run is accepted.

Related type: [`PibblAnimationProgram`](/reference/types/canvas-runtime/#pibblanimationprogram).

## API details from source

<span id="api-parallel"></span>

Activates all children from one shared local origin.

```ts
parallel: (...children: readonly PibblAnimationProgram[]) => PibblAnimationProgram
```

Related API: [parallel](/reference/functions/parallel/), [PibblAnimationProgram](/reference/types/canvas-runtime/#pibblanimationprogram).

### Parameters

- **`children`** — Programs to begin together. See [PibblAnimationProgram](/reference/types/canvas-runtime/#pibblanimationprogram).

### Returns

A program whose children run concurrently. See [PibblAnimationProgram](/reference/types/canvas-runtime/#pibblanimationprogram).

### See also

[PibblAnimationProgram](/reference/types/canvas-runtime/#pibblanimationprogram)

[View source — packages/core/src/lib/animation/program.ts:841](/source/packages/core/src/lib/animation/program-ts/#L841)

## Implementation guidance for agents

Read the [Animation and scheduling companion](/agents/topics/animation/) for ownership, adaptation, failure modes, and verification. [Agent start](/agents/) provides the version-selection workflow.

## Complete minimal examples

- [Compose keyframes and springs](/minimal-examples/animation/composition/): Run two independent tracks together, then mark, wait, and repeat. [Plain source](/minimal/animation/composition.tsx)
## Interactive examples

- [Signals and animation](/examples/signals-and-animation/) · [Full page](/experience/signals-and-animation/)
## Documentation version

Documentation built with @pibbl/core 0.0.2, revision 272a94a. ALPHA — NOT FOR PRODUCTION USE.
