Skip to content

configureDemoWalk

ts
function configureDemoWalk(partial: DemoWalkConfig): void
function getDemoWalkConfig(): ResolvedDemoWalkConfig
function resetDemoWalkConfig(): void
function resolveDemoPacing(
  pacing?: DemoPacingConfig,
  options?: { video?: boolean },
): ResolvedDemoPacing
function personaStyle(persona: string): DemoPersonaStyle
function personaLabel(persona: string): string
ts
type DemoWalkConfig = {
  personas?: Record<string, DemoPersonaStyle>;
  layout?: DemoWalkLayout;
  artifactsDir?: string;
  startPath?: string;
  pacing?: DemoPacingConfig;
};

type DemoPacingConfig = {
  pace?: 'tight' | 'normal' | 'slow';
  chapterMs?: number;
  pulseMs?: number;
  afterClickMs?: number;
};

Defaults: empty personas, empty layout, empty pacing (pace: 'normal' when resolved), artifactsDir = /opt/cursor/artifacts (DEFAULT_ARTIFACTS_DIR), startPath = /.

Pacing is three teaching beats. pace scales them (tight 0.75, normal 1, slow 1.4). Explicit chapterMs / pulseMs / afterClickMs win. After-click default is 500ms on video and 700ms on headed stills. Per-call overrides: demoFocus(..., { chapterMs }), demoClick / fillField / fillShown / demoClickAndWaitUrl{ pulseMs, afterClickMs }.

personaStyle returns FALLBACK_PERSONA_STYLE when the id is unknown.

Released under the MIT License.