mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-27 03:27:14 -06:00
Keep current upstream UI behavior and the later detector contract checks. Validate candidate models before replacing working weights and records, with a synthetic regression that failed before the fix. Remove the unrelated GPU equivalence-test relaxation. All seven quality gates pass with the pinned hosted fonts. Generated with Codex.
27 lines
1.1 KiB
Rust
27 lines
1.1 KiB
Rust
//! Face models for LightCraft: what a model is ([`ModelManifest`]), whether to trust a description of one
|
|
//! ([`manifest::validate`]), the models we know by hash ([`known`]), and a probe that reads an unknown
|
|
//! `.onnx` file's input and output shapes without running it ([`onnx`]), so installing a model of your
|
|
//! own can be one drop and one licence prompt.
|
|
//!
|
|
//! Everything here treats model files and manifests as hostile input: sizes are capped, numbers must be
|
|
//! finite and sane, and a malformed file is an error, never a panic. Detection and recognition run
|
|
//! on the same checked, single-thread pure-Rust CPU interpreter.
|
|
#![forbid(unsafe_code)]
|
|
#![deny(clippy::unwrap_used, clippy::expect_used, clippy::panic, clippy::unimplemented, clippy::todo, clippy::unreachable)]
|
|
|
|
pub mod align;
|
|
pub mod catalog;
|
|
pub mod graph;
|
|
pub mod hash;
|
|
pub mod known;
|
|
pub mod manifest;
|
|
pub mod matching;
|
|
pub mod net;
|
|
pub mod onnx;
|
|
pub mod runtime;
|
|
pub mod suggest;
|
|
pub mod synthetic;
|
|
pub mod yunet;
|
|
|
|
pub use manifest::{Colour, Commercial, InputSpec, Licence, ManifestError, ModelManifest, OutputSpec, Resize, Role, Thresholds};
|