Skip to content

Groundwork: move the frame codec and the on-air probe to family - #158

Merged
nofuturekid merged 4 commits into
rebuildfrom
fix/147-groundwork-family
Nov 13, 2026
Merged

nofuturekid merged 4 commits into
rebuildfrom
fix/147-groundwork-family

Conversation

@nofuturekid

Copy link
Copy Markdown
Collaborator

Fixes #147

Stacked on #157 (base stays rebuild; the diff of this pull request on top of #157 is the single commit shown here).

What changed

  • crates/obsbot-device/src/frame.rs and streaming.rs move to crates/obsbot-device/src/family/ as pure renames (100% similarity, no content change).
  • New family/mod.rs declares pub mod frame; pub mod streaming;.
  • lib.rs: only the group pub mod frame; pub mod streaming; becomes pub mod family; pub use family::{frame, streaming};, so obsbot_device::frame and obsbot_device::streaming stay valid until the final path change of the stage.

No byte sent to the camera, no ioctl, no timing and no command-line output changes. No CHANGELOG line (no user-visible change).

Verification (no camera)

  • Gate: cargo fmt --check, cargo clippy --workspace --all-targets --locked -D warnings, shellcheck scripts/groundwork/*.sh scripts/package-contents.sh, actionlint print nothing; cargo test --workspace --locked: 118 + 1 (byte_guard) + 25 + 2 (cli_surface) + 0 doc tests pass.
  • G1: scripts/groundwork/test-names.sh for base and head, comm -3 prints nothing (146 names each).
  • G2/G3: byte-guard.txt and cli-surface.txt are not in the diff.
  • G6: scripts/groundwork/move-check.sh <base> HEAD prints exactly the SPDX line and the module doc line of family/mod.rs.
  • G7: git diff -M --stat shows both files as renames with 0 changed lines; four files in total.
  • G4 MSRV (1.88) is left to the CI job.

nofuturekid and others added 4 commits November 13, 2026 11:52
A byte guard records every frame and short command the builders emit for a fixed list of
calls, a CLI guard records the help text of every subcommand, and the release dry run lists
the files of every package. The workspace move must leave all three unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Taken from the package-contents artifact of the release dry run of this pull request: the
files of the deb, rpm, Arch and tarball packages for both architectures.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The library modules move to crates/obsbot-device, models.rs as registry.rs, and the 0.13 CLI
and daemon to crates/obsbot4linux, which keeps the package name, the binary and the package
metadata. Version, rust-version and licence come from [workspace.package]. No behaviour change.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
frame.rs and streaming.rs move unchanged; lib.rs keeps their old paths as re-exports until
the final path change of the groundwork stage.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@nofuturekid nofuturekid added the enhancement New feature or request label Nov 13, 2026
@nofuturekid
nofuturekid merged commit ce0a9a8 into rebuild Nov 13, 2026
20 checks passed
@nofuturekid
nofuturekid deleted the fix/147-groundwork-family branch November 13, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant