Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7cde80ce84 | |||
| ab679a56e7 |
@@ -27,13 +27,9 @@ ui = ["dep:pf-console-ui", "dep:serde_json"]
|
|||||||
# Same Linux+Windows gating as the rest of the client stack; elsewhere this is a stub
|
# Same Linux+Windows gating as the rest of the client stack; elsewhere this is a stub
|
||||||
# binary.
|
# binary.
|
||||||
[target.'cfg(any(target_os = "linux", windows))'.dependencies]
|
[target.'cfg(any(target_os = "linux", windows))'.dependencies]
|
||||||
# `default-features = false` on both: THIS crate's `pyrowave` feature (above) is the single
|
pf-presenter = { path = "../../crates/pf-presenter" }
|
||||||
# switch that turns the wavelet codec on, and it enables it explicitly on each. Inheriting their
|
|
||||||
# defaults instead would make `--no-default-features` a lie — the Windows ARM64 leg builds that
|
|
||||||
# way precisely to skip the vendored PyroWave C++, which has no ARM64 SIMD path.
|
|
||||||
pf-presenter = { path = "../../crates/pf-presenter", default-features = false }
|
|
||||||
pf-console-ui = { path = "../../crates/pf-console-ui", optional = true }
|
pf-console-ui = { path = "../../crates/pf-console-ui", optional = true }
|
||||||
pf-client-core = { path = "../../crates/pf-client-core", default-features = false }
|
pf-client-core = { path = "../../crates/pf-client-core" }
|
||||||
punktfunk-core = { path = "../../crates/punktfunk-core", features = ["quic"] }
|
punktfunk-core = { path = "../../crates/punktfunk-core", features = ["quic"] }
|
||||||
# The fake-library dev hook (`PUNKTFUNK_FAKE_LIBRARY`, browse mode) parses GameEntry JSON.
|
# The fake-library dev hook (`PUNKTFUNK_FAKE_LIBRARY`, browse mode) parses GameEntry JSON.
|
||||||
serde_json = { version = "1", optional = true }
|
serde_json = { version = "1", optional = true }
|
||||||
|
|||||||
@@ -29,17 +29,7 @@ punktfunk-core = { path = "../../crates/punktfunk-core", features = ["quic"] }
|
|||||||
# The shared client service layer: the trust/settings stores (ONE `Settings` struct for the
|
# The shared client service layer: the trust/settings stores (ONE `Settings` struct for the
|
||||||
# shell and the spawned session binary — src/trust.rs re-exports it) and the game-library
|
# shell and the spawned session binary — src/trust.rs re-exports it) and the game-library
|
||||||
# data model (fetch + art pipeline) behind the library page.
|
# data model (fetch + art pipeline) behind the library page.
|
||||||
#
|
pf-client-core = { path = "../../crates/pf-client-core" }
|
||||||
# `default-features = false` drops pf-client-core's default `pyrowave`, which would otherwise
|
|
||||||
# build the vendored PyroWave C++ INTO THE SHELL — dead weight here (the shell never decodes;
|
|
||||||
# it only offers "pyrowave" as a codec preference string the session binary acts on) and fatal
|
|
||||||
# on ARM64, where Granite's math falls back to x86 SSE intrinsics and stops at
|
|
||||||
# `simd.hpp: #error "Implement me."`. This does NOT drop PyroWave from the Windows client:
|
|
||||||
# decode lives in the spawned punktfunk-session binary, whose own default enables the feature,
|
|
||||||
# and cargo's feature unification turns it back on for the shared pf-client-core whenever that
|
|
||||||
# binary is in the same build (x64). On the ARM64 leg both are built --no-default-features, so
|
|
||||||
# nothing enables it and the C++ is never compiled.
|
|
||||||
pf-client-core = { path = "../../crates/pf-client-core", default-features = false }
|
|
||||||
|
|
||||||
# WinUI 3 UI via windows-reactor (a declarative React-like framework backed by WinUI). Its
|
# WinUI 3 UI via windows-reactor (a declarative React-like framework backed by WinUI). Its
|
||||||
# `build.rs` downloads the Windows App SDK NuGets and stages the bootstrap DLL + resources.pri
|
# `build.rs` downloads the Windows App SDK NuGets and stages the bootstrap DLL + resources.pri
|
||||||
|
|||||||
@@ -59,14 +59,9 @@
|
|||||||
</Application>
|
</Application>
|
||||||
<!--
|
<!--
|
||||||
Second entry point: the couch/console UI, for an HTPC or a TV-attached box where the
|
Second entry point: the couch/console UI, for an HTPC or a TV-attached box where the
|
||||||
desktop shell is the wrong first screen. Its own executable (punktfunk-console.exe)
|
desktop shell is the wrong first screen. Same full-trust executable, launched with
|
||||||
because an MSIX Application entry cannot pass arguments to a full-trust exe; it hands
|
`--console`, which hands straight off to the session binary's controller-driven
|
||||||
straight off to the session binary's controller-driven browse mode (host list,
|
browse mode (host list, pairing, settings, library) fullscreen.
|
||||||
pairing, settings, library) fullscreen.
|
|
||||||
|
|
||||||
NOTE: never write a double hyphen in this file. XML forbids it inside a comment, and
|
|
||||||
makepri rejects the whole manifest ("Appx manifest not found or is invalid") — which
|
|
||||||
is exactly how the console flag spelled out here broke the v0.15.0 MSIX build.
|
|
||||||
-->
|
-->
|
||||||
<Application Id="PunktfunkConsole" Executable="punktfunk-console.exe"
|
<Application Id="PunktfunkConsole" Executable="punktfunk-console.exe"
|
||||||
EntryPoint="Windows.FullTrustApplication">
|
EntryPoint="Windows.FullTrustApplication">
|
||||||
|
|||||||
@@ -11,11 +11,7 @@ repository.workspace = true
|
|||||||
# Same Linux+Windows gating as the rest of the client stack (dmabuf import is the one
|
# Same Linux+Windows gating as the rest of the client stack (dmabuf import is the one
|
||||||
# Linux-only module — see lib.rs).
|
# Linux-only module — see lib.rs).
|
||||||
[target.'cfg(any(target_os = "linux", windows))'.dependencies]
|
[target.'cfg(any(target_os = "linux", windows))'.dependencies]
|
||||||
# `default-features = false`: the PyroWave decode backend is turned on through THIS crate's own
|
pf-client-core = { path = "../pf-client-core" }
|
||||||
# `pyrowave` feature (which re-exports it below), never by inheriting the dependency's default.
|
|
||||||
# Otherwise a consumer that deliberately builds us without `pyrowave` still drags the vendored
|
|
||||||
# C++ in — fatal on Windows ARM64, where Granite has no SIMD path.
|
|
||||||
pf-client-core = { path = "../pf-client-core", default-features = false }
|
|
||||||
# AVVkFrame access (Vulkan Video frames: live sync state under the frames lock).
|
# AVVkFrame access (Vulkan Video frames: live sync state under the frames lock).
|
||||||
pf-ffvk = { path = "../pf-ffvk" }
|
pf-ffvk = { path = "../pf-ffvk" }
|
||||||
punktfunk-core = { path = "../punktfunk-core", features = ["quic"] }
|
punktfunk-core = { path = "../punktfunk-core", features = ["quic"] }
|
||||||
|
|||||||
Reference in New Issue
Block a user