# Linking strata

> The link picker, the stratum link scheme, multi-target links and tab fragments.

A stratum is always *bound* to a shape on a surface. It can also be *linked to*
from prose.

![blueprint:josh/stratum-binding-vs-linking](https://blueprintr.io/embed/josh/stratum-binding-vs-linking#h=520)

## Binding with the picker

The link picker opens the diagram in a read-only pick view. Click the shape you
mean and the stratum binds to it.

The surface can be a diagram tab's own canvas, or a diagram embedded inside
rich or raw content elsewhere in the blueprint. The binding is what lets a
reader's click resolve to the right stratum when a blueprint holds several
diagrams.

## Linking from prose

Markdown links accept a `stratum:` scheme:

```markdown
[see the auth flow](stratum:clx1a2b3c4)
```

Following the link opens that stratum, the same as clicking its shape.

> [!FIELDS]
>
> > [!FIELD One id|scheme|required]
> >
> > `stratum:` followed by a single stratum id.
>
> > [!FIELD Several ids|list|optional]
> >
> > Comma-separated. All open together.
>
> > [!FIELD With a tab|fragment|optional]
> >
> > Add `#tab=2` to open on a particular tab rather than the first.

Callouts take the same target, so a whole note becomes the link:

```markdown
> [!NOTE|stratum:clx1a2b3c4] Where this is enforced
```

> [!IMPORTANT]
> The `stratum:` scheme is understood by Blueprintr's editors and reader only.
> Everywhere else it is inert. Exported markdown never contains a broken
> external link, but the link will not resolve either. Export with that in
> mind.

## Legacy links

Content written before strata were renamed used a `stage:` prefix. Blueprintr
still reads `stage:` links and writes new ones as `stratum:`, so old blueprints
keep working with no migration.
