build_tools.syllable_walk_tui.modules.generator.state
State management for name generation modules.
This module provides dataclasses for managing name combiner and selector configuration. The states mirror the exact CLI options from the tools, with small TUI-only extensions where needed.
- CombinerState CLI Options:
- --run-dir
→ source_patch (A or B, uses patch’s corpus_dir)
- --syllables
→ syllables (2, 3, or 4) [TUI also supports “all” via syllable_mode]
- --count
→ count (default: 10000)
- --seed
→ seed (None = random)
–frequency-weight → frequency_weight (0.0-1.0, default: 1.0)
- SelectorState CLI Options:
- --run-dir
→ source_patch (A or B, uses patch’s corpus_dir)
- --candidates
→ Determined by combiner output (syllables)
- --name-class
→ name_class (first_name, last_name, etc.)
- --count
→ count (default: 100)
- --mode
→ mode (hard or soft, default: hard)
- Usage:
>>> combiner = CombinerState() >>> combiner.syllables = 3 >>> selector = SelectorState() >>> selector.name_class = "first_name"
Attributes
Classes
State for name combiner configuration. |
|
State for name selector configuration. |
Module Contents
- class build_tools.syllable_walk_tui.modules.generator.state.CombinerState[source]
State for name combiner configuration.
Mirrors the exact CLI options from build_tools/name_combiner.
- source_patch
Which patch’s corpus to use (“A” or “B”) Maps to CLI –run-dir (uses patch’s corpus_dir)
- syllables
Number of syllables per name (2, 3, or 4) Maps to CLI –syllables when syllable_mode=”exact”
- syllable_mode
“exact” for a single syllable count, “all” to generate 2/3/4 syllable candidates in one run (TUI-only)
- count
Number of candidates to generate Maps to CLI –count (default: 10000)
- seed
RNG seed for deterministic output (None = random) Maps to CLI –seed
- frequency_weight
Weight for frequency-biased sampling (0.0-1.0) Maps to CLI –frequency-weight (default: 1.0)
- outputs
List of generated candidate names (for display)
- last_output_path
Path where candidates were written
- last_unique_count
Unique name count from last combiner run
- last_candidates_files
Mapping of syllable count to candidates file path
- source_patch: Literal['A', 'B'] = 'A'
- syllable_mode: Literal['exact', 'all'] = 'exact'
- build_tools.syllable_walk_tui.modules.generator.state.NAME_CLASSES = ['first_name', 'last_name', 'place_name', 'location_name', 'object_item', 'organisation',...
- class build_tools.syllable_walk_tui.modules.generator.state.SelectorState[source]
State for name selector configuration.
Mirrors the exact CLI options from build_tools/name_selector.
- name_class
Name class policy to use for selection Maps to CLI –name-class (required)
- count
Maximum number of names to output Maps to CLI –count (default: 100)
- count_mode
“manual” to use count value, “unique” to use the combiner’s unique candidate count (TUI-only)
- mode
Evaluation mode - “hard” rejects, “soft” penalizes Maps to CLI –mode (default: “hard”)
- order
Ordering for names with equal scores “alphabetical” for deterministic, “random” for variety
- outputs
List of selected names (for display)
- last_output_path
Path where selections were written
- last_candidates_path
Path to candidates file used
- count_mode: Literal['manual', 'unique'] = 'manual'
- mode: Literal['hard', 'soft'] = 'hard'
- order: Literal['alphabetical', 'random'] = 'random'