Table of Contents

Namespace DialogueDown.Configuration

Classes

CompilationModes

The author-facing names of the CompilationModes — the kebab-case vocabulary shared by the CLI's --mode option, the dialogue.toml mode key, 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 a with expression.

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 default reserved 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=value or ##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 its dialogue.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 its dialogue.toml, so this is the vocabulary a consumer configures with.