Skip to content
Tuxedo CatSTUDIO
Menu

Name Lab

Name Lab is the Editor-facing tool for analyzing and generating names from Probability Director Name Models or inline N-Gram training data.

Unlike the chart-oriented Probability, Dice, and Distribution Lab views, the Name Lab does not fabricate a graph where a graph would not add meaningful information.

For Runtime Markov/Name semantics and public APIs, see MarkovAndNames.md.


Use Name Lab to:

  • Test N-Gram training.
  • Test Weighted Syllable models.
  • Analyze model validity.
  • Compare authoring changes.
  • Generate reproducible Fixed-Seed batches.
  • Generate Secure batches.
  • Generate explicit Keyed batches.
  • Inspect names before using a model in gameplay.
  • Export generated names/model metadata.

1. Choose Model Source
2. Configure generation method
3. Analyze Model
4. Choose Random Mode
5. Set Names to Generate
6. Generate Names
7. Inspect indexed results
8. Export CSV/Markdown

Name Lab supports:

  • Runtime Name Model Asset.
  • Inline Training.

Inline Training is intended for quick N-Gram experimentation.

A Runtime Name Model Asset is the normal reusable cooked gameplay asset.


In Asset mode:

  • Select a UProbabilityNameModel.
  • The Lab reads its Generation Method.
  • Method-specific controls appear.
  • Purpose metadata may be shown in result/export summary.

The asset contains authored generation data, not gameplay RNG state.


Inline training uses one training string per line.

Core rules remain:

  • Outer whitespace trimmed.
  • Empty-after-trim strings ignored.
  • Case preserved.
  • Punctuation preserved.
  • Internal spaces preserved.
  • Duplicate strings add frequency.

Inline mode uses the same approved bounded compile contract.


Name Lab supports:

  • N-Gram Markov.
  • Weighted Syllables.

Method-specific controls are separate.

The UI should not reinterpret N-Gram values as Weighted Syllable values or vice versa.


Important controls include:

  • Training Strings / Asset source.
  • Markov Order.
  • Maximum Generated Characters.
  • Names to Generate.

Markov Order:

1 ... 4

Default:

2

Controls include:

  • Role.
  • Syllable text.
  • Weight.
  • Add Syllable.
  • Remove Syllable.
  • Minimum Syllables.
  • Maximum Syllables.
  • Maximum Generated Characters.
  • Names to Generate.

Roles:

  • Single.
  • Start.
  • Middle.
  • End.

Analyze Model is pure.

It consumes no gameplay RNG and no Lab random Stream.

Use it to inspect:

  • Model validity.
  • Usable strings.
  • State/transition counts.
  • Exact role probabilities.
  • Count distribution.
  • Missing-role problems.
  • Bound violations.

Analyze before blaming random generation for an invalid model.


Name Lab supports:

  • Fixed Seed.
  • Secure.
  • Keyed.

Every mode uses a transient Lab-owned standalone Probability Director context.

Name Lab has no gameplay stream selector; generation uses its own local experiment state.


Fixed mode creates a fresh isolated Sequential context.

Equivalent:

  • Model.
  • Generation settings.
  • Fixed Seed.
  • Batch size.

reproduces the same compatible batch.

Use Fixed for:

  • Debugging.
  • Reproducible examples.
  • Comparing model changes.

Secure uses a fresh isolated Secure context.

Secure internal state is not exposed or persisted.

Use Secure to inspect ordinary unpredictable generated-name behavior.

Do not expect Secure export metadata to reproduce a batch.


Keyed mode requires:

  • Decision Key.
  • Starting Occurrence.

For batch index i:

Occurrence = Starting Occurrence + i

Overflow is checked before generation.

There is no hidden occurrence cursor.


Bound:

1 ... 256

Result order is preserved.

Duplicate names are valid.

The Lab does not automatically reroll duplicates.


Each Generate Names action:

  1. Creates a Lab-owned standalone UGameInstance.
  2. Creates/resolves a Probability Director subsystem.
  3. Registers/uses the isolated generation context.
  4. Performs the bounded batch.
  5. Tears the context down.

Gameplay streams are not perturbed.


A successful N-Gram name reaches learned natural termination.

If Maximum Generated Characters is reached first:

GenerationBoundReached

is reported.

The partial name is not silently accepted as success.


Weighted Syllable generation follows the selected role structure.

If assembled length exceeds Maximum Generated Characters:

  • Generation fails.
  • No truncation.
  • No hidden retry.

Results show an indexed list.

Example:

1. Ana
2. Ada
3. Ava
4. Ana

Summary may include:

  • Status.
  • Generation Method.
  • Model Source.
  • Purpose.
  • Markov Order where applicable.
  • Requested count.
  • Generated count.
  • Random Mode.
  • Safe Fixed/Keyed metadata.
  • Keyed batch occurrence rule.

Secure output excludes recoverable Secure state.


Name Lab supports:

  • CSV.
  • Markdown.

It intentionally does not export:

  • PNG.
  • SVG.

No blank chart is fabricated.


CSV contains generated-name rows plus safe relevant metadata.

It should remain reconstructible as a textual result list, not as a fake probability graph.


Markdown reports:

  • Model configuration.
  • Random mode.
  • Requested/generated count.
  • Generated names.
  • Safe deterministic metadata where applicable.

Secure generator state is excluded.


Name Lab generation is isolated.

Name Lab generates names in local experiment state and does not use a gameplay Runtime Stream.

For gameplay Stream generation, use the Runtime Name APIs.


Item Limit
Training strings 2,048
Training string length 128 UTF-16 units
Markov states 4,096
Markov transitions 16,384
Markov Order 1–4
Generated characters 1–128
Names to Generate 1–256
Syllable count 1–8

Exceeding a bound returns structured failure.


Name Lab tooltips should explain:

  • Model Source.
  • Name Model Asset.
  • Training Strings.
  • Markov Order.
  • Maximum Generated Characters.
  • Names to Generate.
  • Random Mode.
  • Fixed Seed.
  • Decision Key.
  • Occurrence.
  • Analyze Model.
  • Generate Names.
  • Weighted Syllable Role.
  • Syllable.
  • Weight.
  • Add/Remove Syllable.
  • Minimum/Maximum Syllables.

Tooltips should explain purpose and dependency, not merely restate labels.


Switching method/source preserves unrelated authored values where appropriate.

Dependent controls appear/disappear based on semantic availability.

No hidden conversion occurs between the two generation models.


Common visible failures:

  • Empty model.
  • Invalid training corpus.
  • Invalid Markov Order.
  • State/transition bounds.
  • Invalid syllable entry.
  • Missing role.
  • Weight overflow.
  • Invalid syllable range.
  • Generation length bound.
  • Batch count out of range.
  • Keyed occurrence overflow.
  • Model method mismatch.

The Lab reports failure instead of retrying behind the user’s back.


Inline Training
-> enter strings
-> Analyze Model
-> Fixed Seed
-> Generate Names
-> edit corpus
-> Analyze/Generate again
Model Source = Asset
-> select model
-> Analyze
-> test Fixed
-> test Secure
-> test Keyed
Keyed
-> fixed Decision Key
-> Starting Occurrence = 0
-> Generate
-> repeat
-> compare deterministic batch

Use Fixed or Keyed.

Duplicates are valid outcomes.

Expecting max-length truncation to count as success

Section titled “Expecting max-length truncation to count as success”

It does not.

Treating Lab output as gameplay-stream evidence

Section titled “Treating Lab output as gameplay-stream evidence”

Lab generation is isolated.

Weighted Syllables uses explicit authored units.


Analyze Model
= pure, no RNG
Fixed Seed
= isolated reproducible batch
Secure
= isolated unpredictable batch
Keyed
= explicit DecisionKey/Occurrence batch
Names to Generate
= 1..256
Exports
= CSV + Markdown
PNG/SVG
= intentionally unsupported