Compare commits
1 Commits
dean/leade
...
live-table
| Author | SHA1 | Date | |
|---|---|---|---|
| a7ac7c0f31 |
1023
src/index.tsx
1023
src/index.tsx
File diff suppressed because it is too large
Load Diff
@@ -41,7 +41,6 @@ fragment VideoCardFields on VideoGQL {
|
|||||||
stream {
|
stream {
|
||||||
id
|
id
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
uploadCompletionCursor
|
|
||||||
streamSegmentType
|
streamSegmentType
|
||||||
isCompleted
|
isCompleted
|
||||||
lastSegmentUploadedAt
|
lastSegmentUploadedAt
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
# Lightweight two-step picker data for loading a recorded shot into Shot Lab.
|
|
||||||
query GetRecordedStreams($limit: Int! = 25) {
|
|
||||||
getFeedVideos(
|
|
||||||
limit: $limit
|
|
||||||
filters: { isStreamCompleted: true, excludeVideosWithNoShots: true }
|
|
||||||
includePrivate: MINE
|
|
||||||
feedInput: { allUsers: true }
|
|
||||||
) {
|
|
||||||
videos {
|
|
||||||
id
|
|
||||||
name
|
|
||||||
createdAt
|
|
||||||
screenshotUri
|
|
||||||
framesPerSecond
|
|
||||||
totalShots
|
|
||||||
owner {
|
|
||||||
id
|
|
||||||
username
|
|
||||||
profileImageUri
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
query GetRecordedStreamShots($videoId: Int!, $limit: Int! = 200) {
|
|
||||||
getOrderedShots(
|
|
||||||
filterInput: { videoId: [$videoId] }
|
|
||||||
shotsOrdering: { orderings: [{ startFrame: { descending: false } }] }
|
|
||||||
limit: $limit
|
|
||||||
) {
|
|
||||||
shots {
|
|
||||||
id
|
|
||||||
videoId
|
|
||||||
startFrame
|
|
||||||
endFrame
|
|
||||||
serializedShotPaths {
|
|
||||||
b64EncodedBuffer
|
|
||||||
}
|
|
||||||
cueObjectFeatures {
|
|
||||||
cueObjectDistance
|
|
||||||
cueObjectAngle
|
|
||||||
cueBallSpeed
|
|
||||||
shotDirection
|
|
||||||
spinType
|
|
||||||
}
|
|
||||||
pocketingIntentionFeatures {
|
|
||||||
make
|
|
||||||
targetPocketDistance
|
|
||||||
targetPocketAngle
|
|
||||||
targetPocketAngleDirection
|
|
||||||
marginOfErrorInDegrees
|
|
||||||
intendedPocketType
|
|
||||||
difficulty
|
|
||||||
}
|
|
||||||
pocketingIntentionInfo {
|
|
||||||
ballId
|
|
||||||
pocketId
|
|
||||||
pathMetadataIndex
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
query GetSessionCoach($videoId: Int!) {
|
|
||||||
getSessionCoach(videoId: $videoId) {
|
|
||||||
videoId
|
|
||||||
processingId
|
|
||||||
analysisVersion
|
|
||||||
state
|
|
||||||
generatedAt
|
|
||||||
processingStatus
|
|
||||||
ineligibilityReason
|
|
||||||
summary
|
|
||||||
shotCount
|
|
||||||
madeCount
|
|
||||||
missedCount
|
|
||||||
unknownOutcomeCount
|
|
||||||
analyzedShotCount
|
|
||||||
makePercentage
|
|
||||||
primaryCandidate {
|
|
||||||
...SessionCoachCandidateFields
|
|
||||||
}
|
|
||||||
candidates {
|
|
||||||
...SessionCoachCandidateFields
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fragment SessionCoachCandidateFields on SessionCoachCandidateGQL {
|
|
||||||
id
|
|
||||||
rank
|
|
||||||
family
|
|
||||||
kind
|
|
||||||
title
|
|
||||||
body
|
|
||||||
action
|
|
||||||
supportingShotIds
|
|
||||||
drillId
|
|
||||||
limitations
|
|
||||||
evidence {
|
|
||||||
bucketKey
|
|
||||||
bucketLabel
|
|
||||||
attemptCount
|
|
||||||
madeCount
|
|
||||||
missedCount
|
|
||||||
makePercentage
|
|
||||||
comparisonAttemptCount
|
|
||||||
comparisonMadeCount
|
|
||||||
comparisonMakePercentage
|
|
||||||
patternShotCount
|
|
||||||
score
|
|
||||||
rankReason
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -9,9 +9,6 @@ query GetTableState(
|
|||||||
useHomography: $useHomography
|
useHomography: $useHomography
|
||||||
) {
|
) {
|
||||||
identifierToPosition
|
identifierToPosition
|
||||||
identifierToColor {
|
|
||||||
hex
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,22 +18,8 @@ query GetLiveTableState($videoId: Int!) {
|
|||||||
frameIndex
|
frameIndex
|
||||||
tableState {
|
tableState {
|
||||||
identifierToPosition
|
identifierToPosition
|
||||||
identifierToColor {
|
homography {
|
||||||
hex
|
...HomographyInfo
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
query GetShotTableState($shotId: Int!) {
|
|
||||||
getShotTableState(shotId: $shotId) {
|
|
||||||
shotId
|
|
||||||
videoId
|
|
||||||
frameIndex
|
|
||||||
tableState {
|
|
||||||
identifierToPosition
|
|
||||||
identifierToColor {
|
|
||||||
hex
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
query getUsageStats($days: Int! = 30) {
|
|
||||||
getUsageStats(days: $days) {
|
|
||||||
funnel {
|
|
||||||
freemiumEpoch
|
|
||||||
eraSignups
|
|
||||||
eraPaying
|
|
||||||
activationCohort
|
|
||||||
activationActivated
|
|
||||||
payingUsers
|
|
||||||
newPaid7d
|
|
||||||
newPaid30d
|
|
||||||
retentionPrevActive
|
|
||||||
retentionReturned
|
|
||||||
}
|
|
||||||
cohorts {
|
|
||||||
weekStart
|
|
||||||
signups
|
|
||||||
activated7d
|
|
||||||
paid7d
|
|
||||||
activatedNotPaid7d
|
|
||||||
}
|
|
||||||
totalUsers
|
|
||||||
totalVideos
|
|
||||||
totalShots
|
|
||||||
totalRuns
|
|
||||||
windows {
|
|
||||||
label
|
|
||||||
newUsers
|
|
||||||
activeUsers
|
|
||||||
sessions
|
|
||||||
shots
|
|
||||||
}
|
|
||||||
daily {
|
|
||||||
day
|
|
||||||
newUsers
|
|
||||||
activeUsers
|
|
||||||
sessions
|
|
||||||
shots
|
|
||||||
}
|
|
||||||
processingLast24h {
|
|
||||||
status
|
|
||||||
count
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
3065
src/schema.gql
3065
src/schema.gql
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user