vision_core/capture.rs
1use bevy::prelude::{Component, Entity, Handle, Image, Resource, UVec2};
2
3#[derive(Resource, Default, Clone)]
4pub struct CaptureLimit {
5 pub max_frames: Option<u32>,
6}
7
8/// Marker component for the primary capture camera used for recording and inference.
9#[derive(Component)]
10pub struct PrimaryCaptureCamera;
11
12/// Resource tracking the primary capture render target.
13#[derive(Resource)]
14pub struct PrimaryCaptureTarget {
15 pub handle: Handle<Image>,
16 pub size: UVec2,
17 pub entity: Entity,
18}
19
20/// Resource holding the latest GPU readback from the primary capture camera.
21#[derive(Resource, Default, Clone)]
22pub struct PrimaryCaptureReadback {
23 pub latest: Option<Vec<u8>>,
24}