hunt
Add memory/conversation/forge stubs, session security audit notes, handoff update
c2fb92d
Raw History Blame Contribute Delete
1.47 kB
//! miranda-nodes — Work Order 3: the 52-channel ARKit blendshape SIMD
//! solver, Perlin-noise micro-saccades, breathing oscillators, and
//! blendshape velocity clamping.
//!
//! # Two speech sources, one face
//!
//! Speech-driven mouth shapes come from either of two interchangeable
//! sources, chosen per pipeline:
//!
//! - **Pipeline 1 (cloud)**: [`viseme`] — Amazon Polly viseme events
//! mapped through an interpolation table.
//! - **Pipeline 2 (local)**: the SIMD acoustic-energy solver (WO-3 T7),
//! computing weights straight from PCM features.
//!
//! Everything downstream of that choice is shared: the autonomic layer
//! (blink, gaze, breath) and the compositor/damper run identically
//! regardless of which source produced the speech weights. That's what
//! makes the speech source a swappable role slot rather than a fork in
//! the whole face pipeline.
//!
//! # The autonomic layer is always running
//!
//! Per the Instant Presence Standard's No-Loop Video Protocol
//! (`eve-ecc-docs/INSTANT-PRESENCE-STANDARD.md`), the oscillators run
//! continuously whether or not anyone is speaking. "Idle" and "alive" are
//! the same code path here — there is deliberately no separate idle mode
//! that a canned loop could ever be substituted into.
pub mod blink;
pub mod breath;
pub mod compositor;
pub mod conversation;
pub mod dispatcher;
pub mod forge;
pub mod gaze;
pub mod memory;
pub mod solver;
pub mod verify;
pub mod viseme;