feat: split segmentation into textSpan + temporal records
Segmentation record now carries textSpan only (word boundaries), keeping
it well under PDS body limits. A separate temporal segmentation record
carries temporalSpan data for consumers without transcript table access.
layersPubToDocument now accepts an optional CompactTranscript for
generating timestamp facets — the indexer reads timing from the
transcripts table, avoiding dependency on temporal segmentation.
7 records per talk: expression, segmentation, temporal, + 4 annotations.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>