Compare commits

...

9 Commits

Author SHA1 Message Date
4c232829b6 Merge pull request 'Add spinType and cueBallSpeed to get shots operation' (#47) from loewy/add-spin-type-to-get-shots into master
Reviewed-on: #47
2024-08-29 19:34:19 -06:00
ddf1036009 add spin type and cue ball speed to get shots operation
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-08-29 18:32:05 -07:00
9b3e5c23a0 Merge pull request 'Dummy query to resolve shot paths' (#46) from mk/deserialize-and-render into master
Reviewed-on: #46
Reviewed-by: loewy <loewymalkov@gmail.com>
2024-08-29 12:26:23 -06:00
a7eae9d46b Merge branch 'master' into mk/deserialize-and-render
All checks were successful
Tests / Tests (pull_request) Successful in 5s
2024-08-29 12:24:54 -06:00
8c3e9d6273 Merge pull request 'Add spinType and filter input' (#45) from mk/spin-type into master
Reviewed-on: #45
Reviewed-by: loewy <loewymalkov@gmail.com>
2024-08-28 17:38:43 -06:00
f306cc6c16 Merge branch 'master' into mk/spin-type
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-08-28 17:27:58 -06:00
643cdb29e3 Add spinType and filter input
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-08-28 16:27:21 -07:00
89287a0100 Merge pull request 'Expose frames per second in get videos' (#44) from kat/expose-frames-per-second into master
Reviewed-on: #44
2024-08-27 10:21:38 -06:00
41169e2848 Dummy query to get it working for now
All checks were successful
Tests / Tests (pull_request) Successful in 7s
2024-08-26 15:54:43 -07:00
3 changed files with 135 additions and 2 deletions

View File

@@ -124,6 +124,7 @@ export type CueObjectFeaturesGql = {
cueObjectAngle?: Maybe<Scalars["Float"]["output"]>; cueObjectAngle?: Maybe<Scalars["Float"]["output"]>;
cueObjectDistance?: Maybe<Scalars["Float"]["output"]>; cueObjectDistance?: Maybe<Scalars["Float"]["output"]>;
shotDirection?: Maybe<ShotDirectionEnum>; shotDirection?: Maybe<ShotDirectionEnum>;
spinType?: Maybe<SpinTypeEnum>;
}; };
export type DeployedConfigGql = { export type DeployedConfigGql = {
@@ -949,7 +950,7 @@ export type FilterInput =
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
shotDirection?: never; shotDirection?: never;
spinType: Array<Scalars["String"]["input"]>; spinType: Array<SpinTypeEnum>;
tableSize?: never; tableSize?: never;
tags?: never; tags?: never;
targetPocketDistance?: never; targetPocketDistance?: never;
@@ -1458,6 +1459,13 @@ export type ShotGql = {
videoId: Scalars["Int"]["output"]; videoId: Scalars["Int"]["output"];
}; };
export enum SpinTypeEnum {
Center = "CENTER",
Draw = "DRAW",
Follow = "FOLLOW",
Unknown = "UNKNOWN",
}
export type StreamErrorGql = { export type StreamErrorGql = {
__typename?: "StreamErrorGQL"; __typename?: "StreamErrorGQL";
message: Scalars["String"]["output"]; message: Scalars["String"]["output"];
@@ -1777,6 +1785,7 @@ export type GetShotsQueryVariables = Exact<{
includeCueObjectDistance?: Scalars["Boolean"]["input"]; includeCueObjectDistance?: Scalars["Boolean"]["input"];
includeCueObjectAngle?: Scalars["Boolean"]["input"]; includeCueObjectAngle?: Scalars["Boolean"]["input"];
includeCueBallSpeed?: Scalars["Boolean"]["input"]; includeCueBallSpeed?: Scalars["Boolean"]["input"];
includeSpinType?: Scalars["Boolean"]["input"];
includeShotDirection?: Scalars["Boolean"]["input"]; includeShotDirection?: Scalars["Boolean"]["input"];
includeTargetPocketDistance?: Scalars["Boolean"]["input"]; includeTargetPocketDistance?: Scalars["Boolean"]["input"];
includeMake?: Scalars["Boolean"]["input"]; includeMake?: Scalars["Boolean"]["input"];
@@ -1812,6 +1821,7 @@ export type GetShotsQuery = {
cueObjectAngle?: number | null; cueObjectAngle?: number | null;
cueBallSpeed?: number | null; cueBallSpeed?: number | null;
shotDirection?: ShotDirectionEnum | null; shotDirection?: ShotDirectionEnum | null;
spinType?: SpinTypeEnum | null;
} | null; } | null;
pocketingIntentionFeatures?: { pocketingIntentionFeatures?: {
__typename?: "PocketingIntentionFeaturesGQL"; __typename?: "PocketingIntentionFeaturesGQL";
@@ -1822,6 +1832,25 @@ export type GetShotsQuery = {
}>; }>;
}; };
export type GetSerializedShotPathsQueryVariables = Exact<{
filterInput: FilterInput;
}>;
export type GetSerializedShotPathsQuery = {
__typename?: "Query";
getShots: Array<{
__typename?: "ShotGQL";
id: number;
videoId: number;
startFrame: number;
endFrame: number;
serializedShotPaths?: {
__typename?: "SerializedShotPathsGQL";
b64EncodedBuffer?: string | null;
} | null;
}>;
};
export type GetShotAnnotationTypesQueryVariables = Exact<{ export type GetShotAnnotationTypesQueryVariables = Exact<{
[key: string]: never; [key: string]: never;
}>; }>;
@@ -2715,6 +2744,7 @@ export const GetShotsDocument = gql`
$includeCueObjectDistance: Boolean! = false $includeCueObjectDistance: Boolean! = false
$includeCueObjectAngle: Boolean! = false $includeCueObjectAngle: Boolean! = false
$includeCueBallSpeed: Boolean! = false $includeCueBallSpeed: Boolean! = false
$includeSpinType: Boolean! = false
$includeShotDirection: Boolean! = false $includeShotDirection: Boolean! = false
$includeTargetPocketDistance: Boolean! = false $includeTargetPocketDistance: Boolean! = false
$includeMake: Boolean! = false $includeMake: Boolean! = false
@@ -2748,6 +2778,7 @@ export const GetShotsDocument = gql`
cueObjectAngle @include(if: $includeCueObjectAngle) cueObjectAngle @include(if: $includeCueObjectAngle)
cueBallSpeed @include(if: $includeCueBallSpeed) cueBallSpeed @include(if: $includeCueBallSpeed)
shotDirection @include(if: $includeShotDirection) shotDirection @include(if: $includeShotDirection)
spinType @include(if: $includeSpinType)
} }
pocketingIntentionFeatures pocketingIntentionFeatures
@include(if: $includePocketingIntentionFeatures) { @include(if: $includePocketingIntentionFeatures) {
@@ -2781,6 +2812,7 @@ export const GetShotsDocument = gql`
* includeCueObjectDistance: // value for 'includeCueObjectDistance' * includeCueObjectDistance: // value for 'includeCueObjectDistance'
* includeCueObjectAngle: // value for 'includeCueObjectAngle' * includeCueObjectAngle: // value for 'includeCueObjectAngle'
* includeCueBallSpeed: // value for 'includeCueBallSpeed' * includeCueBallSpeed: // value for 'includeCueBallSpeed'
* includeSpinType: // value for 'includeSpinType'
* includeShotDirection: // value for 'includeShotDirection' * includeShotDirection: // value for 'includeShotDirection'
* includeTargetPocketDistance: // value for 'includeTargetPocketDistance' * includeTargetPocketDistance: // value for 'includeTargetPocketDistance'
* includeMake: // value for 'includeMake' * includeMake: // value for 'includeMake'
@@ -2832,6 +2864,85 @@ export type GetShotsQueryResult = Apollo.QueryResult<
GetShotsQuery, GetShotsQuery,
GetShotsQueryVariables GetShotsQueryVariables
>; >;
export const GetSerializedShotPathsDocument = gql`
query GetSerializedShotPaths($filterInput: FilterInput!) {
getShots(filterInput: $filterInput) {
id
videoId
startFrame
endFrame
serializedShotPaths {
b64EncodedBuffer
}
}
}
`;
/**
* __useGetSerializedShotPathsQuery__
*
* To run a query within a React component, call `useGetSerializedShotPathsQuery` and pass it any options that fit your needs.
* When your component renders, `useGetSerializedShotPathsQuery` returns an object from Apollo Client that contains loading, error, and data properties
* you can use to render your UI.
*
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
*
* @example
* const { data, loading, error } = useGetSerializedShotPathsQuery({
* variables: {
* filterInput: // value for 'filterInput'
* },
* });
*/
export function useGetSerializedShotPathsQuery(
baseOptions: Apollo.QueryHookOptions<
GetSerializedShotPathsQuery,
GetSerializedShotPathsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetSerializedShotPathsQuery,
GetSerializedShotPathsQueryVariables
>(GetSerializedShotPathsDocument, options);
}
export function useGetSerializedShotPathsLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetSerializedShotPathsQuery,
GetSerializedShotPathsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetSerializedShotPathsQuery,
GetSerializedShotPathsQueryVariables
>(GetSerializedShotPathsDocument, options);
}
export function useGetSerializedShotPathsSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetSerializedShotPathsQuery,
GetSerializedShotPathsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetSerializedShotPathsQuery,
GetSerializedShotPathsQueryVariables
>(GetSerializedShotPathsDocument, options);
}
export type GetSerializedShotPathsQueryHookResult = ReturnType<
typeof useGetSerializedShotPathsQuery
>;
export type GetSerializedShotPathsLazyQueryHookResult = ReturnType<
typeof useGetSerializedShotPathsLazyQuery
>;
export type GetSerializedShotPathsSuspenseQueryHookResult = ReturnType<
typeof useGetSerializedShotPathsSuspenseQuery
>;
export type GetSerializedShotPathsQueryResult = Apollo.QueryResult<
GetSerializedShotPathsQuery,
GetSerializedShotPathsQueryVariables
>;
export const GetShotAnnotationTypesDocument = gql` export const GetShotAnnotationTypesDocument = gql`
query GetShotAnnotationTypes { query GetShotAnnotationTypes {
getShotAnnotationTypes { getShotAnnotationTypes {

View File

@@ -9,6 +9,7 @@ query GetShots(
$includeCueObjectDistance: Boolean! = false $includeCueObjectDistance: Boolean! = false
$includeCueObjectAngle: Boolean! = false $includeCueObjectAngle: Boolean! = false
$includeCueBallSpeed: Boolean! = false $includeCueBallSpeed: Boolean! = false
$includeSpinType: Boolean! = false
$includeShotDirection: Boolean! = false $includeShotDirection: Boolean! = false
$includeTargetPocketDistance: Boolean! = false $includeTargetPocketDistance: Boolean! = false
$includeMake: Boolean! = false $includeMake: Boolean! = false
@@ -42,6 +43,7 @@ query GetShots(
cueObjectAngle @include(if: $includeCueObjectAngle) cueObjectAngle @include(if: $includeCueObjectAngle)
cueBallSpeed @include(if: $includeCueBallSpeed) cueBallSpeed @include(if: $includeCueBallSpeed)
shotDirection @include(if: $includeShotDirection) shotDirection @include(if: $includeShotDirection)
spinType @include(if: $includeSpinType)
} }
pocketingIntentionFeatures pocketingIntentionFeatures
@include(if: $includePocketingIntentionFeatures) { @include(if: $includePocketingIntentionFeatures) {
@@ -52,6 +54,18 @@ query GetShots(
} }
} }
query GetSerializedShotPaths($filterInput: FilterInput!) {
getShots(filterInput: $filterInput) {
id
videoId
startFrame
endFrame
serializedShotPaths {
b64EncodedBuffer
}
}
}
query GetShotAnnotationTypes { query GetShotAnnotationTypes {
getShotAnnotationTypes { getShotAnnotationTypes {
id id

View File

@@ -102,8 +102,8 @@ input FilterInput @oneOf {
kickAngle: RangeFilter kickAngle: RangeFilter
kickDistance: RangeFilter kickDistance: RangeFilter
cueAngleAfterObject: RangeFilter cueAngleAfterObject: RangeFilter
spinType: [SpinTypeEnum!]
cueSpeedAfterObject: RangeFilter cueSpeedAfterObject: RangeFilter
spinType: [String!]
falsePositiveScore: RangeFilter falsePositiveScore: RangeFilter
} }
@@ -140,6 +140,13 @@ input ShotAnnotationInput {
name: String! name: String!
} }
enum SpinTypeEnum {
DRAW
FOLLOW
CENTER
UNKNOWN
}
type BucketSetGQL { type BucketSetGQL {
keyName: String! keyName: String!
feature: String! feature: String!
@@ -191,6 +198,7 @@ type CueObjectFeaturesGQL {
cueObjectAngle: Float cueObjectAngle: Float
cueBallSpeed: Float cueBallSpeed: Float
shotDirection: ShotDirectionEnum shotDirection: ShotDirectionEnum
spinType: SpinTypeEnum
} }
type PocketingIntentionFeaturesGQL { type PocketingIntentionFeaturesGQL {