docs(roadmap): add surround & spatial (object) audio plan
apple / swift (push) Successful in 59s
ci / rust (push) Successful in 1m15s
ci / web (push) Successful in 37s
ci / docs-site (push) Successful in 1m1s
android / android (push) Successful in 3m17s
deb / build-publish (push) Successful in 2m36s
decky / build-publish (push) Successful in 11s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 6s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 4s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 3s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 4s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 40s
ci / bench (push) Successful in 4m39s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 8m23s
docker / deploy-docs (push) Successful in 18s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 8m27s
apple / swift (push) Successful in 59s
ci / rust (push) Successful in 1m15s
ci / web (push) Successful in 37s
ci / docs-site (push) Successful in 1m1s
android / android (push) Successful in 3m17s
deb / build-publish (push) Successful in 2m36s
decky / build-publish (push) Successful in 11s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 6s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 4s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 3s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 4s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 40s
ci / bench (push) Successful in 4m39s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 8m23s
docker / deploy-docs (push) Successful in 18s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 8m27s
Near-term 7.1 channel bed; moonshot object-based spatial audio via Wine/Proton (where dynamic objects are currently discarded) with client-side head-tracked spatialization. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,16 @@ see [Status & Progress](/docs/status).
|
|||||||
an available host profile (likely behind a second per-user auth layer); on connect to an idle host,
|
an available host profile (likely behind a second per-user auth layer); on connect to an idle host,
|
||||||
the user lands in *their own* desktop/session, signed in, without touching the host. Turns one box
|
the user lands in *their own* desktop/session, signed in, without touching the host. Turns one box
|
||||||
into a personal, profile-aware streaming target for a household.
|
into a personal, profile-aware streaming target for a household.
|
||||||
|
- **Surround & spatial audio.** Today every path is stereo end to end (the Linux host already encodes
|
||||||
|
5.1/7.1 via multistream Opus, but no client renders it yet). Near term: carry a **7.1 channel bed** —
|
||||||
|
multichannel capture, surround Opus on every host, and clients that render more than two channels
|
||||||
|
(macOS can then spatialize the bed to head-tracked AirPods audio). The moonshot is **object-based
|
||||||
|
spatial audio**: native-Windows Atmos/DTS:X object capture is blocked by a closed renderer API, but
|
||||||
|
**Proton already routes game audio objects through Wine's `ISpatialAudioClient`** — where it currently
|
||||||
|
*discards* the dynamic/height objects and their 3D positions. Finishing that rendering would give
|
||||||
|
every Proton gamer real spatial sound, and tunnelling the objects + positions to the client would let
|
||||||
|
punktfunk spatialize them *on the client* — head-tracked remote Atmos-style audio that no streaming
|
||||||
|
stack does today.
|
||||||
- **Sub-frame pipelining.** Overlap encode and transmit within a single frame (a direct NVENC slice
|
- **Sub-frame pipelining.** Overlap encode and transmit within a single frame (a direct NVENC slice
|
||||||
path) — the next big latency lever at high resolutions.
|
path) — the next big latency lever at high resolutions.
|
||||||
- **True glass-to-glass latency** measured end to end (capture → on-screen present).
|
- **True glass-to-glass latency** measured end to end (capture → on-screen present).
|
||||||
|
|||||||
Reference in New Issue
Block a user