/** * MotionPlausibilityBenchmark.ts * * Benchmark harness for the 5-category PhysicsPlausibilityContract. * Generates deterministic motion clips (seeded PRNG) per category, * simulating both a "contracted" system (100% pass) and three "baseline" * systems (AnimGAN / MotionVAE / MDM-style uncontrolled outputs). * * Modelled after IKLatencyProbe.ts — same seed → same bytes → reproducible. * * @module animation/paper */ import { type MotionCategory, type PlausibilityBatchResult } from './PhysicsPlausibilityContract'; export type BaselineSystem = 'contracted' | 'animgan' | 'motionvae' | 'mdm'; export declare const PAPER_9_CATEGORIES: readonly MotionCategory[]; export declare const PAPER_9_BASELINES: readonly BaselineSystem[]; export interface MotionBenchmarkCell { category: MotionCategory; system: BaselineSystem; clipCount: number; passRate: number; failureRatePct: number; checkMicrosecondsPerClip: number; batchResult: PlausibilityBatchResult; } export interface MotionBenchmarkMatrix { cells: MotionBenchmarkCell[]; clipCount: number; seed: number; totalCheckMs: number; } export interface MotionBenchmarkOptions { clipCount?: number; seed?: number; } /** * Run the full 5-category × 4-system benchmark matrix. * Returns measured pass rates and latency per clip. */ export declare function runMotionPlausibilityBenchmark(options?: MotionBenchmarkOptions): MotionBenchmarkMatrix; /** * Hash the benchmark matrix output to a reproducible Uint8Array. * Used for provenance chain verification in the paper. * * Encodes only pass rates (not timing) — timing is non-deterministic. */ export declare function hashBenchmarkMatrix(matrix: MotionBenchmarkMatrix): Uint8Array; /** Number of bones in the generated clips (for paper reporting). */ export declare const PAPER_9_NUM_BONES = 6; /** Number of frames per clip (for paper reporting). */ export declare const PAPER_9_FRAMES_PER_CLIP = 20; //# sourceMappingURL=MotionPlausibilityBenchmark.d.ts.map