Compare commits
1 Commits
dean/expor
...
shot-simul
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ff2db1ef4 |
143
src/index.tsx
143
src/index.tsx
@@ -88,6 +88,12 @@ export type AppleIapSubscriptionOptionsGql = {
|
|||||||
productIds: Array<Scalars["String"]["output"]>;
|
productIds: Array<Scalars["String"]["output"]>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type BallTrajectoryGql = {
|
||||||
|
__typename?: "BallTrajectoryGQL";
|
||||||
|
ballId: Scalars["Int"]["output"];
|
||||||
|
points: Array<TrajectoryPointGql>;
|
||||||
|
};
|
||||||
|
|
||||||
export type BankFeaturesGql = {
|
export type BankFeaturesGql = {
|
||||||
__typename?: "BankFeaturesGQL";
|
__typename?: "BankFeaturesGQL";
|
||||||
bankAngle: Scalars["Float"]["output"];
|
bankAngle: Scalars["Float"]["output"];
|
||||||
@@ -268,6 +274,14 @@ export type CueObjectFeaturesGql = {
|
|||||||
spinType?: Maybe<SpinTypeEnum>;
|
spinType?: Maybe<SpinTypeEnum>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type CueStrikeInputGql = {
|
||||||
|
a?: Scalars["Float"]["input"];
|
||||||
|
b?: Scalars["Float"]["input"];
|
||||||
|
phi: Scalars["Float"]["input"];
|
||||||
|
theta?: Scalars["Float"]["input"];
|
||||||
|
v0: Scalars["Float"]["input"];
|
||||||
|
};
|
||||||
|
|
||||||
export type DateRangeFilter = {
|
export type DateRangeFilter = {
|
||||||
greaterThan?: InputMaybe<Scalars["Date"]["input"]>;
|
greaterThan?: InputMaybe<Scalars["Date"]["input"]>;
|
||||||
greaterThanEqualTo?: InputMaybe<Scalars["Date"]["input"]>;
|
greaterThanEqualTo?: InputMaybe<Scalars["Date"]["input"]>;
|
||||||
@@ -2422,7 +2436,6 @@ export type Mutation = {
|
|||||||
deleteUser: Scalars["Boolean"]["output"];
|
deleteUser: Scalars["Boolean"]["output"];
|
||||||
deleteVideo: Scalars["Boolean"]["output"];
|
deleteVideo: Scalars["Boolean"]["output"];
|
||||||
dismissChallenge: Scalars["Boolean"]["output"];
|
dismissChallenge: Scalars["Boolean"]["output"];
|
||||||
dismissVideoExport: Scalars["Boolean"]["output"];
|
|
||||||
editComment: Scalars["Boolean"]["output"];
|
editComment: Scalars["Boolean"]["output"];
|
||||||
editProfileImageUri: UserGql;
|
editProfileImageUri: UserGql;
|
||||||
editShot: EditShotReturn;
|
editShot: EditShotReturn;
|
||||||
@@ -2531,10 +2544,6 @@ export type MutationDismissChallengeArgs = {
|
|||||||
challengeId: Scalars["ID"]["input"];
|
challengeId: Scalars["ID"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type MutationDismissVideoExportArgs = {
|
|
||||||
jobId: Scalars["Int"]["input"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationEditCommentArgs = {
|
export type MutationEditCommentArgs = {
|
||||||
commentId: Scalars["Int"]["input"];
|
commentId: Scalars["Int"]["input"];
|
||||||
newMessage: Scalars["String"]["input"];
|
newMessage: Scalars["String"]["input"];
|
||||||
@@ -2893,6 +2902,7 @@ export type Query = {
|
|||||||
myVideoExports: Array<VideoExportJobGql>;
|
myVideoExports: Array<VideoExportJobGql>;
|
||||||
notifications: NotificationConnection;
|
notifications: NotificationConnection;
|
||||||
ruleSets: Array<RuleSet>;
|
ruleSets: Array<RuleSet>;
|
||||||
|
simulateShot: ShotProjectionGql;
|
||||||
unreadNotificationCount: Scalars["Int"]["output"];
|
unreadNotificationCount: Scalars["Int"]["output"];
|
||||||
videoExportJob?: Maybe<VideoExportJobGql>;
|
videoExportJob?: Maybe<VideoExportJobGql>;
|
||||||
videoPlayerClusters: Array<PlayerClusterGql>;
|
videoPlayerClusters: Array<PlayerClusterGql>;
|
||||||
@@ -3082,6 +3092,10 @@ export type QueryNotificationsArgs = {
|
|||||||
offset?: Scalars["Int"]["input"];
|
offset?: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type QuerySimulateShotArgs = {
|
||||||
|
simulationInput: SimulateShotInputGql;
|
||||||
|
};
|
||||||
|
|
||||||
export type QueryVideoExportJobArgs = {
|
export type QueryVideoExportJobArgs = {
|
||||||
jobId: Scalars["Int"]["input"];
|
jobId: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
@@ -3345,6 +3359,14 @@ export type ShotMoveInput = {
|
|||||||
shotId: Scalars["Int"]["input"];
|
shotId: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type ShotProjectionGql = {
|
||||||
|
__typename?: "ShotProjectionGQL";
|
||||||
|
events: Array<SimulationEventGql>;
|
||||||
|
finalState: Array<SimulationBallStateGql>;
|
||||||
|
pottedBallIds: Array<Scalars["Int"]["output"]>;
|
||||||
|
trajectories: Array<BallTrajectoryGql>;
|
||||||
|
};
|
||||||
|
|
||||||
export type ShotsOrderingComponent =
|
export type ShotsOrderingComponent =
|
||||||
| {
|
| {
|
||||||
difficulty: FloatOrdering;
|
difficulty: FloatOrdering;
|
||||||
@@ -3395,6 +3417,42 @@ export type ShotsOrderingComponent =
|
|||||||
videoId: IntOrdering;
|
videoId: IntOrdering;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type SimulateShotInputGql = {
|
||||||
|
b64Image?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
|
balls?: InputMaybe<Array<SimulationBallStateInputGql>>;
|
||||||
|
cueBallId: Scalars["Int"]["input"];
|
||||||
|
strike: CueStrikeInputGql;
|
||||||
|
tableSize?: InputMaybe<Scalars["Float"]["input"]>;
|
||||||
|
useHomography?: InputMaybe<HomographyInputGql>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type SimulationBallStateGql = {
|
||||||
|
__typename?: "SimulationBallStateGQL";
|
||||||
|
ballId: Scalars["Int"]["output"];
|
||||||
|
position: Array<Scalars["Float"]["output"]>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type SimulationBallStateInputGql = {
|
||||||
|
ballId: Scalars["Int"]["input"];
|
||||||
|
position: Array<Scalars["Float"]["input"]>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type SimulationEventGql = {
|
||||||
|
__typename?: "SimulationEventGQL";
|
||||||
|
ballIds: Array<Scalars["Int"]["output"]>;
|
||||||
|
eventType: SimulationEventType;
|
||||||
|
position?: Maybe<Array<Scalars["Float"]["output"]>>;
|
||||||
|
time: Scalars["Float"]["output"];
|
||||||
|
};
|
||||||
|
|
||||||
|
export enum SimulationEventType {
|
||||||
|
BallBall = "BALL_BALL",
|
||||||
|
BallCushion = "BALL_CUSHION",
|
||||||
|
BallPocket = "BALL_POCKET",
|
||||||
|
BallStop = "BALL_STOP",
|
||||||
|
StickBall = "STICK_BALL",
|
||||||
|
}
|
||||||
|
|
||||||
export type SpinTypeBreakdownGql = {
|
export type SpinTypeBreakdownGql = {
|
||||||
__typename?: "SpinTypeBreakdownGQL";
|
__typename?: "SpinTypeBreakdownGQL";
|
||||||
center: Scalars["Int"]["output"];
|
center: Scalars["Int"]["output"];
|
||||||
@@ -3571,6 +3629,12 @@ export type TooManyProfileImageUploadsErr = {
|
|||||||
linksRequested: Scalars["Int"]["output"];
|
linksRequested: Scalars["Int"]["output"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type TrajectoryPointGql = {
|
||||||
|
__typename?: "TrajectoryPointGQL";
|
||||||
|
position: Array<Scalars["Float"]["output"]>;
|
||||||
|
time: Scalars["Float"]["output"];
|
||||||
|
};
|
||||||
|
|
||||||
export type UpdateAnnotationInputGql = {
|
export type UpdateAnnotationInputGql = {
|
||||||
name: Scalars["String"]["input"];
|
name: Scalars["String"]["input"];
|
||||||
notes?: InputMaybe<Scalars["String"]["input"]>;
|
notes?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
@@ -3700,8 +3764,6 @@ export type VideoExportJobGql = {
|
|||||||
shotIds?: Maybe<Array<Scalars["Int"]["output"]>>;
|
shotIds?: Maybe<Array<Scalars["Int"]["output"]>>;
|
||||||
status: VideoExportStatusEnum;
|
status: VideoExportStatusEnum;
|
||||||
videoId: Scalars["Int"]["output"];
|
videoId: Scalars["Int"]["output"];
|
||||||
videoName?: Maybe<Scalars["String"]["output"]>;
|
|
||||||
videoThumbnailUri?: Maybe<Scalars["String"]["output"]>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export enum VideoExportModeEnum {
|
export enum VideoExportModeEnum {
|
||||||
@@ -7092,8 +7154,6 @@ export type VideoExportJobFieldsFragment = {
|
|||||||
videoId: number;
|
videoId: number;
|
||||||
mode: VideoExportModeEnum;
|
mode: VideoExportModeEnum;
|
||||||
status: VideoExportStatusEnum;
|
status: VideoExportStatusEnum;
|
||||||
videoName?: string | null;
|
|
||||||
videoThumbnailUri?: string | null;
|
|
||||||
shotIds?: Array<number> | null;
|
shotIds?: Array<number> | null;
|
||||||
runId?: number | null;
|
runId?: number | null;
|
||||||
downloadUrl?: string | null;
|
downloadUrl?: string | null;
|
||||||
@@ -7114,8 +7174,6 @@ export type RequestVideoExportMutation = {
|
|||||||
videoId: number;
|
videoId: number;
|
||||||
mode: VideoExportModeEnum;
|
mode: VideoExportModeEnum;
|
||||||
status: VideoExportStatusEnum;
|
status: VideoExportStatusEnum;
|
||||||
videoName?: string | null;
|
|
||||||
videoThumbnailUri?: string | null;
|
|
||||||
shotIds?: Array<number> | null;
|
shotIds?: Array<number> | null;
|
||||||
runId?: number | null;
|
runId?: number | null;
|
||||||
downloadUrl?: string | null;
|
downloadUrl?: string | null;
|
||||||
@@ -7125,15 +7183,6 @@ export type RequestVideoExportMutation = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export type DismissVideoExportMutationVariables = Exact<{
|
|
||||||
jobId: Scalars["Int"]["input"];
|
|
||||||
}>;
|
|
||||||
|
|
||||||
export type DismissVideoExportMutation = {
|
|
||||||
__typename?: "Mutation";
|
|
||||||
dismissVideoExport: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type VideoExportJobQueryVariables = Exact<{
|
export type VideoExportJobQueryVariables = Exact<{
|
||||||
jobId: Scalars["Int"]["input"];
|
jobId: Scalars["Int"]["input"];
|
||||||
}>;
|
}>;
|
||||||
@@ -7146,8 +7195,6 @@ export type VideoExportJobQuery = {
|
|||||||
videoId: number;
|
videoId: number;
|
||||||
mode: VideoExportModeEnum;
|
mode: VideoExportModeEnum;
|
||||||
status: VideoExportStatusEnum;
|
status: VideoExportStatusEnum;
|
||||||
videoName?: string | null;
|
|
||||||
videoThumbnailUri?: string | null;
|
|
||||||
shotIds?: Array<number> | null;
|
shotIds?: Array<number> | null;
|
||||||
runId?: number | null;
|
runId?: number | null;
|
||||||
downloadUrl?: string | null;
|
downloadUrl?: string | null;
|
||||||
@@ -7170,8 +7217,6 @@ export type MyVideoExportsQuery = {
|
|||||||
videoId: number;
|
videoId: number;
|
||||||
mode: VideoExportModeEnum;
|
mode: VideoExportModeEnum;
|
||||||
status: VideoExportStatusEnum;
|
status: VideoExportStatusEnum;
|
||||||
videoName?: string | null;
|
|
||||||
videoThumbnailUri?: string | null;
|
|
||||||
shotIds?: Array<number> | null;
|
shotIds?: Array<number> | null;
|
||||||
runId?: number | null;
|
runId?: number | null;
|
||||||
downloadUrl?: string | null;
|
downloadUrl?: string | null;
|
||||||
@@ -7761,8 +7806,6 @@ export const VideoExportJobFieldsFragmentDoc = gql`
|
|||||||
videoId
|
videoId
|
||||||
mode
|
mode
|
||||||
status
|
status
|
||||||
videoName
|
|
||||||
videoThumbnailUri
|
|
||||||
shotIds
|
shotIds
|
||||||
runId
|
runId
|
||||||
downloadUrl
|
downloadUrl
|
||||||
@@ -15233,54 +15276,6 @@ export type RequestVideoExportMutationOptions = Apollo.BaseMutationOptions<
|
|||||||
RequestVideoExportMutation,
|
RequestVideoExportMutation,
|
||||||
RequestVideoExportMutationVariables
|
RequestVideoExportMutationVariables
|
||||||
>;
|
>;
|
||||||
export const DismissVideoExportDocument = gql`
|
|
||||||
mutation DismissVideoExport($jobId: Int!) {
|
|
||||||
dismissVideoExport(jobId: $jobId)
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
export type DismissVideoExportMutationFn = Apollo.MutationFunction<
|
|
||||||
DismissVideoExportMutation,
|
|
||||||
DismissVideoExportMutationVariables
|
|
||||||
>;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* __useDismissVideoExportMutation__
|
|
||||||
*
|
|
||||||
* To run a mutation, you first call `useDismissVideoExportMutation` within a React component and pass it any options that fit your needs.
|
|
||||||
* When your component renders, `useDismissVideoExportMutation` returns a tuple that includes:
|
|
||||||
* - A mutate function that you can call at any time to execute the mutation
|
|
||||||
* - An object with fields that represent the current status of the mutation's execution
|
|
||||||
*
|
|
||||||
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
|
|
||||||
*
|
|
||||||
* @example
|
|
||||||
* const [dismissVideoExportMutation, { data, loading, error }] = useDismissVideoExportMutation({
|
|
||||||
* variables: {
|
|
||||||
* jobId: // value for 'jobId'
|
|
||||||
* },
|
|
||||||
* });
|
|
||||||
*/
|
|
||||||
export function useDismissVideoExportMutation(
|
|
||||||
baseOptions?: Apollo.MutationHookOptions<
|
|
||||||
DismissVideoExportMutation,
|
|
||||||
DismissVideoExportMutationVariables
|
|
||||||
>,
|
|
||||||
) {
|
|
||||||
const options = { ...defaultOptions, ...baseOptions };
|
|
||||||
return Apollo.useMutation<
|
|
||||||
DismissVideoExportMutation,
|
|
||||||
DismissVideoExportMutationVariables
|
|
||||||
>(DismissVideoExportDocument, options);
|
|
||||||
}
|
|
||||||
export type DismissVideoExportMutationHookResult = ReturnType<
|
|
||||||
typeof useDismissVideoExportMutation
|
|
||||||
>;
|
|
||||||
export type DismissVideoExportMutationResult =
|
|
||||||
Apollo.MutationResult<DismissVideoExportMutation>;
|
|
||||||
export type DismissVideoExportMutationOptions = Apollo.BaseMutationOptions<
|
|
||||||
DismissVideoExportMutation,
|
|
||||||
DismissVideoExportMutationVariables
|
|
||||||
>;
|
|
||||||
export const VideoExportJobDocument = gql`
|
export const VideoExportJobDocument = gql`
|
||||||
query VideoExportJob($jobId: Int!) {
|
query VideoExportJob($jobId: Int!) {
|
||||||
videoExportJob(jobId: $jobId) {
|
videoExportJob(jobId: $jobId) {
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ fragment VideoExportJobFields on VideoExportJobGQL {
|
|||||||
videoId
|
videoId
|
||||||
mode
|
mode
|
||||||
status
|
status
|
||||||
videoName
|
|
||||||
videoThumbnailUri
|
|
||||||
shotIds
|
shotIds
|
||||||
runId
|
runId
|
||||||
downloadUrl
|
downloadUrl
|
||||||
@@ -19,10 +17,6 @@ mutation RequestVideoExport($input: RequestVideoExportInput!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mutation DismissVideoExport($jobId: Int!) {
|
|
||||||
dismissVideoExport(jobId: $jobId)
|
|
||||||
}
|
|
||||||
|
|
||||||
query VideoExportJob($jobId: Int!) {
|
query VideoExportJob($jobId: Int!) {
|
||||||
videoExportJob(jobId: $jobId) {
|
videoExportJob(jobId: $jobId) {
|
||||||
...VideoExportJobFields
|
...VideoExportJobFields
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ type Query {
|
|||||||
tableSize: Float = 100
|
tableSize: Float = 100
|
||||||
useHomography: HomographyInputGQL = null
|
useHomography: HomographyInputGQL = null
|
||||||
): TableStateGQL!
|
): TableStateGQL!
|
||||||
|
simulateShot(simulationInput: SimulateShotInputGQL!): ShotProjectionGQL!
|
||||||
getOrderedShots(
|
getOrderedShots(
|
||||||
filterInput: FilterInput!
|
filterInput: FilterInput!
|
||||||
ids: [Int!] = null
|
ids: [Int!] = null
|
||||||
@@ -970,6 +971,65 @@ input IntPoint2DInput {
|
|||||||
y: Int!
|
y: Int!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ShotProjectionGQL {
|
||||||
|
trajectories: [BallTrajectoryGQL!]!
|
||||||
|
events: [SimulationEventGQL!]!
|
||||||
|
finalState: [SimulationBallStateGQL!]!
|
||||||
|
pottedBallIds: [Int!]!
|
||||||
|
}
|
||||||
|
|
||||||
|
type BallTrajectoryGQL {
|
||||||
|
ballId: Int!
|
||||||
|
points: [TrajectoryPointGQL!]!
|
||||||
|
}
|
||||||
|
|
||||||
|
type TrajectoryPointGQL {
|
||||||
|
time: Float!
|
||||||
|
position: [Float!]!
|
||||||
|
}
|
||||||
|
|
||||||
|
type SimulationEventGQL {
|
||||||
|
eventType: SimulationEventType!
|
||||||
|
time: Float!
|
||||||
|
ballIds: [Int!]!
|
||||||
|
position: [Float!]
|
||||||
|
}
|
||||||
|
|
||||||
|
enum SimulationEventType {
|
||||||
|
STICK_BALL
|
||||||
|
BALL_BALL
|
||||||
|
BALL_CUSHION
|
||||||
|
BALL_POCKET
|
||||||
|
BALL_STOP
|
||||||
|
}
|
||||||
|
|
||||||
|
type SimulationBallStateGQL {
|
||||||
|
ballId: Int!
|
||||||
|
position: [Float!]!
|
||||||
|
}
|
||||||
|
|
||||||
|
input SimulateShotInputGQL {
|
||||||
|
cueBallId: Int!
|
||||||
|
strike: CueStrikeInputGQL!
|
||||||
|
balls: [SimulationBallStateInputGQL!] = null
|
||||||
|
b64Image: String = null
|
||||||
|
useHomography: HomographyInputGQL = null
|
||||||
|
tableSize: Float = null
|
||||||
|
}
|
||||||
|
|
||||||
|
input CueStrikeInputGQL {
|
||||||
|
v0: Float!
|
||||||
|
phi: Float!
|
||||||
|
theta: Float! = 0
|
||||||
|
a: Float! = 0
|
||||||
|
b: Float! = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
input SimulationBallStateInputGQL {
|
||||||
|
ballId: Int!
|
||||||
|
position: [Float!]!
|
||||||
|
}
|
||||||
|
|
||||||
type GetShotsResult {
|
type GetShotsResult {
|
||||||
shots: [ShotGQL!]!
|
shots: [ShotGQL!]!
|
||||||
count: Int
|
count: Int
|
||||||
@@ -1173,8 +1233,6 @@ type VideoExportJobGQL {
|
|||||||
videoId: Int!
|
videoId: Int!
|
||||||
mode: VideoExportModeEnum!
|
mode: VideoExportModeEnum!
|
||||||
status: VideoExportStatusEnum!
|
status: VideoExportStatusEnum!
|
||||||
videoName: String
|
|
||||||
videoThumbnailUri: String
|
|
||||||
shotIds: [Int!]
|
shotIds: [Int!]
|
||||||
runId: Int
|
runId: Int
|
||||||
downloadUrl: String
|
downloadUrl: String
|
||||||
@@ -1300,7 +1358,6 @@ type Mutation {
|
|||||||
metadata: CancellationFeedbackMetadataInput = null
|
metadata: CancellationFeedbackMetadataInput = null
|
||||||
): Boolean!
|
): Boolean!
|
||||||
requestVideoExport(input: RequestVideoExportInput!): VideoExportJobGQL!
|
requestVideoExport(input: RequestVideoExportInput!): VideoExportJobGQL!
|
||||||
dismissVideoExport(jobId: Int!): Boolean!
|
|
||||||
findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL
|
findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL
|
||||||
createUploadStream(
|
createUploadStream(
|
||||||
videoMetadata: VideoMetadataInput!
|
videoMetadata: VideoMetadataInput!
|
||||||
|
|||||||
Reference in New Issue
Block a user