Skip to content

continuum-live: calls, avatars, audio, video and media are their own crate - #5303

Merged
joelteply merged 4 commits into
canaryfrom
fable/live-crate
Oct 23, 2026
Merged

joelteply merged 4 commits into
canaryfrom
fable/live-crate

Conversation

@joelteply

Copy link
Copy Markdown
Contributor

This is the fourth crate cut, after the kernel, engine and Hands. The live module (calls, avatars, audio, video) and the media module move into core/continuum-live, on top of the engine and the kernel. Core re-exports crate::live and crate::media, so no callers change.

What changed beyond the moves:

  • Optional presentation dependencies move with their code. bevy, wgpu and wgpu-hal (behind avatar-3d), livekit (behind livekit-webrtc), pocket-tts, and the objc macro import now live in the live crate. Core's features forward to live's. Core keeps only livekit-api, which it uses to mint call tokens.
  • Test fixture gating. seed_frame_for_test is gated on test-fixtures. no_cpu_fallback_contract reads the TTS source from its new path.
  • CI. The live crate's tests run in CI, the warnings ratchet counts the live target, and CUT_CRATES includes live.

Measured

M5, 2026-10-23.

  • Clean checks of:
    • core, default features
    • core, avatar-3d + livekit-webrtc
    • live, headless
    • live, every feature
  • Tests: live 353 plus core 5,588 = 5,941, the same as the base's core count. The live crate's 353 pass again after rebasing onto canary.
  • Incremental checks: live 28 s, core 95 s.
  • Ratchets: unchanged.

Next: the mind crate.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo

…, video; media)

Live and media sit on the engine and the kernel and name nothing above them (#5295). Core
re-exports crate::live and crate::media, so no caller changes. Beyond the moves:
- the optional presentation deps move with their code: bevy, wgpu, wgpu-hal (avatar-3d),
  livekit (livekit-webrtc), pocket-tts, and the objc macro import; core's features forward to
  live's and core keeps only livekit-api (it mints call tokens).
- seed_frame_for_test is gated on test-fixtures; core's no_cpu_fallback_contract reads the
  moved TTS source at its new path.
- CI runs the live tests beside the hands tests; the warnings ratchet counts the live target;
  CUT_CRATES names live so every source guard walks it.

Measured (M5): clean check of core (default and avatar-3d+livekit-webrtc), live headless and
live with every feature; tests live 353 + core 5,588 = 5,941 (base core 5,941); live
incremental check 28 s, core 95 s; ratchets unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo
…te test-only)

Deleted: dead Animator seam (animator/procedural/registry/pose, ExternalPose
path and its Without<> filters, SkeletonPose/BonePose ts exports), unused
Skeleton hand bones and name maps, has_active_slots, unload_avatar_models,
wgpu i420_size field, AudioRouter.registry field, unused imports.
Gated #[cfg(test)]: i420_buffer_size, CoordinateConvention::new.
Gated by cfg: macOS-only re-exports, non-macOS-only frame_channels param.
PendingLoads/PendingLoadEntry made pub to match InstantiateParams.
unexpected_cfgs allow moved with the objc code (as continuum-core had).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo
@github-actions github-actions Bot added size: XL and removed size: M labels Oct 23, 2026
@joelteply
joelteply merged commit 634d93e into canary Oct 23, 2026
10 checks passed
@joelteply
joelteply deleted the fable/live-crate branch October 23, 2026 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant