from typing import Dict, TypedDict class CategoryConfig(TypedDict): name: str description: str style_guide: str conventions: list[str] common_elements: list[str] CATEGORY_CONFIGS: Dict[str, CategoryConfig] = { "mechanical": { "name": "Mechanical Engineering", "description": "Focuses on machine components, mechanisms, and mechanical systems design", "style_guide": "Use isometric views for 3D components. Include detailed cross-sections for complex parts.", "conventions": [ "Center lines for symmetric parts", "Hidden lines for internal features", "Section views for internal details", "Dimensioning with tolerances" ], "common_elements": [ "Gears and transmission systems", "Bearings and shafts", "Fasteners and joints", "Hydraulic/pneumatic components" ] }, "structural": { "name": "Structural Engineering", "description": "Focuses on building structures, load-bearing elements, and structural analysis", "style_guide": "Use clear section markers. Include detailed connection points.", "conventions": [ "Grid lines and axes", "Member sizing annotations", "Connection details", "Load indicators" ], "common_elements": [ "Beams and columns", "Foundation details", "Structural connections", "Reinforcement details" ] }, "civil": { "name": "Civil Engineering", "description": "Focuses on infrastructure, site plans, and civil structures", "style_guide": "Use plan views with clear elevation markers. Include site context.", "conventions": [ "Site orientation", "Elevation markers", "Drainage indicators", "Material specifications" ], "common_elements": [ "Road sections", "Drainage systems", "Site grading", "Utilities layout" ] }, "architectural": { "name": "Architectural Engineering", "description": "Focuses on building designs, spatial layouts, and architectural elements", "style_guide": "Use multiple views (plan, elevation, section). Include material patterns.", "conventions": [ "Room labels", "Door/window schedules", "Material hatching", "Dimensional guidelines" ], "common_elements": [ "Floor plans", "Elevations", "Building sections", "Detail drawings" ] }, "electrical": { "name": "Electrical Engineering", "description": "Focuses on electrical systems, circuits, and power distribution", "style_guide": "Use standard electrical symbols. Include system block diagrams.", "conventions": [ "Circuit symbols", "Wire numbering", "Component labels", "Power ratings" ], "common_elements": [ "Circuit diagrams", "Wiring layouts", "Panel schedules", "Single-line diagrams" ] }, "aerospace": { "name": "Aerospace Engineering", "description": "Focuses on aircraft, spacecraft, and aerospace systems", "style_guide": "Use multiple projection views. Include aerodynamic profiles.", "conventions": [ "Station numbering", "Flow indicators", "System interfaces", "Zoning diagrams" ], "common_elements": [ "Airframe structures", "Propulsion systems", "Control surfaces", "System integration" ] } }