Files
OmniSocketGo_streaming/docs/RELEASE_REVIEW.md
2026-08-09 15:56:20 +08:00

49 lines
2.1 KiB
Markdown

# Release review
## What was checked
1. The host archive contains the two expected sibling projects:
`OmniSocketGo_add_camera` and `robot-command-center`.
2. The robot archive is a direct V4L2 implementation. Its source, scripts,
and camera-device discovery remain under `robot/v4l2/`.
3. The ROS 2 variant is kept separate under `robot/ros2/`; it uses the ROS 2
camera bridge and shared-memory hand-off instead of opening the same V4L2
node in the default path.
4. The network guide describes both direct-LAN and one-public-KCP-Hub modes.
Both sides must use the same Hub address and leave `relay_via` empty for
the one-Hub topology.
5. Nested release archives, Python caches, frontend dependencies, generated
build output, and `*.env.local` machine overrides were excluded from the
repository. No credential assignment or private-key material was found in
the source scan.
## Important configuration boundary
The checked-in `*.env` files are templates and contain example deployment
values. The original guide also contains the LAN address and Linux paths from
the validation machine (`192.168.41.144` and `/home/ps/Desktop`). Treat those
values as examples: copy the templates to ignored `*.env.local` files and
replace the address, install root, camera device, and ROS user for the target
machine.
## Validation boundary
The C transport and the ROS 2 package are Linux-targeted. A complete build and
camera smoke test must run on the target Linux host/ARM64 robot. The ROS 2
variant was previously built and exercised on the robot; this Windows checkout
only performs source/layout, archive/hash, and sensitive-file checks.
## Runtime choice
Use exactly one of the robot releases per robot process:
```text
direct V4L2: robot/v4l2/OmniSocketGo_robot
ROS 2: robot/ros2/OmniSocketGo_robot_ros
```
The V4L2 path requires exclusive access to its `/dev/video*` node. The ROS 2
path requires the Orbbec/proc_manager and bridge path to be running and keeps
those services as the camera owner. Starting both paths creates duplicate
capture/peer processes and is unsupported.