Files
crosstyan 1369f5235d feat: add shared TTY progress bars for ZED offline tools
Extract the tqdm-like stderr progress bar into a shared helper and reuse it across zed_svo_to_mp4, zed_svo_grid_to_mp4, and zed_svo_to_mcap.

For zed_svo_to_mcap, single-source exports now report exact frame totals and bundled multi-camera exports report exact synced-group totals on TTY. When bundled mode runs without --end-frame, the tool performs a counting pass first so the progress total remains exact instead of estimated.

Also document the bundled MCAP progress behavior in the README and record the current third_party dependency state in third_party/README. That note now makes it explicit that CLI11 and proxy are the active submodules, while tomlplusplus and mcap are vendored source drops, and adds a TODO to revisit converting mcap into a submodule later.

Verified with the Debug build during implementation, including single-camera and bundled zed_svo_to_mcap runs that rendered clean progress output to a TTY.
2026-03-24 16:01:46 +08:00
..

Third-Party Dependencies

All vendored dependencies in this repo live under third_party/.

Dependencies:

  • CLI11 (git submodule): command-line parsing, target CLI11::CLI11
  • proxy (git submodule): proxy/rtti headers, target msft_proxy4::proxy
  • tomlplusplus (vendored source drop): TOML parsing, target tomlplusplus::tomlplusplus
  • mcap (vendored source drop): MCAP headers, target mcap::mcap

Current submodule state:

  • Active git submodules: third_party/CLI11, third_party/proxy
  • Vendored source drops: third_party/tomlplusplus, third_party/mcap

Bootstrap:

  • git submodule sync --recursive
  • git submodule update --init --recursive

Rule:

  • New vendored dependencies must live under third_party/ and be exposed through third_party/CMakeLists.txt.

TODO:

  • Revisit third_party/mcap and convert it from a vendored source drop to a git submodule once the local Zstd fix is either upstreamed or moved into a maintained fork.