Package-level declarations

Types

Link copied to clipboard

Analysis types the comparison analyzer can produce. Each one has its own validation rule against the current selection — see ComparisonSelectionModel.validateForResponse.

Link copied to clipboard
class BatchCompletedComparisonSource(result: RunResult.BatchCompleted, val sourceLabel: String = defaultLabel(result)) : ComparisonDataSourceIfc

Scenario-host adapter that exposes a completed scenario sweep — the RunResult.BatchCompleted surfaced through whichever controller owns lastResult — as a ComparisonDataSourceIfc for the comparison analyzer UI.

Link copied to clipboard

Read-only access to a collection of "experiments" whose per-replication response observations can be pulled for cross-experiment comparison analyses (box plots, multiple- comparison analysis, confidence-interval plots).

Link copied to clipboard

Shared mutable state for the comparison analyzer's experiments-first workflow.

Link copied to clipboard
data class ExperimentRow(val name: String, val modelIdentifier: String, val numReplications: Int, val responses: List<ResponseRow>)

One experiment exposed by a ComparisonDataSourceIfc.

Link copied to clipboard

Test fixture implementation of ComparisonDataSourceIfc backed by an in-memory map. Used by the substrate's own tests and available to any host (Swing, web, CLI, headless) that wants to drive a comparison UI without spinning up a real run.

Link copied to clipboard
class KSLDatabaseComparisonSource(db: KSLDatabase, val sourceLabel: String = defaultLabel(db)) : ComparisonDataSourceIfc

Database-backed adapter exposing the experiments stored in a KSLDatabase as a ComparisonDataSourceIfc — the third member of the comparison-source family alongside InMemoryComparisonSource (test fixture / programmatic use) and BatchCompletedComparisonSource (live scenario-sweep result).

Link copied to clipboard

Distinguishes the three kinds of measurable model elements whose per-replication values are eligible for cross-experiment comparison.

Link copied to clipboard
data class ResponseRow(val name: String, val category: ResponseCategory)

One response / counter exposed by an ExperimentRow.

Link copied to clipboard
data class ValidationResult(val ok: Boolean, val reason: String? = null)

Result of pre-flight validation for a given (selection, analysis) pair. When ok is false, reason carries a short user-facing explanation; the host's Generate affordance disables with this text shown as a tooltip / status line.

Functions

Link copied to clipboard

Experiments in this list that record a response named responseName. Used to drive the "Recorded by N of M" column in the response table and to define the participant set for each render.

Link copied to clipboard

Union of responses across this list of experiments, sorted by name with no duplicates. When two experiments record a response under the same name but different categories (rare; usually indicates a model schema collision), the first occurrence wins — the UI can surface the discrepancy separately if needed.