face-core 0.1.0

Core grouping, clustering, and paging primitives for the face CLI.
Documentation
//! Core primitives for the face CLI.
//!
//! This crate hosts the public type surface that the rest of the face
//! workspace builds on: cluster identifiers, axes and strategies,
//! nested and flat cluster forms, the JSON envelope, and the typed
//! error type. See `docs/design.md` (§5–§7, §11) for the spec.

pub mod cluster;
pub mod cluster_id;
pub mod cluster_tree;
pub mod detect;
pub mod diagnostics;
pub mod envelope;
pub mod error;
pub mod format;
pub mod input;
pub mod path;
pub mod record;
pub mod strategy;

pub use cluster::{Cluster, FlatCluster, from_flat, to_flat};
pub use cluster_id::{ClusterId, ClusterIdError, ClusterIdSegment};
pub use cluster_tree::{AxisPlan, build_tree};
pub use detect::{
    Preset, ScoreDetection, ScoreOptions, StrategyDetectionOptions, auto_strategy,
    auto_strategy_with_options, detect_preset, detect_score, detect_score_with_options, invert,
    pick_grouping_field, pick_grouping_field_with_options, sample_scores, validate_score_path,
};
pub use diagnostics::{Diagnostics, NullDiagnostics, VecDiagnostics};
pub use envelope::{DetectionReport, Envelope, EnvelopeCache, InputFormat, Page, ResultBlock};
pub use error::{DetectionCandidate, FaceError, SkipReason, SkipReport};
pub use format::{OutputFormat, RenderOptions, render};
pub use input::{
    ItemsOptions, ParseOptions, ParsedInput, parse, parse_with_columns,
    parse_with_columns_and_options, sniff_format,
};
pub use record::Record;
pub use strategy::{Axis, SimilarAlgorithm, Strategy};