Skip to main content

face_core/
lib.rs

1//! Core primitives for the face CLI.
2//!
3//! This crate hosts the public type surface that the rest of the face
4//! workspace builds on: cluster identifiers, axes and strategies,
5//! nested and flat cluster forms, the JSON envelope, and the typed
6//! error type. See `docs/design.md` (§5–§7, §11) for the spec.
7
8pub mod cluster;
9pub mod cluster_id;
10pub mod cluster_tree;
11pub mod detect;
12pub mod diagnostics;
13pub mod envelope;
14pub mod error;
15pub mod format;
16pub mod input;
17pub mod path;
18pub mod record;
19pub mod strategy;
20
21pub use cluster::{Cluster, FlatCluster, from_flat, to_flat};
22pub use cluster_id::{ClusterId, ClusterIdError, ClusterIdSegment};
23pub use cluster_tree::{AxisPlan, build_tree};
24pub use detect::{
25    Preset, ScoreDetection, ScoreOptions, StrategyDetectionOptions, auto_strategy,
26    auto_strategy_with_options, detect_preset, detect_score, detect_score_with_options, invert,
27    pick_grouping_field, pick_grouping_field_with_options, sample_scores, validate_score_path,
28};
29pub use diagnostics::{Diagnostics, NullDiagnostics, VecDiagnostics};
30pub use envelope::{DetectionReport, Envelope, EnvelopeCache, InputFormat, Page, ResultBlock};
31pub use error::{DetectionCandidate, FaceError, SkipReason, SkipReport};
32pub use format::{OutputFormat, RenderOptions, render};
33pub use input::{
34    ItemsOptions, ParseOptions, ParsedInput, parse, parse_with_columns,
35    parse_with_columns_and_options, sniff_format,
36};
37pub use record::Record;
38pub use strategy::{Axis, SimilarAlgorithm, Strategy};