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): stringts
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.