Files
voice-cat/PROGRESS.md
T
Talon dd811a0bb8
.NET port / test (macos-latest) (push) Canceled after 0s
.NET port / test (ubuntu-24.04) (push) Canceled after 0s
.NET port / test (windows-latest) (push) Canceled after 0s
.NET port / apple-client (push) Canceled after 0s
Fix audio clock drift and adaptive jitter buffering
2026-09-20 16:26:03 +02:00

2.0 KiB

VoiceCat status

Updated: 2026-09-19

Current state

VoiceCat's supported implementation is .NET 10. The managed protocol, crypto, TLS, server, CLI, client state, audio engine, Windows client, macOS client, and iOS client are implemented. The previous C++ core/server/CLI and Swift applications are retired migration sources and may be removed without preserving cross-generation interoperability.

The supported source-of-truth layout is:

  • proto/voicecat.proto — wire schema.
  • dotnet/src/ — protocol, crypto, codec/DSP bindings, server, client core, audio, and CLI.
  • clients/windows/ — WinForms application over the managed core.
  • clients/apple/dotnet/ — AppKit and UIKit applications over the managed core.
  • native/media/ and native/rnnoise/ — required Opus/RNNoise C shim and vendored RNNoise.
  • native/apple/broadcast/ — required ReplayKit upload extension and shared ring producer.

Release gates

  • Run real multi-person calls on Windows, macOS, and physical iOS hardware, including adaptive 20/40/60 ms buffering, duration-aware DRED/FEC, and mismatched input/output endpoints.
  • Complete NVDA and VoiceOver navigation/announcement passes.
  • Exercise iOS background/lock, interruption, Bluetooth, route-change, ReplayKit, and iOS 27 ScreenCaptureKit paths on devices.
  • Complete Developer ID signing/notarization and iOS distribution signing.
  • Run the published Linux container and a 30-minute-or-longer server soak.

Cleanup in progress

  • Delete the retired C++ implementation and old Swift applications after retained assets and build inputs are detached from their trees.
  • Move the Windows compatibility model types out of VoiceCat.Interop, then delete that old P/Invoke project and its tests.
  • Rewrite or remove historical design documents that still describe the retired architecture.

Working rule

Keep this file short. It records only current state, open release gates, and the immediate cleanup queue. Git history is the implementation diary.