From b30dbd01f590793017e135d65b18977dffdd6562 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sun, 12 Jul 2026 11:13:17 -0700 Subject: [PATCH] Fetch shot paths and features for the Shot Lab picker The recorded-shot picker now renders per-shot table diagrams, so GetRecordedStreamShots needs serializedShotPaths plus the pocketing and cue-object features that PlaneShotDiagram consumes. Co-Authored-By: Claude Fable 5 --- src/index.tsx | 52 +++++++++++++++++++++++++++++++ src/operations/recorded_shots.gql | 24 ++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/src/index.tsx b/src/index.tsx index f9f2e94..8ca8f2f 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -6647,6 +6647,34 @@ export type GetRecordedStreamShotsQuery = { videoId: number; startFrame: number; endFrame: number; + serializedShotPaths?: { + __typename?: "SerializedShotPathsGQL"; + b64EncodedBuffer?: string | null; + } | null; + cueObjectFeatures?: { + __typename?: "CueObjectFeaturesGQL"; + cueObjectDistance?: number | null; + cueObjectAngle?: number | null; + cueBallSpeed?: number | null; + shotDirection?: ShotDirectionEnum | null; + spinType?: SpinTypeEnum | null; + } | null; + pocketingIntentionFeatures?: { + __typename?: "PocketingIntentionFeaturesGQL"; + make?: boolean | null; + targetPocketDistance?: number | null; + targetPocketAngle?: number | null; + targetPocketAngleDirection?: ShotDirectionEnum | null; + marginOfErrorInDegrees?: number | null; + intendedPocketType?: PocketEnum | null; + difficulty?: number | null; + } | null; + pocketingIntentionInfo?: { + __typename?: "PocketingIntentionInfoGQL"; + ballId: number; + pocketId: PocketIdentifier; + pathMetadataIndex: number; + } | null; }>; }; }; @@ -14355,6 +14383,30 @@ export const GetRecordedStreamShotsDocument = gql` videoId startFrame endFrame + serializedShotPaths { + b64EncodedBuffer + } + cueObjectFeatures { + cueObjectDistance + cueObjectAngle + cueBallSpeed + shotDirection + spinType + } + pocketingIntentionFeatures { + make + targetPocketDistance + targetPocketAngle + targetPocketAngleDirection + marginOfErrorInDegrees + intendedPocketType + difficulty + } + pocketingIntentionInfo { + ballId + pocketId + pathMetadataIndex + } } } } diff --git a/src/operations/recorded_shots.gql b/src/operations/recorded_shots.gql index 00389bf..2ae77bf 100644 --- a/src/operations/recorded_shots.gql +++ b/src/operations/recorded_shots.gql @@ -33,6 +33,30 @@ query GetRecordedStreamShots($videoId: Int!, $limit: Int! = 200) { videoId startFrame endFrame + serializedShotPaths { + b64EncodedBuffer + } + cueObjectFeatures { + cueObjectDistance + cueObjectAngle + cueBallSpeed + shotDirection + spinType + } + pocketingIntentionFeatures { + make + targetPocketDistance + targetPocketAngle + targetPocketAngleDirection + marginOfErrorInDegrees + intendedPocketType + difficulty + } + pocketingIntentionInfo { + ballId + pocketId + pathMetadataIndex + } } } }