analysisFolder

fun analysisFolder(analysisName: String): String(source)

Filesystem-segment-safe form of analysisName for the single-app layout. Differs from ksl.app.config.sanitizeAnalysisName in three ways:

  1. Preserves dots. Single-app users routinely embed version-like or path-like tokens in their analysis names (baseline.v2, mm1.queue-study); the dot character is filesystem-safe on every target OS and we keep it intact.

  2. No length truncation. Single-app folder names sit directly under the active workspace (no per-app prefix); users who type a long analysis name expect to see it on disk verbatim.

  3. No empty-input fallback. Returns an empty string when the input is empty; callers (appWorkspaceDir in particular) handle the fallback semantically.

Idempotent on already-safe input. Any character outside [A-Za-z0-9._-] is replaced with _.