Skip to content

Docs/advanced streams update 2#1078

Merged
leshy merged 7 commits intodevfrom
docs/advanced-streams-update-2
Jan 21, 2026
Merged

Docs/advanced streams update 2#1078
leshy merged 7 commits intodevfrom
docs/advanced-streams-update-2

Conversation

@leshy
Copy link
Contributor

@leshy leshy commented Jan 21, 2026

recreated prev PR since CI seems confused with it
#1052

@leshy leshy requested a review from a team January 21, 2026 06:36
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 21, 2026

Greptile Summary

This PR adds comprehensive documentation and visualization for synchronous value fetching patterns in the sensor streams API. It introduces detailed explanations of getter_hot() and getter_cold() approaches with clear trade-offs, usage examples, and a new pikchr-generated SVG diagram that illustrates the architectural differences between the two patterns.

Key Changes:

  • Expanded "Getting Values Synchronously" section with practical context and recommendations
  • Added comparison table showing when to use each approach
  • Included pikchr diagram source code that generates getter_hot_cold.svg
  • Added code examples demonstrating both getter_hot() and getter_cold() usage patterns
  • New SVG asset file properly referenced in documentation

All documentation is clear, well-structured, and provides good guidance for developers choosing between synchronous fetching approaches.

Confidence Score: 5/5

  • This PR is safe to merge - it contains only documentation and asset additions with no code logic changes
  • This PR consists entirely of documentation enhancements and a new SVG diagram. There are no code changes, no logic modifications, and no risk of introducing bugs. The documentation is well-written, technically accurate, and properly formatted. The SVG file is valid and properly referenced in the markdown. The content aligns with the existing documentation style and provides valuable guidance for developers.
  • No files require special attention

Important Files Changed

Filename Overview
docs/api/sensor_streams/advanced_streams.md Enhanced documentation for synchronous value fetching with detailed explanations of getter_hot() and getter_cold() patterns, including usage examples and a comprehensive comparison table. No issues identified.
docs/api/sensor_streams/assets/getter_hot_cold.svg New SVG diagram generated from pikchr source code that visualizes the flow and timing differences between getter_hot() (background subscription with instant reads) and getter_cold() (fresh subscription on each call). Diagram is properly formatted and displays correctly.

Sequence Diagram

sequenceDiagram
    participant App as Application
    participant GH as getter_hot()
    participant GC as getter_cold()
    participant Source as Data Source

    rect rgb(92, 159, 240)
    note over GH: Setup (blocking)
    GH->>Source: subscribe()
    Source->>GH: emit value 1
    GH->>GH: cache value
    end

    rect rgb(200, 200, 200)
    note over App: Using getter_hot()
    App->>GH: call()
    GH->>App: return cached value (instant)
    end

    rect rgb(200, 200, 200)
    App->>GH: call()
    GH->>App: return cached value (instant)
    end

    rect rgb(92, 159, 240)
    note over GC: Each call creates new subscription
    GC->>Source: subscribe()
    Source->>GC: emit value
    GC->>App: return value
    GC->>Source: dispose()
    end

    rect rgb(92, 159, 240)
    note over GC: Another call, repeat
    GC->>Source: subscribe()
    Source->>GC: emit value
    GC->>App: return value
    GC->>Source: dispose()
    end
Loading

@leshy leshy merged commit cdb011a into dev Jan 21, 2026
14 checks passed
spomichter added a commit that referenced this pull request Jan 23, 2026
… Unitree Go2 Navigation & Exploration Beta

Pre-Release v0.0.8: Unitree Go2 Navigation & Exploration Beta, Transport Updates, Documentation updates, Rerun fixes, Person follow, Readme updates

## What's Changed
* Small docs clarification about stream getters by @leshy in #1043
* Fix split view on wide monitors by @jeff-hykin in #1048
* Docs: Install & Develop  by @jeff-hykin in #1022
* Add uv to nix and fix resulting problems by @jeff-hykin in #1021
* v0.0.8 by @paul-nechifor in #1050
* Style changes in docs by @paul-nechifor in #1051
* Revert "Add uv to nix and fix resulting problems" by @leshy in #1053
* Transport benchmarks + Raw ros transport by @leshy in #1038
* feat: default to rerun-web and auto-open browser on startup (browser … by @Nabla7 in #1019
* bbox detections visual check by @leshy in #1017
* fix: only auto-open browser for rerun-web viewer backend by @Nabla7 in #1066
* move slow tests to integration by @paul-nechifor in #1063
* Streamline transport start/stop methods by @Kaweees in #1062
* Person follow skill with EdgeTAM by @paul-nechifor in #1042
* fix: increase costmap floor z_offset to avoid z-fighting by @Nabla7 in #1073
* Fixed issue #1074 by @alexlin2 in #1075
* ROS transports initial by @leshy in #1057
* Fix System Config Values for LCM on MacOS and Refactor by @jeff-hykin in #1065
* SHM Transport basic fixes by @leshy in #1041
* commented out Mem Transport test case by @leshy in #1077
* Docs/advanced streams update 2 by @leshy in #1078
* Fix more tests by @paul-nechifor in #1071
* feat: navigation docker updates from bona_local_dev by @baishibona in #1081
* Fix missing dependencies by @Kaweees in #1085
* Release readme fixes by @spomichter in #1076

## New Contributors
* @baishibona made their first contribution in #1081

**Full Changelog**: v0.0.7...v0.0.8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants