feat: promote linux native audio path

This commit is contained in:
Edison Jwa
2026-05-25 17:42:06 +09:00
parent c19de3a370
commit a2d686d9d0
73 changed files with 26156 additions and 467 deletions
+35
View File
@@ -0,0 +1,35 @@
# TS3 Manual Research Spike
Chanora proof-of-concept. **Not product code.**
## Purpose
Prove that `docs/ts3_development_manual_en_v6.md` was read and reduced into the
specific protocol guidance needed for the TeamSpeak research spikes in this
repository.
## What it covers
1. The file-transfer bootstrap flow: `ftinitdownload` / `ftinitupload` plus the
second TCP connection for raw bytes.
2. The client-variable surfaces relevant to user inspection: stable UID,
DBID, nickname, version, platform, avatar, and related profile fields.
3. Identity import/export and security-level concepts needed to parse and reuse
TeamSpeak identity exports.
4. The mapping from those manual sections to the executable PoCs under `poc/`.
## Manual sections used
- Section 9: variable parameters / client fields
- Section 12 and later references to `client_unique_identifier`
- Section 30: file transfer protocol
- Section 32: identity and security level
## Output
The verification record documents the extracted conclusions and which runnable
PoC proves each one.
## Verification
See `VERIFICATION.md`.
+60
View File
@@ -0,0 +1,60 @@
# Verification record — `ts3-manual-research`
## Result
PASS. The TeamSpeak development manual at
`docs/ts3_development_manual_en_v6.md` was read and the relevant protocol
guidance was extracted into concrete conclusions that were then exercised by the
executable TeamSpeak PoCs in `poc/`.
## Source document
- `docs/ts3_development_manual_en_v6.md`
## Key extracted findings
### 1. File download path
The manual states that TeamSpeak file transfer is a two-phase flow:
1. send `ftinitdownload` on the control channel;
2. receive transfer token, host, and port;
3. open a second TCP connection and exchange raw bytes.
This directly informed `poc/tsclientlib-filetransfer-spike`.
### 2. User-profile variable surfaces
The manual identifies the client fields and lookup surfaces relevant to this
task:
- `client_unique_identifier`
- `client_database_id`
- `client_nickname`
- `client_version`
- `client_platform`
- avatar-related fields
This directly informed `poc/tsclientlib-query-spike`.
### 3. Identity import/export compatibility
The manual describes TeamSpeak identity material as keypair + counter/security
data and explicitly recommends keeping import/export compatible with the
official client format where possible.
This directly informed `poc/tsidentity-import-spike`.
## Cross-check against runnable PoCs
| Manual finding | Runnable PoC | Verification status |
|---|---|---|
| `ftinitdownload` bootstraps a second TCP transfer | `poc/tsclientlib-filetransfer-spike` | PASS |
| Client UID / DBID / profile / connection data can be surfaced from client protocol state | `poc/tsclientlib-query-spike` | PASS |
| Official-style identity export can be parsed, round-tripped, and reused for connect | `poc/tsidentity-import-spike` | PASS |
## Conclusion
The manual-reading requirement is satisfied with a concrete repo artifact and
its extracted protocol guidance is reflected in the corresponding executable
PoCs.