not even the nix packages have clients with the server afaik
not even the nix packages have clients with the server afaik
cp that into /etc and hope it goes well/etcpub struct SimplePulseReceiver<T: Serialize + DeserializeOwned + Default + 'static>(
HandlerWrapper<PulseReceiver, InlineHandler<T>>,
);
impl<T: Serialize + DeserializeOwned + Default + 'static> SimplePulseReceiver<T> {
pub fn create<Fi: Field, F: FnMut(&str, &T) + Send + Sync + 'static>(
spatial_parent: &Spatial,
transform: Transform,
field: &Fi,
on_data: F,
) -> Result<Self, NodeError> {
let mut mask_serializer = FlexbufferSerializer::new();
T::default()
.serialize(&mut mask_serializer)
.map_err(|_| NodeError::Serialization)?;
Ok(SimplePulseReceiver(
PulseReceiver::create(spatial_parent, transform, field, mask_serializer.view())?
.wrap(InlineHandler(Box::new(on_data)))?,
))
}
}
impl<T: Serialize + DeserializeOwned + Default + 'static> std::ops::Deref
for SimplePulseReceiver<T>
{
type Target = PulseReceiver;
fn deref(&self) -> &Self::Target {
self.0.node()
}
}
struct InlineHandler<T: Serialize + DeserializeOwned + Default + 'static>(
Box<dyn FnMut(&str, &T) + Send + Sync + 'static>,
);
impl<T: Serialize + DeserializeOwned + Default + 'static> PulseReceiverHandler
for InlineHandler<T>
{
fn data(&mut self, uid: &str, data: &[u8], _data_reader: MapReader<&[u8]>) {
let Ok(root) = Reader::get_root(data) else {return};
let Ok(data) = T::deserialize(root) else {return};
(self.0)(uid, &data)
}
}{ pkgs ? import (builtins.getFlake "github:nixos/nixpkgs/nixos-unstable") {} }:
let
monado = pkgs.monado.overrideAttrs (_:{
src = pkgs.fetchgit {
rev = "354e70f72e83d2dc39e65c696f5e5efe4122c648";
url = "https://gitlab.freedesktop.org/TheJackiMonster/monado.git";
sha256 = "sha256-Uzk9srRdSZmVS0VSl3wd4j1bpOs6FEKA4RgrXDz8bM0=";
};
});
flatland = (builtins.getFlake "github:StardustXR/flatland").packages.x86_64-linux.default.overrideAttrs (_: {
prePatch = ''
substituteInPlace src/surface.rs --replace 'pub const PPM: f32 = 1000.0;' 'pub const PPM: f32 = 3500.0;'
'';
});
in
pkgs.mkShell {
buildInputs = [
# monado
(monado.override { stdenv = pkgs.withCFlags [ "-O3" ] pkgs.stdenv; })
# (builtins.getFlake "github:matthewcroughan/manifold/mc/nix-flake").packages.x86_64-linux.default
(builtins.getFlake "github:stardustxr/server/develop").packages.x86_64-linux.default
(builtins.getFlake "github:stardustxr/azimuth/mc/nixify").packages.x86_64-linux.default
(builtins.getFlake "github:stardustxr/eclipse/mc/nixify").packages.x86_64-linux.default
flatland
];
}