Commit Graph

53 Commits

Author SHA1 Message Date
itsrubberduck
f742722e9c Unify bridge auth header and add live telemetry panel 2026-02-15 16:04:07 +01:00
itsrubberduck
346579676e 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
acb79cdb2b 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
af2eed2d6e dont log users id on transmission 2026-02-13 18:44:34 +01:00
itsrubberduck
a5272149c6 add todo for najan 2025-10-19 21:03:52 +02:00
Remi
1dd78b95b1 Add bidirectional airport geocode and name-aware taxi routing 2025-10-19 19:17:18 +02:00
Remi
0febe45862 Remove explicit type hints from airport geocode lookup 2025-10-19 19:07:23 +02:00
Remi
ef603bda13 Infer airport geocode types from query text 2025-10-19 19:00:32 +02:00
Remi
f4beba1b25 Add airport geocode endpoint 2025-10-19 18:56:48 +02:00
Remi
20341aa06b Refine taxiway collapse and radius default 2025-10-18 21:47:54 +02:00
Remi
0c3605bc6c Adjust taxi route collapse rules 2025-10-18 21:47:54 +02:00
Remi
d753f0380a Preserve raw taxi route names 2025-10-18 21:47:53 +02:00
itsrubberduck
651a41106f merge 2025-10-12 15:42:18 +02:00
itsrubberduck
8c5edf2361 move data post endpoint 2025-09-24 15:54:40 +02:00
Remi
b756bf2ea6 Point bridge download to GitHub 2025-09-24 00:01:00 +02:00
Remi
7f2585c211 Improve flow activation handling and expose active nodes 2025-09-23 23:12:02 +02:00
Remi
3c12f6d836 feat: allow manual unlocks in learn missions 2025-09-22 07:40:15 +02:00
Remi
fbec5c4830 Add session timeline logging and admin sessions view 2025-09-21 23:08:10 +02:00
Remi
6c9f467b94 Enable flow-aware decision routing 2025-09-21 21:16:33 +02:00
itsrubberduck
9148607bfc test 2025-09-21 17:32:56 +02:00
itsrubberduck
966ed6340f improve latency time 2025-09-20 16:21:59 +02:00
najajan
f43230ee30 get route 2025-09-20 15:55:25 +02:00
najajan
0b50e003d5 first try with graph 2025-09-20 15:47:22 +02:00
najajan
6fe19c0ccb fix taxiroute nearest taxiway 2025-09-20 15:41:03 +02:00
Remi
d6c87d3378 Enhance admin transmissions with detailed LLM and TTS context 2025-09-20 12:42:21 +02:00
itsrubberduck
c39cbc2f3c document call example for taxiroute 2025-09-20 12:41:33 +02:00
itsrubberduck
2eae4e3aa6 add taxi route endpoint 2025-09-20 11:56:17 +02:00
Remi
440aef2f62 Fix remaining German comment 2025-09-20 09:46:34 +02:00
Remi
103fdd6bbc feat: improve learn experience 2025-09-19 23:01:39 +02:00
Remi
a667bd3d3a Translate learn page and add audio speed control 2025-09-18 23:57:39 +02:00
Remi
43f2f42238 Add waitlist admin view and log OpenAI decision traces 2025-09-18 23:30:56 +02:00
Remi
6dbfe07d2b Persist learn progress per user 2025-09-18 23:30:55 +02:00
Remi
8020a4a285 Refine ATC decision routing and ATIS handling 2025-09-18 19:41:32 +02:00
Remi
03b86ae637 Add ATIS quick actions and airport frequency data 2025-09-18 18:16:40 +02:00
Remi
7a44d67844 Harden runtime config and input validation 2025-09-18 14:03:25 +02:00
itsrubberduck
0ae44bf89a resolve merge conflict 2025-09-16 17:44:29 +02:00
Remi
19f253f53e Implement authentication, waitlist, and logging upgrades 2025-09-16 17:28:34 +02:00
itsrubberduck
4f1257863c feat(api): extend ATC TTS endpoint with flexible output formats & Speaches support
- say.post.ts:
  - added AudioFmt type, format helpers (mime/ext), Speaches TTS integration
  - routing: Speaches > Piper > OpenAI fallback
  - supports dynamic formats (, ===============================================================================
flac - Command-line FLAC encoder/decoder version 1.5.0
Copyright (C) 2000-2009  Josh Coalson
Copyright (C) 2011-2025  Xiph.Org Foundation

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
===============================================================================

This is the short help; for all options use 'flac --help'; for more explanation
and examples please consult the manual. This manual is often distributed
alongside the program as a man page or an HTML file. It can also be found
online at https://xiph.org/flac/documentation_tools_flac.html

To encode:
  flac [-#] [INPUTFILE [...]]

  -# is -0 (fastest compression) to -8 (highest compression); -5 is the default

To decode:
  flac -d [INPUTFILE [...]]

To test:
  flac -t [INPUTFILE [...]], , ) or smallest
  - uses VOICE_ID and SPEACHES_BASE_URL from ENV
  - response returns correct mime, extension & base64
  - meta extended with modelUsed and format
  - ports & defaults configurable via ENV
2025-09-16 16:42:01 +02:00
itsrubberduck
a7eebf0baf refactor: update OpenAI TTS integration and cleanup imports
- index.vue: comment out cockpit simulator image
- learn.vue: remove unused imports (useRadioTTS, learnModules)
- atc/say.post.ts & utils/normalize.ts: rename openaiOld → normalize, adjust TTS calls, skip ensureDir/writeFile
- communicationsEngine.ts: fix atcDecisionTree import path
2025-09-16 16:14:12 +02:00
Remi
8abd011514 Refine pilot monitoring communication flow 2025-09-16 15:48:00 +02:00
itsrubberduck
c8734db25f get rid of ptt and decide difference and unite into one endpoint 2025-09-16 13:39:46 +02:00
itsrubberduck
f72d5b22b8 new version of pm using decision tree 2025-09-16 12:23:32 +02:00
itsrubberduck
01c93fe4db remove writefile 2025-09-15 23:09:05 +02:00
itsrubberduck
d4ca549747 add atc styled response to readbacks 2025-09-15 23:08:08 +02:00
itsrubberduck
2a446f8a61 USE_PIPER 2025-09-15 22:43:07 +02:00
itsrubberduck
ee90ebfe54 sehr schlechte erste version vom p 2025-09-15 20:04:04 +02:00
itsrubberduck
2db83e64a6 communcations verbessern 2025-09-15 19:34:42 +02:00
itsrubberduck
2ad2f8401f readback ptt geht 2025-09-15 12:45:24 +02:00
itsrubberduck
27e0507bbd tts tut jetz 2025-09-15 11:58:11 +02:00
itsrubberduck
d4ce409641 claude änderungen 2025-09-15 11:53:50 +02:00