# tamale v0.1.0 - Table of Contents

> A minimal kernel for preserving user edits across upstream regeneration cycles

## Pages

- [Tamale](readme.md)
- [Changelog](changelog.md)

## Modules

- Top-level
  - [Tamale](Tamale.md): Present some golbal types.

- Identity Space
  - [Tamale.Space](Tamale.Space.md): A versioned identity space: an ordered set of element ids, an append-only
op log, and nothing else.

- Edit Operations
  - [Tamale.Op](Tamale.Op.md): Edit operations — the kernel's first-class edit intent.
  - [Tamale.Op.Delete](Tamale.Op.Delete.md): Delete `id`. Terminal for anchors referencing it.
  - [Tamale.Op.Insert](Tamale.Op.Insert.md): Insert `id` after `after_id` (`:head` inserts at the front).
  - [Tamale.Op.Merge](Tamale.Op.Merge.md): Merge adjacent `ids` into `into`, which must be `hd(ids)`.
  - [Tamale.Op.Move](Tamale.Op.Move.md): Move `id` to right after `after_id` (`:head` = front).
  - [Tamale.Op.Retime](Tamale.Op.Retime.md): Re-time `id` from `old_span` to `new_span` (`{start, stop}` in the
space's native coordinate). Identity and order are untouched; the spans
exist so the adapter layer can build warps for `Anchor.Metric`.
  - [Tamale.Op.Split](Tamale.Op.Split.md): Split `id` into `children`; `hd(children)` must equal `id`.

- Anchors
  - [Tamale.Anchor](Tamale.Anchor.md): The anchor algebra.
  - [Tamale.Anchor.Metric](Tamale.Anchor.Metric.md): Coordinate anchor: an interval in some coordinate system (`:tick`,
`:seconds`, `{:frames, hz}`, ...).
  - [Tamale.Anchor.Ordinal](Tamale.Anchor.Ordinal.md): Identity anchor.
  - [Tamale.Anchor.Relative](Tamale.Anchor.Relative.md): Compound anchor: `ref` travels by identity (Ordinal rules), then the
absolute interval is re-derived from the element's current span at use
time — `Tamale.Anchor.project/3`, with element spans supplied by the
Caller.

- Transport &amp; Warp
  - [Tamale.Transport](Tamale.Transport.md): Anchor transport along the op log — the whole of rebase.
  - [Tamale.Warp](Tamale.Warp.md): A monotone partial map between coordinate systems — the transport medium
for `Tamale.Anchor.Metric`.

- Semantic Survival
  - [Tamale.Digest](Tamale.Digest.md): Canonical digests — the portable replacement for BEAM-specific
`term_to_binary` hashing. Spec: `docs/spec/canonical-digest.md`.
  - [Tamale.Patch](Tamale.Patch.md): Semantic survival: a user edit is `(base_digest, payload)`.

- Channel Integration
  - [Tamale.ChannelAdapter](Tamale.ChannelAdapter.md): The single kernel-mandated channel-adapter callback.

- Coordinates
  - [Tamale.Coord](Tamale.Coord.md): Exact rational coordinates — the kernel's only number.

