diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b82d74d3550..da49bc67e441 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ # Depthai Viewer changelog +## 0.1.1 + +- Fixes Metal shader compilation on MacOS +- Performance improvement - only create a camera node when a camera is actually needed in any way. +- Added sentry.io error reporting +- Update Windows and MacOS app icons + ## 0.1.0 + Depthai Viewer official Beta release on pypi! - Performance improvements diff --git a/Cargo.lock b/Cargo.lock index d5a7410a78b2..fe209cf246c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -124,7 +124,7 @@ checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "api_demo" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "clap 4.1.4", @@ -484,6 +484,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + [[package]] name = "bincode" version = "1.3.3" @@ -1275,9 +1281,19 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "debugid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" +dependencies = [ + "serde", + "uuid", +] + [[package]] name = "depthai-viewer" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "backtrace", @@ -1392,7 +1408,7 @@ dependencies = [ [[package]] name = "dna" -version = "0.1.0" +version = "0.1.1" dependencies = [ "depthai-viewer", "itertools", @@ -1576,6 +1592,15 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + [[package]] name = "enumflags2" version = "0.7.7" @@ -1767,6 +1792,18 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "findshlibs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" +dependencies = [ + "cc", + "lazy_static", + "libc", + "winapi", +] + [[package]] name = "fixed" version = "1.20.0" @@ -2236,6 +2273,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + [[package]] name = "http" version = "0.2.8" @@ -2300,6 +2348,19 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -2445,6 +2506,12 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + [[package]] name = "is-terminal" version = "0.4.2" @@ -2746,6 +2813,12 @@ dependencies = [ "libc", ] +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + [[package]] name = "matrixmultiply" version = "0.3.2" @@ -2830,9 +2903,15 @@ dependencies = [ "libmimalloc-sys", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + [[package]] name = "minimal" -version = "0.1.0" +version = "0.1.1" dependencies = [ "depthai-viewer", ] @@ -2845,7 +2924,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "minimal_options" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "clap 4.1.4", @@ -2925,6 +3004,24 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "ndarray" version = "0.15.6" @@ -3263,7 +3360,7 @@ dependencies = [ [[package]] name = "objectron" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "clap 4.1.4", @@ -3285,6 +3382,50 @@ version = "11.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +[[package]] +name = "openssl" +version = "0.10.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "orbclient" version = "0.3.42" @@ -3316,6 +3457,17 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "os_info" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" +dependencies = [ + "log", + "serde", + "winapi", +] + [[package]] name = "os_str_bytes" version = "6.4.1" @@ -3881,7 +4033,7 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "raw_mesh" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "bytes", @@ -3921,7 +4073,7 @@ dependencies = [ [[package]] name = "re_analytics" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "crossbeam", @@ -3942,7 +4094,7 @@ dependencies = [ [[package]] name = "re_arrow_store" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "anyhow", @@ -3969,7 +4121,7 @@ dependencies = [ [[package]] name = "re_build_build_info" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "time 0.3.20", @@ -3977,18 +4129,18 @@ dependencies = [ [[package]] name = "re_build_info" -version = "0.1.0" +version = "0.1.1" [[package]] name = "re_build_web_viewer" -version = "0.1.0" +version = "0.1.1" dependencies = [ "cargo_metadata", ] [[package]] name = "re_data_store" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "criterion", @@ -4011,14 +4163,14 @@ dependencies = [ [[package]] name = "re_error" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", ] [[package]] name = "re_format" -version = "0.1.0" +version = "0.1.1" dependencies = [ "arrow2", "arrow2_convert", @@ -4028,7 +4180,7 @@ dependencies = [ [[package]] name = "re_int_histogram" -version = "0.1.0" +version = "0.1.1" dependencies = [ "criterion", "insta", @@ -4039,7 +4191,7 @@ dependencies = [ [[package]] name = "re_log" -version = "0.1.0" +version = "0.1.1" dependencies = [ "env_logger", "js-sys", @@ -4052,7 +4204,7 @@ dependencies = [ [[package]] name = "re_log_encoding" -version = "0.1.0" +version = "0.1.1" dependencies = [ "criterion", "ehttp", @@ -4077,7 +4229,7 @@ dependencies = [ [[package]] name = "re_log_types" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "array-init", @@ -4116,7 +4268,7 @@ dependencies = [ [[package]] name = "re_memory" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "backtrace", @@ -4136,7 +4288,7 @@ dependencies = [ [[package]] name = "re_query" -version = "0.1.0" +version = "0.1.1" dependencies = [ "arrow2", "criterion", @@ -4154,7 +4306,7 @@ dependencies = [ [[package]] name = "re_renderer" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4207,7 +4359,7 @@ dependencies = [ [[package]] name = "re_sdk" -version = "0.1.0" +version = "0.1.1" dependencies = [ "arrow2_convert", "document-features", @@ -4227,7 +4379,7 @@ dependencies = [ [[package]] name = "re_sdk_comms" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4243,7 +4395,7 @@ dependencies = [ [[package]] name = "re_smart_channel" -version = "0.1.0" +version = "0.1.1" dependencies = [ "crossbeam", "instant", @@ -4251,7 +4403,7 @@ dependencies = [ [[package]] name = "re_string_interner" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "nohash-hasher", @@ -4262,7 +4414,7 @@ dependencies = [ [[package]] name = "re_tensor_ops" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "ndarray", @@ -4272,7 +4424,7 @@ dependencies = [ [[package]] name = "re_tuid" -version = "0.1.0" +version = "0.1.1" dependencies = [ "arrow2", "arrow2_convert", @@ -4286,7 +4438,7 @@ dependencies = [ [[package]] name = "re_ui" -version = "0.1.0" +version = "0.1.1" dependencies = [ "eframe", "egui", @@ -4305,7 +4457,7 @@ dependencies = [ [[package]] name = "re_viewer" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4356,6 +4508,7 @@ dependencies = [ "re_ui", "re_ws_comms", "rfd", + "sentry", "serde", "serde_json", "slotmap", @@ -4376,7 +4529,7 @@ dependencies = [ [[package]] name = "re_web_viewer_server" -version = "0.1.0" +version = "0.1.1" dependencies = [ "cargo_metadata", "ctrlc", @@ -4393,7 +4546,7 @@ dependencies = [ [[package]] name = "re_ws_comms" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "bincode", @@ -4463,9 +4616,46 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" +[[package]] +name = "reqwest" +version = "0.11.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +dependencies = [ + "base64 0.21.2", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + [[package]] name = "rerun_py" -version = "0.1.0" +version = "0.1.1" dependencies = [ "arrow2", "depthai-viewer", @@ -4569,7 +4759,7 @@ dependencies = [ [[package]] name = "run_wasm" -version = "0.1.0" +version = "0.1.1" dependencies = [ "cargo-run-wasm", "pico-args", @@ -4637,6 +4827,28 @@ dependencies = [ "webpki", ] +[[package]] +name = "rustls" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e32ca28af694bc1bbf399c33a516dbdf1c90090b8ab23c2bc24f834aa2247f5f" +dependencies = [ + "log", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-webpki" +version = "0.100.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.9" @@ -4675,6 +4887,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -4716,6 +4937,29 @@ dependencies = [ "tiny-skia", ] +[[package]] +name = "security-framework" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c4437699b6d34972de58652c68b98cb5b53a4199ab126db8e20ec8ded29a721" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.14" @@ -4725,6 +4969,114 @@ dependencies = [ "serde", ] +[[package]] +name = "sentry" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b0ad16faa5d12372f914ed40d00bda21a6d1bdcc99264c5e5e1c9495cf3654" +dependencies = [ + "httpdate", + "native-tls", + "reqwest", + "sentry-backtrace", + "sentry-contexts", + "sentry-core", + "sentry-debug-images", + "sentry-panic", + "sentry-tracing", + "tokio", + "ureq", +] + +[[package]] +name = "sentry-backtrace" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11f2ee8f147bb5f22ac59b5c35754a759b9a6f6722402e2a14750b2a63fc59bd" +dependencies = [ + "backtrace", + "once_cell", + "regex", + "sentry-core", +] + +[[package]] +name = "sentry-contexts" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcd133362c745151eeba0ac61e3ba8350f034e9fe7509877d08059fe1d7720c6" +dependencies = [ + "hostname", + "libc", + "os_info", + "rustc_version", + "sentry-core", + "uname", +] + +[[package]] +name = "sentry-core" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7163491708804a74446642ff2c80b3acd668d4b9e9f497f85621f3d250fd012b" +dependencies = [ + "once_cell", + "rand", + "sentry-types", + "serde", + "serde_json", +] + +[[package]] +name = "sentry-debug-images" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a5003d7ff08aa3b2b76994080b183e8cfa06c083e280737c9cee02ca1c70f5e" +dependencies = [ + "findshlibs", + "once_cell", + "sentry-core", +] + +[[package]] +name = "sentry-panic" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4dfe8371c9b2e126a8b64f6fefa54cef716ff2a50e63b5558a48b899265bccd" +dependencies = [ + "sentry-backtrace", + "sentry-core", +] + +[[package]] +name = "sentry-tracing" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aca8b88978677a27ee1a91beafe4052306c474c06f582321fde72d2e2cc2f7f" +dependencies = [ + "sentry-backtrace", + "sentry-core", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sentry-types" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e7a88e0c1922d19b3efee12a8215f6a8a806e442e665ada71cc222cab72985f" +dependencies = [ + "debugid", + "getrandom", + "hex", + "serde", + "serde_json", + "thiserror", + "time 0.3.20", + "url", + "uuid", +] + [[package]] name = "serde" version = "1.0.147" @@ -4756,9 +5108,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" dependencies = [ "itoa", "ryu", @@ -4785,6 +5137,18 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "sha-1" version = "0.10.0" @@ -5123,7 +5487,7 @@ dependencies = [ [[package]] name = "test_image_memory" -version = "0.1.0" +version = "0.1.1" dependencies = [ "depthai-viewer", "mimalloc", @@ -5314,13 +5678,23 @@ dependencies = [ "syn 1.0.103", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls", + "rustls 0.20.7", "tokio", "webpki", ] @@ -5333,12 +5707,12 @@ checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" dependencies = [ "futures-util", "log", - "rustls", + "rustls 0.20.7", "tokio", "tokio-rustls", "tungstenite", "webpki", - "webpki-roots", + "webpki-roots 0.22.5", ] [[package]] @@ -5401,6 +5775,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +dependencies = [ + "tracing-core", ] [[package]] @@ -5428,13 +5812,13 @@ dependencies = [ "httparse", "log", "rand", - "rustls", + "rustls 0.20.7", "sha-1", "thiserror", "url", "utf-8", "webpki", - "webpki-roots", + "webpki-roots 0.22.5", ] [[package]] @@ -5472,6 +5856,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "uname" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" +dependencies = [ + "libc", +] + [[package]] name = "unicode-bidi" version = "0.3.8" @@ -5525,20 +5918,21 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "ureq" -version = "2.6.2" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d" +checksum = "0b11c96ac7ee530603dcdf68ed1557050f374ce55a5a07193ebf8cbc9f8927e9" dependencies = [ - "base64 0.13.1", + "base64 0.21.2", "flate2", "log", + "native-tls", "once_cell", - "rustls", + "rustls 0.21.2", + "rustls-webpki", "serde", "serde_json", "url", - "webpki", - "webpki-roots", + "webpki-roots 0.23.1", ] [[package]] @@ -5550,6 +5944,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -5575,6 +5970,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "value-bag" version = "1.0.0-alpha.9" @@ -5585,6 +5986,12 @@ dependencies = [ "version_check", ] +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "vec1" version = "1.10.1" @@ -5967,6 +6374,15 @@ dependencies = [ "webpki", ] +[[package]] +name = "webpki-roots" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" +dependencies = [ + "rustls-webpki", +] + [[package]] name = "weezl" version = "0.1.7" @@ -6260,6 +6676,15 @@ dependencies = [ "x11-dl", ] +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + [[package]] name = "wit-parser" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 46bd58949df0..1ae977296fc5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,39 +16,39 @@ include = ["../../LICENSE-APACHE", "../../LICENSE-MIT", "**/*.rs", "Cargo.toml"] license = "MIT OR Apache-2.0" repository = "https://github.com/rerun-io/rerun" rust-version = "1.67" -version = "0.1.0" +version = "0.1.1" [workspace.dependencies] # When using alpha-release, always use exact version, e.g. `version = "=0.x.y-alpha.z" # This is because we treat alpha-releases as incompatible, but semver doesn't. # In particular: if we compile rerun 0.3.0-alpha.0 we only want it to use # re_log_types 0.3.0-alpha.0, NOT 0.3.0-alpha.4 even though it is newer and semver-compatible. -re_sdk_comms = { path = "crates/re_sdk_comms", version = "0.1.0" } -re_analytics = { path = "crates/re_analytics", version = "0.1.0" } -re_arrow_store = { path = "crates/re_arrow_store", version = "0.1.0" } -re_build_build_info = { path = "crates/re_build_build_info", version = "0.1.0" } -re_build_info = { path = "crates/re_build_info", version = "0.1.0" } -re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.1.0" } -re_data_store = { path = "crates/re_data_store", version = "0.1.0" } -re_error = { path = "crates/re_error", version = "0.1.0" } -re_format = { path = "crates/re_format", version = "0.1.0" } -re_int_histogram = { path = "crates/re_int_histogram", version = "0.1.0" } -re_log = { path = "crates/re_log", version = "0.1.0" } -re_log_encoding = { path = "crates/re_log_encoding", version = "0.1.0" } -re_log_types = { path = "crates/re_log_types", version = "0.1.0" } -re_memory = { path = "crates/re_memory", version = "0.1.0" } -re_query = { path = "crates/re_query", version = "0.1.0" } -re_renderer = { path = "crates/re_renderer", version = "0.1.0", default-features = false } -re_sdk = { path = "crates/re_sdk", version = "0.1.0" } -re_smart_channel = { path = "crates/re_smart_channel", version = "0.1.0" } -re_string_interner = { path = "crates/re_string_interner", version = "0.1.0" } -re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.1.0" } -re_tuid = { path = "crates/re_tuid", version = "0.1.0" } -re_ui = { path = "crates/re_ui", version = "0.1.0" } -re_viewer = { path = "crates/re_viewer", version = "0.1.0", default-features = false } -re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.1.0" } -re_ws_comms = { path = "crates/re_ws_comms", version = "0.1.0" } -depthai-viewer = { path = "crates/rerun", version = "0.1.0" } +re_sdk_comms = { path = "crates/re_sdk_comms", version = "0.1.1" } +re_analytics = { path = "crates/re_analytics", version = "0.1.1" } +re_arrow_store = { path = "crates/re_arrow_store", version = "0.1.1" } +re_build_build_info = { path = "crates/re_build_build_info", version = "0.1.1" } +re_build_info = { path = "crates/re_build_info", version = "0.1.1" } +re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.1.1" } +re_data_store = { path = "crates/re_data_store", version = "0.1.1" } +re_error = { path = "crates/re_error", version = "0.1.1" } +re_format = { path = "crates/re_format", version = "0.1.1" } +re_int_histogram = { path = "crates/re_int_histogram", version = "0.1.1" } +re_log = { path = "crates/re_log", version = "0.1.1" } +re_log_encoding = { path = "crates/re_log_encoding", version = "0.1.1" } +re_log_types = { path = "crates/re_log_types", version = "0.1.1" } +re_memory = { path = "crates/re_memory", version = "0.1.1" } +re_query = { path = "crates/re_query", version = "0.1.1" } +re_renderer = { path = "crates/re_renderer", version = "0.1.1", default-features = false } +re_sdk = { path = "crates/re_sdk", version = "0.1.1" } +re_smart_channel = { path = "crates/re_smart_channel", version = "0.1.1" } +re_string_interner = { path = "crates/re_string_interner", version = "0.1.1" } +re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.1.1" } +re_tuid = { path = "crates/re_tuid", version = "0.1.1" } +re_ui = { path = "crates/re_ui", version = "0.1.1" } +re_viewer = { path = "crates/re_viewer", version = "0.1.1", default-features = false } +re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.1.1" } +re_ws_comms = { path = "crates/re_ws_comms", version = "0.1.1" } +depthai-viewer = { path = "crates/rerun", version = "0.1.1" } ahash = "0.8" anyhow = "1.0" diff --git a/crates/re_renderer/shader/depth_cloud.wgsl b/crates/re_renderer/shader/depth_cloud.wgsl index 407197a6f353..34d7dd7cbc7a 100644 --- a/crates/re_renderer/shader/depth_cloud.wgsl +++ b/crates/re_renderer/shader/depth_cloud.wgsl @@ -256,13 +256,13 @@ fn fs_main_picking_layer(in: VertexOut) -> @location(0) UVec4 { @fragment fn fs_main_outline_mask(in: VertexOut) -> @location(0) UVec2 { - discard; // TODO(filip): This outline looks really bad... It would be neat to have it tho - implement better + // TODO(filip): Proper outline mask for a single point? // Output is an integer target, can't use coverage therefore. // But we still want to discard fragments where coverage is low. // Since the outline extends a bit, a very low cut off tends to look better. - // let coverage = sphere_quad_coverage(in.pos_in_world, in.point_radius, in.point_pos_in_world); - // if coverage < 1.0 { - // discard; - // } - // return depth_cloud_info.outline_mask_id; + let coverage = sphere_quad_coverage(in.pos_in_world, in.point_radius, in.point_pos_in_world); + if coverage <= 1.0 { + discard; + } + return depth_cloud_info.outline_mask_id; } diff --git a/crates/re_ui/data/icons/app_icon_mac.png b/crates/re_ui/data/icons/app_icon_mac.png index 1b951089cf2a..decd05d31ed4 100644 Binary files a/crates/re_ui/data/icons/app_icon_mac.png and b/crates/re_ui/data/icons/app_icon_mac.png differ diff --git a/crates/re_ui/data/icons/app_icon_windows.png b/crates/re_ui/data/icons/app_icon_windows.png index 1b951089cf2a..decd05d31ed4 100644 Binary files a/crates/re_ui/data/icons/app_icon_windows.png and b/crates/re_ui/data/icons/app_icon_windows.png differ diff --git a/crates/re_viewer/Cargo.toml b/crates/re_viewer/Cargo.toml index 0904e3683c31..bf55a3d6cb83 100644 --- a/crates/re_viewer/Cargo.toml +++ b/crates/re_viewer/Cargo.toml @@ -124,6 +124,7 @@ arboard = { version = "3.2", default-features = false, features = [ pyo3 = { version = "0.18.0", features = ["auto-initialize"] } pyo3-asyncio = { version = "0.18", features = ["attributes", "tokio-runtime"] } async-std = "1.9" +sentry = "0.31.5" puffin_http = "0.11" puffin.workspace = true diff --git a/crates/re_viewer/src/app.rs b/crates/re_viewer/src/app.rs index 58a0fac35025..333d6852c1bf 100644 --- a/crates/re_viewer/src/app.rs +++ b/crates/re_viewer/src/app.rs @@ -14,6 +14,7 @@ use re_log_types::{ApplicationId, LogMsg, RecordingId}; use re_renderer::WgpuResourcePoolStatistics; use re_smart_channel::Receiver; use re_ui::{toasts, Command}; +use sentry; use crate::{ app_icon::setup_app_icon, @@ -148,6 +149,11 @@ impl App { rx: Receiver, shutdown: std::sync::Arc, ) -> Self { + // Setup Sentry + let _guard = sentry::init(("https://bb23d43cf3914af5956157b888342b02@o1095304.ingest.sentry.io/4505075212353536", sentry::ClientOptions { + release: sentry::release_name!(), + ..Default::default() + })); let (logger, text_log_rx) = re_log::ChannelLogger::new(re_log::LevelFilter::Info); if re_log::add_boxed_logger(Box::new(logger)).is_err() { // This can happen when `rerun` crate users call `spawn`. TODO(emilk): make `spawn` spawn a new process. diff --git a/rerun_py/Cargo.toml b/rerun_py/Cargo.toml index d6334c3b4f39..787d44ce4c62 100644 --- a/rerun_py/Cargo.toml +++ b/rerun_py/Cargo.toml @@ -16,7 +16,7 @@ default = ["extension-module", "native_viewer"] ## The features we turn on when building the `depthai-viewer` PyPi package ## for . -pypi = ["extension-module", "native_viewer", "web_viewer"] +pypi = ["extension-module", "native_viewer"] ## We need to enable the `pyo3/extension-module` when building the SDK, ## but we cannot enable it when building tests and benchmarks, so we diff --git a/rerun_py/depthai_viewer/_backend/device.py b/rerun_py/depthai_viewer/_backend/device.py index d874879f31ec..6b68e8315d81 100644 --- a/rerun_py/depthai_viewer/_backend/device.py +++ b/rerun_py/depthai_viewer/_backend/device.py @@ -330,30 +330,29 @@ def update_pipeline(self, runtime_only: bool) -> Message: sensor_resolution = size_to_resolution[ smallest_supported_resolution.width, smallest_supported_resolution.height ] - - sdk_cam = self._oak.create_camera( - cam.board_socket, - sensor_resolution.as_sdk_resolution(), - cam.fps, - encode=self.use_encoding, - name=cam.name.capitalize(), - ) - if not does_sensor_support_resolution: - sdk_cam.config_color_camera( - isp_scale=getClosestIspScale( - (smallest_supported_resolution.width, smallest_supported_resolution.height), res_x - ) - ) - is_used_by_depth = config.depth is not None and ( cam.board_socket == config.depth.align or cam.board_socket in config.depth.stereo_pair ) is_used_by_ai = config.ai_model is not None and cam.board_socket == config.ai_model.camera cam.stream_enabled |= is_used_by_depth or is_used_by_ai + # Only create a camera node if it is used by stereo or AI. if cam.stream_enabled: + sdk_cam = self._oak.create_camera( + cam.board_socket, + sensor_resolution.as_sdk_resolution(), + cam.fps, + encode=self.use_encoding, + name=cam.name.capitalize(), + ) + if not does_sensor_support_resolution: + sdk_cam.config_color_camera( + isp_scale=getClosestIspScale( + (smallest_supported_resolution.width, smallest_supported_resolution.height), res_x + ) + ) synced_outputs.append(sdk_cam.out.main) - self._cameras.append(sdk_cam) + self._cameras.append(sdk_cam) if config.depth: print("Creating depth") diff --git a/rerun_py/depthai_viewer/_backend/main.py b/rerun_py/depthai_viewer/_backend/main.py index 7c6345292d81..e7682ed32db5 100644 --- a/rerun_py/depthai_viewer/_backend/main.py +++ b/rerun_py/depthai_viewer/_backend/main.py @@ -3,7 +3,10 @@ from queue import Empty as QueueEmptyException from typing import Optional +import sentry_sdk + import depthai_viewer as viewer +from depthai_viewer import version as depthai_viewer_version from depthai_viewer._backend.config_api import Action, start_api from depthai_viewer._backend.device import Device from depthai_viewer._backend.device_configuration import DeviceProperties @@ -20,6 +23,15 @@ viewer.init("Depthai Viewer") viewer.connect() +sentry_sdk.init( + dsn="https://bb23d43cf3914af5956157b888342b02@o1095304.ingest.sentry.io/4505075212353536", + # Set traces_sample_rate to 1.0 to capture 100% + # of transactions for performance monitoring. + # We recommend adjusting this value in production. + traces_sample_rate=1.0, + release=f"depthai-viewer@{depthai_viewer_version()}", +) + class DepthaiViewerBack: _device: Optional[Device] = None diff --git a/rerun_py/depthai_viewer/_backend/packet_handler.py b/rerun_py/depthai_viewer/_backend/packet_handler.py index ea3cfca0e1c8..2e1c04c1ec00 100644 --- a/rerun_py/depthai_viewer/_backend/packet_handler.py +++ b/rerun_py/depthai_viewer/_backend/packet_handler.py @@ -41,6 +41,7 @@ class AiModelCallbackArgs(CallbackArgs): # type: ignore[misc] class Config: arbitrary_types_allowed = True + protected_namespaces = () class SyncedCallbackArgs(BaseModel): # type: ignore[misc] diff --git a/rerun_py/depthai_viewer/requirements.txt b/rerun_py/depthai_viewer/requirements.txt index 9db721fae628..600f12662da8 100644 --- a/rerun_py/depthai_viewer/requirements.txt +++ b/rerun_py/depthai_viewer/requirements.txt @@ -5,5 +5,6 @@ ahrs # depthai_sdk conflicts with depthai, so it's installed seperatelly in __main__.py depthai==2.22.0.0 websockets -pydantic +pydantic==1.9 deprecated +sentry-sdk