/** * SystemScheduler.ts * * System execution scheduler: phase ordering, dependency resolution, * parallel groups, enable/disable, and performance tracking. * * @module ecs */ export type SystemPhase = 'preUpdate' | 'update' | 'postUpdate' | 'fixedUpdate' | 'render'; export interface SystemDef { name: string; phase: SystemPhase; execute: (dt: number) => void; enabled: boolean; priority: number; dependencies: string[]; group: string; lastExecutionTime: number; executionCount: number; } export interface PhaseStats { phase: SystemPhase; systemCount: number; totalTime: number; systems: Array<{ name: string; time: number; }>; } export declare class SystemScheduler { private systems; private executionOrder; private dirty; private fixedTimeStep; private fixedAccumulator; private phaseStats; register(name: string, execute: (dt: number) => void, phase?: SystemPhase, priority?: number, dependencies?: string[], group?: string): void; unregister(name: string): boolean; enable(name: string): void; disable(name: string): void; isEnabled(name: string): boolean; private resolveExecutionOrder; update(dt: number): void; private recordPhaseTime; getSystem(name: string): SystemDef | undefined; getSystemCount(): number; get systemCount(): number; getExecutionOrder(): string[]; getPhaseStats(): Map; getSystemsByPhase(phase: SystemPhase): SystemDef[]; setFixedTimeStep(dt: number): void; getFixedTimeStep(): number; } //# sourceMappingURL=SystemScheduler.d.ts.map