Expand description
Content-processor implementations that derive searchability at ingest. The
model-free TextProcessor lives in this file (it is the framework
reference); the heavier ImageProcessor (EXIF time/place → the
timeline/map facets) and WavProcessor (STFT spectral summary) live in
processors as their own units (§11: split as the library grows).
Content processors — ingest derives searchability. Each processor
turns an asset’s bytes into the derived, searchable representations +
descriptor facets (+ flags) that fold into its container, so the original
becomes findable by meaning.
The framework itself — the Processor trait,
ProcessorOutput, and the model-free
TextProcessor — lives in the parent module. This
submodule holds the heavier, self-contained processors and the dispatcher
that picks one by media type:
ImageProcessor— EXIF/PNG metadata → timeline + map facets (model-free).WavProcessor— WAV → duration + dominant-frequency, via the project’s STFT.
Plug-in points (honest gaps, not stubs): what an image depicts /
OCR needs a vision model, and a transcript needs an ASR model. Both are
new Processor implementations to register here when the qualia-vision /
qualia-audio model engines exist — the dispatcher already routes by media
type, so they slot in without touching callers.
Re-exports§
pub use audio::AudioSpectralSummary;pub use audio::WavProcessor;pub use image::ImageMetadata;pub use image::ImageProcessor;
Modules§
- audio
- WavProcessor — derive searchability from an audio file by composing the
project’s own DSP (
crate::audio), not a bolt-on library. - image
- ImageProcessor — derive searchability from a photo’s own embedded metadata (EXIF / PNG chunks). Model-free and deterministic: it reads what the camera already wrote into the file.
Functions§
- processor_
for - Pick the processor that best handles
media_type, orNoneif no registered processor claims it (the caller can fall back to storing the asset with no derived facets). Order matters only wherehandlesoverlaps; here the media-type families are disjoint. - supported_
media_ types - The media types a registered processor can derive searchability from — for callers that want to advertise what ingest understands.