Reference: Component Contracts

This page summarizes the public component interfaces. See Plugin Authoring for implementation guidance.

IFrameExtractor

Official import: from library.core.interfaces import IFrameExtractor

def extract(self) -> FrameBuffer

Returns a closed FrameBuffer containing Frame objects.

ISingleFrameProcessor

Official import: from library.core.interfaces import ISingleFrameProcessor

def process(self, frame: Frame) -> Frame

Transforms one frame without sequence-level context.

IFrameBufferProcessor

Official import: from library.core.interfaces import IFrameBufferProcessor

def process(self, buffer: FrameBuffer) -> FrameBuffer

Transforms a complete frame sequence.

IFrameExporter

Official import: from library.core.interfaces import IFrameExporter

def export(self, buffer: FrameBuffer, context: FrameExportContext) -> FrameExportResult

Returns forwarded frames plus export artifacts.

ISignalExtractor

Official import: from library.core.interfaces import ISignalExtractor

def extract(self, buffer: FrameBuffer) -> ISignal

Converts frames into signal samples.

ISignalCleaner

Official import: from library.core.interfaces import ISignalCleaner

def clean(self, signal: ISignal) -> ISignal

Transforms signal samples.

IAnalyzer

Official import: from library.core.interfaces import IAnalyzer

def analyze(self, signal: ISignal) -> IData

Converts a signal into analytical data.

IVisualizer

Official import: from library.core.interfaces import IVisualizer

def render(self, data: IData, context: VisualizationContext | None = None) -> tuple[VisualArtifact, ...]

Converts analytical data into UI-agnostic artifacts.

Streaming Variants

Official import: from library.core.interfaces import IStreamingAnalyzer

Streaming variants publish into buffers through *_into() methods and must close output buffers on completion.