blanchon commited on
Commit
b8e6237
·
1 Parent(s): c470fa4

Add OpenCS2 banner header below abstract + social preview images

Browse files

- static/header.{webp,avif}: tracked via Git LFS for HF Space (avif 140KB,
webp 184KB; from 2MB PNG)
- Home page: keep eyebrow + h1 + author + buttons + abstract intact;
banner image rendered just after the abstract via <picture>
- Layout: og:image + twitter:image absolute URLs with width/height/alt
- .gitattributes: add *.webp and *.avif to LFS rules

.gitattributes CHANGED
@@ -34,3 +34,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  *.png filter=lfs diff=lfs merge=lfs -text
 
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  *.png filter=lfs diff=lfs merge=lfs -text
37
+ *.webp filter=lfs diff=lfs merge=lfs -text
38
+ *.avif filter=lfs diff=lfs merge=lfs -text
src/routes/+layout.svelte CHANGED
@@ -10,6 +10,9 @@
10
  let { children } = $props();
11
 
12
  const canonicalUrl = $derived(page.url.href);
 
 
 
13
  </script>
14
 
15
  <svelte:head>
@@ -45,9 +48,16 @@
45
  <meta property="og:description" content={site.description} />
46
  <meta property="og:url" content={canonicalUrl} />
47
  <meta property="og:locale" content="en_US" />
 
 
 
 
 
48
  <meta name="twitter:card" content="summary_large_image" />
49
  <meta name="twitter:title" content={site.name} />
50
  <meta name="twitter:description" content={site.description} />
 
 
51
  <meta name="twitter:site" content="@JulienBlanchon" />
52
  <meta name="twitter:creator" content="@JulienBlanchon" />
53
  </svelte:head>
 
10
  let { children } = $props();
11
 
12
  const canonicalUrl = $derived(page.url.href);
13
+ const ogImageUrl = $derived(`${page.url.origin}/header.webp`);
14
+ const ogImageAlt =
15
+ 'OpenCS2 Dataset — an open multiplayer Counter-Strike 2 dataset with 10 tick-aligned player POVs, inputs, world state, and audio, built from professional HLTV demos.';
16
  </script>
17
 
18
  <svelte:head>
 
48
  <meta property="og:description" content={site.description} />
49
  <meta property="og:url" content={canonicalUrl} />
50
  <meta property="og:locale" content="en_US" />
51
+ <meta property="og:image" content={ogImageUrl} />
52
+ <meta property="og:image:type" content="image/webp" />
53
+ <meta property="og:image:width" content="1773" />
54
+ <meta property="og:image:height" content="887" />
55
+ <meta property="og:image:alt" content={ogImageAlt} />
56
  <meta name="twitter:card" content="summary_large_image" />
57
  <meta name="twitter:title" content={site.name} />
58
  <meta name="twitter:description" content={site.description} />
59
+ <meta name="twitter:image" content={ogImageUrl} />
60
+ <meta name="twitter:image:alt" content={ogImageAlt} />
61
  <meta name="twitter:site" content="@JulienBlanchon" />
62
  <meta name="twitter:creator" content="@JulienBlanchon" />
63
  </svelte:head>
src/routes/+page.svelte CHANGED
@@ -98,65 +98,80 @@
98
 
99
  <main class="mx-auto w-full max-w-[1600px] px-4 pb-16">
100
  <!-- Paper-style hero -->
101
- <section class="mx-auto max-w-3xl pt-16 pb-10 text-center md:pt-24">
102
- <div class="mb-3 text-xs font-semibold tracking-[0.2em] text-primary/70 uppercase">
103
- HLTV · CS2 · Rendered POV Dataset
104
- </div>
105
- <h1 class="font-heading text-4xl font-semibold tracking-tight text-balance md:text-5xl">
106
- OpenCS2 Dataset
107
- </h1>
108
- <div class="mt-5 flex items-center justify-center gap-3 text-sm text-muted-foreground">
109
- <span class="font-medium text-foreground">{site.author}</span>
110
- <a
111
- href={site.websiteUrl}
112
- target="_blank"
113
- rel="noreferrer noopener"
114
- aria-label="Personal website"
115
- class="inline-flex items-center transition hover:text-foreground"
116
- >
117
- <GlobeIcon size={16} weight="duotone" />
118
- </a>
119
- <a
120
- href={site.xUrl}
121
- target="_blank"
122
- rel="noreferrer noopener"
123
- aria-label="X / Twitter"
124
- class="inline-flex items-center transition hover:text-foreground"
125
- >
126
- <XLogoIcon size={14} weight="fill" />
127
- </a>
128
- </div>
 
129
 
130
- <div class="mt-7 flex flex-wrap justify-center gap-2">
131
- <Button href={site.datasetUrl} target="_blank" rel="noreferrer noopener" size="sm">
132
- <HfLogo class="size-4" /> Dataset
133
- </Button>
134
- <Button
135
- href={site.githubUrl}
136
- target="_blank"
137
- rel="noreferrer noopener"
138
- variant="outline"
139
- size="sm"
140
- >
141
- <GithubLogoIcon size={14} weight="fill" /> Code
142
- </Button>
143
- <Button
144
- href={site.spaceUrl}
145
- target="_blank"
146
- rel="noreferrer noopener"
147
- variant="outline"
148
- size="sm"
149
- >
150
- <RocketLaunchIcon size={14} weight="duotone" /> Space
151
- </Button>
 
 
 
 
 
 
 
 
152
  </div>
153
 
154
- <p class="mt-8 text-sm/relaxed text-pretty text-muted-foreground md:text-base">
155
- A rendered dataset of professional Counter Strike 2 matches: every round captured from all ten
156
- player POVs, frame-aligned, with spatialized audio, mouse/keyboard inputs, and per-tick world
157
- state. Built from HLTV demos, served as parquet shards, and browsable here without downloading
158
- the archive.
159
- </p>
 
 
 
 
 
 
160
  </section>
161
 
162
  <!-- Motivation -->
 
98
 
99
  <main class="mx-auto w-full max-w-[1600px] px-4 pb-16">
100
  <!-- Paper-style hero -->
101
+ <section class="mx-auto max-w-5xl pt-16 pb-10 text-center md:pt-24">
102
+ <div class="mx-auto max-w-3xl">
103
+ <div class="mb-3 text-xs font-semibold tracking-[0.2em] text-primary/70 uppercase">
104
+ HLTV · CS2 · Rendered POV Dataset
105
+ </div>
106
+ <h1 class="font-heading text-4xl font-semibold tracking-tight text-balance md:text-5xl">
107
+ OpenCS2 Dataset
108
+ </h1>
109
+ <div class="mt-5 flex items-center justify-center gap-3 text-sm text-muted-foreground">
110
+ <span class="font-medium text-foreground">{site.author}</span>
111
+ <a
112
+ href={site.websiteUrl}
113
+ target="_blank"
114
+ rel="noreferrer noopener"
115
+ aria-label="Personal website"
116
+ class="inline-flex items-center transition hover:text-foreground"
117
+ >
118
+ <GlobeIcon size={16} weight="duotone" />
119
+ </a>
120
+ <a
121
+ href={site.xUrl}
122
+ target="_blank"
123
+ rel="noreferrer noopener"
124
+ aria-label="X / Twitter"
125
+ class="inline-flex items-center transition hover:text-foreground"
126
+ >
127
+ <XLogoIcon size={14} weight="fill" />
128
+ </a>
129
+ </div>
130
 
131
+ <div class="mt-7 flex flex-wrap justify-center gap-2">
132
+ <Button href={site.datasetUrl} target="_blank" rel="noreferrer noopener" size="sm">
133
+ <HfLogo class="size-4" /> Dataset
134
+ </Button>
135
+ <Button
136
+ href={site.githubUrl}
137
+ target="_blank"
138
+ rel="noreferrer noopener"
139
+ variant="outline"
140
+ size="sm"
141
+ >
142
+ <GithubLogoIcon size={14} weight="fill" /> Code
143
+ </Button>
144
+ <Button
145
+ href={site.spaceUrl}
146
+ target="_blank"
147
+ rel="noreferrer noopener"
148
+ variant="outline"
149
+ size="sm"
150
+ >
151
+ <RocketLaunchIcon size={14} weight="duotone" /> Space
152
+ </Button>
153
+ </div>
154
+
155
+ <p class="mt-8 text-sm/relaxed text-pretty text-muted-foreground md:text-base">
156
+ A rendered dataset of professional Counter Strike 2 matches: every round captured from all
157
+ ten player POVs, frame-aligned, with spatialized audio, mouse/keyboard inputs, and per-tick
158
+ world state. Built from HLTV demos, served as parquet shards, and browsable here without
159
+ downloading the archive.
160
+ </p>
161
  </div>
162
 
163
+ <picture>
164
+ <source srcset="/header.avif" type="image/avif" />
165
+ <source srcset="/header.webp" type="image/webp" />
166
+ <img
167
+ src="/header.webp"
168
+ alt="OpenCS2 Dataset — 10 tick-aligned player POVs, inputs, world state, and audio, built from professional HLTV demos."
169
+ width="1773"
170
+ height="887"
171
+ class="mx-auto mt-10 h-auto w-full rounded-md border"
172
+ decoding="async"
173
+ />
174
+ </picture>
175
  </section>
176
 
177
  <!-- Motivation -->
static/header.avif ADDED

Git LFS Details

  • SHA256: 45d1ad49f36718268cc640c023951d599cc94b0bbaaa23ad537dfc648e9e762d
  • Pointer size: 131 Bytes
  • Size of remote file: 144 kB
static/header.webp ADDED

Git LFS Details

  • SHA256: 5584e0de91c2c71c6aa7f3fbb74e90314a975275a83e757a1ed400d78701ac2b
  • Pointer size: 131 Bytes
  • Size of remote file: 186 kB