49 lines
2.5 KiB
Markdown
49 lines
2.5 KiB
Markdown
# VoiceCat status
|
|
|
|
Updated: 2026-09-22
|
|
|
|
## 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.
|
|
Retired implementations and compatibility projects have been removed; this tree contains only
|
|
the supported product and its required native media boundaries.
|
|
|
|
The source-of-truth layout is:
|
|
|
|
- `proto/voicecat.proto` — wire schema.
|
|
- `src/` — protocol, crypto, codec/DSP bindings, server, client core, audio, and CLI.
|
|
- `tests/VoiceCat.Tests/` — managed behavior and integration tests.
|
|
- `clients/windows/` — WinForms application over the managed core.
|
|
- `clients/apple/` — AppKit and UIKit applications over the managed core.
|
|
- `native/media/` and `native/rnnoise/` — required Opus/RNNoise shim and vendored RNNoise.
|
|
- `native/apple/broadcast/` — required ReplayKit upload extension and shared ring producer.
|
|
|
|
The physical-device iOS voice path now supports ReplayKit fallback, stable Apple VPIO voice-chat
|
|
capture using a paced 20 ms handoff, and true built-in stereo microphone capture. Stereo was
|
|
verified on an iPhone 16 Pro Max with a two-channel AVAudioEngine input and distinct left/right
|
|
samples; the managed Apple binding requires native use of its otherwise-unmapped stereo polar
|
|
pattern constant.
|
|
|
|
SQLite schema v4 persists DRED and the channel packet-loss mode. Manual loss remains the default;
|
|
automatic Fast/Balanced/Stable modes measure each sender's authenticated UDP uplink at the server,
|
|
cap the applied Opus hint at 30%, and feed it back over TLS.
|
|
|
|
## 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, automatic packet-loss feedback, 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 extended mono/stereo/voice-chat switching while
|
|
joined, and verify Windows desktop/per-app stereo sharing.
|
|
- Complete Developer ID signing/notarization. The iOS host and ReplayKit extension have been
|
|
distribution-signed and packaged locally; upload the IPA for Apple's server-side validation.
|
|
- Run the published Linux container and a 30-minute-or-longer server soak.
|
|
|
|
## Working rule
|
|
|
|
Keep this file short. It records only current state and open release gates. Git history is the
|
|
implementation diary.
|