# Design System ## Core components ### AppShell Global layout with left navigation, top project context bar, and main workspace area. ### MapPanel MapLibre-powered viewport with layer controls and inspection tools. ### InspectorPanel Right-side contextual panel showing metadata, selected features, analysis settings, and results. ### DatasetTable List of datasets with type, source, status, CRS, bounds, created date, and actions. ### AnalysisRunCard Displays an analysis run status, progress, parameters, and outputs. ### LayerTree Allows toggling, opacity changes, and layer ordering. ### MetricCard Shows one calculated metric with unit and provenance. ### QualityMetricCard Shows precision, recall, F1, IoU, false positives, and false negatives. ### EmptyState Every page must have a useful empty state with a next action. ## Required states Every interactive component should handle: - idle, - loading, - success, - empty, - error. ## Forbidden patterns - Hidden mock-only states. - Buttons without implemented actions. - Tables without empty state. - Map overlays without legend.