pub struct DictateSettings {Show 13 fields
pub enabled: bool,
pub models_dir: Option<String>,
pub device: Option<Value>,
pub transcribe_model: Option<String>,
pub cleanup_model: Option<String>,
pub language: Option<String>,
pub normalizer: bool,
pub max_capture_minutes: u64,
pub bind: DictateBind,
pub mode: DictateMode,
pub styling: Option<Styling>,
pub structure: Option<Structure>,
pub context: Option<Context>,
}Expand description
The [dictate] section. Every field has a default, so an absent
section is exactly enabled = false.
Deliberately narrower than forge_dictate::Config. A model spec
carries a URL, a byte length and a digest, and hand-editing one is
how a file arrives that nothing can verify. The normalizer’s three
prompt axes are permissions rather than instructions - they say what
the model MAY change, not what it must - so exposing them means
flipping one, seeing no difference, and concluding it is broken.
Fields§
§enabled: boolOff unless asked for: turning it on costs a 3.07 GB download the first time and holds about 1.8 GB of physical footprint for the run.
models_dir: Option<String>Where the model files live. Absent uses the platform cache directory.
device: Option<Value>Ghost of the retired [dictate] device pin: read only so a stale
forge.toml still carrying it warns at load instead of being refused
as an unknown key. Capture moved to the client, which picks its own
machine’s input, so nothing reads this.
transcribe_model: Option<String>The model the transcribing role runs, as the feed’s own variant name. Set, it wins over every runtime pick and refuses Activate for the role; absent leaves the role to the last pick or the compiled pin.
cleanup_model: Option<String>The model the cleanup role runs, by feed variant name, under the
same rule as Self::transcribe_model. Inert while
Self::normalizer is off.
language: Option<String>Spoken language hint. Absent autodetects.
normalizer: boolRewrite recognition output into clean text. Off halves the download and skips a pass per utterance.
max_capture_minutes: u64Upper bound on a single recording. A capture nobody stops ends itself here rather than holding the seat indefinitely.
bind: DictateBindThe push-to-talk key.
mode: DictateModeHow press/release maps onto starting and stopping a take.
styling: Option<Styling>The register a take’s cleanup rewrites into, where a client has not chosen its own. Absent means the crate’s default.
structure: Option<Structure>Whether the cleanup may return a bulleted list. Absent means the crate’s default.
context: Option<Context>What the words are being written for. Absent means the crate’s default.
Implementations§
Source§impl DictateSettings
impl DictateSettings
Sourcepub fn axes(&self) -> DictateAxes
pub fn axes(&self) -> DictateAxes
The axes in force: what forge.toml sets, and the crate’s own
default wherever it sets nothing. This is what a client reads as the
values it starts on and resets to.
Sourcepub(crate) fn models_dir(&self) -> Option<PathBuf>
pub(crate) fn models_dir(&self) -> Option<PathBuf>
Where the model files land. Preflight says it while fetching, because cancelling keeps what has arrived and a reader needs to know where.
Sourcepub(crate) fn model_specs(&self) -> Vec<(DictateRole, ModelSpec)>
pub(crate) fn model_specs(&self) -> Vec<(DictateRole, ModelSpec)>
The model each role runs, in role order: the pins plus the roles they run as. The one place the pair is spelled, so preflight’s rows and the models page’s IN USE rows cannot disagree about which models forge runs.
Sourcepub(crate) fn pin_active(&self) -> Vec<(DictateRole, ActiveModel)>
pub(crate) fn pin_active(&self) -> Vec<(DictateRole, ActiveModel)>
The compiled pins as active models: what every role runs before any resolution has landed, and what a role with no key and no runtime pick keeps running.
Sourcefn initial_models(&self) -> Vec<DictateModel>
fn initial_models(&self) -> Vec<DictateModel>
The rows preflight draws before any work has started.
Trait Implementations§
Source§impl Clone for DictateSettings
impl Clone for DictateSettings
Source§impl Debug for DictateSettings
impl Debug for DictateSettings
Source§impl Default for DictateSettings
impl Default for DictateSettings
Source§impl<'de> Deserialize<'de> for DictateSettings
impl<'de> Deserialize<'de> for DictateSettings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for DictateSettings
impl PartialEq for DictateSettings
impl StructuralPartialEq for DictateSettings
Auto Trait Implementations§
impl Freeze for DictateSettings
impl RefUnwindSafe for DictateSettings
impl Send for DictateSettings
impl Sync for DictateSettings
impl Unpin for DictateSettings
impl UnsafeUnpin for DictateSettings
impl UnwindSafe for DictateSettings
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more