Commit Graph

262 Commits

Author SHA1 Message Date
itsrubberduck
d3e6787836 first version looks ok 2026-04-25 20:29:09 +02:00
itsrubberduck
125dca28c5 fix: refine classroom tts popups 2026-04-23 10:20:06 +02:00
itsrubberduck
5a09f3820e feat: warn when classroom speech server is unavailable 2026-04-23 09:21:23 +02:00
itsrubberduck
837c1ef623 feat: update classroom feedback round 2 content 2026-02-27 13:03:04 +01:00
itsrubberduck
46c39fe40b feat(flightlab): add moving cloud field for speed heading and altitude cues 2026-02-21 00:13:47 +01:00
itsrubberduck
5dae46cea5 feat(learn-pfd): add pitch-based speed hold step and target speed zones 2026-02-21 00:08:16 +01:00
itsrubberduck
63babb3788 feat(flightlab): add custom airplane glb asset 2026-02-21 00:01:01 +01:00
itsrubberduck
cee840b52e einfache verison 2026-02-20 23:47:48 +01:00
itsrubberduck
6cf5a8f39e feat(types): add LearnPfdPhase, PFD element types, and stick-input WS event
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 18:29:01 +01:00
itsrubberduck
6dab26403c chore: add three.js dependency for 3D aircraft model
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 18:28:32 +01:00
itsrubberduck
7862f1ffd4 Bridge dome light mode mapping and flightlab seat belt flow 2026-02-18 22:43:56 +01:00
itsrubberduck
36ad4677dc add the lidl dome light temporarily 2026-02-18 21:49:03 +01:00
itsrubberduck
6b96b295e1 change default settings 2026-02-18 18:05:12 +01:00
itsrubberduck
ea9cc476bb besser error message 2026-02-17 19:10:50 +01:00
itsrubberduck
db7b147e9c test: expand coverage for core backend features 2026-02-17 18:36:13 +01:00
itsrubberduck
d35930565e smoketests 2026-02-17 18:26:20 +01:00
itsrubberduck
bf4ce3abdf typescript 2026-02-17 18:19:55 +01:00
itsrubberduck
4a01593612 fix typescript errors and update dependencies 2026-02-17 18:13:04 +01:00
itsrubberduck
25e4f77ca3 add server log 2026-02-17 15:31:32 +01:00
itsrubberduck
c673d52811 Fix bridge connect UI states for unauthenticated users 2026-02-16 17:32:13 +01:00
itsrubberduck
33b2511fd4 Redesign bridge connect flow and simplify linking UX 2026-02-16 17:25:53 +01:00
itsrubberduck
8bf2638a9a feat(bridge): add unlink flow for linked tokens 2026-02-16 16:39:18 +01:00
itsrubberduck
fec1b90f4c fix: add CORS middleware for bridge endpoints 2026-02-16 16:21:30 +01:00
itsrubberduck
562ad236a2 use 6 digit codes for bridge 2026-02-16 15:47:12 +01:00
itsrubberduck
f271943684 Fix bridge telemetry boolean coercion for auto-advance conditions
SimConnect sends boolean fields (on_ground, parking_brake, etc.) as 0/1
numbers. The condition evaluator uses strict equality (===), so
0 === false was returning false even when the condition was semantically
met. Cast boolean telemetry fields with !! to ensure proper type matching.
Also reduce solo-mode telemetry polling from 500ms to 2000ms.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:26:50 +01:00
itsrubberduck
d09221d8e3 Connect bridge telemetry to FlightLab with auto-advance triggers
Map raw bridge fields (ias_kt, on_ground, etc.) to FlightLabTelemetryState
format, add direct telemetry polling endpoint for solo mode, and show
sim condition panel in sidebar regardless of auto-advance toggle state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:16:42 +01:00
itsrubberduck
ae0f0b0f86 Unify bridge auth header and add live telemetry panel 2026-02-15 16:04:07 +01:00
itsrubberduck
57fc0e3150 Fix local sharp setup for Nuxt image processing 2026-02-15 15:47:06 +01:00
itsrubberduck
237e4d53ed Unify bridge connect login flow with explicit login button 2026-02-15 15:34:30 +01:00
itsrubberduck
46f95baf9e fix(classroom): audio speed slider now actually changes playback speed with pitch correction
- Fix client: playbackRate was set to 1 for non-native-speed providers (Speaches/Piper),
  making the speed slider ineffective in the main Pizzicato audio path
- Fix server: pass speed parameter to Speaches TTS API
- Add pitch-preserving playback via MediaElementSourceNode when rate != 1,
  routing through the same Web Audio effects chain (radio filters, distortion, etc.)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:01:02 +01:00
itsrubberduck
56bd770a13 feat(classroom): integrate user feedback — audio speed, METAR TTS, phonetics, UI fixes
- Lower default audio speed to 0.85x, extend slider range to 0.5-1.3x
- Add METAR normalization for intelligible TTS (wind, vis, clouds, temp, QNH)
- Expand SID/STAR suffix regex to handle spaces (SUGOL 2S)
- Add approach suffix phonetic expansion (ILS 08R Y → Yankee)
- Fix "Soll:" → "Expected:" in readback feedback
- Accept numeric values for pushback delay field
- Add news article documenting the changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 14:21:35 +01:00
itsrubberduck
0bd506a8ed Add classroom feedback integration design doc
Documents all user feedback issues and planned fixes for audio speed,
METAR normalization, phonetics, and UI text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 14:06:44 +01:00
itsrubberduck
52734e8d8b feat(flightlab): sidebar, progress bars, skip speech, SimBridge telemetry & auth
- Add collapsible sidebar with phase stepper (jump between phases)
- Add SimBridge conditions panel in sidebar (live values, progress bars, targets)
- Add global progress bar (top edge, glowing) + phase-local TTS progress bar
- Add skip button to skip TTS speech while ATC is speaking
- Add skipSpeech() to audio composable (stops current Pizzicato sound)
- Wire up bridge data.post.ts with user auth (JWT) + example payload
- Add server-side telemetry store with pub/sub for Bridge→WS relay
- Extend WS handler with subscribe-telemetry message + userId tracking
- Extend sync composable with subscribeTelemetry() + onTelemetry() callback
- Add require-auth middleware to all flightlab pages
- Fix instructor station ECONNREFUSED via import.meta.client guard
- Add animations: phase transitions, button lists, fade-scale, check-pop, pulse

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 10:14:33 +01:00
itsrubberduck
d4190c9d95 dont log users id on transmission 2026-02-13 18:44:34 +01:00
itsrubberduck
57f4303af0 feat(flightlab): add audio directory with README for cockpit sound effects
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:49:15 +01:00
itsrubberduck
37dbfc17e9 feat(flightlab): add WebSocket handler for instructor-participant session sync
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:45:18 +01:00
itsrubberduck
c6e7eb396f feat(flightlab): add type definitions for FlightLab scenario engine
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:20:26 +01:00
itsrubberduck
3af04ad234 chore: add .worktrees to gitignore 2026-02-13 14:18:29 +01:00
itsrubberduck
cabdc8db6d fix pm 2026-02-13 08:50:02 +01:00
itsrubberduck
76a9e05563 add todo for najan 2025-10-19 21:03:52 +02:00
Remi
c3d6a116ac Add bidirectional airport geocode and name-aware taxi routing 2025-10-19 19:17:18 +02:00
Remi
c821ef34b3 Remove explicit type hints from airport geocode lookup 2025-10-19 19:07:23 +02:00
Remi
4d44b96665 Infer airport geocode types from query text 2025-10-19 19:00:32 +02:00
Remi
ba39b4357a Add airport geocode endpoint 2025-10-19 18:56:48 +02:00
itsrubberduck
3c6db660b6 Merge branch 'codex/fix-readback-field-validation-issue' 2025-10-19 16:48:41 +02:00
itsrubberduck
a1cdbd667c change footer linsk 2025-10-19 16:48:33 +02:00
Remi
713f342814 Tighten readback matching and add classroom home link 2025-10-19 16:12:52 +02:00
itsrubberduck
f23bc0a025 Merge branch 'codex/analyze-taxi-route-api-response' 2025-10-18 21:50:45 +02:00
Remi
363faa6149 Refine taxiway collapse and radius default 2025-10-18 21:47:54 +02:00
Remi
1e7748a60e Adjust taxi route collapse rules 2025-10-18 21:47:54 +02:00