redeisng to match osq

This commit is contained in:
itsrubberduck
2026-04-25 20:52:25 +02:00
parent ab89a65ea0
commit a2f3f32115
2 changed files with 1803 additions and 370 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,19 @@
// A320 SOP Timeline Cold & Dark bis Handoff nach Takeoff
// Quellen: Airbus A320 FCOM/FCTM Standard Procedures + VATSIM/IRL ATC Phraseology
// Hinweis: Vereinfacht für Sim-/VATSIM-Nutzung. Immer aktuelle FCOM/Charts checken.
// Fokus: Flugsimulator-Nutzung (VATSIM, MSFS / X-Plane / Fenix / FlyByWire / ToLiss).
export type Actor = 'pf' | 'pm' | 'atc' | 'pilot' | 'system' | 'cabin'
export interface SopStep {
id: string
actor: Actor
label: string // kurz wird im Timeline-Card oben angezeigt
callout?: string // wörtlicher Funkspruch / Callout
detail?: string // Erläuterung / wo hinschauen
look?: string // Wo der Blick hingeht (für Eyeflow-Hinweis)
label: string // Kurztitel
callout?: string // Wörtlicher Funkspruch / Callout (mit [PLACEHOLDER])
detail?: string // Erklärung was zu tun ist
why?: string // Warum macht man das (Hintergrund / Lerneffekt)
look?: string // Wo schauen / welches Panel
inputKeys?: string[] // Felder im Scratchpad, die hier relevant sind
simNote?: string // Sim-spezifischer Hinweis (z. B. Tastatur-Shortcut, Add-on)
/** Variant-Branches (horizontale Slides), z. B. "External Power" vs "APU" */
variants?: { id: string; title: string; steps: SopStep[] }[]
}
@@ -20,7 +22,7 @@ export interface SopPhase {
id: string
title: string
subtitle?: string
color: string // Tailwind-Farbtoken
accent: 'cyan' | 'sky' | 'indigo' | 'emerald' | 'amber' | 'rose'
steps: SopStep[]
}
@@ -34,35 +36,65 @@ const a320Phases: SopPhase[] = [
{
id: 'cockpit-prep',
title: 'Cockpit Preparation',
subtitle: 'Cold & Dark → Pre-Flight ready',
color: 'cyan',
subtitle: 'Cold & Dark → flugbereit',
accent: 'cyan',
steps: [
{
id: 'safety-exterior',
actor: 'pf',
label: 'Safety Exterior / Receive Aircraft',
detail: 'Gear pins, chocks in place, GPU/APU plan klären.',
look: 'Außenbereich · Fahrwerk · GPU-Status',
label: 'Safety Exterior · Gear Pins / Chocks',
detail: 'Sicherstellen, dass Gear Pins gezogen, Chocks und GPU-Status klar sind.',
why: 'Im Sim oft per Ground-Service-Menü (EFB / FlyByWire Ground Services). Gear Pins müssen vor Pushback raus, sonst Warnungen beim Gear-Up.',
look: 'EFB · Ground Services',
simNote: 'FlyByWire/Fenix EFB → Ground Services → Gear Pins · Wheel Chocks',
},
{
id: 'batteries',
actor: 'pf',
label: 'Batteries → ON',
detail: 'BAT 1 + BAT 2 ON. Voltage check >25.5V.',
detail: 'BAT 1 + BAT 2 ON. Voltage check 25.5 V.',
why: 'Erste Stromversorgung der Bus-Bars. Unter 25.5 V deutet das auf eine schwache Batterie im Sim selten kritisch, IRL Bodencheck nötig.',
look: 'Overhead · ELEC Panel',
},
{
id: 'power-source',
actor: 'pf',
label: 'Strom-Quelle wählen',
detail: 'Entweder External Power (GPU) oder APU.',
why: 'GPU spart APU-Kraftstoff und schont das Triebwerk. Auf Gates mit verfügbarer GPU bevorzugt.',
variants: [
{
id: 'gpu',
title: 'External Power verfügbar',
title: 'External Power (GPU)',
steps: [
{id: 'ext-pwr', actor: 'pf', label: 'EXT PWR → ON', detail: 'AVAIL Light grün, dann ON drücken.'},
{
id: 'ext-pwr',
actor: 'pf',
label: 'EXT PWR → ON',
detail: 'Wenn AVAIL leuchtet (grün), Knopf drücken bis ON.',
why: 'Versorgt alle AC-Busse vom Boden. APU bleibt aus → leiser, sparsamer.',
simNote: 'Im EFB/Ground Services GPU connecten, dann im Cockpit ON.',
},
],
},
{
id: 'apu-only',
title: 'Nur APU',
title: 'APU Start',
steps: [
{id: 'apu-master', actor: 'pf', label: 'APU MASTER → ON, dann START', detail: 'AVAIL nach ~50 s. APU GEN auto.'},
{
id: 'apu-master',
actor: 'pf',
label: 'APU MASTER SW → ON',
detail: 'Anschließend APU START drücken. AVAIL nach ~50 s.',
why: 'APU liefert elektrischen Strom und Bleed Air zum Klimatisieren und für den Engine Start (Crossbleed-Start).',
look: 'Overhead · APU Panel',
},
{
id: 'apu-bleed',
actor: 'pf',
label: 'APU BLEED → ON (sobald AVAIL)',
detail: 'Erlaubt Klimatisierung der Kabine und späteren Engine Start.',
},
],
},
],
@@ -71,54 +103,63 @@ const a320Phases: SopPhase[] = [
id: 'ext-lts',
actor: 'pf',
label: 'NAV & LOGO Lights → ON',
detail: 'Signal nach außen: cockpit besetzt.',
detail: 'Tagsüber NAV ON, nachts zusätzlich LOGO ON.',
why: 'Signal nach außen: Cockpit ist besetzt, Flugzeug "im Dienst". Hilft Bodenpersonal & VATSIM-Controllern beim Visuell-Identifizieren.',
look: 'Overhead · EXT LT',
},
{
id: 'cockpit-prep-flow',
actor: 'pf',
label: 'Cockpit Preparation Flow',
detail: 'Overhead von links oben nach rechts unten: ADIRS NAV (3x), Fuel Pumps ON, Anti-ICE OFF, Probes auto, Cabin Press auto, Air Cond auto.',
look: 'Overhead Panel · Flow',
label: 'Overhead Flow (oben links → unten rechts)',
detail: 'ADIRS 1/2/3 → NAV · Fuel Pumps → ON · Anti-Ice → OFF · Probes → AUTO · Cabin Press → AUTO · Air Cond → AUTO.',
why: 'Standardisierter Eyeflow verhindert vergessene Schalter. ADIRS brauchen ~10 min für volle Alignment, deshalb sehr früh starten.',
look: 'Overhead Panel · von links oben nach rechts unten',
},
{
id: 'fmgs-init',
id: 'fmgs-init-a',
actor: 'pf',
label: 'FMGS · INIT A',
detail: 'CO RTE laden ODER FROM/TO + ALTN, FLT NBR, COST INDEX, CRZ FL setzen.',
look: 'MCDU · INIT A',
label: 'MCDU · INIT A',
detail: 'CO RTE laden ODER FROM/TO setzen, ALTN, FLT NBR, COST INDEX, CRZ FL, TROPO eintragen.',
why: 'INIT A definiert den Flug für das FMGS ohne diese Daten keine Performance- und Treibstoffberechnung.',
look: 'MCDU · INIT-Page',
inputKeys: ['departure', 'destination', 'altn', 'flightNumber', 'costIndex', 'crzFL'],
simNote: 'Bei SimBrief: oben links "INIT REQUEST*" drücken um Wind/Zeiten automatisch zu laden.',
},
{
id: 'fmgs-fpln',
actor: 'pf',
label: 'FMGS · F-PLN',
detail: 'SID, Enroute, STAR/Approach. Discontinuities clearen.',
label: 'MCDU · F-PLN',
detail: 'SID auswählen, Enroute prüfen, STAR/Approach setzen. Discontinuities clearen.',
why: 'Discontinuities = Lücken in der Lateral Navigation. NAV Mode würde dort aussteigen.',
look: 'MCDU · F-PLN',
inputKeys: ['sid', 'route'],
},
{
id: 'fmgs-init-b',
actor: 'pf',
label: 'FMGS · INIT B (Fuel Pred)',
detail: 'ZFW/ZFWCG aus Loadsheet, BLOCK fuel.',
look: 'MCDU · INIT B',
label: 'MCDU · INIT B (Fuel Prediction)',
detail: 'ZFW/ZFWCG aus Loadsheet eintragen, dann BLOCK Fuel.',
why: 'Die FMGS braucht Gewicht & Schwerpunkt für korrekte V-Speeds und Reichweiten-Prognose. INIT B ist nur vor Engine Start zugänglich.',
look: 'MCDU · INIT B (vor Engine Start)',
inputKeys: ['zfw', 'zfwcg', 'blockFuel'],
},
{
id: 'fmgs-perf',
actor: 'pf',
label: 'FMGS · PERF TAKEOFF',
detail: 'V1 / VR / V2, FLEX TEMP, THR RED / ACC ALT, TRANS ALT.',
label: 'MCDU · PERF TAKEOFF',
detail: 'V1 / VR / V2, FLEX TEMP, THR RED / ACC ALT, TRANS ALT setzen.',
why: 'V-Speeds werden vom FMGS aus Gewicht/Config nicht automatisch errechnet kommen aus FlySmart/Loadsheet/SimBrief. THR RED ist die Höhe, an der der Schub von TOGA/FLEX auf CLB zurückgenommen wird.',
look: 'MCDU · PERF · TAKEOFF',
inputKeys: ['v1', 'vr', 'v2', 'flexTemp', 'thrRed', 'accAlt'],
},
{
id: 'atis',
actor: 'pilot',
label: 'ATIS holen (D-ATIS / Voice)',
detail: 'Letter, Wind, Vis, RWY, QNH, Trans Level notieren.',
label: 'ATIS abrufen',
detail: 'Letter, Wind, Vis, RWY, QNH, TRANS LEVEL, Bemerkungen mitschreiben.',
why: 'ATIS-Letter musst du der Clearance-Stelle mitteilen, damit der Controller weiß, dass du die aktuelle Info hast.',
inputKeys: ['atisLetter', 'wind', 'qnh', 'rwy', 'transLevel'],
simNote: 'VATSIM: D-ATIS in vPilot/SwiftLive Tab oder über AFV-Frequenz.',
},
],
},
@@ -126,217 +167,260 @@ const a320Phases: SopPhase[] = [
id: 'clearance',
title: 'Clearance Delivery',
subtitle: 'IFR-Freigabe einholen',
color: 'sky',
accent: 'sky',
steps: [
{
id: 'init-call',
actor: 'pilot',
label: 'Initial Call',
callout: '«[Station] Delivery, [Callsign], stand [XX], request IFR clearance to [DEST], information [ATIS], ready to copy.»',
label: 'Initial Call Delivery',
callout: '[Station] Delivery, [Callsign], stand [STAND], request IFR clearance to [DEST], information [ATIS].',
why: 'Sender-Empfänger-Reihenfolge: Wer wird gerufen → Wer ruft → Position → Anliegen. Standardisiertes ICAO-Format.',
inputKeys: ['callsign', 'stand', 'destination', 'atisLetter'],
},
{
id: 'clearance-rx',
actor: 'atc',
label: 'Clearance erhalten',
callout: '«[Callsign], cleared to [DEST] via [SID], runway [RWY], climb initially [ALT], squawk [SQK].»',
detail: 'CRAFT-Schema mitschreiben.',
label: 'Clearance entgegennehmen (CRAFT)',
callout: '[Callsign], cleared to [DEST] via [SID], runway [RWY], climb initially [INIT_ALT], squawk [SQK].',
detail: 'CRAFT-Schema mitschreiben: Clearance limit · Route · Altitude · Frequency · Transponder.',
why: 'CRAFT ist eine Eselsbrücke: alle 5 Pflicht-Bestandteile einer IFR-Clearance. Wenn etwas fehlt → nachfragen.',
inputKeys: ['sid', 'initialClimb', 'squawk'],
},
{
id: 'readback',
actor: 'pilot',
label: 'Readback',
callout: '«Cleared to [DEST] via [SID], runway [RWY], climb [ALT], squawk [SQK], [Callsign].»',
callout: 'Cleared to [DEST] via [SID], runway [RWY], climb [INIT_ALT], squawk [SQK], [Callsign].',
why: 'Vollständiger Readback ist Pflicht für Clearance-, Runway- und Höhenitems. Fehler hier = häufige Quelle für Loss-of-Separation.',
},
{
id: 'xpdr-set',
actor: 'pf',
label: 'XPDR Code setzen, FCU ALT prüfen',
label: 'XPDR Code & FCU ALT setzen',
detail: 'Squawk in ATC-Panel eintragen, Initial Climb in FCU ALT.',
why: 'Falsche FCU-ALT = Bust nach Takeoff (Zahlen-Dreher!). Doppelt prüfen lassen vom anderen Piloten / Cross-Check.',
look: 'Pedestal · ATC · FCU',
inputKeys: ['squawk', 'initialClimb'],
},
],
},
{
id: 'pushback-start',
title: 'Pushback & Engine Start',
color: 'indigo',
subtitle: 'Triebwerke anlassen, Cabin secure',
accent: 'indigo',
steps: [
{
id: 'before-start-flow',
actor: 'pf',
label: 'Before Start Flow',
detail: 'Windows/Doors closed, Beacon ON, Park Brake set, Thrust Levers IDLE, ENG MODE selector NORM.',
detail: 'Windows/Doors closed · Beacon ON · Park Brake SET · Thrust Levers IDLE · ENG MODE selector NORM.',
why: 'Beacon ON ist das Signal für Bodenpersonal "Triebwerke gleich an" jet blast Gefahr.',
},
{
id: 'request-start',
actor: 'pilot',
label: 'Pushback & Startup anfordern',
callout: '«[Station] Ground, [Callsign], stand [XX], request pushback and startup.»',
callout: '[Station] Ground, [Callsign], stand [STAND], request pushback and startup.',
inputKeys: ['callsign', 'stand'],
simNote: 'Auf VATSIM oft auch nur "Push and Start" manche Controller verlangen vorher Startup, dann Pushback separat.',
},
{
id: 'pushback-clr',
actor: 'atc',
label: 'Push & Start approved',
callout: '«[Callsign], pushback and startup approved, face [direction].»',
callout: '[Callsign], pushback and startup approved, face [DIRECTION].',
why: '"Face" gibt die Endausrichtung des Flugzeugs nach dem Push an (z. B. "facing south") wichtig fürs Bodenpersonal/Tug.',
},
{
id: 'cabin-secure',
actor: 'cabin',
label: 'Cabin secure / Doors closed',
detail: 'PA: «Cabin crew, doors on automatic, cross-check.»',
label: 'Cabin secure / Doors automatic',
detail: 'PA/Callout: «Cabin crew, doors on automatic, cross-check.»',
why: 'Bei "automatic" wird der Notrutsch-Mechanismus aktiviert, damit beim Öffnen im Notfall die Slide ausfährt.',
simNote: 'Im Sim ohne FA optional aber für Realismus (PMDG/Fenix haben FA-Soundsets) sinnvoll.',
},
{
id: 'beacon-on',
actor: 'pf',
label: 'BEACON → ON',
look: 'Overhead · EXT LT',
why: 'Letzte Warnung an Ground: gleich startet ein Triebwerk.',
},
{
id: 'eng-start',
actor: 'pf',
label: 'Engine Start',
detail: 'ENG MODE selector → IGN/START. ENG MASTER 2 → ON, abwarten bis stabil, dann ENG MASTER 1 → ON. N1, EGT, N2, FF überwachen.',
label: 'Engine Start (2 → 1)',
detail: 'ENG MODE → IGN/START · ENG MASTER 2 → ON · abwarten bis stabil · ENG MASTER 1 → ON.',
why: 'ENG 2 zuerst, weil diese hydraulisch das gelbe System & Park Brake versorgt und beim Crossbleed Start aus APU näher dran ist.',
look: 'ECAM ENG · Pedestal',
},
{
id: 'after-start-flow',
actor: 'pf',
label: 'After Start Flow',
detail: 'ENG MODE → NORM, APU BLEED OFF (wenn Pack ON kommt), Anti-ICE wie nötig, Pitch Trim setzen, RUDDER Trim 0, Flaps CONF 1+F oder 2 (perf-abhängig), Spoilers ARM, ECAM Status check.',
detail: 'ENG MODE → NORM · APU BLEED OFF · Anti-ICE wie nötig · Pitch Trim setzen · Rudder Trim 0 · Flaps CONF 1+F oder 2 · Spoilers ARM · ECAM Status.',
why: 'APU Bleed off, sobald Pack-Versorgung über Engines möglich verlängert APU-Lebensdauer und reduziert Lärm.',
inputKeys: ['flapsConfig', 'pitchTrim'],
},
{
id: 'flight-controls',
actor: 'pf',
label: 'Flight Controls Check',
callout: '«Full left … full right … neutral … full forward … full back … neutral.»',
detail: 'PM bestätigt jede Bewegung über ECAM F/CTL Page.',
callout: 'Full left … full right … neutral … full forward … full back … neutral.',
detail: 'PM bestätigt jede Bewegung über ECAM F/CTL-Page.',
why: 'Stellt sicher, dass alle drei Hydrauliksysteme arbeiten und keine FCU/PRIM/SEC-Computer ausgefallen sind.',
look: 'ECAM · F/CTL Page',
},
],
},
{
id: 'taxi',
title: 'Taxi',
color: 'emerald',
subtitle: 'Rollen zur Runway',
accent: 'emerald',
steps: [
{
id: 'request-taxi',
actor: 'pilot',
label: 'Taxi request',
callout: '«[Station] Ground, [Callsign], request taxi.»',
callout: '[Station] Ground, [Callsign], request taxi.',
},
{
id: 'taxi-clr',
actor: 'atc',
label: 'Taxi clearance',
callout: '«[Callsign], taxi to holding point [RWY] via [TWY A, B, C].»',
callout: '[Callsign], taxi to holding point [HOLDING], runway [RWY], via [TAXI_ROUTE].',
detail: 'Taxi-Route auf Chart mitstreichen.',
why: 'Holding Point ist die Position kurz vor der Runway. "Hold short" = nicht überfahren ohne Freigabe.',
inputKeys: ['taxiRoute', 'holdingPoint'],
},
{
id: 'taxi-readback',
actor: 'pilot',
label: 'Readback',
callout: '«Taxi to holding point [RWY] via [TWY], [Callsign].»',
callout: 'Taxi to holding point [HOLDING] runway [RWY] via [TAXI_ROUTE], [Callsign].',
},
{
id: 'taxi-lights',
actor: 'pf',
label: 'NOSE Light → TAXI, Brakes check',
detail: 'PM: «Brakes checked.» max 30 kts gerade, max 10 kts in Kurven.',
label: 'NOSE Light → TAXI · Brakes Check',
detail: 'Beim ersten Anrollen: kurz Bremse antippen. PM: «Brakes checked.»',
why: 'Brake Check früh erkennt verstopfte Bremsleitungen oder fehlerhafte Antiskid besser jetzt als bei 140 kts auf der Bahn.',
look: 'BRK PRESS Indicator',
},
{
id: 'taxi-speed',
actor: 'pf',
label: 'Taxi Speed Management',
detail: 'Geradeaus max ~30 kts, in Kurven max ~10 kts.',
why: 'Höhere Kurvengeschwindigkeit überlastet die Bug-Fahrwerks-Strebe und ist unangenehm für die Kabine.',
},
{
id: 'before-tko-checklist',
actor: 'pm',
label: 'Before Takeoff Checklist (down to the line)',
detail: 'Flaps · Pitch Trim · Flight Controls · ECAM Memo: T.O. NO BLUE.',
label: 'Before Takeoff Checklist (above the line)',
detail: 'Flaps · Pitch Trim · Flight Controls · Briefing · ECAM Memo (T.O. NO BLUE).',
why: '"Above the line" = alles was vor Line-up erledigt sein muss. "Below the line" sind nur Strobes/Cabin Crew kurz vor Takeoff.',
},
{
id: 'takeoff-briefing',
actor: 'pf',
label: 'Takeoff Briefing',
detail: 'Standard: dep RWY [XX], SID [..], engine failure plan, return gates, MSA, weather.',
detail: 'Departure RWY · SID · Engine-Failure-Plan · Return Gates · MSA · Wetter / NOTAMs.',
why: 'Mentale Vorbereitung auf Engine-Failure ist der wichtigste Teil. Bei single-pilot Sim-Flügen sich selbst kurz "vorlesen".',
},
],
},
{
id: 'lineup-tko',
title: 'Line-Up & Takeoff',
color: 'amber',
subtitle: 'Auf die Bahn, Power set',
accent: 'amber',
steps: [
{
id: 'handoff-twr',
actor: 'atc',
label: 'Handoff Tower',
callout: '«[Callsign], contact Tower [FREQ].»',
callout: '[Callsign], contact Tower [TWR_FREQ].',
inputKeys: ['twrFreq'],
},
{
id: 'twr-call',
actor: 'pilot',
label: 'Tower Call',
callout: '«[Station] Tower, [Callsign], holding short [RWY].»',
callout: '[Station] Tower, [Callsign], holding short [RWY].',
why: 'Position-Report beim ersten Call, damit der Controller dich auf seinem Strip / EuroScope wiederfindet.',
},
{
id: 'lineup',
actor: 'atc',
label: 'Line-up clearance',
callout: '«[Callsign], line up runway [RWY] and wait.»',
callout: '[Callsign], line up runway [RWY] and wait.',
why: '"Line up and wait" ist nicht "Cleared for takeoff". Kein Schub setzen!',
},
{
id: 'before-tko-line',
actor: 'pf',
label: 'Below-the-line Items',
detail: 'Cabin Crew advised, Packs/Anti-Ice per perf, T.O. CONFIG TEST gedrückt, Strobes ON, TCAS TA/RA, Landing Lights ON, NOSE Light → T.O.',
label: 'Below-the-line Items (Line-up Flow)',
detail: 'PACKs (perf-abhängig) · T.O. CONFIG TEST · Strobes ON · TCAS TA/RA · Landing Lights ON · NOSE Light → T.O. · Cabin notify.',
callout: 'Cabin: «Cabin crew, takeoff.»',
why: 'T.O. CONFIG TEST simuliert TOGA-Schub und prüft, ob alle Konfigurations-Warnungen ausbleiben würden sicherer als später ein Config Warning beim Roll.',
},
{
id: 'cleared-tko',
actor: 'atc',
label: 'Cleared for Takeoff',
callout: '«[Callsign], wind [..], runway [RWY], cleared for takeoff.»',
callout: '[Callsign], wind [WIND], runway [RWY], cleared for takeoff.',
},
{
id: 'tko-roll',
actor: 'pf',
label: 'Takeoff Roll',
detail: 'Thrust Levers 50 % N1, stabil, dann FLEX/TOGA. PF hand auf Thrust bis V1.',
label: 'Takeoff Roll · Thrust Set',
detail: 'Thrust Levers auf 50 % N1 stabil, dann FLEX/TOGA. Hand auf Thrust bis V1.',
why: 'Stabilisierung bei 50 % stellt sicher, dass beide Triebwerke gleich hochlaufen. Asymmetrie früh erkennen!',
},
{
id: 'thrust-set',
actor: 'pm',
label: 'Callout: «Thrust set»',
callout: '«Thrust set, FMA: MAN FLEX [TEMP] / SRS / RWY.»',
look: 'PFD · FMA',
label: '«Thrust set, FMA checked»',
callout: 'Thrust set, FMA: MAN FLEX [FLEX_TEMP] / SRS / RWY.',
detail: 'FMA-Modes ablesen und ansagen.',
why: 'FMA-Verifikation = "weiß das Flugzeug, was es tun soll?" Modefehler hier ist die häufigste Ursache für Takeoff-Anomalien.',
look: 'PFD · FMA Top-Line',
},
{
id: 'kts-100',
actor: 'pm',
label: '«100 knots»',
callout: '«100 knots.»',
callout: 'PM: 100 knots. — PF: checked.',
detail: 'Speedtape kreuzt 100 kt.',
why: 'Cross-Check der Speed-Anzeige zwischen beiden Seiten. Bei Diskrepanz → Reject Takeoff.',
look: 'PFD · Speed Tape',
detail: 'PF antwortet «checked».',
},
{
id: 'v1',
actor: 'pm',
label: '«V1»',
callout: '«V1.»',
detail: 'PF nimmt Hand vom Thrust Lever.',
callout: 'V1.',
detail: 'PF nimmt die Hand vom Thrust Lever.',
why: 'Ab V1 wird der Takeoff fortgesetzt nicht mehr abbrechen. Hand weg = mentale & physische Bestätigung.',
},
{
id: 'rotate',
actor: 'pm',
label: '«Rotate»',
callout: '«Rotate.»',
detail: 'PF: smooth pitch up zu 12.5° → ca. 15° Initial.',
callout: 'Rotate.',
detail: 'PF: smooth pitch up zu ~12.5°, danach ~15° initial.',
why: 'Zu schnelles Rotieren → Tail Strike. Zu langsam → längerer Rollweg, evtl. Hindernis.',
look: 'PFD · Pitch / Bird',
},
{
id: 'positive-climb',
actor: 'pm',
label: '«Positive climb»',
callout: 'PM: «Positive climb.» — PF: «Gear up.»',
label: '«Positive climb» → «Gear up»',
callout: 'PM: Positive climb. — PF: Gear up.',
why: 'Erst wenn V/S positiv UND Höhenmesser steigt, das Fahrwerk einfahren um bei sofortigem Sink (Windshear) noch Boden-Kontakt zu haben.',
look: 'PFD · V/S, Altitude',
},
],
@@ -344,59 +428,66 @@ const a320Phases: SopPhase[] = [
{
id: 'after-tko',
title: 'After Takeoff & Handoff',
color: 'rose',
subtitle: 'Clean-up, Frequenzwechsel',
accent: 'rose',
steps: [
{
id: 'thr-red',
actor: 'system',
label: 'THR RED ALT erreicht',
detail: 'FMA: CLB. Thrust Levers in CL detent.',
look: 'PFD · FMA',
detail: 'FMA wechselt von SRS zu CLB. Thrust Levers in CL Detent setzen.',
why: 'CL Detent = Auto-Thrust übernimmt. Wenn man FLEX/TOGA stehen lässt, übernimmt A/THR nicht und Triebwerke bleiben am Limit.',
look: 'PFD · FMA / Thrust Levers',
inputKeys: ['thrRed'],
},
{
id: 'acc-alt',
actor: 'system',
label: 'ACC ALT erreicht',
detail: 'Auto-Beschleunigung auf Green-Dot. Flap-Retraction-Schedule beginnt.',
detail: 'Auto-Beschleunigung Richtung Green-Dot. Flap-Retraction-Schedule beginnt.',
why: 'Bis ACC ALT wird mit V2+10 geklettert (Steep Climb für Hindernisse). Danach beschleunigen, weil Flaps belastet sind.',
inputKeys: ['accAlt'],
},
{
id: 'flap-1',
actor: 'pf',
label: '«Flaps 1» bei F-Speed',
callout: 'PF: «Flaps 1.» PM: «Speed checked, flaps 1.»',
callout: 'PF: Flaps 1. PM: Speed checked, flaps 1.',
why: 'F-Speed = Mindestgeschwindigkeit für nächste Stufe. PM verifiziert, dass die Speed wirklich passt Schutz vor Stall.',
},
{
id: 'flap-0',
actor: 'pf',
label: '«Flaps 0» bei S-Speed',
callout: 'PF: «Flaps 0.» PM: «Speed checked, flaps 0.»',
callout: 'PF: Flaps 0. PM: Speed checked, flaps 0.',
},
{
id: 'after-tko-flow',
actor: 'pf',
label: 'After Takeoff Flow',
detail: 'Gear UP & off, Spoilers disarm, Flaps 0, Packs ON falls vorher off, APU MASTER OFF wenn nicht mehr benötigt, Anti-ICE wie nötig, Landing Lts AUTO/OFF (>10.000 ft), NOSE Light OFF, Seatbelts wie nötig.',
detail: 'Gear UP & off · Spoilers disarm · Flaps 0 · Packs ON falls vorher off · APU MASTER OFF · Anti-ICE wie nötig · Landing Lts > FL100 OFF · NOSE Light OFF · Seatbelts wie nötig.',
why: 'Konfiguration zurück auf Reise-Setup. APU aus spart Treibstoff. Landing Lights ab 10.000 ft aus = ICAO-Empfehlung.',
},
{
id: 'after-tko-checklist',
actor: 'pm',
label: 'After Takeoff / Climb Checklist',
detail: 'Landing Gear UP · Flaps 0 · Packs ON · Baro: bei TRANS ALT auf STD.',
why: 'STD = Standard-Druck 1013 hPa. Über TRANS ALT fliegt jeder mit gleichem Referenzdruck → konsistente Flugflächen.',
},
{
id: 'handoff-dep',
actor: 'atc',
label: 'Handoff Departure / Center',
callout: '«[Callsign], contact Departure [FREQ], good day.»',
callout: '[Callsign], contact Departure [DEP_FREQ], good day.',
inputKeys: ['depFreq'],
},
{
id: 'dep-call',
actor: 'pilot',
label: 'Initial Call Departure',
callout: '«[Station] Departure, [Callsign], passing [ALT] for [CLEARED ALT], [SID].»',
callout: '[Station] Departure, [Callsign], passing [PASSING_ALT] for [INIT_ALT], [SID] departure.',
why: '"Passing X for Y" gibt aktuelle und freigegebene Höhe Standard für Initial Calls auf neuer Frequenz.',
},
],
},
@@ -438,7 +529,7 @@ export const scratchFields: ScratchField[] = [
{key: 'transAlt', label: 'Trans Alt', placeholder: '5000', group: 'env'},
{key: 'sid', label: 'SID', placeholder: 'OBOKA1L', group: 'atc'},
{key: 'initialClimb', label: 'Initial Climb', placeholder: '5000 ft', group: 'atc'},
{key: 'initialClimb', label: 'Initial Climb', placeholder: '5000', group: 'atc'},
{key: 'squawk', label: 'Squawk', placeholder: '1000', group: 'atc'},
{key: 'taxiRoute', label: 'Taxi Route', placeholder: 'N, L, M', group: 'atc'},
{key: 'holdingPoint', label: 'Holding Point', placeholder: 'S4', group: 'atc'},
@@ -459,3 +550,51 @@ export const scratchFields: ScratchField[] = [
{key: 'accAlt', label: 'ACC ALT', placeholder: '1500', group: 'perf'},
{key: 'pitchTrim', label: 'Pitch Trim', placeholder: 'DN 1.2', group: 'perf'},
]
/** Glossar Begriffe, die im Text als Pill markiert werden. */
export interface GlossaryEntry {
term: string
short: string // 1-Zeilen-Erklärung
long?: string // detailliertere Erklärung
}
export const glossary: GlossaryEntry[] = [
{term: 'V1', short: 'Decision Speed ab hier wird der Start nicht mehr abgebrochen.'},
{term: 'VR', short: 'Rotation Speed Pitch-Up beginnt bei dieser Geschwindigkeit.'},
{term: 'V2', short: 'Takeoff Safety Speed Mindestgeschwindigkeit nach Engine Failure bis 35 ft.'},
{term: 'THR RED', short: 'Thrust Reduction Altitude ab hier von TOGA/FLEX auf CLB-Schub.', long: 'Schalter-Höhe (AGL) im FMGS, an der die Auto-Thrust den Schub von Takeoff-Power auf Climb-Power zurücknimmt. Standard: 1500 ft AGL.'},
{term: 'ACC ALT', short: 'Acceleration Altitude ab hier beschleunigen & Flaps einfahren.', long: 'Höhe, an der die SRS-Mode (Speed Reference System) endet und das Flugzeug auf Green-Dot beschleunigt. Meist gleich THR RED, in Noise-Abatement-Procedures höher.'},
{term: 'TRANS ALT', short: 'Transition Altitude Wechsel von QNH auf STD (1013) beim Steigen.'},
{term: 'TRANS LEVEL', short: 'Transition Level Wechsel zurück von STD auf QNH beim Sinken.'},
{term: 'FMA', short: 'Flight Mode Annunciator die Modus-Zeile oben am PFD.', long: 'Zeigt aktive und armed Modes für A/THR, Vertikal-Mode, Lateral-Mode, Approach und A/P/FD-Status. Cross-Check ist Pflicht bei jedem Mode-Wechsel.'},
{term: 'FCU', short: 'Flight Control Unit Glareshield-Panel mit Speed/Heading/Altitude-Knöpfen.'},
{term: 'MCDU', short: 'Multipurpose Control Display Unit das FMS-Tastatur-Display zwischen den Piloten.'},
{term: 'FMGS', short: 'Flight Management & Guidance System das "Hirn" der A320: Navigation + Performance + Auto-Pilot-Logik.'},
{term: 'ECAM', short: 'Electronic Centralised Aircraft Monitor Systeme & Warnungen, mittlere Bildschirme.'},
{term: 'SID', short: 'Standard Instrument Departure vorgeschriebene Abflugroute.'},
{term: 'STAR', short: 'Standard Terminal Arrival Route vorgeschriebene Anflugroute.'},
{term: 'CRAFT', short: 'Eselsbrücke: Clearance limit · Route · Altitude · Frequency · Transponder.'},
{term: 'QNH', short: 'Druck auf Meeresspiegelhöhe setzt den Höhenmesser im unteren Bereich.'},
{term: 'STD', short: 'Standard-Druck 1013.25 hPa über TRANS ALT immer eingestellt.'},
{term: 'ZFW', short: 'Zero Fuel Weight Leergewicht inkl. Pax & Cargo, ohne Treibstoff.'},
{term: 'ZFWCG', short: 'Zero Fuel Weight CG Schwerpunkt in % MAC ohne Treibstoff.'},
{term: 'CG', short: 'Center of Gravity Schwerpunkt, beeinflusst Trim & Stabilität.'},
{term: 'MAC', short: 'Mean Aerodynamic Chord Referenz-Profilsehne des Flügels.'},
{term: 'ADIRS', short: 'Air Data / Inertial Reference System Lage- und Geschwindigkeitsdaten.', long: 'Drei redundante Einheiten. Brauchen ~10 Minuten Alignment im NAV-Modus, daher früh anschalten.'},
{term: 'APU', short: 'Auxiliary Power Unit Hilfstriebwerk im Heck für Strom & Bleed Air.'},
{term: 'GPU', short: 'Ground Power Unit externer Strom-Wagen am Gate.'},
{term: 'FLEX', short: 'Flexible Takeoff reduzierter Schub via fiktiver Außentemperatur, schont das Triebwerk.'},
{term: 'TOGA', short: 'Takeoff/Go-Around maximaler Schub.'},
{term: 'CL', short: 'Climb Detent Auto-Thrust-Position der Thrust Lever im Steigflug & Reise.'},
{term: 'SRS', short: 'Speed Reference System Pitch-Mode beim Takeoff/Go-Around, hält V2+10.'},
{term: 'PF', short: 'Pilot Flying steuert das Flugzeug aktiv.'},
{term: 'PM', short: 'Pilot Monitoring überwacht, callouts, Funk, Checkliste.'},
{term: 'TCAS', short: 'Traffic Collision Avoidance System Verkehrswarnsystem.'},
{term: 'TA/RA', short: 'Traffic Advisory / Resolution Advisory TCAS-Warnstufen.'},
{term: 'FL', short: 'Flight Level Höhe in 100 ft auf STD (z. B. FL360 = 36.000 ft auf 1013 hPa).'},
{term: 'AGL', short: 'Above Ground Level Höhe über Grund.'},
{term: 'MSA', short: 'Minimum Safe Altitude Sicherheitshöhe, garantiert Hindernisfreiheit.'},
{term: 'NOTAM', short: 'Notice to Airmen aktuelle Hinweise (geschlossene Bahnen, etc.).'},
{term: 'ATIS', short: 'Automatic Terminal Information Service aktuelle Wetter-/Bahn-/QNH-Info per Funk.'},
{term: 'F-PLN', short: 'Flight Plan Page der MCDU Lateral Route mit Wegpunkten.'},
]