feat: automatically record Steam game sessions

Detect games with native process exit watchers, own OBS on a background worker, and persist settings and recoverable session timelines. Place segments by split frame counts, recover capture with honest gaps, and finalise on game exit or explicit Quit.

Keep the current recording alive after GPUI closes its last window, then exit when the game ends. Add an end-to-end rig covering recording, recovery, exact packet-count offsets, disk library reload and clean Quit.
This commit is contained in:
2026-10-08 17:30:40 +02:00
parent 98fe898efb
commit 435ddf2b17
21 changed files with 1872 additions and 38 deletions
Generated
+21 -1
View File
@@ -862,12 +862,22 @@ dependencies = [
[[package]]
name = "clipbin-core"
version = "0.1.0"
dependencies = [
"dirs 5.0.1",
"rustix 1.1.5",
"serde",
"serde_json",
"tempfile",
"windows-sys 0.61.2",
"winreg 0.55.0",
]
[[package]]
name = "clipbin-desktop"
version = "0.1.0"
dependencies = [
"clipbin-core",
"clipbin-obs",
"gpui",
]
@@ -1487,7 +1497,7 @@ dependencies = [
"rustc_version",
"toml 1.1.7+spec-1.1.0",
"vswhom",
"winreg",
"winreg 0.56.0",
]
[[package]]
@@ -6723,6 +6733,16 @@ dependencies = [
"memchr",
]
[[package]]
name = "winreg"
version = "0.55.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97"
dependencies = [
"cfg-if",
"windows-sys 0.59.0",
]
[[package]]
name = "winreg"
version = "0.56.0"