32 lines
1.9 KiB
TypeScript
32 lines
1.9 KiB
TypeScript
export const PERFORMANCE_BUDGETS: Readonly<Record<string, number>>;
|
|
export function resolveBudgetGateMode(options: {
|
|
transferOnly: boolean;
|
|
runtimeTracePath: string | null;
|
|
}): { kind: 'transfer-only' } | { kind: 'full'; runtimeTracePath: string };
|
|
export function classifyArtifact(path: string, source?: string): string;
|
|
export function evaluateBudgetTotals(totals: Readonly<Record<string, number>>): {
|
|
violations: Array<{ budget: string; actual: number; threshold: number }>;
|
|
};
|
|
export function evaluateMediaAssetBudget(
|
|
asset: Readonly<Record<string, unknown>>,
|
|
probe: Readonly<Record<string, unknown>> | null,
|
|
transferBytes: number,
|
|
assetClass?: 'chart' | 'project-still',
|
|
): { violations: Array<{ budget: string; actual: number; threshold: number; id?: string }> };
|
|
export function evaluateRuntimeBudgetEvidence(evidence: Readonly<Record<string, unknown>>): {
|
|
tiers: Array<{ tier: string; textureBytes: number; geometryBytes: number; renderTargetBytes: number; runtimeAllowanceBytes: number; totalBytes: number }>;
|
|
violations: Array<{ budget: string; actual: number; threshold: number; id?: string }>;
|
|
};
|
|
export function evaluateRuntimeTraceBudgetEvidence(evidence: Readonly<Record<string, unknown>>): {
|
|
tier: { tier: string; textureBytes: number; geometryBytes: number; renderTargetBytes: number; runtimeAllowanceBytes: number; totalBytes: number };
|
|
violations: Array<{ budget: string; actual: number; threshold: number; id?: string }>;
|
|
};
|
|
export function validateRuntimeBudgetTraceReport(report: Readonly<Record<string, unknown>>): {
|
|
tier: { tier: string; textureBytes: number; geometryBytes: number; renderTargetBytes: number; runtimeAllowanceBytes: number; totalBytes: number };
|
|
violations: Array<{ budget: string; actual: number; threshold: number; id?: string }>;
|
|
};
|
|
export function calculatePeakRequestConcurrency(entries: readonly Readonly<Record<string, unknown>>[]): {
|
|
imageScene: number;
|
|
video: number;
|
|
};
|