# Cargo.toml — Key Dependencies

<table id="bkmrk-cratepurposetaurides"><colgroup><col></col><col></col></colgroup><tbody><tr><th>**Crate**

</th><th>**Purpose**

</th></tr><tr><td>`<span class="editor-theme-code">tauri</span>`

</td><td><span style="white-space: pre-wrap;">Desktop app framework, with </span>`<span class="editor-theme-code">protocol-asset</span>`<span style="white-space: pre-wrap;"> and </span>`<span class="editor-theme-code">devtools</span>`<span style="white-space: pre-wrap;"> features</span>

</td></tr><tr><td>`<span class="editor-theme-code">tokio</span>`<span style="white-space: pre-wrap;"> (full)</span>

</td><td>Async runtime for all network and I/O tasks

</td></tr><tr><td>`<span class="editor-theme-code">prost</span>`

</td><td>Protobuf encode/decode

</td></tr><tr><td>`<span class="editor-theme-code">gstreamer</span>`<span style="white-space: pre-wrap;"> / </span>`<span class="editor-theme-code">gstreamer-app</span>`

</td><td>Video pipeline

</td></tr><tr><td>`<span class="editor-theme-code">warp</span>`

</td><td>MJPEG HTTP server

</td></tr><tr><td>`<span class="editor-theme-code">gilrs</span>`

</td><td>Gamepad/controller input

</td></tr><tr><td>`<span class="editor-theme-code">reqwest</span>`<span style="white-space: pre-wrap;"> (blocking)</span>

</td><td>HTTP client used to capture video snapshots

</td></tr><tr><td>`<span class="editor-theme-code">serde</span>`<span style="white-space: pre-wrap;"> / </span>`<span class="editor-theme-code"> serde_json</span>`

</td><td>Serialisation for Tauri events and commands

</td></tr><tr><td>`<span class="editor-theme-code">anyhow</span>`

</td><td>Ergonomic error handling across async code

</td></tr><tr><td>`<span class="editor-theme-code">dirs</span>`

</td><td>Cross-platform system directory paths (cache dir)

</td></tr><tr><td>`<span class="editor-theme-code">chrono</span>`

</td><td>Date/time (available for timestamps)

</td></tr><tr><td>`<span class="editor-theme-code">bytes</span>`

</td><td>Zero-copy byte buffer for GStreamer frame sharing

</td></tr><tr><td>`<span class="editor-theme-code">once_cell</span>`

</td><td>Handling threads of dummy data

</td></tr><tr><td>`<span class="editor-theme-code">rand</span>`

</td><td>For generating random numbers (for dummy data)

</td></tr><tr><td>`<span class="editor-theme-code">socket2</span>`

</td><td>For creating a socket with custom options

</td></tr><tr><td>`<span class="editor-theme-code">tobj</span>`

</td><td>For handling maps with .obj format

</td></tr><tr><td>`<span class="editor-theme-code">las</span>`

</td><td>For handling maps with .las format

</td></tr><tr><td>`<span class="editor-theme-code">nalgebra</span>`

</td><td>For handling the computing the height map

</td></tr></tbody></table>