The Narrative Cluster Processor as a reusable method — turn witnessed perceptual events / rushes into thematic clusters, narrative beats, and a Film Edit Brief (EDL markers) an editor can act on.
Version: 0.1.0 (draft)
Package: @medicine-wheel/narrative-cluster
Document ID: rispec-narrative-cluster-v1
Last Updated: 2026-06-21
A creator transforms raw witnessed material into editable structure:
shot-sequence, sound-environment, relational-moment.NarrativeBeat.What this enables: The “Narrative Cluster Processor” named in episode 066
becomes a real method bridging perception and editing. It instantiates narrative
cognition (discrete events → coherent story) while staying inside the relational
ontology (clusters carry direction; beats carry relations_honored).
Structural Tension: Between scattered rushes (no spine) and an editable narrative (clusters → beats → edit brief). Resolved by template-driven clustering plus a deterministic brief generator.
@medicine-wheel/narrative-cluster)type ClusterKind = 'shot-sequence' | 'sound-environment' | 'relational-moment';
interface ClusterableEvent { type: string; text: string; index: number; source?: string; }
interface NarrativeCluster {
id: string;
kind: ClusterKind;
theme: string;
direction: DirectionName; // shot→east, sound→south, relational→west
events: ClusterableEvent[];
}
interface EditMarker {
index: number; clusterId: string; kind: ClusterKind;
timecode: string; // HH:MM:SS:FF synthesized from order
label: string; // narrative annotation
source: string;
}
interface EditBrief {
productionId: string; title: string;
markers: EditMarker[];
edl: string; // CMX3600-style text block
generatedAt: string;
}
clusterEvents(events): NarrativeCluster[] — group by cinematic template; derive a theme + direction per cluster.clustersToBeats(clusters): NarrativeBeat[] — one NarrativeBeat per cluster, direction-aligned, with relations_honored.generateEditBrief(clusters, opts): EditBrief — produce ordered markers + an EDL text block.@medicine-wheel/ontology-core (NarrativeBeat, DirectionName)@medicine-wheel/prompt-decomposition + @medicine-wheel/narrative-engine — arc validation and ontology-enriched theming in a later iteration. Loose-coupled now via ClusterableEvent.ClusterableEvent, so any source (transcript, rushes, notes) flows through.narrative-engine arc checks.