summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2026-04-30 22:16:17 -0400
committerLLLL Colonq <llll@colonq>2026-04-30 22:16:17 -0400
commitd9a2dbf1d939423eeb100aa3910406f80d0a781f (patch)
tree6b60a4c68c3a85a1ab07adc497908e3ec9878c48
parentf171d500036e4d08244d02308ba3f62afdd87162 (diff)
-rw-r--r--Cargo.lock233
-rw-r--r--Cargo.toml23
-rw-r--r--crates/client/src/client.rs6
-rw-r--r--crates/client/src/client/assets.rs2
-rw-r--r--crates/renderer/Cargo.toml7
-rw-r--r--crates/renderer/src/main.rs26
-rw-r--r--crates/renderer/src/overlay/tcg.rs14
-rw-r--r--crates/renderer/src/texture_server.rs2
-rw-r--r--flake.lock68
9 files changed, 125 insertions, 256 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 5c4811e..e026d95 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -253,12 +253,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22"
[[package]]
-name = "bit_field"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6"
-
-[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -283,15 +277,6 @@ dependencies = [
]
[[package]]
-name = "block-buffer"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be"
-dependencies = [
- "hybrid-array",
-]
-
-[[package]]
name = "block-sys"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -443,12 +428,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
[[package]]
-name = "color_quant"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
-
-[[package]]
name = "colorchoice"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -494,12 +473,6 @@ dependencies = [
]
[[package]]
-name = "const-oid"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c"
-
-[[package]]
name = "core-foundation"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -592,15 +565,6 @@ dependencies = [
]
[[package]]
-name = "cpufeatures"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201"
-dependencies = [
- "libc",
-]
-
-[[package]]
name = "crc32fast"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -666,12 +630,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]]
-name = "crunchy"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
-
-[[package]]
name = "crypto-common"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -682,15 +640,6 @@ dependencies = [
]
[[package]]
-name = "crypto-common"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710"
-dependencies = [
- "hybrid-array",
-]
-
-[[package]]
name = "cursor-icon"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -731,19 +680,8 @@ version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
- "block-buffer 0.10.4",
- "crypto-common 0.1.7",
-]
-
-[[package]]
-name = "digest"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c"
-dependencies = [
- "block-buffer 0.12.0",
- "const-oid",
- "crypto-common 0.2.1",
+ "block-buffer",
+ "crypto-common",
]
[[package]]
@@ -883,21 +821,6 @@ dependencies = [
]
[[package]]
-name = "exr"
-version = "1.73.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0"
-dependencies = [
- "bit_field",
- "half",
- "lebe",
- "miniz_oxide",
- "rayon-core",
- "smallvec",
- "zune-inflate",
-]
-
-[[package]]
name = "extended"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1041,22 +964,13 @@ dependencies = [
]
[[package]]
-name = "gif"
-version = "0.13.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b"
-dependencies = [
- "color_quant",
- "weezl",
-]
-
-[[package]]
name = "glam"
version = "0.29.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677"
dependencies = [
"mint",
+ "serde",
]
[[package]]
@@ -1097,7 +1011,7 @@ dependencies = [
"base64 0.13.1",
"byteorder",
"gltf-json",
- "image 0.25.10",
+ "image",
"lazy_static",
"serde_json",
"urlencoding",
@@ -1126,16 +1040,6 @@ dependencies = [
]
[[package]]
-name = "half"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
-dependencies = [
- "cfg-if",
- "crunchy",
-]
-
-[[package]]
name = "hash32"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1200,15 +1104,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
-name = "hybrid-array"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214"
-dependencies = [
- "typenum",
-]
-
-[[package]]
name = "icrate"
version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1360,30 +1255,13 @@ dependencies = [
[[package]]
name = "image"
-version = "0.24.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
-dependencies = [
- "bytemuck",
- "byteorder",
- "color_quant",
- "exr",
- "gif",
- "jpeg-decoder",
- "num-traits",
- "png 0.17.16",
- "qoi",
- "tiff",
-]
-
-[[package]]
-name = "image"
version = "0.25.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104"
dependencies = [
"bytemuck",
"byteorder-lite",
+ "image-webp",
"moxcms",
"num-traits",
"png 0.18.1",
@@ -1392,6 +1270,16 @@ dependencies = [
]
[[package]]
+name = "image-webp"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3"
+dependencies = [
+ "byteorder-lite",
+ "quick-error",
+]
+
+[[package]]
name = "indenter"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1522,12 +1410,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
-name = "lebe"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
-
-[[package]]
name = "lexpr"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1770,7 +1652,6 @@ dependencies = [
"bitflags 2.8.0",
"clap",
"env_logger",
- "getrandom 0.2.12",
"glam",
"glow",
"lazy_static",
@@ -1786,22 +1667,6 @@ dependencies = [
]
[[package]]
-name = "newton_puzzlecube"
-version = "0.1.0"
-dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "glam",
- "lazy_static",
- "log",
- "rand",
- "strum",
- "teleia",
- "wasm-bindgen",
- "wasm-bindgen-futures",
-]
-
-[[package]]
name = "newton_renderer"
version = "0.1.0"
dependencies = [
@@ -1816,7 +1681,7 @@ dependencies = [
"glam",
"glfw",
"glow",
- "image 0.24.9",
+ "image",
"lazy_static",
"lexpr",
"libc",
@@ -1826,7 +1691,6 @@ dependencies = [
"polling",
"rand",
"redis",
- "sha2",
"strum",
"teleia",
"termion",
@@ -2253,13 +2117,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f"
[[package]]
-name = "qoi"
-version = "0.4.1"
+name = "quick-error"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
-dependencies = [
- "bytemuck",
-]
+checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
[[package]]
name = "quick-xml"
@@ -2657,8 +2518,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
dependencies = [
"cfg-if",
- "cpufeatures 0.2.17",
- "digest 0.10.7",
+ "cpufeatures",
+ "digest",
]
[[package]]
@@ -2668,17 +2529,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
[[package]]
-name = "sha2"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
-dependencies = [
- "cfg-if",
- "cpufeatures 0.3.0",
- "digest 0.11.2",
-]
-
-[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2849,6 +2699,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9"
dependencies = [
"lazy_static",
+ "symphonia-bundle-mp3",
"symphonia-codec-pcm",
"symphonia-codec-vorbis",
"symphonia-core",
@@ -2858,6 +2709,18 @@ dependencies = [
]
[[package]]
+name = "symphonia-bundle-mp3"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c01c2aae70f0f1fb096b6f0ff112a930b1fb3626178fba3ae68b09dce71706d4"
+dependencies = [
+ "lazy_static",
+ "log",
+ "symphonia-core",
+ "symphonia-metadata",
+]
+
+[[package]]
name = "symphonia-codec-pcm"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2979,7 +2842,7 @@ dependencies = [
"glfw",
"glow",
"gltf",
- "image 0.25.10",
+ "image",
"js-sys",
"kira",
"log",
@@ -3077,17 +2940,6 @@ dependencies = [
]
[[package]]
-name = "tiff"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
-dependencies = [
- "flate2",
- "jpeg-decoder",
- "weezl",
-]
-
-[[package]]
name = "tiny-skia"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3570,12 +3422,6 @@ dependencies = [
]
[[package]]
-name = "weezl"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
-
-[[package]]
name = "wide"
version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4124,15 +3970,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9"
[[package]]
-name = "zune-inflate"
-version = "0.2.54"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
-dependencies = [
- "simd-adler32",
-]
-
-[[package]]
name = "zune-jpeg"
version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.toml b/Cargo.toml
index ea6dbb7..28e3ced 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,27 +24,30 @@ opt-level = 2
[workspace.dependencies]
# teleia = { git = "https://github.com/lcolonq/teleia" } # engine
teleia = { path = "../teleia/crates/teleia" } # engine
-glam = "*" # linear algebra
-glow = "*" # gl bindings
-bitflags = "*" # C-style bitwise flags
+glfw = { git = "https://github.com/lcolonq/glfw-rs", features = ["serde"] } # window management
+glam = { version = "0.29.2", features = ["serde"] } # linear algebra
+glow = { version = "=0.13.1", features = [] } # gl bindings
+bitflags = { version = "2.6.0", features = ["serde"] } # C-style bitwise flags
rand = "=0.8.5" # rng
-log = "*" # logging
-env_logger = "*" # native logging
+log = "0.4.21" # logging
+env_logger = "0.11.5" # native logging
lazy_static = "*" # global constants
strum = {version = "*", features = ["derive"]} # utility macros for enums
+enum-map = {version = "2.7.3", features = ["serde"]} # enum map
lexpr = "*" # s-expression parsing
clap = {version = "*", features = ["cargo"]} # cli arg parsing
base64 = "0.22.1" # base64 encoding/decoding
-polling = "*" # polling sockets
+polling = "3.11.0" # polling sockets
termion = "*" # terminal escapes
device_query = "*" # get pressed keys when unfocused
-byteorder = "*" # read little-endian numbers
-image = "*" # read and write image files
+byteorder = "1.5.0" # read little-endian numbers
+image = { version = "0.25.10", default-features = false, features = ["jpeg", "png", "webp"] } # read and write image files
png = "*" # encode apng
cpal = "*" # record microphone
redis = "*" # database
web-image-meta = "*" # edit image metadata
uuid = {version = "*", features = ["v4"]} # generate uuids
-wasm-bindgen = "*" # wasm bindings
+wasm-bindgen = "=0.2.100" # wasm bindings
wasm-bindgen-futures = "*" # interface with async javascript
-cfg-if = "*" # less verbose cfg \ No newline at end of file
+cfg-if = "*" # less verbose cfg
+libc = "*" \ No newline at end of file
diff --git a/crates/client/src/client.rs b/crates/client/src/client.rs
index d03dcf1..2c03286 100644
--- a/crates/client/src/client.rs
+++ b/crates/client/src/client.rs
@@ -22,9 +22,9 @@ impl teleia::state::Game for Game {
("test".to_owned(), audio::Audio::new(&actx, include_bytes!("client/assets/audio/test.wav"))),
])
}
- fn finish_title(&mut self, _st: &mut state::State) {}
- fn mouse_press(&mut self, _ctx: &context::Context, _st: &mut state::State) {}
- fn mouse_move(&mut self, _ctx: &context::Context, _st: &mut state::State, _x: i32, _y: i32) {}
+ fn finish_title(&mut self, _ctx: &context::Context, _st: &mut state::State) -> Erm<()> { Ok(()) }
+ fn mouse_press(&mut self, _ctx: &context::Context, _st: &mut state::State) -> Erm<()> { Ok(()) }
+ fn mouse_move(&mut self, _ctx: &context::Context, _st: &mut state::State, _x: i32, _y: i32) -> Erm<()> { Ok(()) }
fn update(&mut self, ctx: &context::Context, _st: &mut state::State) -> Erm<()> {
Ok(())
}
diff --git a/crates/client/src/client/assets.rs b/crates/client/src/client/assets.rs
index 742f9ea..decb65b 100644
--- a/crates/client/src/client/assets.rs
+++ b/crates/client/src/client/assets.rs
@@ -10,7 +10,7 @@ pub struct Assets {
impl Assets {
pub fn new(ctx: &context::Context) -> Self {
Self {
- font: font::Bitmap::new(ctx),
+ font: font::Bitmap::default(ctx),
shader_flat: shader::Shader::new(
ctx,
include_str!("assets/shaders/flat/vert.glsl"),
diff --git a/crates/renderer/Cargo.toml b/crates/renderer/Cargo.toml
index 3f197e9..8990d06 100644
--- a/crates/renderer/Cargo.toml
+++ b/crates/renderer/Cargo.toml
@@ -9,8 +9,9 @@ name = "newton_renderer"
path = "src/main.rs"
[dependencies]
-teleia = {workspace = true}
-newton_shader = {path = "../shader"}
+teleia = { workspace = true }
+glfw = { workspace = true }
+newton_shader = { path = "../shader" }
glam = { workspace = true }
glow = { workspace = true }
bitflags = { workspace = true }
@@ -19,6 +20,7 @@ log = { workspace = true }
env_logger = { workspace = true }
lazy_static = { workspace = true }
strum = { workspace = true }
+enum-map = { workspace = true }
lexpr = { workspace = true }
clap = { workspace = true }
base64 = { workspace = true }
@@ -32,3 +34,4 @@ cpal = { workspace = true }
redis = { workspace = true }
web-image-meta = { workspace = true }
uuid = { workspace = true }
+libc = { workspace = true } \ No newline at end of file
diff --git a/crates/renderer/src/main.rs b/crates/renderer/src/main.rs
index b71a836..6f951ac 100644
--- a/crates/renderer/src/main.rs
+++ b/crates/renderer/src/main.rs
@@ -29,11 +29,6 @@ pub fn main() -> Erm<()> {
.about("Run the LCOLONQ model renderer in a terminal")
)
.subcommand(
- Command::new("validate-card")
- .arg(Arg::new("path"))
- .about("Validate the TCG card at the given path.")
- )
- .subcommand(
Command::new("repair-card")
.arg(Arg::new("path"))
.about("Repair the TCG card at the given path.")
@@ -57,27 +52,6 @@ pub fn main() -> Erm<()> {
Some(("model-terminal", _cm)) => {
teleia::run("LCOLONQ", 1920, 1080, teleia::Options::HIDDEN, overlay::model::Terminal::new)?;
},
- Some(("validate-card", cm)) => {
- if let Some(path) = cm.get_one::<String>("path") {
- if overlay::tcg::validate_card(&std::fs::read(path)?)? {
- println!("signatures match!");
- std::process::exit(0);
- } else {
- println!("signatures do not match");
- std::process::exit(1);
- }
- } else {
- eprintln!("no path specified");
- }
- },
- Some(("repair-card", cm)) => {
- if let Some(path) = cm.get_one::<String>("path") {
- let res = overlay::tcg::repair_card(&std::fs::read(path)?)?;
- std::io::stdout().write_all(&res)?;
- } else {
- eprintln!("no path specified");
- }
- },
_ => unreachable!("no subcommand"),
}
Ok(())
diff --git a/crates/renderer/src/overlay/tcg.rs b/crates/renderer/src/overlay/tcg.rs
index c3e6a38..acc9915 100644
--- a/crates/renderer/src/overlay/tcg.rs
+++ b/crates/renderer/src/overlay/tcg.rs
@@ -1,4 +1,3 @@
-use sha2::Digest;
use teleia::*;
use std::{cell::RefCell, rc::Rc};
@@ -140,7 +139,6 @@ impl std::io::Write for ImageWrite {
struct ImageEncoder {
frames: u32,
frames_left: u32,
- frame_hashes: Vec<u8>,
buf: Rc<RefCell<Vec<u8>>>,
writer: png::Writer<ImageWrite>,
}
@@ -167,14 +165,12 @@ impl ImageEncoder {
Some(Self {
frames,
frames_left: frames,
- frame_hashes: Vec::new(),
buf,
writer,
})
}
fn write_frame(&mut self, pixels: &[u8]) {
if self.frames_left > 0 {
- self.frame_hashes.extend_from_slice(sha2::Sha256::digest(pixels).as_slice());
let _ = self.writer.write_image_data(&pixels);
self.frames_left -= 1;
}
@@ -182,10 +178,10 @@ impl ImageEncoder {
fn is_finished(&self) -> bool {
self.frames_left == 0
}
- fn finish(self) -> Option<(Vec<u8>, Vec<u8>)> {
+ fn finish(self) -> Option<Vec<u8>> {
if self.is_finished() {
self.writer.finish().expect("failed to finish");
- Some((self.buf.replace(Vec::new()), self.frame_hashes))
+ Some(self.buf.replace(Vec::new()))
} else { None }
}
}
@@ -288,7 +284,7 @@ impl Marquee {
}
}
fn upload_card(ctx: &context::Context, st: &mut state::State, ost: &mut overlay::State,
- c: &Card, buf: &[u8], hashes: &[u8],
+ c: &Card, buf: &[u8],
) -> Erm<()> {
let with_meta = web_image_meta::png::add_text_chunk(
buf, "lcolonqtcg", &c.encoded,
@@ -304,9 +300,9 @@ impl Marquee {
renderer: &CardRenderer,
) {
for s in self.slots.iter_mut() {
- if let Some((b, h)) = s.encoder.take_if(|e| e.is_finished()).and_then(|enc| enc.finish()) {
+ if let Some(b) = s.encoder.take_if(|e| e.is_finished()).and_then(|enc| enc.finish()) {
if let Some(c) = &s.card.card {
- let _ = Self::upload_card(ctx, st, ost, &c, &b, &h).expect("failed to upload");
+ let _ = Self::upload_card(ctx, st, ost, &c, &b).expect("failed to upload");
}
}
}
diff --git a/crates/renderer/src/texture_server.rs b/crates/renderer/src/texture_server.rs
index 5afad70..ce14262 100644
--- a/crates/renderer/src/texture_server.rs
+++ b/crates/renderer/src/texture_server.rs
@@ -21,7 +21,7 @@ pub struct Server {
}
impl Server {
pub fn new(ctx: &context::Context) -> Self {
- std::fs::remove_file(SOCK_PATH).expect("failed to remove socket");
+ let _ = std::fs::remove_file(SOCK_PATH);
let sock = UnixDatagram::bind(SOCK_PATH).expect("failed to bind texture server socket");
let (sender, receiver) = channel::<i32>();
diff --git a/flake.lock b/flake.lock
index e9c4144..507f990 100644
--- a/flake.lock
+++ b/flake.lock
@@ -33,13 +33,31 @@
"type": "github"
}
},
+ "flake-utils_2": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
"nixpkgs": {
"locked": {
- "lastModified": 1753432016,
- "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=",
+ "lastModified": 1777425547,
+ "narHash": "sha256-d57AbflkNfZNoFaZDzssEq1RfPoM9dLtOGI2O+N/68Q=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "6027c30c8e9810896b92429f0092f624f7b1aace",
+ "rev": "ebc08544afa77957cc348ba72dc490ec73b87f68",
"type": "github"
},
"original": {
@@ -49,6 +67,28 @@
"type": "github"
}
},
+ "pit": {
+ "inputs": {
+ "flake-utils": "flake-utils_2",
+ "nixpkgs": [
+ "teleia",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1777329908,
+ "narHash": "sha256-UhRpKmDNj7chpHjaO+EpGBTyBnCpgntYp1fMyikbVyU=",
+ "owner": "lcolonq",
+ "repo": "pit",
+ "rev": "7748d30575151af59844f43a0e9149b18c40f2f1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lcolonq",
+ "repo": "pit",
+ "type": "github"
+ }
+ },
"root": {
"inputs": {
"nixpkgs": [
@@ -115,19 +155,35 @@
"type": "github"
}
},
+ "systems_2": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
"teleia": {
"inputs": {
"crane": "crane",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
+ "pit": "pit",
"rust-overlay": "rust-overlay"
},
"locked": {
- "lastModified": 1766795639,
- "narHash": "sha256-dujt59KKcTW7h+VqjG9+I962Qh1rvRKr4jzKfIgAjBA=",
+ "lastModified": 1777601333,
+ "narHash": "sha256-pOr1roqZnzGw6qoFwLEb4QSGQFsWL9v65LHbrWTUsYk=",
"owner": "lcolonq",
"repo": "teleia",
- "rev": "ff3317bee0584b89758bbda6712396d35ba82153",
+ "rev": "4c9541f35913bb8e68a07ad6ab4628d241099482",
"type": "github"
},
"original": {