SeaWolf-AI commited on
Commit
5cb3da6
ยท
verified ยท
1 Parent(s): c7483a0

Hugging Face sign-in, submitter profile links, and three scored axes

Browse files

Entries are tied to a Hugging Face account and the submitter's handle links to their profile. Scoring carries three axes: oxidation window 40, lithium-metal stability 35, use novelty 25. The lithium pathway is an entry condition rather than a scored axis. Reference materials and the frozen reference distribution are rebuilt to match.

Files changed (5) hide show
  1. README.md +23 -13
  2. data/anchor_scores.json +50 -78
  3. data/reference_dist.json +1 -1
  4. data/weights.json +3 -4
  5. index.html +50 -15
README.md CHANGED
@@ -1,13 +1,23 @@
1
- ---
2
- title: Open Materials Challenge
3
- emoji: ๐Ÿ”‹
4
- colorFrom: green
5
- colorTo: gray
6
- sdk: docker
7
- app_port: 7860
8
- pinned: false
9
- ---
10
-
11
- # Open Materials Challenge
12
-
13
- ์‹œ์ฆŒ 1 โ€” ์ „๊ณ ์ฒด ๋ฐฐํ„ฐ๋ฆฌ ์ „ํ•ด์งˆ. **๋น„๊ณต๊ฐœ ์ค€๋น„ ์ค‘.**
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Open Materials Challenge
3
+ emoji: ๐Ÿ”‹
4
+ colorFrom: green
5
+ colorTo: gray
6
+ sdk: docker
7
+ app_port: 7860
8
+ pinned: false
9
+ # openid ์™€ profile ์€ hf_oauth ๋ฅผ ์ผœ๋ฉด ๊ธฐ๋ณธ์œผ๋กœ ๋”ฐ๋ผ์˜จ๋‹ค. ์ด๊ฑธ ์ผœ์•ผ ํ”Œ๋žซํผ์ด
10
+ # OAUTH_CLIENT_ID / OAUTH_CLIENT_SECRET ์„ ์ปจํ…Œ์ด๋„ˆ์— ๋„ฃ์–ด์ค€๋‹ค.
11
+ hf_oauth: true
12
+ short_description: Solid-state electrolyte leaderboard
13
+ tags:
14
+ - materials-discovery
15
+ - leaderboard
16
+ - solid-state-battery
17
+ - lithium
18
+ - chemistry
19
+ ---
20
+
21
+ # Open Materials Challenge
22
+
23
+ ์‹œ์ฆŒ 1 โ€” ์ „๊ณ ์ฒด ๋ฐฐํ„ฐ๋ฆฌ ์ „ํ•ด์งˆ. **๋น„๊ณต๊ฐœ ์ค€๋น„ ์ค‘.**
data/anchor_scores.json CHANGED
@@ -6,28 +6,24 @@
6
  "tier": 1,
7
  "axes": {
8
  "oxidation": {
9
- "points": 2.73,
10
- "detail": "์‚ฐํ™”ํ•œ๊ณ„ 2.30 V ยท ์ƒ์œ„ 92%"
11
  },
12
  "li_stability": {
13
- "points": 13.81,
14
- "detail": "Li๋ถ„ํ•ด +1.3035 eV/atom ยท ์ƒ์œ„ 54%"
15
- },
16
- "migration": {
17
- "points": null,
18
- "detail": "๋ฏธํ‰๊ฐ€(G2 ๋Œ€๊ธฐ)"
19
  },
20
  "novelty": {
21
  "points": 0.0,
22
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (sulfide/LGPS ยท Kamaya & Kanno, Nat Mater 2011)"
23
  }
24
  },
25
- "total": 16.54,
26
- "total_max": 85,
27
  "note": "ํ™ฉํ™”๋ฌผ. ์ „๋„๋„๋Š” ์ตœ๊ณ  ์ˆ˜์ค€์ด๋‚˜ ์‚ฐํ™”์ฐฝ์ด ์ข๊ณ  ๋ฆฌํŠฌ๊ธˆ์†๊ณผ ๋ฐ˜์‘ํ•ฉ๋‹ˆ๋‹ค.",
28
  "measured": {
29
- "ox": 2.2974683544303796,
30
- "li": 1.3035463196661523,
31
  "ea": null
32
  }
33
  },
@@ -38,28 +34,24 @@
38
  "tier": 1,
39
  "axes": {
40
  "oxidation": {
41
- "points": 2.04,
42
- "detail": "์‚ฐํ™”ํ•œ๊ณ„ 2.13 V ยท ์ƒ์œ„ 94%"
43
  },
44
  "li_stability": {
45
- "points": 19.57,
46
- "detail": "Li๋ถ„ํ•ด +0.9958 eV/atom ยท ์ƒ์œ„ 35%"
47
- },
48
- "migration": {
49
- "points": 14.05,
50
- "detail": "์ด๋™์žฅ๋ฒฝ 0.293 eV ยท ์ƒ์œ„ 6%"
51
  },
52
  "novelty": {
53
  "points": 0.0,
54
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (sulfide/argyrodite ยท Deiseroth, Angew 2008)"
55
  }
56
  },
57
- "total": 35.66,
58
  "total_max": 100,
59
  "note": "ํ™ฉํ™”๋ฌผ. ์ƒ์šฉํ™”๊ฐ€ ๊ฐ€์žฅ ์•ž์„  ๊ณ„์—ด.",
60
  "measured": {
61
- "ox": 2.132911392405063,
62
- "li": 0.9958406943041193,
63
  "ea": 0.293
64
  }
65
  },
@@ -70,28 +62,24 @@
70
  "tier": 1,
71
  "axes": {
72
  "oxidation": {
73
- "points": 7.15,
74
- "detail": "์‚ฐํ™”ํ•œ๊ณ„ 2.71 V ยท ์ƒ์œ„ 80%"
75
  },
76
  "li_stability": {
77
- "points": 10.54,
78
- "detail": "Li๋ถ„ํ•ด +1.4918 eV/atom ยท ์ƒ์œ„ 65%"
79
- },
80
- "migration": {
81
- "points": 12.21,
82
- "detail": "์ด๋™์žฅ๋ฒฝ 0.420 eV ยท ์ƒ์œ„ 19%"
83
  },
84
  "novelty": {
85
  "points": 0.0,
86
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (sulfide/LPS ยท Liu, JACS 2013)"
87
  }
88
  },
89
- "total": 29.9,
90
  "total_max": 100,
91
  "note": "ํ™ฉํ™”๋ฌผ ๊ธฐ๋ณธํ˜•.",
92
  "measured": {
93
- "ox": 2.7088607594936707,
94
- "li": 1.4918371727514401,
95
  "ea": 0.4199
96
  }
97
  },
@@ -102,28 +90,24 @@
102
  "tier": 1,
103
  "axes": {
104
  "oxidation": {
105
- "points": 11.89,
106
- "detail": "์‚ฐํ™”ํ•œ๊ณ„ 3.12 V ยท ์ƒ์œ„ 66%"
107
  },
108
  "li_stability": {
109
- "points": 29.63,
110
- "detail": "Li๋ถ„ํ•ด +0.0221 eV/atom ยท ์ƒ์œ„ 1% ยท **๋ถˆํ™•์‹ค**(|๊ฐ’|<ฯƒ=0.467)"
111
- },
112
- "migration": {
113
- "points": 11.23,
114
- "detail": "์ด๋™์žฅ๋ฒฝ 0.459 eV ยท ์ƒ์œ„ 25%"
115
  },
116
  "novelty": {
117
  "points": 0.0,
118
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (garnet ยท Murugan, Angew 2007)"
119
  }
120
  },
121
- "total": 52.75,
122
  "total_max": 100,
123
  "note": "์‚ฐํ™”๋ฌผ ๊ฐ€๋„ท. ๋ฆฌํŠฌ๊ธˆ์†์— ์•ˆ์ •ํ•œ ์ถ•์— ๋“ญ๋‹ˆ๋‹ค.",
124
  "measured": {
125
- "ox": 3.120253164556962,
126
- "li": 0.022097652991613963,
127
  "ea": 0.459
128
  }
129
  },
@@ -134,28 +118,24 @@
134
  "tier": 1,
135
  "axes": {
136
  "oxidation": {
137
- "points": 28.74,
138
- "detail": "์‚ฐํ™”ํ•œ๊ณ„ 4.27 V ยท ์ƒ์œ„ 18%"
139
  },
140
  "li_stability": {
141
- "points": 22.62,
142
- "detail": "Li๋ถ„ํ•ด +0.8328 eV/atom ยท ์ƒ์œ„ 25%"
143
- },
144
- "migration": {
145
- "points": 11.95,
146
- "detail": "์ด๋™์žฅ๋ฒฝ 0.430 eV ยท ์ƒ์œ„ 20%"
147
  },
148
  "novelty": {
149
  "points": 0.0,
150
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (halide ยท Li, Angew 2019)"
151
  }
152
  },
153
- "total": 63.31,
154
  "total_max": 100,
155
  "note": "ํ• ๋ผ์ด๋“œ. 4V ๊ธ‰ ์‚ฐํ™” ์•ˆ์ •์„ฑ.",
156
  "measured": {
157
- "ox": 4.272151898734177,
158
- "li": 0.8327522978304368,
159
  "ea": 0.4297
160
  }
161
  },
@@ -166,28 +146,24 @@
166
  "tier": 1,
167
  "axes": {
168
  "oxidation": {
169
- "points": 31.36,
170
- "detail": "์‚ฐํ™”ํ•œ๊ณ„ 4.60 V ยท ์ƒ์œ„ 10%"
171
  },
172
  "li_stability": {
173
- "points": 10.07,
174
- "detail": "Li๋ถ„ํ•ด +1.5212 eV/atom ยท ์ƒ์œ„ 66%"
175
- },
176
- "migration": {
177
- "points": 14.83,
178
- "detail": "์ด๋™์žฅ๋ฒฝ 0.185 eV ยท ์ƒ์œ„ 1%"
179
  },
180
  "novelty": {
181
  "points": 0.0,
182
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (NASICON ยท Petit, Mater Res Bull 1986)"
183
  }
184
  },
185
- "total": 56.26,
186
  "total_max": 100,
187
  "note": "NASICON. ์‚ฐํ™” ์•ˆ์ •์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.",
188
  "measured": {
189
- "ox": 4.60126582278481,
190
- "li": 1.521223317414708,
191
  "ea": 0.1855
192
  }
193
  },
@@ -198,28 +174,24 @@
198
  "tier": 1,
199
  "axes": {
200
  "oxidation": {
201
- "points": 32.07,
202
- "detail": "์‚ฐํ™”ํ•œ๊ณ„ 4.68 V ยท ์ƒ์œ„ 8%"
203
  },
204
  "li_stability": {
205
- "points": 7.25,
206
- "detail": "Li๋ถ„ํ•ด +1.6956 eV/atom ยท ์ƒ์œ„ 76%"
207
- },
208
- "migration": {
209
- "points": 14.3,
210
- "detail": "์ด๋™์žฅ๋ฒฝ 0.264 eV ยท ์ƒ์œ„ 5%"
211
  },
212
  "novelty": {
213
  "points": 0.0,
214
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (NASICON ยท LATP ๋ชจ์ฒด ยท Aono, JES 1990)"
215
  }
216
  },
217
- "total": 53.62,
218
  "total_max": 100,
219
  "note": "NASICON. Ti(4+)๊ฐ€ ๋ฆฌํŠฌ๊ธˆ์†์— ํ™˜์›๋˜์–ด ๋ฆฌํŠฌ๊ธˆ์† ์ „์ง€์— ๊ทธ๋Œ€๋กœ๋Š” ๋ชป ์”๋‹ˆ๋‹ค.",
220
  "measured": {
221
- "ox": 4.6835443037974684,
222
- "li": 1.6956100674601606,
223
  "ea": 0.2637
224
  }
225
  }
 
6
  "tier": 1,
7
  "axes": {
8
  "oxidation": {
9
+ "points": 3.01,
10
+ "detail": "์‚ฐํ™”ํ•œ๊ณ„ 2.28 V ยท ์ƒ์œ„ 92%"
11
  },
12
  "li_stability": {
13
+ "points": 16.13,
14
+ "detail": "Li๋ถ„ํ•ด +1.3068 eV/atom ยท ์ƒ์œ„ 54%"
 
 
 
 
15
  },
16
  "novelty": {
17
  "points": 0.0,
18
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (sulfide/LGPS ยท Kamaya & Kanno, Nat Mater 2011)"
19
  }
20
  },
21
+ "total": 19.14,
22
+ "total_max": 100,
23
  "note": "ํ™ฉํ™”๋ฌผ. ์ „๋„๋„๋Š” ์ตœ๊ณ  ์ˆ˜์ค€์ด๋‚˜ ์‚ฐํ™”์ฐฝ์ด ์ข๊ณ  ๋ฆฌํŠฌ๊ธˆ์†๊ณผ ๋ฐ˜์‘ํ•ฉ๋‹ˆ๋‹ค.",
24
  "measured": {
25
+ "ox": 2.2777777777777777,
26
+ "li": 1.3068473869283916,
27
  "ea": null
28
  }
29
  },
 
34
  "tier": 1,
35
  "axes": {
36
  "oxidation": {
37
+ "points": 2.29,
38
+ "detail": "์‚ฐํ™”ํ•œ๊ณ„ 2.11 V ยท ์ƒ์œ„ 94%"
39
  },
40
  "li_stability": {
41
+ "points": 22.88,
42
+ "detail": "Li๋ถ„ํ•ด +0.9980 eV/atom ยท ์ƒ์œ„ 35%"
 
 
 
 
43
  },
44
  "novelty": {
45
  "points": 0.0,
46
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (sulfide/argyrodite ยท Deiseroth, Angew 2008)"
47
  }
48
  },
49
+ "total": 25.17,
50
  "total_max": 100,
51
  "note": "ํ™ฉํ™”๋ฌผ. ์ƒ์šฉํ™”๊ฐ€ ๊ฐ€์žฅ ์•ž์„  ๊ณ„์—ด.",
52
  "measured": {
53
+ "ox": 2.1143790849673203,
54
+ "li": 0.9979790374698491,
55
  "ea": 0.293
56
  }
57
  },
 
62
  "tier": 1,
63
  "axes": {
64
  "oxidation": {
65
+ "points": 8.93,
66
+ "detail": "์‚ฐํ™”ํ•œ๊ณ„ 2.77 V ยท ์ƒ์œ„ 78%"
67
  },
68
  "li_stability": {
69
+ "points": 12.31,
70
+ "detail": "Li๋ถ„ํ•ด +1.4953 eV/atom ยท ์ƒ์œ„ 65%"
 
 
 
 
71
  },
72
  "novelty": {
73
  "points": 0.0,
74
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (sulfide/LPS ยท Liu, JACS 2013)"
75
  }
76
  },
77
+ "total": 21.24,
78
  "total_max": 100,
79
  "note": "ํ™ฉํ™”๋ฌผ ๊ธฐ๋ณธํ˜•.",
80
  "measured": {
81
+ "ox": 2.7679738562091503,
82
+ "li": 1.495311980395967,
83
  "ea": 0.4199
84
  }
85
  },
 
90
  "tier": 1,
91
  "axes": {
92
  "oxidation": {
93
+ "points": 13.37,
94
+ "detail": "์‚ฐํ™”ํ•œ๊ณ„ 3.09 V ยท ์ƒ์œ„ 67%"
95
  },
96
  "li_stability": {
97
+ "points": 34.57,
98
+ "detail": "Li๋ถ„ํ•ด +0.0231 eV/atom ยท ์ƒ์œ„ 1% ยท **๋ถˆํ™•์‹ค**(|๊ฐ’|<ฯƒ=0.467)"
 
 
 
 
99
  },
100
  "novelty": {
101
  "points": 0.0,
102
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (garnet ยท Murugan, Angew 2007)"
103
  }
104
  },
105
+ "total": 47.94,
106
  "total_max": 100,
107
  "note": "์‚ฐํ™”๋ฌผ ๊ฐ€๋„ท. ๋ฆฌํŠฌ๊ธˆ์†์— ์•ˆ์ •ํ•œ ์ถ•์— ๋“ญ๋‹ˆ๋‹ค.",
108
  "measured": {
109
+ "ox": 3.0947712418300655,
110
+ "li": 0.02312686954488715,
111
  "ea": 0.459
112
  }
113
  },
 
118
  "tier": 1,
119
  "axes": {
120
  "oxidation": {
121
+ "points": 33.3,
122
+ "detail": "์‚ฐํ™”ํ•œ๊ณ„ 4.32 V ยท ์ƒ์œ„ 17%"
123
  },
124
  "li_stability": {
125
+ "points": 26.41,
126
+ "detail": "Li๋ถ„ํ•ด +0.8353 eV/atom ยท ์ƒ์œ„ 25%"
 
 
 
 
127
  },
128
  "novelty": {
129
  "points": 0.0,
130
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (halide ยท Li, Angew 2019)"
131
  }
132
  },
133
+ "total": 59.71,
134
  "total_max": 100,
135
  "note": "ํ• ๋ผ์ด๋“œ. 4V ๊ธ‰ ์‚ฐํ™” ์•ˆ์ •์„ฑ.",
136
  "measured": {
137
+ "ox": 4.3202614379084965,
138
+ "li": 0.8353004901032806,
139
  "ea": 0.4297
140
  }
141
  },
 
146
  "tier": 1,
147
  "axes": {
148
  "oxidation": {
149
+ "points": 36.3,
150
+ "detail": "์‚ฐํ™”ํ•œ๊ณ„ 4.65 V ยท ์ƒ์œ„ 9%"
151
  },
152
  "li_stability": {
153
+ "points": 11.74,
154
+ "detail": "Li๋ถ„ํ•ด +1.5270 eV/atom ยท ์ƒ์œ„ 66%"
 
 
 
 
155
  },
156
  "novelty": {
157
  "points": 0.0,
158
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (NASICON ยท Petit, Mater Res Bull 1986)"
159
  }
160
  },
161
+ "total": 48.04,
162
  "total_max": 100,
163
  "note": "NASICON. ์‚ฐํ™” ์•ˆ์ •์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.",
164
  "measured": {
165
+ "ox": 4.647058823529412,
166
+ "li": 1.5270146634870359,
167
  "ea": 0.1855
168
  }
169
  },
 
174
  "tier": 1,
175
  "axes": {
176
  "oxidation": {
177
+ "points": 36.82,
178
+ "detail": "์‚ฐํ™”ํ•œ๊ณ„ 4.73 V ยท ์ƒ์œ„ 8%"
179
  },
180
  "li_stability": {
181
+ "points": 8.44,
182
+ "detail": "Li๋ถ„ํ•ด +1.7014 eV/atom ยท ์ƒ์œ„ 76%"
 
 
 
 
183
  },
184
  "novelty": {
185
  "points": 0.0,
186
  "detail": "์ด๋ฏธ ๊ณ ์ฒด์ „ํ•ด์งˆ๋กœ ๋ณด๊ณ ๋œ ์กฐ์„ฑ (NASICON ยท LATP ๋ชจ์ฒด ยท Aono, JES 1990)"
187
  }
188
  },
189
+ "total": 45.26,
190
  "total_max": 100,
191
  "note": "NASICON. Ti(4+)๊ฐ€ ๋ฆฌํŠฌ๊ธˆ์†์— ํ™˜์›๋˜์–ด ๋ฆฌํŠฌ๊ธˆ์† ์ „์ง€์— ๊ทธ๋Œ€๋กœ๋Š” ๋ชป ์”๋‹ˆ๋‹ค.",
192
  "measured": {
193
+ "ox": 4.728758169934641,
194
+ "li": 1.7014014135326392,
195
  "ea": 0.2637
196
  }
197
  }
data/reference_dist.json CHANGED
@@ -1 +1 @@
1
- {"oxidation": [-0.5, 0.981, 1.2278, 1.6392, 1.8038, 1.9684, 2.1329, 2.2152, 2.2975, 2.2975, 2.2975, 2.2975, 2.3797, 2.3797, 2.3797, 2.462, 2.5443, 2.5443, 2.6266, 2.6266, 2.6266, 2.7089, 2.7089, 2.7911, 2.7911, 2.7911, 2.7911, 2.8734, 2.8734, 2.8734, 2.8734, 2.9557, 3.038, 3.038, 3.1203, 3.1203, 3.1203, 3.2025, 3.2025, 3.2025, 3.2025, 3.2848, 3.2848, 3.2848, 3.2848, 3.3671, 3.3671, 3.3671, 3.3671, 3.4494, 3.4494, 3.4494, 3.5316, 3.5316, 3.5316, 3.6139, 3.6139, 3.6962, 3.6962, 3.7785, 3.7785, 3.7785, 3.7785, 3.7785, 3.7785, 3.8608, 3.8608, 3.8608, 3.8608, 3.943, 3.943, 4.0253, 4.0253, 4.0253, 4.1076, 4.1076, 4.1076, 4.1076, 4.1076, 4.1899, 4.1899, 4.1899, 4.1899, 4.2722, 4.2722, 4.2722, 4.3544, 4.4367, 4.4367, 4.519, 4.6013, 4.6013, 4.6835, 4.7658, 4.8481, 4.9304, 5.1772, 5.8354, 6.0, 6.0, 6.0], "li_stability": [-1.3264, 0.0128, 0.0891, 0.1591, 0.2003, 0.2461, 0.2763, 0.3195, 0.3667, 0.4065, 0.4432, 0.4815, 0.5182, 0.5603, 0.5886, 0.6209, 0.6486, 0.6757, 0.6962, 0.7252, 0.7574, 0.7824, 0.7961, 0.8092, 0.8271, 0.8397, 0.8553, 0.8728, 0.8876, 0.9044, 0.9219, 0.9409, 0.9588, 0.9719, 0.9855, 1.0017, 1.0246, 1.0468, 1.0665, 1.086, 1.1111, 1.1292, 1.1524, 1.1672, 1.1857, 1.198, 1.2137, 1.2238, 1.2329, 1.244, 1.2545, 1.264, 1.2784, 1.2897, 1.3038, 1.323, 1.344, 1.3591, 1.3794, 1.3998, 1.4163, 1.4341, 1.4491, 1.4614, 1.4762, 1.4945, 1.5133, 1.531, 1.5529, 1.5739, 1.5926, 1.6131, 1.6309, 1.6495, 1.6697, 1.6822, 1.6993, 1.7188, 1.744, 1.7772, 1.8053, 1.8165, 1.8329, 1.8594, 1.8874, 1.9164, 1.9534, 1.9768, 2.0106, 2.0504, 2.0878, 2.1101, 2.166, 2.2003, 2.2512, 2.2814, 2.3346, 2.3905, 2.5073, 2.7434, 3.8359], "migration": [0.0781, 0.1758, 0.2051, 0.2344, 0.2441, 0.2637, 0.2832, 0.3027, 0.3125, 0.3223, 0.332, 0.3418, 0.3516, 0.3613, 0.3711, 0.3809, 0.3906, 0.4004, 0.4102, 0.4199, 0.4199, 0.4297, 0.4297, 0.4395, 0.4492, 0.4492, 0.459, 0.459, 0.4688, 0.4785, 0.4883, 0.498, 0.5078, 0.5078, 0.5176, 0.5273, 0.5371, 0.5371, 0.5469, 0.5566, 0.5664, 0.5664, 0.5762, 0.5859, 0.5945, 0.5957, 0.6055, 0.6244, 0.6348, 0.6348, 0.6445, 0.6543, 0.6641, 0.6836, 0.6836, 0.6934, 0.7031, 0.7129, 0.7227, 0.7324, 0.7422, 0.7422, 0.752, 0.7617, 0.7715, 0.7812, 0.791, 0.8008, 0.8203, 0.8398, 0.8496, 0.8691, 0.8789, 0.8984, 0.918, 0.9424, 0.9668, 0.9863, 1.0156, 1.0352, 1.0645, 1.084, 1.1035, 1.123, 1.1426, 1.1816, 1.2012, 1.2207, 1.2574, 1.2793, 1.3281, 1.3947, 1.4551, 1.543, 1.6699, 1.7676, 1.8449, 2.1967, 2.4203, 2.7822, 3.584], "_meta": {"n_ox": 8749, "n_li": 8749, "n_ea": 1603, "frozen": "2026-08-21", "note": "์‹œ์ฆŒ ์ค‘ ๋ณ€๊ฒฝ ๊ธˆ์ง€."}}
 
1
+ {"oxidation": [-0.5, 0.9706, 1.2157, 1.6242, 1.7876, 1.951, 2.1144, 2.1961, 2.2778, 2.2778, 2.2778, 2.3595, 2.3595, 2.3595, 2.4412, 2.5229, 2.5229, 2.5229, 2.6046, 2.6046, 2.6863, 2.6863, 2.6863, 2.768, 2.768, 2.768, 2.8497, 2.8497, 2.8497, 2.8497, 2.9314, 2.9314, 3.0131, 3.0131, 3.0948, 3.0948, 3.1765, 3.1765, 3.2582, 3.2582, 3.2582, 3.2582, 3.2582, 3.2582, 3.3399, 3.3399, 3.3399, 3.3399, 3.4216, 3.4216, 3.4216, 3.5033, 3.5033, 3.5033, 3.585, 3.585, 3.6667, 3.6667, 3.7484, 3.7484, 3.7484, 3.7484, 3.7484, 3.8301, 3.8301, 3.8301, 3.8301, 3.8301, 3.9118, 3.9118, 3.9935, 3.9935, 4.0752, 4.0752, 4.0752, 4.0752, 4.0752, 4.1569, 4.1569, 4.1569, 4.1569, 4.2386, 4.2386, 4.2386, 4.3203, 4.3203, 4.3203, 4.402, 4.4837, 4.4837, 4.5654, 4.6471, 4.6471, 4.7288, 4.8105, 4.8922, 5.1373, 5.8725, 6.1993, 6.4444, 9.7124], "li_stability": [-1.3275, 0.013, 0.0911, 0.1616, 0.203, 0.2488, 0.2788, 0.3213, 0.3679, 0.4104, 0.4461, 0.4838, 0.5219, 0.5627, 0.5907, 0.6225, 0.651, 0.6793, 0.6994, 0.7276, 0.7602, 0.7853, 0.7994, 0.8119, 0.8308, 0.843, 0.8582, 0.8756, 0.8909, 0.9073, 0.9256, 0.9449, 0.962, 0.9755, 0.9889, 1.0043, 1.0292, 1.0504, 1.0698, 1.0897, 1.114, 1.133, 1.1562, 1.171, 1.1897, 1.203, 1.2182, 1.2275, 1.2369, 1.2479, 1.2579, 1.2676, 1.2813, 1.2933, 1.3076, 1.3271, 1.3473, 1.3626, 1.3838, 1.4034, 1.4204, 1.438, 1.4535, 1.4658, 1.4799, 1.4989, 1.5178, 1.5359, 1.558, 1.5787, 1.5977, 1.618, 1.6357, 1.6547, 1.6749, 1.6873, 1.7044, 1.7238, 1.749, 1.7823, 1.8098, 1.8219, 1.8388, 1.8652, 1.8927, 1.9217, 1.9594, 1.9821, 2.016, 2.0564, 2.0937, 2.1165, 2.1719, 2.2067, 2.2563, 2.2873, 2.3415, 2.3958, 2.5128, 2.7497, 3.8406], "_meta": {"n_ox": 8749, "n_li": 8749, "frozen": "2026-08-21", "note": "์‹œ์ฆŒ ์ค‘ ๋ณ€๊ฒฝ ๊ธˆ์ง€."}}
data/weights.json CHANGED
@@ -1,8 +1,7 @@
1
  {
2
  "weights": {
3
- "oxidation": 35,
4
- "li_stability": 30,
5
- "novelty": 20,
6
- "migration": 15
7
  }
8
  }
 
1
  {
2
  "weights": {
3
+ "oxidation": 40,
4
+ "li_stability": 35,
5
+ "novelty": 25
 
6
  }
7
  }
index.html CHANGED
@@ -86,6 +86,14 @@
86
  a{color:var(--accent)}
87
  .badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
88
  .badges img{height:22px}
 
 
 
 
 
 
 
 
89
  .xlink{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
90
  background:var(--card);border-radius:9px;padding:6px 12px;font-size:12.5px;
91
  color:var(--muted);text-decoration:none;margin-top:8px}
@@ -202,6 +210,7 @@
202
  <div class="card">
203
  <h2 id="t_submit_h"></h2>
204
  <div id="gate" class="callout" style="display:none"></div>
 
205
  <label id="l_formula"></label>
206
  <input id="f_formula" placeholder="Li3YCl6">
207
  <label id="l_name"></label>
@@ -273,7 +282,7 @@ const T = {
273
  ["์‚ฐํ™” ์•ˆ์ •์„ฑ","์ถฉ์ „ ์ „์••์ด ๋†’์•„์กŒ์„ ๋•Œ ์ „ํ•ด์งˆ ์ž์‹ ์ด ๋ถ„ํ•ด๋˜์ง€ ์•Š๊ณ  ๋ฒ„ํ‹ฐ๋Š” ์ •๋„."],
274
  ["Li๊ธˆ์† ์•ˆ์ •์„ฑ","๋ฆฌํŠฌ ๊ธˆ์† ์Œ๊ทน์— ๋‹ฟ์•˜์„ ๋•Œ ๋ฐ˜์‘ํ•ด ๋ง๊ฐ€์ง€์ง€ ์•Š๋Š” ์ •๋„."],
275
  ["์šฉ๋„ ์‹ ๊ทœ์„ฑ","์ด ์กฐ์„ฑ์ด ๊ณ ์ฒด์ „ํ•ด์งˆ ์šฉ๋„๋กœ ๋ณด๊ณ ๋œ ์ ์ด ์—†์„์ˆ˜๋ก ๋†’์Šต๋‹ˆ๋‹ค."],
276
- ["์ด๋™ ์šฉ์ด์„ฑ","๋ฆฌํŠฌ ์ด์˜จ์ด ๊ฒฉ์ž ์•ˆ์„ ์–ผ๋งˆ๋‚˜ ์ˆ˜์›”ํ•˜๊ฒŒ ์ง€๋‚˜๊ฐ€๋Š”์ง€."]],
277
  limits:(L)=>`์ œ์ถœ ์ œํ•œ โ€” ๋ฆฌํŠฌ ํ•„์ˆ˜ ยท ๊ธฐ์•ฝ ์กฐ์„ฑ ์›์ž ์ˆ˜ ${L.max_atoms}๊ฐœ ์ดํ•˜ ยท ์›์†Œ 6์ข… ์ดํ•˜.
278
  ๊ฐ™์€ ๋ฌผ์งˆ์„ ์ •์ˆ˜๋ฐฐ๋กœ ๋ฐ”๊ฟ” ๋‹ค์‹œ ๋‚ด๋ฉด ๊ฐ™์€ ์ œ์ถœ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.`,
279
  detail_h:"์ฑ„์  ๊ทผ๊ฑฐ",
@@ -289,7 +298,8 @@ const T = {
289
  ์ถ”์ • ๊ตฌ์กฐ๋ฅผ ์–ป์ง€ ๋ชปํ•œ ์กฐ์„ฑ์€ ๊ฒฐ๊ณผ๊ฐ€ <b>๋ณด๋ฅ˜</b>๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.`,
290
  priv:"๐Ÿ”’ ๋น„๊ณต๊ฐœ (๊ธฐ๋ณธ)", pub:"๐Ÿ”“ ์กฐ์„ฑ ๊ณต๊ฐœ",
291
  go:"์ œ์ถœํ•˜๊ธฐ",
292
- gate:"์ œ์ถœํ•˜๋ ค๋ฉด <b>Hugging Face ๋กœ๊ทธ์ธ</b>์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ œ์ถœ์ž ๊ณ„์ •์ด ์ˆœ์œ„ํ‘œ์— ํ•จ๊ป˜ ํ‘œ์‹œ๋˜๋ฉฐ, ์ด๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ด๋ฆ„์œผ๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ง‰์Šต๋‹ˆ๋‹ค.",
 
293
  broker_h:"์ œ์ถœ ๊ธฐ๋ก๊ณผ ์ œ3์ž ์—ฐ๊ฒฐ",
294
  broker:`<p>์ œ์ถœ์€ ์‹œ๊ฐ๊ณผ ํ•จ๊ป˜ ์ €ํฌ ์›์žฅ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์กฐ์„ฑ์„ <b>๋น„๊ณต๊ฐœ</b>๋กœ ๋‘๋ฉด ์ €ํฌ๋งŒ ๋ณด๊ด€ํ•˜๋ฉฐ,
295
  ๊ณต๊ฐœํ•˜์ง€ ์•Š๋Š” ํ•œ ์™ธ๋ถ€์— ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ก์ด ํ–ฅํ›„ ๊ถŒ๋ฆฌ ์ฃผ์žฅ์— ์ฐธ๊ณ ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋‚˜,
@@ -345,7 +355,7 @@ const T = {
345
  ["Oxidation","How well the electrolyte itself resists decomposing as the cell voltage rises."],
346
  ["Li-metal stability","How well it survives contact with a lithium-metal anode."],
347
  ["Use novelty","Higher when the composition has not been reported as a solid electrolyte."],
348
- ["Migration","How readily a lithium ion moves through the lattice."]],
349
  limits:(L)=>`Limits โ€” lithium required ยท at most ${L.max_atoms} atoms in the reduced composition ยท
350
  at most 6 elements. Re-submitting the same material as an integer multiple counts as the same entry.`,
351
  detail_h:"How this was scored",
@@ -362,7 +372,8 @@ const T = {
362
  structure; where no estimated structure is obtained, the result is marked <b>held</b>.`,
363
  priv:"๐Ÿ”’ Private (default)", pub:"๐Ÿ”“ Show composition",
364
  go:"Submit",
365
- gate:"Submitting requires a <b>Hugging Face sign-in</b>. Your account appears alongside the entry, which stops anyone posting under another person's name.",
 
366
  broker_h:"Record of submission, and third-party contact",
367
  broker:`<p>Entries are recorded with a timestamp in our ledger. A <b>private</b> composition stays with us and
368
  is not disclosed unless you choose to publish it. This record may serve as a reference later, but it
@@ -409,7 +420,7 @@ Use plain chemical formulae, e.g. Li3YCl6 or LiZr2(PO4)3.
409
  oxyhalides, anti-perovskites, โ€ฆ) or a constraint of your own, so your set does not collide
410
  with other entrants'. Identical submissions are rejected.</em>`},
411
 
412
- {id:"B", ko:["์‚ฐํ™” ์•ˆ์ •์„ฑ","๋†’์€ ์ „์••์„ ๊ฒฌ๋””๋Š” ์„ค๊ณ„ (35์ )"], en:["Oxidation","Holding up at high voltage (35 pts)"],
413
  body:`Propose solid lithium-ion electrolytes designed specifically for a WIDE oxidation
414
  window, so they survive against a high-voltage cathode.
415
 
@@ -429,7 +440,7 @@ Propose 8 candidates as JSON: [{"formula","name","rationale"}]
429
  <em>VARY THIS: commit to ONE anion chemistry and build the whole set around it, rather than
430
  eight unrelated guesses.</em>`},
431
 
432
- {id:"C", ko:["๋ฆฌํŠฌ๊ธˆ์† ์•ˆ์ •์„ฑ","์Œ๊ทน์—์„œ ๋ฒ„ํ‹ฐ๋Š” ์„ค๊ณ„ (30์ )"], en:["Lithium-metal stability","Surviving the anode (30 pts)"],
433
  body:`Propose solid lithium-ion electrolytes designed to survive direct contact with
434
  LITHIUM METAL.
435
 
@@ -450,7 +461,7 @@ Propose 8 candidates as JSON: [{"formula","name","rationale"}]
450
  <em>VARY THIS: choose one strategy โ€” reduction-proof cations, or a self-passivating
451
  decomposition product โ€” and build the set around it.</em>`},
452
 
453
- {id:"D", ko:["์šฉ๋„ ์‹ ๊ทœ์„ฑ","๊ฐ€์žฅ ํฐ ์ ์ˆ˜ ์—ฌ์ง€ (20์ )"], en:["Use novelty","Where the headroom is (20 pts)"],
454
  body:`Propose lithium-containing compositions that are NOT already reported as solid
455
  electrolytes.
456
 
@@ -477,13 +488,38 @@ for optics or ionics elsewhere, a ternary system that is sparsely mapped โ€” and
477
  };
478
 
479
  const $ = s => document.querySelector(s);
480
- const COLS = ["rank","cand","user","who","date","oxidation","li_stability","migration","novelty","total"];
481
  // ํ‘œ๊ฐ€ ์ปค์ง€๋ฉด ํ•œ๊บผ๋ฒˆ์— ๊ทธ๋ฆฌ์ง€ ์•Š๊ณ  ํ•œ ํŽ˜์ด์ง€์”ฉ ๊ทธ๋ฆฐ๋‹ค.
482
  const PAGE_SIZE = 500;
483
  let LANG = "ko", DATA = null, SEASONS = [], SEASON = 1;
484
  let sortKey = "total", sortDir = -1, page = 0;
485
  const t = () => T[LANG];
486
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
487
  function esc(s){ return String(s ?? "").replace(/[&<>"']/g,c=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[c])); }
488
 
489
  function setLang(l){
@@ -502,6 +538,7 @@ function setLang(l){
502
  $("#t_broker").innerHTML = d.broker;
503
  $("#t_cifnote").innerHTML = d.cifnote;
504
  $("#xlink").innerHTML = d.xlink;
 
505
  $("#t_guide_h").textContent = d.guide_h;
506
  $("#t_guide_lead").innerHTML = d.guide_lead;
507
  $("#t_guide_how").innerHTML = d.guide_how;
@@ -689,7 +726,9 @@ function render(){
689
  $("#rows").innerHTML = rows.length ? rows.map(e=>{
690
  const a = e.axes||{};
691
  const cls = e.is_anchor ? "anchor" : "";
692
- const who = e.is_anchor ? esc(e.display_name) : esc(e.hf_user||e.display_name||"");
 
 
693
  const num = k => {
694
  const v = a[k];
695
  return `<td class="num">${v==null?`<span class="pill">${d.hold}</span>`:v.toFixed(1)}</td>`;
@@ -762,12 +801,8 @@ $("#go").onclick = async () => {
762
  const open = SEASONS.filter(x=>x.open);
763
  SEASON = (open.length?open:SEASONS).slice(-1)[0]?.number || 1;
764
  }catch(e){}
765
- try{
766
- const me = await (await fetch("/api/me")).json();
767
- if(me.oauth_configured && !me.signed_in){
768
- const g=$("#gate"); g.style.display="block"; g.innerHTML=t().gate;
769
- }
770
- }catch(e){}
771
  setLang("ko");
772
  showTab();
773
  await load();
 
86
  a{color:var(--accent)}
87
  .badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
88
  .badges img{height:22px}
89
+ .hf-user{color:var(--accent);text-decoration:none;white-space:nowrap}
90
+ .hf-user:hover{text-decoration:underline}
91
+ .signin{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--accent);
92
+ background:var(--accent);color:#fff;border-radius:9px;padding:6px 13px;font-size:13px;
93
+ text-decoration:none;font-weight:600}
94
+ .signin.out{background:var(--card);color:var(--muted);border-color:var(--line);font-weight:400}
95
+ .me{display:flex;align-items:center;gap:9px;margin:10px 0 0;font-size:13px;color:var(--muted)}
96
+ .me img{width:22px;height:22px;border-radius:50%}
97
  .xlink{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
98
  background:var(--card);border-radius:9px;padding:6px 12px;font-size:12.5px;
99
  color:var(--muted);text-decoration:none;margin-top:8px}
 
210
  <div class="card">
211
  <h2 id="t_submit_h"></h2>
212
  <div id="gate" class="callout" style="display:none"></div>
213
+ <div class="me" id="me"></div>
214
  <label id="l_formula"></label>
215
  <input id="f_formula" placeholder="Li3YCl6">
216
  <label id="l_name"></label>
 
282
  ["์‚ฐํ™” ์•ˆ์ •์„ฑ","์ถฉ์ „ ์ „์••์ด ๋†’์•„์กŒ์„ ๋•Œ ์ „ํ•ด์งˆ ์ž์‹ ์ด ๋ถ„ํ•ด๋˜์ง€ ์•Š๊ณ  ๋ฒ„ํ‹ฐ๋Š” ์ •๋„."],
283
  ["Li๊ธˆ์† ์•ˆ์ •์„ฑ","๋ฆฌํŠฌ ๊ธˆ์† ์Œ๊ทน์— ๋‹ฟ์•˜์„ ๋•Œ ๋ฐ˜์‘ํ•ด ๋ง๊ฐ€์ง€์ง€ ์•Š๋Š” ์ •๋„."],
284
  ["์šฉ๋„ ์‹ ๊ทœ์„ฑ","์ด ์กฐ์„ฑ์ด ๊ณ ์ฒด์ „ํ•ด์งˆ ์šฉ๋„๋กœ ๋ณด๊ณ ๋œ ์ ์ด ์—†์„์ˆ˜๋ก ๋†’์Šต๋‹ˆ๋‹ค."],
285
+ ["๋ฆฌํŠฌ ์ด๋™ ๊ฒฝ๋กœ","์ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ <b>์ฐธ๊ฐ€ ์กฐ๊ฑด</b>์ž…๋‹ˆ๋‹ค. ๋ฆฌํŠฌ์ด ์ง€๋‚˜๊ฐˆ ๊ด€ํ†ต ๊ฒฝ๋กœ๊ฐ€ ์—†์œผ๋ฉด ์ ‘์ˆ˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."]],
286
  limits:(L)=>`์ œ์ถœ ์ œํ•œ โ€” ๋ฆฌํŠฌ ํ•„์ˆ˜ ยท ๊ธฐ์•ฝ ์กฐ์„ฑ ์›์ž ์ˆ˜ ${L.max_atoms}๊ฐœ ์ดํ•˜ ยท ์›์†Œ 6์ข… ์ดํ•˜.
287
  ๊ฐ™์€ ๋ฌผ์งˆ์„ ์ •์ˆ˜๋ฐฐ๋กœ ๋ฐ”๊ฟ” ๋‹ค์‹œ ๋‚ด๋ฉด ๊ฐ™์€ ์ œ์ถœ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.`,
288
  detail_h:"์ฑ„์  ๊ทผ๊ฑฐ",
 
298
  ์ถ”์ • ๊ตฌ์กฐ๋ฅผ ์–ป์ง€ ๋ชปํ•œ ์กฐ์„ฑ์€ ๊ฒฐ๊ณผ๊ฐ€ <b>๋ณด๋ฅ˜</b>๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.`,
299
  priv:"๐Ÿ”’ ๋น„๊ณต๊ฐœ (๊ธฐ๋ณธ)", pub:"๐Ÿ”“ ์กฐ์„ฑ ๊ณต๊ฐœ",
300
  go:"์ œ์ถœํ•˜๊ธฐ",
301
+ gate:"์ œ์ถœํ•˜๋ ค๋ฉด <b>Hugging Face ๋กœ๊ทธ์ธ</b>์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ œ์ถœ์ž ๊ณ„์ •์ด ์ˆœ์œ„ํ‘œ์— ํ•จ๊ป˜ ํ‘œ์‹œ๋˜๋ฉฐ, ์ด๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ด๋ฆ„์œผ๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ๋ชจ๋ธ๋ณ„ ์ง‘๊ณ„๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.",
302
+ signin:"Hugging Face ๋กœ ๋กœ๊ทธ์ธ", signout:"๋กœ๊ทธ์•„์›ƒ", signed_as:"๋กœ๊ทธ์ธ:",
303
  broker_h:"์ œ์ถœ ๊ธฐ๋ก๊ณผ ์ œ3์ž ์—ฐ๊ฒฐ",
304
  broker:`<p>์ œ์ถœ์€ ์‹œ๊ฐ๊ณผ ํ•จ๊ป˜ ์ €ํฌ ์›์žฅ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์กฐ์„ฑ์„ <b>๋น„๊ณต๊ฐœ</b>๋กœ ๋‘๋ฉด ์ €ํฌ๋งŒ ๋ณด๊ด€ํ•˜๋ฉฐ,
305
  ๊ณต๊ฐœํ•˜์ง€ ์•Š๋Š” ํ•œ ์™ธ๋ถ€์— ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ก์ด ํ–ฅํ›„ ๊ถŒ๋ฆฌ ์ฃผ์žฅ์— ์ฐธ๊ณ ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋‚˜,
 
355
  ["Oxidation","How well the electrolyte itself resists decomposing as the cell voltage rises."],
356
  ["Li-metal stability","How well it survives contact with a lithium-metal anode."],
357
  ["Use novelty","Higher when the composition has not been reported as a solid electrolyte."],
358
+ ["Lithium pathway","Not a score but an <b>entry condition</b>: without a percolating path for lithium, an entry is not accepted."]],
359
  limits:(L)=>`Limits โ€” lithium required ยท at most ${L.max_atoms} atoms in the reduced composition ยท
360
  at most 6 elements. Re-submitting the same material as an integer multiple counts as the same entry.`,
361
  detail_h:"How this was scored",
 
372
  structure; where no estimated structure is obtained, the result is marked <b>held</b>.`,
373
  priv:"๐Ÿ”’ Private (default)", pub:"๐Ÿ”“ Show composition",
374
  go:"Submit",
375
+ gate:"Submitting requires a <b>Hugging Face sign-in</b>. Your account appears alongside the entry, which stops anyone posting under another person's name and keeps the per-model standings trustworthy.",
376
+ signin:"Sign in with Hugging Face", signout:"Sign out", signed_as:"Signed in as",
377
  broker_h:"Record of submission, and third-party contact",
378
  broker:`<p>Entries are recorded with a timestamp in our ledger. A <b>private</b> composition stays with us and
379
  is not disclosed unless you choose to publish it. This record may serve as a reference later, but it
 
420
  oxyhalides, anti-perovskites, โ€ฆ) or a constraint of your own, so your set does not collide
421
  with other entrants'. Identical submissions are rejected.</em>`},
422
 
423
+ {id:"B", ko:["์‚ฐํ™” ์•ˆ์ •์„ฑ","๋†’์€ ์ „์••์„ ๊ฒฌ๋””๋Š” ์„ค๊ณ„ (40์ )"], en:["Oxidation","Holding up at high voltage (40 pts)"],
424
  body:`Propose solid lithium-ion electrolytes designed specifically for a WIDE oxidation
425
  window, so they survive against a high-voltage cathode.
426
 
 
440
  <em>VARY THIS: commit to ONE anion chemistry and build the whole set around it, rather than
441
  eight unrelated guesses.</em>`},
442
 
443
+ {id:"C", ko:["๋ฆฌํŠฌ๊ธˆ์† ์•ˆ์ •์„ฑ","์Œ๊ทน์—์„œ ๋ฒ„ํ‹ฐ๋Š” ์„ค๊ณ„ (35์ )"], en:["Lithium-metal stability","Surviving the anode (35 pts)"],
444
  body:`Propose solid lithium-ion electrolytes designed to survive direct contact with
445
  LITHIUM METAL.
446
 
 
461
  <em>VARY THIS: choose one strategy โ€” reduction-proof cations, or a self-passivating
462
  decomposition product โ€” and build the set around it.</em>`},
463
 
464
+ {id:"D", ko:["์šฉ๋„ ์‹ ๊ทœ์„ฑ","๊ฐ€์žฅ ํฐ ์ ์ˆ˜ ์—ฌ์ง€ (25์ )"], en:["Use novelty","Where the headroom is (25 pts)"],
465
  body:`Propose lithium-containing compositions that are NOT already reported as solid
466
  electrolytes.
467
 
 
488
  };
489
 
490
  const $ = s => document.querySelector(s);
491
+ const COLS = ["rank","cand","user","who","date","oxidation","li_stability","novelty","total"];
492
  // ํ‘œ๊ฐ€ ์ปค์ง€๋ฉด ํ•œ๊บผ๋ฒˆ์— ๊ทธ๋ฆฌ์ง€ ์•Š๊ณ  ํ•œ ํŽ˜์ด์ง€์”ฉ ๊ทธ๋ฆฐ๋‹ค.
493
  const PAGE_SIZE = 500;
494
  let LANG = "ko", DATA = null, SEASONS = [], SEASON = 1;
495
  let sortKey = "total", sortDir = -1, page = 0;
496
  const t = () => T[LANG];
497
 
498
+ let ME = null;
499
+
500
+ function renderAuth(){
501
+ const d = t(), g = $("#gate"), m = $("#me");
502
+ if(!ME || !ME.oauth_configured){ g.style.display="none"; m.innerHTML=""; return; }
503
+ if(ME.signed_in && ME.user){
504
+ g.style.display = "none";
505
+ const u = ME.user;
506
+ const pic = u.picture ? `<img src="${esc(u.picture)}" alt="">` : "๐Ÿค—";
507
+ m.innerHTML = `${pic}<span>${d.signed_as} ${hfProfile(u.name)}</span>`
508
+ + `<a class="signin out" href="/logout" style="margin-left:auto">${esc(d.signout)}</a>`;
509
+ } else {
510
+ g.style.display = "block";
511
+ g.innerHTML = d.gate;
512
+ m.innerHTML = `<a class="signin" href="/login">๐Ÿค— ${esc(d.signin)}</a>`;
513
+ }
514
+ }
515
+
516
+ function hfProfile(user){
517
+ if(!user) return "";
518
+ const url = `https://huggingface.co/${encodeURIComponent(user)}`;
519
+ return `<a class="hf-user" href="${url}" target="_blank" rel="noopener noreferrer"`
520
+ + ` title="Hugging Face: ${esc(user)}">๐Ÿค— ${esc(user)}</a>`;
521
+ }
522
+
523
  function esc(s){ return String(s ?? "").replace(/[&<>"']/g,c=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[c])); }
524
 
525
  function setLang(l){
 
538
  $("#t_broker").innerHTML = d.broker;
539
  $("#t_cifnote").innerHTML = d.cifnote;
540
  $("#xlink").innerHTML = d.xlink;
541
+ renderAuth();
542
  $("#t_guide_h").textContent = d.guide_h;
543
  $("#t_guide_lead").innerHTML = d.guide_lead;
544
  $("#t_guide_how").innerHTML = d.guide_how;
 
726
  $("#rows").innerHTML = rows.length ? rows.map(e=>{
727
  const a = e.axes||{};
728
  const cls = e.is_anchor ? "anchor" : "";
729
+ const who = e.is_anchor ? esc(e.display_name)
730
+ : (e.hf_user ? hfProfile(e.hf_user)
731
+ : `<span title="${esc(e.display_name||"")}">${esc(e.display_name||"โ€“")}</span>`);
732
  const num = k => {
733
  const v = a[k];
734
  return `<td class="num">${v==null?`<span class="pill">${d.hold}</span>`:v.toFixed(1)}</td>`;
 
801
  const open = SEASONS.filter(x=>x.open);
802
  SEASON = (open.length?open:SEASONS).slice(-1)[0]?.number || 1;
803
  }catch(e){}
804
+ try{ ME = await (await fetch("/api/me")).json(); }catch(e){ ME = null; }
805
+ renderAuth();
 
 
 
 
806
  setLang("ko");
807
  showTab();
808
  await load();