Skip to content

Commit db7cac3

Browse files
committed
initial project
1 parent 99cbf09 commit db7cac3

File tree

223 files changed

+24404
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

223 files changed

+24404
-0
lines changed

.env.test

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
NEXT_PUBLIC_GITHUB_CLIENT_ID=""
2+
NEXT_PUBLIC_UPLOAD_API_ENDPOINT=""
3+
NEXT_PUBLIC_UPLOAD_VIDEO_API_ENDPOINT=""
4+
NEXT_PUBLIC_API_ENDPOINT=""

.eslintrc.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": "next/core-web-vitals"
3+
}

.github/workflows/nextjs.yml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Sample workflow for building and deploying a Next.js site to GitHub Pages
2+
#
3+
# To get started with Next.js see: https://nextjs.org/docs/getting-started
4+
#
5+
name: Deploy Next.js site to Pages
6+
7+
on:
8+
# Runs on pushes targeting the default branch
9+
push:
10+
branches: ["main"]
11+
12+
# Allows you to run this workflow manually from the Actions tab
13+
workflow_dispatch:
14+
15+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
16+
permissions:
17+
contents: read
18+
pages: write
19+
id-token: write
20+
21+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
22+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
23+
concurrency:
24+
group: "pages"
25+
cancel-in-progress: false
26+
27+
jobs:
28+
# Build job
29+
build:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v4
34+
- name: Detect package manager
35+
id: detect-package-manager
36+
run: |
37+
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
38+
echo "manager=yarn" >> $GITHUB_OUTPUT
39+
echo "command=install" >> $GITHUB_OUTPUT
40+
echo "runner=yarn" >> $GITHUB_OUTPUT
41+
exit 0
42+
elif [ -f "${{ github.workspace }}/package.json" ]; then
43+
echo "manager=npm" >> $GITHUB_OUTPUT
44+
echo "command=ci" >> $GITHUB_OUTPUT
45+
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
46+
exit 0
47+
else
48+
echo "Unable to determine package manager"
49+
exit 1
50+
fi
51+
52+
- name: Setup Node
53+
uses: actions/setup-node@v4
54+
with:
55+
node-version: "20"
56+
cache: ${{ steps.detect-package-manager.outputs.manager }}
57+
- name: Setup Pages
58+
uses: actions/configure-pages@v5
59+
60+
- name: Restore cache
61+
uses: actions/cache@v4
62+
with:
63+
path: |
64+
.next/cache
65+
# Generate a new cache whenever packages or source files change.
66+
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
67+
# If source files changed but packages didn't, rebuild from a prior cache.
68+
restore-keys: |
69+
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-
70+
- name: Install dependencies
71+
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
72+
73+
- name: Echo environment variables before build
74+
run: |
75+
echo "NEXT_PUBLIC_GITHUB_CLIENT_ID=${{ vars.NEXT_PUBLIC_GITHUB_CLIENT_ID }}"
76+
echo "NEXT_PUBLIC_UPLOAD_API_ENDPOINT=${{ vars.NEXT_PUBLIC_UPLOAD_API_ENDPOINT }}"
77+
echo "NEXT_PUBLIC_UPLOAD_VIDEO_API_ENDPOINT=${{ vars.NEXT_PUBLIC_UPLOAD_VIDEO_API_ENDPOINT }}"
78+
echo "NEXT_PUBLIC_API_ENDPOINT=${{ vars.NEXT_PUBLIC_API_ENDPOINT }}"
79+
80+
- name: Build with Next.js
81+
run: ${{ steps.detect-package-manager.outputs.runner }} next build
82+
env:
83+
NEXT_PUBLIC_GITHUB_CLIENT_ID: ${{ vars.NEXT_PUBLIC_GITHUB_CLIENT_ID }}
84+
NEXT_PUBLIC_UPLOAD_API_ENDPOINT: ${{ vars.NEXT_PUBLIC_UPLOAD_API_ENDPOINT }}
85+
NEXT_PUBLIC_UPLOAD_VIDEO_API_ENDPOINT: ${{ vars.NEXT_PUBLIC_UPLOAD_VIDEO_API_ENDPOINT }}
86+
NEXT_PUBLIC_API_ENDPOINT: ${{ vars.NEXT_PUBLIC_API_ENDPOINT }}
87+
88+
- name: Upload artifact
89+
uses: actions/upload-pages-artifact@v3
90+
with:
91+
path: ./out
92+
93+
# Deployment job
94+
deploy:
95+
environment:
96+
name: github-pages
97+
url: ${{ steps.deployment.outputs.page_url }}
98+
runs-on: ubuntu-latest
99+
needs: build
100+
steps:
101+
- name: Deploy to GitHub Pages
102+
id: deployment
103+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
.yarn/install-state.gz
8+
9+
# testing
10+
/coverage
11+
12+
# next.js
13+
/.next/
14+
/out/
15+
16+
# production
17+
/build
18+
19+
# misc
20+
.DS_Store
21+
*.pem
22+
23+
# debug
24+
npm-debug.log*
25+
yarn-debug.log*
26+
yarn-error.log*
27+
28+
# local env files
29+
.env*.local
30+
31+
# vercel
32+
.vercel
33+
34+
# typescript
35+
*.tsbuildinfo
36+
next-env.d.ts
37+
node_modules
38+
39+
.env.local.backup
40+
.env.production
41+
bun.lock

.prettierrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"trailingComma": "es5",
3+
"tabWidth": 2,
4+
"semi": false,
5+
"singleQuote": false,
6+
"printWidth": 180
7+
}

app/(navbar)/layout.jsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import React from "react"
2+
import Navbar from "./navbar"
3+
import Sidebar from "@/components/sidebar"
4+
5+
export default function Layout({ children }) {
6+
return (
7+
<div className="mx-auto flex max-w-[90rem]">
8+
<Sidebar />
9+
<Navbar />
10+
<article className="w-full min-w-0 break-words min-h-[calc(100vh-var(--nextra-navbar-height))] text-slate-700 dark:text-slate-200 pb-8 px-6 pt-4 md:px-12">
11+
<main className="">{children}</main>
12+
</article>
13+
</div>
14+
)
15+
}

app/(navbar)/navbar.jsx

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
export default function Navbar() {
2+
return (
3+
<nav
4+
className="nextra-toc order-last max-xl:hidden w-64 shrink-0 sticky md:sticky print:hidden"
5+
aria-label="table of contents"
6+
>
7+
<div className="grid grid-rows-[min-content_1fr_min-content] sticky top-(--nextra-navbar-height) text-sm max-h-[calc(100vh-var(--nextra-navbar-height))]">
8+
<ul className="p-4 nextra-scrollbar overscroll-y-contain overflow-y-auto hyphens-auto nextra-mask">
9+
<li className="my-2 scroll-my-6 scroll-py-6">
10+
<a
11+
href="#about-the-leaderboard"
12+
className="focus-visible:nextra-focus font-semibold block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
13+
>
14+
About the Leaderboard
15+
</a>
16+
</li>
17+
<li className="my-2 scroll-my-6 scroll-py-6">
18+
<a
19+
href="#our-goals"
20+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
21+
>
22+
Our goals
23+
</a>
24+
</li>
25+
<li className="my-2 scroll-my-6 scroll-py-6">
26+
<a
27+
href="#outcomes"
28+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
29+
>
30+
Outcomes
31+
</a>
32+
</li>
33+
<li className="my-2 scroll-my-6 scroll-py-6">
34+
<a
35+
href="#setup-and-development-timeline"
36+
className="focus-visible:nextra-focus font-semibold block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
37+
>
38+
Setup and development timeline
39+
</a>
40+
</li>
41+
<li className="my-2 scroll-my-6 scroll-py-6">
42+
<a
43+
href="#dataset"
44+
className="focus-visible:nextra-focus font-semibold block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
45+
>
46+
Dataset
47+
</a>
48+
</li>
49+
<li className="my-2 scroll-my-6 scroll-py-6">
50+
<a
51+
href="#beat-2-in-the-smpl-x-format"
52+
className="focus-visible:nextra-focus ms-6 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
53+
>
54+
BEAT-2 in the SMPL-X Format
55+
</a>
56+
</li>
57+
<li className="my-2 scroll-my-6 scroll-py-6">
58+
<a
59+
href="#submission-process"
60+
className="focus-visible:nextra-focus font-semibold block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
61+
>
62+
Submission process
63+
</a>
64+
</li>
65+
<li className="my-2 scroll-my-6 scroll-py-6">
66+
<a
67+
href="#rules-for-participation"
68+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
69+
>
70+
Rules for participation
71+
</a>
72+
</li>
73+
<li className="my-2 scroll-my-6 scroll-py-6">
74+
<a
75+
href="#how-to-participate"
76+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
77+
>
78+
How to participate
79+
</a>
80+
</li>
81+
<li className="my-2 scroll-my-6 scroll-py-6">
82+
<a
83+
href="#what-happens-after-your-submission"
84+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
85+
>
86+
What happens after your submission
87+
</a>
88+
</li>
89+
<li className="my-2 scroll-my-6 scroll-py-6">
90+
<a
91+
href="#evaluation-methodology"
92+
className="focus-visible:nextra-focus font-semibold block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
93+
>
94+
Evaluation methodology
95+
</a>
96+
</li>
97+
<li className="my-2 scroll-my-6 scroll-py-6">
98+
<a
99+
href="#evaluation-tasks"
100+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
101+
>
102+
Evaluation tasks
103+
</a>
104+
</li>
105+
<li className="my-2 scroll-my-6 scroll-py-6">
106+
<a
107+
href="#motion-quality"
108+
className="focus-visible:nextra-focus ms-6 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
109+
>
110+
Motion quality
111+
</a>
112+
</li>
113+
<li className="my-2 scroll-my-6 scroll-py-6">
114+
<a
115+
href="#motion-specificity-to-speech"
116+
className="focus-visible:nextra-focus ms-6 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
117+
>
118+
Motion specificity to speech
119+
</a>
120+
</li>
121+
<li className="my-2 scroll-my-6 scroll-py-6">
122+
<a
123+
href="#future-evaluations"
124+
className="focus-visible:nextra-focus ms-6 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
125+
>
126+
Future evaluations
127+
</a>
128+
</li>
129+
<li className="my-2 scroll-my-6 scroll-py-6">
130+
<a
131+
href="#tooling"
132+
className="focus-visible:nextra-focus font-semibold block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
133+
>
134+
Tooling
135+
</a>
136+
</li>
137+
<li className="my-2 scroll-my-6 scroll-py-6">
138+
<a
139+
href="#standardised-visualisation"
140+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
141+
>
142+
Standardised visualisation
143+
</a>
144+
</li>
145+
<li className="my-2 scroll-my-6 scroll-py-6">
146+
<a
147+
href="#user-study-automation"
148+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
149+
>
150+
User-study automation
151+
</a>
152+
</li>
153+
<li className="my-2 scroll-my-6 scroll-py-6">
154+
<a
155+
href="#objective-evaluation"
156+
className="focus-visible:nextra-focus ms-3 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
157+
>
158+
Objective evaluation
159+
</a>
160+
</li>
161+
<li className="my-2 scroll-my-6 scroll-py-6">
162+
<a
163+
href="#frequently-asked-questions"
164+
className="focus-visible:nextra-focus font-semibold block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
165+
>
166+
Frequently Asked Questions
167+
</a>
168+
</li>
169+
<li className="my-2 scroll-my-6 scroll-py-6">
170+
<a
171+
href="#contact-address"
172+
className="focus-visible:nextra-focus ms-6 block transition-colors subpixel-antialiased text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300 contrast-more:text-gray-900 contrast-more:underline contrast-more:dark:text-gray-50 break-words"
173+
>
174+
Contact address
175+
</a>
176+
</li>
177+
</ul>
178+
</div>
179+
</nav>
180+
)
181+
}

0 commit comments

Comments
 (0)