React 19 + TypeScript client-side app for creative agency staffing projections, powered by Google Gemini for AI scope analysis. Includes asset catalog, staffing routes, three-tab workflow (scoping, configurator, squad projection), scenario management, and CSV/PDF export. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
973 B
TypeScript
48 lines
973 B
TypeScript
|
|
export interface Asset {
|
|
uniques: string; // Unique identifier: "Asset101 - Brand Communication Idea (BCI) - Simple"
|
|
catalogId: string;
|
|
category: string;
|
|
subCategory: string;
|
|
assetName: string;
|
|
complexityLevel: string;
|
|
description: string;
|
|
complexityDescription: string;
|
|
studioCaveats: string;
|
|
isMaster: boolean;
|
|
}
|
|
|
|
export interface RoleHours {
|
|
roleTitle: string;
|
|
discipline: string;
|
|
hours: number;
|
|
}
|
|
|
|
export interface SelectedAsset extends Asset {
|
|
volume: number;
|
|
}
|
|
|
|
export interface RoleProjection {
|
|
discipline: string;
|
|
roleTitle: string;
|
|
totalHours: number;
|
|
calculatedFte: number;
|
|
manualOverride?: number;
|
|
}
|
|
|
|
export interface ManualStaff {
|
|
discipline: string;
|
|
roleTitle: string;
|
|
quantity: number;
|
|
}
|
|
|
|
export interface Scenario {
|
|
id: string;
|
|
name: string;
|
|
selectedAssets: SelectedAsset[];
|
|
overrides: Record<string, number>;
|
|
manualStaff: ManualStaff[];
|
|
totalFte: number;
|
|
totalHours: number;
|
|
timestamp: number;
|
|
}
|