Files
Portfolio/scripts/lib/bundle-budgets.d.mts

33 lines
2.0 KiB
TypeScript

export const PERFORMANCE_BUDGETS: Readonly<Record<string, number>>;
export function normalizeDetectedMediaType(mediaType: string | null | undefined): string | null;
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' | 'soundtrack-audio',
): { 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;
};