Use Case Templates
Sightline includes pre-configured templates optimized for specific use cases. Each template provides tailored filter visibility, data schemas, and UI configurations.
Available Templates
| Template | Directory | Focus |
|---|---|---|
| Aviation Safety | templates/aviation-safety/ | Pilot reports, airspace incidents |
| Military & Security | templates/military-security/ | Critical infrastructure, security |
| Historical Research | templates/historical-research/ | Academic research, pattern analysis |
Using Templates
Quick Start
Copy a template's configuration to your project:
cp templates/aviation-safety/map.config.ts ./map.config.ts
cp templates/aviation-safety/public/data/* ./public/data/Template Structure
Each template includes:
templates/template-name/
├── map.config.ts # Pre-configured settings
├── README.md # Template documentation
└── public/
└── data/
└── sample.json # Sample dataAviation Safety Template
Optimized for pilot reporting organizations and aviation safety analysis.
Key Features
- Detection method filters (radar, ATC, visual)
- Airspace and proximity filters
- Evidence type tracking
- Object identification
Filter Configuration
filterVisibility: {
showQuickFilters: true,
showIncidentType: true,
showHynekClassification: false, // Not relevant for aviation
showValleeClassification: false, // Not relevant for aviation
showExplanationStatus: true,
showDetectionMethods: true, // Critical for aviation
showEvidenceTypes: true,
showInvestigationStatus: false,
showInvestigatingBodies: false,
showObjectShapes: true,
showLocationSensitivity: true, // Airport proximity
showCountry: true,
showSiteType: true, // Airport, airspace
}Relevant Site Types
airport_commercialairport_militaryairspace_restrictedairspace_controlledflight_corridor
Sample Data Fields
{
"id": "aviation-001",
"temporal": {
"date": "2024-03-15",
"time": "14:30:00",
"timezone": "America/New_York"
},
"location": {
"name": "LAX Class B Airspace",
"siteType": "airport_commercial",
"locationSensitivity": "high",
"altitude": {
"value": 25000,
"unit": "feet"
}
},
"sensorEvidence": {
"detectionMethods": ["radar_atc", "visual_pilot", "tcas"],
"evidenceTypes": ["atc_recording", "pilot_report", "flight_data"]
}
}Military & Security Template
Designed for tracking incidents at sensitive locations and critical infrastructure.
Key Features
- Location sensitivity levels
- Investigation tracking
- Evidence documentation
- Response monitoring
Filter Configuration
filterVisibility: {
showQuickFilters: true,
showIncidentType: true,
showHynekClassification: false,
showValleeClassification: false,
showExplanationStatus: true,
showDetectionMethods: true, // Radar tracking
showEvidenceTypes: true,
showInvestigationStatus: true, // Track investigations
showInvestigatingBodies: true, // AARO, etc.
showObjectShapes: true,
showLocationSensitivity: true, // Critical, High, etc.
showCountry: true,
showSiteType: true,
}Location Sensitivity Levels
| Level | Description | Examples |
|---|---|---|
critical | Highest security | Nuclear facilities, C2 centers |
high | Major installations | Major military bases |
moderate | Important facilities | Smaller bases, government buildings |
standard | General locations | Public areas |
Relevant Site Types
military_basenuclear_facilitygovernment_buildingresearch_facilityrestricted_airspace
Historical Research Template
Configured for academic researchers studying patterns and historical cases.
Key Features
- Full classification systems (Hynek, Vallee)
- Investigation history tracking
- Source verification
- Pattern analysis support
Filter Configuration
filterVisibility: {
showQuickFilters: true,
showIncidentType: true,
showHynekClassification: true, // Primary system
showValleeClassification: true, // Complementary system
showExplanationStatus: true,
showDetectionMethods: false,
showEvidenceTypes: true,
showInvestigationStatus: true,
showInvestigatingBodies: true, // Blue Book, GEIPAN, etc.
showObjectShapes: true,
showLocationSensitivity: false, // Less relevant
showCountry: true,
showSiteType: true,
}Hynek Classification System
| Code | Name | Description |
|---|---|---|
nl | Nocturnal Lights | Lights in the night sky |
dd | Daylight Discs | Daytime oval/disc objects |
rv | Radar-Visual | Radar + visual confirmation |
ce1 | Close Encounter 1st Kind | Within 500ft, no interaction |
ce2 | Close Encounter 2nd Kind | Physical effects |
ce3 | Close Encounter 3rd Kind | Entity observed |
Vallee Classification System
| Code | Name | Description |
|---|---|---|
an1-5 | Anomaly Types | Unusual phenomena |
fb1-5 | Fly-by Types | Objects passing by |
ma1-5 | Maneuver Types | Objects maneuvering |
ce1-5 | Close Encounter Types | Close range events |
Creating Custom Templates
1. Create Directory Structure
mkdir -p templates/my-template/public/data2. Create Configuration
// templates/my-template/map.config.ts
import type { MapConfig } from '../../src/core/config';
const config: Partial<MapConfig> = {
branding: {
name: 'My Template',
description: 'Custom template for specific use case',
},
dataSources: [{
id: 'my-data',
name: 'My Data Source',
adapter: 'static',
adapterConfig: { path: '/data/my-data.json' },
enabled: true,
filterVisibility: {
// Configure which filters to show
},
}],
// ... other configuration
};
export default config;3. Add Sample Data
Create public/data/my-data.json with sample incidents following the data specification.
4. Document Your Template
Create a README.md explaining:
- Target use case
- Configuration choices
- Required fields
- Customization options
Switching Between Use Cases
The default configuration includes all templates with a use case toggle:
dataSources: [
{ id: 'aviation', name: 'Aviation Safety', /* ... */ },
{ id: 'military', name: 'Military & Security', /* ... */ },
{ id: 'historical', name: 'Historical Research', /* ... */ },
]Users can switch between use cases via the dropdown in the filter sidebar. Each source has its own filterVisibility settings, so the available filters change based on the selected use case.