feat: add 5 official nodes from main repo#1
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
bubbalooprepo: rtsp-camera, openmeteo, foxglove, recorder, inferencebubbaloop-schemas, ownCargo.lock,[workspace]opt-out, and.cargo/config.tomlfor local target directorynodes.yamlregistry for marketplace/TUI discovery--subdirinstall instructionspathtogitNodes
Install
Test plan
cd <node> && cargo checknode.yamlmanifestbubbaloop node addwith--subdirdiscovers and registers nodes correctly🤖 Generated with Claude Code