Skip to content

Comments

feat: add 5 official nodes from main repo#1

Merged
edgarriba merged 6 commits intomainfrom
feat/add-official-nodes
Feb 1, 2026
Merged

feat: add 5 official nodes from main repo#1
edgarriba merged 6 commits intomainfrom
feat/add-official-nodes

Conversation

@edgarriba
Copy link
Member

Summary

  • Add 5 official nodes extracted from the main bubbaloop repo: rtsp-camera, openmeteo, foxglove, recorder, inference
  • Each node is a standalone Rust crate with git dependency on bubbaloop-schemas, own Cargo.lock, [workspace] opt-out, and .cargo/config.toml for local target directory
  • Add nodes.yaml registry for marketplace/TUI discovery
  • Update README with full node table and --subdir install instructions
  • Update CLAUDE.md schemas dependency from path to git

Nodes

Node Type Description
rtsp-camera Rust (ros-z) RTSP camera capture with GStreamer H264 decode
openmeteo Rust (ros-z) Open-Meteo weather data publisher
foxglove Rust (ros-z) Foxglove Studio WebSocket bridge
recorder Rust (ros-z) MCAP file recorder for ROS-Z topics
inference Rust ML inference node for camera processing

Install

bubbaloop node add kornia/bubbaloop-nodes-official --subdir rtsp-camera

Test plan

  • Each node compiles standalone: cd <node> && cargo check
  • Each node has valid node.yaml manifest
  • bubbaloop node add with --subdir discovers and registers nodes correctly

🤖 Generated with Claude Code

edgarriba and others added 6 commits January 31, 2026 23:28
…r, inference)

Extracted from the main bubbaloop repo as standalone crates.
Each node depends on bubbaloop-schemas via git (not path),
has its own Cargo.lock, [workspace] opt-out, and .cargo/config.toml
for local target directory.

Nodes:
- rtsp-camera: RTSP camera capture with GStreamer H264 decode
- openmeteo: Open-Meteo weather data publisher
- foxglove: Foxglove Studio WebSocket bridge
- recorder: MCAP file recorder for ROS-Z topics
- inference: ML inference node for camera processing

Also adds nodes.yaml registry for marketplace discovery and
updates README/CLAUDE.md with the full node table and git dep
instructions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add GitHub Actions CI with validate, rust-nodes (matrix), and python-nodes jobs
- Fix system-telemetry bubbaloop-schemas dependency from path to git
- Add system-telemetry and network-monitor entries to nodes.yaml

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove foxglove node (Foxglove Studio bridge)
- Remove recorder node (MCAP file recorder)
- Remove shared memory (SHM) publishing from rtsp-camera
  - Drop zenoh shared-memory feature, prost direct dependency
  - Remove shm_task(), frame_to_raw_image(), SHM_POOL_SIZE
  - Keep compressed H264 publishing only
- Update nodes.yaml, CI matrix, README accordingly

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix pixi.toml: [project] → [workspace] (deprecated) for rtsp-camera,
  openmeteo, inference
- Add protobuf + pkg-config to system-telemetry pixi.toml (prost-build
  needs protoc)
- Add [workspace] opt-out to system-telemetry Cargo.toml
- Generate pixi.lock for system-telemetry and inference (required by
  setup-pixi cache)
- Run clippy through pixi env in CI so protoc is in PATH
- All nodes now depend on bubbaloop-schemas from main which includes
  camera.proto and weather.proto

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The conda-forge `protobuf` package is the Python library; the `protoc`
binary lives in `libprotobuf`. rtsp-camera got it transitively via
GStreamer deps, but openmeteo/inference/system-telemetry need it
explicitly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- sequence % 10 == 0 → sequence.is_multiple_of(10)
- for (_name, data) in map → for data in map.values()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@edgarriba edgarriba merged commit f4d702d into main Feb 1, 2026
6 checks passed
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.

1 participant