Namespace DialogueDown.Configuration
Classes
- CompilationModes
The author-facing names of the CompilationModes — the kebab-case vocabulary shared by the CLI's
--modeoption, thedialogue.tomlmodekey, and the visualization's Config tab, so the surfaces never drift. Only two modes are settable: FailFast is deliberately not, because it throws at the first error instead of collecting diagnostics, so it is an embedding contract a caller opts into in code, not a reporting mode a tool exposes. Its name is still known, for read-only display.
- CompilerOptions
Deeply immutable options that configure a single compile — the public value a consumer builds, in code or by loading a
dialogue.toml, and hands to a composition root. The root separates it into each stage's options view. Start from Default and adjust it with awithexpression.
- CompilerOptions.EqualityComparer
An equality comparer for the enclosing type that uses the generated equality semantics.
- ConfiguredSpeaker
A speaker supplied by configuration rather than declared in a script: a display name, an optional stable id, and its tags partitioned into immutable custom and reserved sequences. It is plain data, validated and partitioned at the configuration edge; the semantic stage turns it into a speaker declaration to bind alongside the script's own speakers. A speaker is the default when its ReservedTags include the
defaultreserved tag.
- ConfiguredSpeaker.EqualityComparer
An equality comparer for the enclosing type that uses the generated equality semantics.
- ConfiguredTag
A tag supplied by configuration: a name and, for a tag group (
#name=valueor##name=value), an optional value. The same shape serves both a speaker's custom and reserved tags; the list it sits in says whether it is reserved.
- ReservedTagNames
The closed vocabulary of reserved (
##name) tags that DialogueDown owns. A reserved tag is meaningful only when its name is in this set; anything else is rejected. It is the single public source of truth for reserved-tag names, shared by the compiler's passes (the speaker binder on Default, the tag validator on Known) and any configuration loader that validates a project's reserved keys.
- UnmodeledMarkdownNames
The author-facing names of the unmodeled-Markdown vocabulary — the kebab-case words shared by the
dialogue.toml[markdown.unmodeled]section and any tool that displays the configuration, so the surfaces never drift. Mirrors CompilationModes for the compilation modes.
Enums
- CompilationMode
How far a compile proceeds after an error. Reporting-and-recovering lets a stage continue past a problem, but continuing blindly through every stage piles cascading noise onto unreliable material — so the caller chooses the policy.
- UnmodeledNodeHandling
What becomes of an unmodeled Markdown construct — one of the two words a project writes in the
[markdown.unmodeled]section of itsdialogue.toml.
- UnmodeledNodeKind
A Markdown construct the front-end does not model as dialogue, identified so a handling policy can decide what to do with it. A project names these kinds in the
[markdown.unmodeled]section of itsdialogue.toml, so this is the vocabulary a consumer configures with.