1 TargetCandidateRow

data_handling._target_selection.TargetCandidateRow(
    scene_id,
    snippet_id,
    source,
    source_index,
    target_row_id,
    target_id,
    sem_id,
    inst_id,
    class_name,
    confidence,
    center_world,
    extents,
    pose_world_object,
    relative_pose_reference_object,
    projected_area_pixels,
    projected_area_fraction,
    semidense_support_count,
    evl_support_count,
    effective_support_count,
    visibility_score,
    support_score,
    deficit_score,
    score,
    eligible,
    invalid_reason_bitset,
    primary_invalid_reason,
    selected_rank=None,
    selection_probability=None,
    selection_log_probability=None,
    selection_entropy=None,
    gt_label_valid=False,
    gt_target_row_id=None,
    gt_target_id=None,
    gt_match_iou=None,
    gt_match_score=None,
    gt_match_status='not_requested',
)

One actor-visible target candidate and its oracle audit fields.

This is the row-level DTO for the OBS-SEL/PRED-Q/GT-EVAL boundary. The actor-visible part is derived from detected or predicted OBBs: class id, confidence, world-frame OBB center/extents/pose, support counts, visibility score, support score, deficit score, eligibility, and the final selection score. pose_world_object is an EFM PoseTW payload flattened to 12 values. relative_pose_reference_object is T_reference_world @ T_world_object, also flattened to 12 values.

source_index points back into the padded source OBB table after flattening valid rows; target_row_id is the selector-local dense row id. GT match fields are oracle/evaluation audit fields only. They are filled after actor-visible selection and must not be fed to actor policies in V1.