Spaces:
Sleeping
Sleeping
Bug fixes
#2
by dghadiya - opened
- backend/data/prompts.json +162 -128
- backend/main.py +15 -0
- backend/validate_prompts.py +126 -0
- frontend/package-lock.json +0 -39
- frontend/src/data/prompts.json +162 -128
- frontend/src/pages/EvaluationPage.jsx +14 -1
- frontend/src/pages/GuidelineContent.jsx +551 -0
- frontend/src/pages/GuidelineOverlay.jsx +40 -0
- frontend/src/pages/GuidelinePage.jsx +44 -578
- frontend/src/styles.css +19 -0
- frontend/src/styles/guideline.css +33 -0
backend/data/prompts.json
CHANGED
|
@@ -1967,7 +1967,7 @@
|
|
| 1967 |
],
|
| 1968 |
"events": [
|
| 1969 |
{
|
| 1970 |
-
"id": "
|
| 1971 |
"modality": "silent_action",
|
| 1972 |
"actor": "person_A",
|
| 1973 |
"action": "thumbs_up",
|
|
@@ -1976,7 +1976,7 @@
|
|
| 1976 |
"definition": "The person's right hand forms or holds a thumbs-up pose: a fist closed with the thumb extended upward, clearly recognizable. The target is the pose, not a separate hand-raising motion."
|
| 1977 |
},
|
| 1978 |
{
|
| 1979 |
-
"id": "
|
| 1980 |
"modality": "silent_action",
|
| 1981 |
"actor": "person_A",
|
| 1982 |
"action": "raise_open_palm",
|
|
@@ -1986,7 +1986,14 @@
|
|
| 1986 |
}
|
| 1987 |
],
|
| 1988 |
"content": {
|
| 1989 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1990 |
"actor": "person_A",
|
| 1991 |
"action": "raise_open_palm",
|
| 1992 |
"body_side": "right",
|
|
@@ -2001,8 +2008,8 @@
|
|
| 2001 |
"timing_type": "relative",
|
| 2002 |
"value": {
|
| 2003 |
"sequence": [
|
| 2004 |
-
"
|
| 2005 |
-
"
|
| 2006 |
]
|
| 2007 |
}
|
| 2008 |
},
|
|
@@ -2022,7 +2029,7 @@
|
|
| 2022 |
],
|
| 2023 |
"events": [
|
| 2024 |
{
|
| 2025 |
-
"id": "
|
| 2026 |
"modality": "silent_action",
|
| 2027 |
"actor": "person_A",
|
| 2028 |
"action": "raise_open_palm",
|
|
@@ -2031,7 +2038,7 @@
|
|
| 2031 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers together and extended, held clearly as a recognizable open-palm pose. The target is the held pose, not a separate raising motion."
|
| 2032 |
},
|
| 2033 |
{
|
| 2034 |
-
"id": "
|
| 2035 |
"modality": "silent_action",
|
| 2036 |
"actor": "person_A",
|
| 2037 |
"action": "thumbs_up",
|
|
@@ -2041,7 +2048,14 @@
|
|
| 2041 |
}
|
| 2042 |
],
|
| 2043 |
"content": {
|
| 2044 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2045 |
"actor": "person_A",
|
| 2046 |
"action": "thumbs_up",
|
| 2047 |
"body_side": "right",
|
|
@@ -2056,8 +2070,8 @@
|
|
| 2056 |
"timing_type": "relative",
|
| 2057 |
"value": {
|
| 2058 |
"sequence": [
|
| 2059 |
-
"
|
| 2060 |
-
"
|
| 2061 |
]
|
| 2062 |
}
|
| 2063 |
},
|
|
@@ -2213,7 +2227,7 @@
|
|
| 2213 |
],
|
| 2214 |
"events": [
|
| 2215 |
{
|
| 2216 |
-
"id": "
|
| 2217 |
"modality": "sounding_action",
|
| 2218 |
"actor": "person_A",
|
| 2219 |
"action": "slapping_the_thigh",
|
|
@@ -2225,7 +2239,7 @@
|
|
| 2225 |
"definition": "The person's left hand strikes the top of the left thigh, with visible contact and a sharp slap sound at the moment of impact."
|
| 2226 |
},
|
| 2227 |
{
|
| 2228 |
-
"id": "
|
| 2229 |
"modality": "sounding_action",
|
| 2230 |
"actor": "person_A",
|
| 2231 |
"action": "clapping_hands",
|
|
@@ -2238,7 +2252,17 @@
|
|
| 2238 |
}
|
| 2239 |
],
|
| 2240 |
"content": {
|
| 2241 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2242 |
"actor": "person_A",
|
| 2243 |
"action": "clapping_hands",
|
| 2244 |
"acting_body_side": "both",
|
|
@@ -2256,8 +2280,8 @@
|
|
| 2256 |
"timing_type": "relative",
|
| 2257 |
"value": {
|
| 2258 |
"sequence": [
|
| 2259 |
-
"
|
| 2260 |
-
"
|
| 2261 |
]
|
| 2262 |
}
|
| 2263 |
},
|
|
@@ -2277,7 +2301,7 @@
|
|
| 2277 |
],
|
| 2278 |
"events": [
|
| 2279 |
{
|
| 2280 |
-
"id": "
|
| 2281 |
"modality": "sounding_action",
|
| 2282 |
"actor": "person_A",
|
| 2283 |
"action": "clapping_hands",
|
|
@@ -2289,7 +2313,7 @@
|
|
| 2289 |
"definition": "The person brings both hands together in front of the torso to clap, with visible hand-to-hand contact and a single sharp clap sound at the moment of impact."
|
| 2290 |
},
|
| 2291 |
{
|
| 2292 |
-
"id": "
|
| 2293 |
"modality": "sounding_action",
|
| 2294 |
"actor": "person_A",
|
| 2295 |
"action": "slapping_the_thigh",
|
|
@@ -2302,7 +2326,17 @@
|
|
| 2302 |
}
|
| 2303 |
],
|
| 2304 |
"content": {
|
| 2305 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2306 |
"actor": "person_A",
|
| 2307 |
"action": "slapping_the_thigh",
|
| 2308 |
"acting_body_side": "left",
|
|
@@ -2320,8 +2354,8 @@
|
|
| 2320 |
"timing_type": "relative",
|
| 2321 |
"value": {
|
| 2322 |
"sequence": [
|
| 2323 |
-
"
|
| 2324 |
-
"
|
| 2325 |
]
|
| 2326 |
}
|
| 2327 |
},
|
|
@@ -3735,14 +3769,14 @@
|
|
| 3735 |
],
|
| 3736 |
"events": [
|
| 3737 |
{
|
| 3738 |
-
"id": "
|
| 3739 |
"modality": "speech",
|
| 3740 |
"actor": "person_A",
|
| 3741 |
"text": "stop",
|
| 3742 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3743 |
},
|
| 3744 |
{
|
| 3745 |
-
"id": "
|
| 3746 |
"modality": "silent_action",
|
| 3747 |
"actor": "person_A",
|
| 3748 |
"action": "raise_open_palm",
|
|
@@ -3751,7 +3785,7 @@
|
|
| 3751 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3752 |
},
|
| 3753 |
{
|
| 3754 |
-
"id": "
|
| 3755 |
"modality": "sounding_action",
|
| 3756 |
"actor": "person_A",
|
| 3757 |
"action": "clapping_hands",
|
|
@@ -3762,19 +3796,19 @@
|
|
| 3762 |
}
|
| 3763 |
],
|
| 3764 |
"content": {
|
| 3765 |
-
"
|
| 3766 |
"actor": "person_A",
|
| 3767 |
"text": "stop",
|
| 3768 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3769 |
},
|
| 3770 |
-
"
|
| 3771 |
"actor": "person_A",
|
| 3772 |
"action": "raise_open_palm",
|
| 3773 |
"body_side": "right",
|
| 3774 |
"body_part": "hand",
|
| 3775 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3776 |
},
|
| 3777 |
-
"
|
| 3778 |
"actor": "person_A",
|
| 3779 |
"action": "clapping_hands",
|
| 3780 |
"acting_body_side": "both",
|
|
@@ -3977,14 +4011,14 @@
|
|
| 3977 |
],
|
| 3978 |
"events": [
|
| 3979 |
{
|
| 3980 |
-
"id": "
|
| 3981 |
"modality": "speech",
|
| 3982 |
"actor": "person_A",
|
| 3983 |
"text": "stop",
|
| 3984 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3985 |
},
|
| 3986 |
{
|
| 3987 |
-
"id": "
|
| 3988 |
"modality": "silent_action",
|
| 3989 |
"actor": "person_A",
|
| 3990 |
"action": "peace_sign",
|
|
@@ -3993,7 +4027,7 @@
|
|
| 3993 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 3994 |
},
|
| 3995 |
{
|
| 3996 |
-
"id": "
|
| 3997 |
"modality": "sounding_action",
|
| 3998 |
"actor": "person_A",
|
| 3999 |
"action": "clapping_hands",
|
|
@@ -4004,19 +4038,19 @@
|
|
| 4004 |
}
|
| 4005 |
],
|
| 4006 |
"content": {
|
| 4007 |
-
"
|
| 4008 |
"actor": "person_A",
|
| 4009 |
"text": "stop",
|
| 4010 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4011 |
},
|
| 4012 |
-
"
|
| 4013 |
"actor": "person_A",
|
| 4014 |
"action": "peace_sign",
|
| 4015 |
"body_side": "right",
|
| 4016 |
"body_part": "hand",
|
| 4017 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4018 |
},
|
| 4019 |
-
"
|
| 4020 |
"actor": "person_A",
|
| 4021 |
"action": "clapping_hands",
|
| 4022 |
"acting_body_side": "both",
|
|
@@ -4142,14 +4176,14 @@
|
|
| 4142 |
],
|
| 4143 |
"events": [
|
| 4144 |
{
|
| 4145 |
-
"id": "
|
| 4146 |
"modality": "speech",
|
| 4147 |
"actor": "person_A",
|
| 4148 |
"text": "stop",
|
| 4149 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4150 |
},
|
| 4151 |
{
|
| 4152 |
-
"id": "
|
| 4153 |
"modality": "silent_action",
|
| 4154 |
"actor": "person_A",
|
| 4155 |
"action": "peace_sign",
|
|
@@ -4158,7 +4192,7 @@
|
|
| 4158 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4159 |
},
|
| 4160 |
{
|
| 4161 |
-
"id": "
|
| 4162 |
"modality": "sounding_action",
|
| 4163 |
"actor": "person_A",
|
| 4164 |
"action": "clapping_hands",
|
|
@@ -4169,19 +4203,19 @@
|
|
| 4169 |
}
|
| 4170 |
],
|
| 4171 |
"content": {
|
| 4172 |
-
"
|
| 4173 |
"actor": "person_A",
|
| 4174 |
"text": "stop",
|
| 4175 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4176 |
},
|
| 4177 |
-
"
|
| 4178 |
"actor": "person_A",
|
| 4179 |
"action": "peace_sign",
|
| 4180 |
"body_side": "right",
|
| 4181 |
"body_part": "hand",
|
| 4182 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4183 |
},
|
| 4184 |
-
"
|
| 4185 |
"actor": "person_A",
|
| 4186 |
"action": "clapping_hands",
|
| 4187 |
"acting_body_side": "both",
|
|
@@ -4230,14 +4264,14 @@
|
|
| 4230 |
],
|
| 4231 |
"events": [
|
| 4232 |
{
|
| 4233 |
-
"id": "
|
| 4234 |
"modality": "speech",
|
| 4235 |
"actor": "person_A",
|
| 4236 |
"text": "stop",
|
| 4237 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4238 |
},
|
| 4239 |
{
|
| 4240 |
-
"id": "
|
| 4241 |
"modality": "silent_action",
|
| 4242 |
"actor": "person_A",
|
| 4243 |
"action": "peace_sign",
|
|
@@ -4246,7 +4280,7 @@
|
|
| 4246 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4247 |
},
|
| 4248 |
{
|
| 4249 |
-
"id": "
|
| 4250 |
"modality": "sounding_action",
|
| 4251 |
"actor": "person_A",
|
| 4252 |
"action": "clapping_hands",
|
|
@@ -4257,19 +4291,19 @@
|
|
| 4257 |
}
|
| 4258 |
],
|
| 4259 |
"content": {
|
| 4260 |
-
"
|
| 4261 |
"actor": "person_A",
|
| 4262 |
"text": "stop",
|
| 4263 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4264 |
},
|
| 4265 |
-
"
|
| 4266 |
"actor": "person_A",
|
| 4267 |
"action": "peace_sign",
|
| 4268 |
"body_side": "right",
|
| 4269 |
"body_part": "hand",
|
| 4270 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4271 |
},
|
| 4272 |
-
"
|
| 4273 |
"actor": "person_A",
|
| 4274 |
"action": "clapping_hands",
|
| 4275 |
"acting_body_side": "both",
|
|
@@ -4395,14 +4429,14 @@
|
|
| 4395 |
],
|
| 4396 |
"events": [
|
| 4397 |
{
|
| 4398 |
-
"id": "
|
| 4399 |
"modality": "speech",
|
| 4400 |
"actor": "person_A",
|
| 4401 |
"text": "stop",
|
| 4402 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4403 |
},
|
| 4404 |
{
|
| 4405 |
-
"id": "
|
| 4406 |
"modality": "silent_action",
|
| 4407 |
"actor": "person_A",
|
| 4408 |
"action": "peace_sign",
|
|
@@ -4411,7 +4445,7 @@
|
|
| 4411 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4412 |
},
|
| 4413 |
{
|
| 4414 |
-
"id": "
|
| 4415 |
"modality": "sounding_action",
|
| 4416 |
"actor": "person_A",
|
| 4417 |
"action": "clapping_hands",
|
|
@@ -4422,19 +4456,19 @@
|
|
| 4422 |
}
|
| 4423 |
],
|
| 4424 |
"content": {
|
| 4425 |
-
"
|
| 4426 |
"actor": "person_A",
|
| 4427 |
"text": "stop",
|
| 4428 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4429 |
},
|
| 4430 |
-
"
|
| 4431 |
"actor": "person_A",
|
| 4432 |
"action": "peace_sign",
|
| 4433 |
"body_side": "right",
|
| 4434 |
"body_part": "hand",
|
| 4435 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4436 |
},
|
| 4437 |
-
"
|
| 4438 |
"actor": "person_A",
|
| 4439 |
"action": "clapping_hands",
|
| 4440 |
"acting_body_side": "both",
|
|
@@ -4483,14 +4517,14 @@
|
|
| 4483 |
],
|
| 4484 |
"events": [
|
| 4485 |
{
|
| 4486 |
-
"id": "
|
| 4487 |
"modality": "speech",
|
| 4488 |
"actor": "person_A",
|
| 4489 |
"text": "stop",
|
| 4490 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4491 |
},
|
| 4492 |
{
|
| 4493 |
-
"id": "
|
| 4494 |
"modality": "silent_action",
|
| 4495 |
"actor": "person_A",
|
| 4496 |
"action": "peace_sign",
|
|
@@ -4499,7 +4533,7 @@
|
|
| 4499 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4500 |
},
|
| 4501 |
{
|
| 4502 |
-
"id": "
|
| 4503 |
"modality": "sounding_action",
|
| 4504 |
"actor": "person_A",
|
| 4505 |
"action": "clapping_hands",
|
|
@@ -4510,19 +4544,19 @@
|
|
| 4510 |
}
|
| 4511 |
],
|
| 4512 |
"content": {
|
| 4513 |
-
"
|
| 4514 |
"actor": "person_A",
|
| 4515 |
"text": "stop",
|
| 4516 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4517 |
},
|
| 4518 |
-
"
|
| 4519 |
"actor": "person_A",
|
| 4520 |
"action": "peace_sign",
|
| 4521 |
"body_side": "right",
|
| 4522 |
"body_part": "hand",
|
| 4523 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4524 |
},
|
| 4525 |
-
"
|
| 4526 |
"actor": "person_A",
|
| 4527 |
"action": "clapping_hands",
|
| 4528 |
"acting_body_side": "both",
|
|
@@ -4571,14 +4605,14 @@
|
|
| 4571 |
],
|
| 4572 |
"events": [
|
| 4573 |
{
|
| 4574 |
-
"id": "
|
| 4575 |
"modality": "speech",
|
| 4576 |
"actor": "person_A",
|
| 4577 |
"text": "stop",
|
| 4578 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4579 |
},
|
| 4580 |
{
|
| 4581 |
-
"id": "
|
| 4582 |
"modality": "silent_action",
|
| 4583 |
"actor": "person_A",
|
| 4584 |
"action": "peace_sign",
|
|
@@ -4587,7 +4621,7 @@
|
|
| 4587 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4588 |
},
|
| 4589 |
{
|
| 4590 |
-
"id": "
|
| 4591 |
"modality": "sounding_action",
|
| 4592 |
"actor": "person_A",
|
| 4593 |
"action": "clapping_hands",
|
|
@@ -4598,19 +4632,19 @@
|
|
| 4598 |
}
|
| 4599 |
],
|
| 4600 |
"content": {
|
| 4601 |
-
"
|
| 4602 |
"actor": "person_A",
|
| 4603 |
"text": "stop",
|
| 4604 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4605 |
},
|
| 4606 |
-
"
|
| 4607 |
"actor": "person_A",
|
| 4608 |
"action": "peace_sign",
|
| 4609 |
"body_side": "right",
|
| 4610 |
"body_part": "hand",
|
| 4611 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4612 |
},
|
| 4613 |
-
"
|
| 4614 |
"actor": "person_A",
|
| 4615 |
"action": "clapping_hands",
|
| 4616 |
"acting_body_side": "both",
|
|
@@ -4659,14 +4693,14 @@
|
|
| 4659 |
],
|
| 4660 |
"events": [
|
| 4661 |
{
|
| 4662 |
-
"id": "
|
| 4663 |
"modality": "speech",
|
| 4664 |
"actor": "person_A",
|
| 4665 |
"text": "stop",
|
| 4666 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4667 |
},
|
| 4668 |
{
|
| 4669 |
-
"id": "
|
| 4670 |
"modality": "silent_action",
|
| 4671 |
"actor": "person_A",
|
| 4672 |
"action": "peace_sign",
|
|
@@ -4675,7 +4709,7 @@
|
|
| 4675 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4676 |
},
|
| 4677 |
{
|
| 4678 |
-
"id": "
|
| 4679 |
"modality": "sounding_action",
|
| 4680 |
"actor": "person_A",
|
| 4681 |
"action": "clapping_hands",
|
|
@@ -4686,19 +4720,19 @@
|
|
| 4686 |
}
|
| 4687 |
],
|
| 4688 |
"content": {
|
| 4689 |
-
"
|
| 4690 |
"actor": "person_A",
|
| 4691 |
"text": "stop",
|
| 4692 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4693 |
},
|
| 4694 |
-
"
|
| 4695 |
"actor": "person_A",
|
| 4696 |
"action": "peace_sign",
|
| 4697 |
"body_side": "right",
|
| 4698 |
"body_part": "hand",
|
| 4699 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4700 |
},
|
| 4701 |
-
"
|
| 4702 |
"actor": "person_A",
|
| 4703 |
"action": "clapping_hands",
|
| 4704 |
"acting_body_side": "both",
|
|
@@ -5132,14 +5166,14 @@
|
|
| 5132 |
],
|
| 5133 |
"events": [
|
| 5134 |
{
|
| 5135 |
-
"id": "
|
| 5136 |
"modality": "speech",
|
| 5137 |
"actor": "person_A",
|
| 5138 |
"text": "okay",
|
| 5139 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5140 |
},
|
| 5141 |
{
|
| 5142 |
-
"id": "
|
| 5143 |
"modality": "silent_action",
|
| 5144 |
"actor": "person_A",
|
| 5145 |
"action": "raise_open_palm",
|
|
@@ -5148,7 +5182,7 @@
|
|
| 5148 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5149 |
},
|
| 5150 |
{
|
| 5151 |
-
"id": "
|
| 5152 |
"modality": "sounding_action",
|
| 5153 |
"actor": "person_A",
|
| 5154 |
"action": "clapping_hands",
|
|
@@ -5159,19 +5193,19 @@
|
|
| 5159 |
}
|
| 5160 |
],
|
| 5161 |
"content": {
|
| 5162 |
-
"
|
| 5163 |
"actor": "person_A",
|
| 5164 |
"text": "okay",
|
| 5165 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5166 |
},
|
| 5167 |
-
"
|
| 5168 |
"actor": "person_A",
|
| 5169 |
"action": "raise_open_palm",
|
| 5170 |
"body_side": "right",
|
| 5171 |
"body_part": "hand",
|
| 5172 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5173 |
},
|
| 5174 |
-
"
|
| 5175 |
"actor": "person_A",
|
| 5176 |
"action": "clapping_hands",
|
| 5177 |
"acting_body_side": "both",
|
|
@@ -5220,14 +5254,14 @@
|
|
| 5220 |
],
|
| 5221 |
"events": [
|
| 5222 |
{
|
| 5223 |
-
"id": "
|
| 5224 |
"modality": "speech",
|
| 5225 |
"actor": "person_A",
|
| 5226 |
"text": "okay",
|
| 5227 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5228 |
},
|
| 5229 |
{
|
| 5230 |
-
"id": "
|
| 5231 |
"modality": "silent_action",
|
| 5232 |
"actor": "person_A",
|
| 5233 |
"action": "raise_open_palm",
|
|
@@ -5236,7 +5270,7 @@
|
|
| 5236 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5237 |
},
|
| 5238 |
{
|
| 5239 |
-
"id": "
|
| 5240 |
"modality": "sounding_action",
|
| 5241 |
"actor": "person_A",
|
| 5242 |
"action": "clapping_hands",
|
|
@@ -5247,19 +5281,19 @@
|
|
| 5247 |
}
|
| 5248 |
],
|
| 5249 |
"content": {
|
| 5250 |
-
"
|
| 5251 |
"actor": "person_A",
|
| 5252 |
"text": "okay",
|
| 5253 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5254 |
},
|
| 5255 |
-
"
|
| 5256 |
"actor": "person_A",
|
| 5257 |
"action": "raise_open_palm",
|
| 5258 |
"body_side": "right",
|
| 5259 |
"body_part": "hand",
|
| 5260 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5261 |
},
|
| 5262 |
-
"
|
| 5263 |
"actor": "person_A",
|
| 5264 |
"action": "clapping_hands",
|
| 5265 |
"acting_body_side": "both",
|
|
@@ -5385,14 +5419,14 @@
|
|
| 5385 |
],
|
| 5386 |
"events": [
|
| 5387 |
{
|
| 5388 |
-
"id": "
|
| 5389 |
"modality": "speech",
|
| 5390 |
"actor": "person_A",
|
| 5391 |
"text": "okay",
|
| 5392 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5393 |
},
|
| 5394 |
{
|
| 5395 |
-
"id": "
|
| 5396 |
"modality": "silent_action",
|
| 5397 |
"actor": "person_A",
|
| 5398 |
"action": "raise_open_palm",
|
|
@@ -5401,7 +5435,7 @@
|
|
| 5401 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5402 |
},
|
| 5403 |
{
|
| 5404 |
-
"id": "
|
| 5405 |
"modality": "sounding_action",
|
| 5406 |
"actor": "person_A",
|
| 5407 |
"action": "clapping_hands",
|
|
@@ -5412,19 +5446,19 @@
|
|
| 5412 |
}
|
| 5413 |
],
|
| 5414 |
"content": {
|
| 5415 |
-
"
|
| 5416 |
"actor": "person_A",
|
| 5417 |
"text": "okay",
|
| 5418 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5419 |
},
|
| 5420 |
-
"
|
| 5421 |
"actor": "person_A",
|
| 5422 |
"action": "raise_open_palm",
|
| 5423 |
"body_side": "right",
|
| 5424 |
"body_part": "hand",
|
| 5425 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5426 |
},
|
| 5427 |
-
"
|
| 5428 |
"actor": "person_A",
|
| 5429 |
"action": "clapping_hands",
|
| 5430 |
"acting_body_side": "both",
|
|
@@ -5550,14 +5584,14 @@
|
|
| 5550 |
],
|
| 5551 |
"events": [
|
| 5552 |
{
|
| 5553 |
-
"id": "
|
| 5554 |
"modality": "speech",
|
| 5555 |
"actor": "person_A",
|
| 5556 |
"text": "okay",
|
| 5557 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5558 |
},
|
| 5559 |
{
|
| 5560 |
-
"id": "
|
| 5561 |
"modality": "silent_action",
|
| 5562 |
"actor": "person_A",
|
| 5563 |
"action": "peace_sign",
|
|
@@ -5566,7 +5600,7 @@
|
|
| 5566 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5567 |
},
|
| 5568 |
{
|
| 5569 |
-
"id": "
|
| 5570 |
"modality": "sounding_action",
|
| 5571 |
"actor": "person_A",
|
| 5572 |
"action": "clapping_hands",
|
|
@@ -5577,19 +5611,19 @@
|
|
| 5577 |
}
|
| 5578 |
],
|
| 5579 |
"content": {
|
| 5580 |
-
"
|
| 5581 |
"actor": "person_A",
|
| 5582 |
"text": "okay",
|
| 5583 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5584 |
},
|
| 5585 |
-
"
|
| 5586 |
"actor": "person_A",
|
| 5587 |
"action": "peace_sign",
|
| 5588 |
"body_side": "right",
|
| 5589 |
"body_part": "hand",
|
| 5590 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5591 |
},
|
| 5592 |
-
"
|
| 5593 |
"actor": "person_A",
|
| 5594 |
"action": "clapping_hands",
|
| 5595 |
"acting_body_side": "both",
|
|
@@ -5638,14 +5672,14 @@
|
|
| 5638 |
],
|
| 5639 |
"events": [
|
| 5640 |
{
|
| 5641 |
-
"id": "
|
| 5642 |
"modality": "speech",
|
| 5643 |
"actor": "person_A",
|
| 5644 |
"text": "okay",
|
| 5645 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5646 |
},
|
| 5647 |
{
|
| 5648 |
-
"id": "
|
| 5649 |
"modality": "silent_action",
|
| 5650 |
"actor": "person_A",
|
| 5651 |
"action": "peace_sign",
|
|
@@ -5654,7 +5688,7 @@
|
|
| 5654 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5655 |
},
|
| 5656 |
{
|
| 5657 |
-
"id": "
|
| 5658 |
"modality": "sounding_action",
|
| 5659 |
"actor": "person_A",
|
| 5660 |
"action": "clapping_hands",
|
|
@@ -5665,19 +5699,19 @@
|
|
| 5665 |
}
|
| 5666 |
],
|
| 5667 |
"content": {
|
| 5668 |
-
"
|
| 5669 |
"actor": "person_A",
|
| 5670 |
"text": "okay",
|
| 5671 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5672 |
},
|
| 5673 |
-
"
|
| 5674 |
"actor": "person_A",
|
| 5675 |
"action": "peace_sign",
|
| 5676 |
"body_side": "right",
|
| 5677 |
"body_part": "hand",
|
| 5678 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5679 |
},
|
| 5680 |
-
"
|
| 5681 |
"actor": "person_A",
|
| 5682 |
"action": "clapping_hands",
|
| 5683 |
"acting_body_side": "both",
|
|
@@ -5803,14 +5837,14 @@
|
|
| 5803 |
],
|
| 5804 |
"events": [
|
| 5805 |
{
|
| 5806 |
-
"id": "
|
| 5807 |
"modality": "speech",
|
| 5808 |
"actor": "person_A",
|
| 5809 |
"text": "okay",
|
| 5810 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5811 |
},
|
| 5812 |
{
|
| 5813 |
-
"id": "
|
| 5814 |
"modality": "silent_action",
|
| 5815 |
"actor": "person_A",
|
| 5816 |
"action": "peace_sign",
|
|
@@ -5819,7 +5853,7 @@
|
|
| 5819 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5820 |
},
|
| 5821 |
{
|
| 5822 |
-
"id": "
|
| 5823 |
"modality": "sounding_action",
|
| 5824 |
"actor": "person_A",
|
| 5825 |
"action": "clapping_hands",
|
|
@@ -5830,19 +5864,19 @@
|
|
| 5830 |
}
|
| 5831 |
],
|
| 5832 |
"content": {
|
| 5833 |
-
"
|
| 5834 |
"actor": "person_A",
|
| 5835 |
"text": "okay",
|
| 5836 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5837 |
},
|
| 5838 |
-
"
|
| 5839 |
"actor": "person_A",
|
| 5840 |
"action": "peace_sign",
|
| 5841 |
"body_side": "right",
|
| 5842 |
"body_part": "hand",
|
| 5843 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5844 |
},
|
| 5845 |
-
"
|
| 5846 |
"actor": "person_A",
|
| 5847 |
"action": "clapping_hands",
|
| 5848 |
"acting_body_side": "both",
|
|
@@ -5891,14 +5925,14 @@
|
|
| 5891 |
],
|
| 5892 |
"events": [
|
| 5893 |
{
|
| 5894 |
-
"id": "
|
| 5895 |
"modality": "speech",
|
| 5896 |
"actor": "person_A",
|
| 5897 |
"text": "okay",
|
| 5898 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5899 |
},
|
| 5900 |
{
|
| 5901 |
-
"id": "
|
| 5902 |
"modality": "silent_action",
|
| 5903 |
"actor": "person_A",
|
| 5904 |
"action": "peace_sign",
|
|
@@ -5907,7 +5941,7 @@
|
|
| 5907 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5908 |
},
|
| 5909 |
{
|
| 5910 |
-
"id": "
|
| 5911 |
"modality": "sounding_action",
|
| 5912 |
"actor": "person_A",
|
| 5913 |
"action": "clapping_hands",
|
|
@@ -5918,19 +5952,19 @@
|
|
| 5918 |
}
|
| 5919 |
],
|
| 5920 |
"content": {
|
| 5921 |
-
"
|
| 5922 |
"actor": "person_A",
|
| 5923 |
"text": "okay",
|
| 5924 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5925 |
},
|
| 5926 |
-
"
|
| 5927 |
"actor": "person_A",
|
| 5928 |
"action": "peace_sign",
|
| 5929 |
"body_side": "right",
|
| 5930 |
"body_part": "hand",
|
| 5931 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5932 |
},
|
| 5933 |
-
"
|
| 5934 |
"actor": "person_A",
|
| 5935 |
"action": "clapping_hands",
|
| 5936 |
"acting_body_side": "both",
|
|
@@ -5979,14 +6013,14 @@
|
|
| 5979 |
],
|
| 5980 |
"events": [
|
| 5981 |
{
|
| 5982 |
-
"id": "
|
| 5983 |
"modality": "speech",
|
| 5984 |
"actor": "person_A",
|
| 5985 |
"text": "okay",
|
| 5986 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5987 |
},
|
| 5988 |
{
|
| 5989 |
-
"id": "
|
| 5990 |
"modality": "silent_action",
|
| 5991 |
"actor": "person_A",
|
| 5992 |
"action": "peace_sign",
|
|
@@ -5995,7 +6029,7 @@
|
|
| 5995 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5996 |
},
|
| 5997 |
{
|
| 5998 |
-
"id": "
|
| 5999 |
"modality": "sounding_action",
|
| 6000 |
"actor": "person_A",
|
| 6001 |
"action": "clapping_hands",
|
|
@@ -6006,19 +6040,19 @@
|
|
| 6006 |
}
|
| 6007 |
],
|
| 6008 |
"content": {
|
| 6009 |
-
"
|
| 6010 |
"actor": "person_A",
|
| 6011 |
"text": "okay",
|
| 6012 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6013 |
},
|
| 6014 |
-
"
|
| 6015 |
"actor": "person_A",
|
| 6016 |
"action": "peace_sign",
|
| 6017 |
"body_side": "right",
|
| 6018 |
"body_part": "hand",
|
| 6019 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6020 |
},
|
| 6021 |
-
"
|
| 6022 |
"actor": "person_A",
|
| 6023 |
"action": "clapping_hands",
|
| 6024 |
"acting_body_side": "both",
|
|
@@ -6144,14 +6178,14 @@
|
|
| 6144 |
],
|
| 6145 |
"events": [
|
| 6146 |
{
|
| 6147 |
-
"id": "
|
| 6148 |
"modality": "speech",
|
| 6149 |
"actor": "person_A",
|
| 6150 |
"text": "okay",
|
| 6151 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6152 |
},
|
| 6153 |
{
|
| 6154 |
-
"id": "
|
| 6155 |
"modality": "silent_action",
|
| 6156 |
"actor": "person_A",
|
| 6157 |
"action": "peace_sign",
|
|
@@ -6160,7 +6194,7 @@
|
|
| 6160 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6161 |
},
|
| 6162 |
{
|
| 6163 |
-
"id": "
|
| 6164 |
"modality": "sounding_action",
|
| 6165 |
"actor": "person_A",
|
| 6166 |
"action": "clapping_hands",
|
|
@@ -6171,19 +6205,19 @@
|
|
| 6171 |
}
|
| 6172 |
],
|
| 6173 |
"content": {
|
| 6174 |
-
"
|
| 6175 |
"actor": "person_A",
|
| 6176 |
"text": "okay",
|
| 6177 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6178 |
},
|
| 6179 |
-
"
|
| 6180 |
"actor": "person_A",
|
| 6181 |
"action": "peace_sign",
|
| 6182 |
"body_side": "right",
|
| 6183 |
"body_part": "hand",
|
| 6184 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6185 |
},
|
| 6186 |
-
"
|
| 6187 |
"actor": "person_A",
|
| 6188 |
"action": "clapping_hands",
|
| 6189 |
"acting_body_side": "both",
|
|
@@ -6232,14 +6266,14 @@
|
|
| 6232 |
],
|
| 6233 |
"events": [
|
| 6234 |
{
|
| 6235 |
-
"id": "
|
| 6236 |
"modality": "speech",
|
| 6237 |
"actor": "person_A",
|
| 6238 |
"text": "okay",
|
| 6239 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6240 |
},
|
| 6241 |
{
|
| 6242 |
-
"id": "
|
| 6243 |
"modality": "silent_action",
|
| 6244 |
"actor": "person_A",
|
| 6245 |
"action": "peace_sign",
|
|
@@ -6248,7 +6282,7 @@
|
|
| 6248 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6249 |
},
|
| 6250 |
{
|
| 6251 |
-
"id": "
|
| 6252 |
"modality": "sounding_action",
|
| 6253 |
"actor": "person_A",
|
| 6254 |
"action": "clapping_hands",
|
|
@@ -6259,19 +6293,19 @@
|
|
| 6259 |
}
|
| 6260 |
],
|
| 6261 |
"content": {
|
| 6262 |
-
"
|
| 6263 |
"actor": "person_A",
|
| 6264 |
"text": "okay",
|
| 6265 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6266 |
},
|
| 6267 |
-
"
|
| 6268 |
"actor": "person_A",
|
| 6269 |
"action": "peace_sign",
|
| 6270 |
"body_side": "right",
|
| 6271 |
"body_part": "hand",
|
| 6272 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6273 |
},
|
| 6274 |
-
"
|
| 6275 |
"actor": "person_A",
|
| 6276 |
"action": "clapping_hands",
|
| 6277 |
"acting_body_side": "both",
|
|
|
|
| 1967 |
],
|
| 1968 |
"events": [
|
| 1969 |
{
|
| 1970 |
+
"id": "thumbs_up",
|
| 1971 |
"modality": "silent_action",
|
| 1972 |
"actor": "person_A",
|
| 1973 |
"action": "thumbs_up",
|
|
|
|
| 1976 |
"definition": "The person's right hand forms or holds a thumbs-up pose: a fist closed with the thumb extended upward, clearly recognizable. The target is the pose, not a separate hand-raising motion."
|
| 1977 |
},
|
| 1978 |
{
|
| 1979 |
+
"id": "open_palm",
|
| 1980 |
"modality": "silent_action",
|
| 1981 |
"actor": "person_A",
|
| 1982 |
"action": "raise_open_palm",
|
|
|
|
| 1986 |
}
|
| 1987 |
],
|
| 1988 |
"content": {
|
| 1989 |
+
"thumbs_up": {
|
| 1990 |
+
"actor": "person_A",
|
| 1991 |
+
"action": "thumbs_up",
|
| 1992 |
+
"body_side": "right",
|
| 1993 |
+
"body_part": "hand",
|
| 1994 |
+
"definition": "The person's right hand forms or holds a thumbs-up pose: a fist closed with the thumb extended upward, clearly recognizable. The target is the pose, not a separate hand-raising motion."
|
| 1995 |
+
},
|
| 1996 |
+
"open_palm": {
|
| 1997 |
"actor": "person_A",
|
| 1998 |
"action": "raise_open_palm",
|
| 1999 |
"body_side": "right",
|
|
|
|
| 2008 |
"timing_type": "relative",
|
| 2009 |
"value": {
|
| 2010 |
"sequence": [
|
| 2011 |
+
"thumbs_up",
|
| 2012 |
+
"open_palm"
|
| 2013 |
]
|
| 2014 |
}
|
| 2015 |
},
|
|
|
|
| 2029 |
],
|
| 2030 |
"events": [
|
| 2031 |
{
|
| 2032 |
+
"id": "open_palm",
|
| 2033 |
"modality": "silent_action",
|
| 2034 |
"actor": "person_A",
|
| 2035 |
"action": "raise_open_palm",
|
|
|
|
| 2038 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers together and extended, held clearly as a recognizable open-palm pose. The target is the held pose, not a separate raising motion."
|
| 2039 |
},
|
| 2040 |
{
|
| 2041 |
+
"id": "thumbs_up",
|
| 2042 |
"modality": "silent_action",
|
| 2043 |
"actor": "person_A",
|
| 2044 |
"action": "thumbs_up",
|
|
|
|
| 2048 |
}
|
| 2049 |
],
|
| 2050 |
"content": {
|
| 2051 |
+
"open_palm": {
|
| 2052 |
+
"actor": "person_A",
|
| 2053 |
+
"action": "raise_open_palm",
|
| 2054 |
+
"body_side": "right",
|
| 2055 |
+
"body_part": "hand",
|
| 2056 |
+
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers together and extended, held clearly as a recognizable open-palm pose. The target is the held pose, not a separate raising motion."
|
| 2057 |
+
},
|
| 2058 |
+
"thumbs_up": {
|
| 2059 |
"actor": "person_A",
|
| 2060 |
"action": "thumbs_up",
|
| 2061 |
"body_side": "right",
|
|
|
|
| 2070 |
"timing_type": "relative",
|
| 2071 |
"value": {
|
| 2072 |
"sequence": [
|
| 2073 |
+
"open_palm",
|
| 2074 |
+
"thumbs_up"
|
| 2075 |
]
|
| 2076 |
}
|
| 2077 |
},
|
|
|
|
| 2227 |
],
|
| 2228 |
"events": [
|
| 2229 |
{
|
| 2230 |
+
"id": "slap",
|
| 2231 |
"modality": "sounding_action",
|
| 2232 |
"actor": "person_A",
|
| 2233 |
"action": "slapping_the_thigh",
|
|
|
|
| 2239 |
"definition": "The person's left hand strikes the top of the left thigh, with visible contact and a sharp slap sound at the moment of impact."
|
| 2240 |
},
|
| 2241 |
{
|
| 2242 |
+
"id": "clap",
|
| 2243 |
"modality": "sounding_action",
|
| 2244 |
"actor": "person_A",
|
| 2245 |
"action": "clapping_hands",
|
|
|
|
| 2252 |
}
|
| 2253 |
],
|
| 2254 |
"content": {
|
| 2255 |
+
"slap": {
|
| 2256 |
+
"actor": "person_A",
|
| 2257 |
+
"action": "slapping_the_thigh",
|
| 2258 |
+
"acting_body_side": "left",
|
| 2259 |
+
"acting_body_part": "hand",
|
| 2260 |
+
"target_body_side": "left",
|
| 2261 |
+
"target_body_part": "thigh",
|
| 2262 |
+
"target_sound": "sharp slap sound",
|
| 2263 |
+
"definition": "The person's left hand strikes the top of the left thigh, with visible contact and a sharp slap sound at the moment of impact."
|
| 2264 |
+
},
|
| 2265 |
+
"clap": {
|
| 2266 |
"actor": "person_A",
|
| 2267 |
"action": "clapping_hands",
|
| 2268 |
"acting_body_side": "both",
|
|
|
|
| 2280 |
"timing_type": "relative",
|
| 2281 |
"value": {
|
| 2282 |
"sequence": [
|
| 2283 |
+
"slap",
|
| 2284 |
+
"clap"
|
| 2285 |
]
|
| 2286 |
}
|
| 2287 |
},
|
|
|
|
| 2301 |
],
|
| 2302 |
"events": [
|
| 2303 |
{
|
| 2304 |
+
"id": "clap",
|
| 2305 |
"modality": "sounding_action",
|
| 2306 |
"actor": "person_A",
|
| 2307 |
"action": "clapping_hands",
|
|
|
|
| 2313 |
"definition": "The person brings both hands together in front of the torso to clap, with visible hand-to-hand contact and a single sharp clap sound at the moment of impact."
|
| 2314 |
},
|
| 2315 |
{
|
| 2316 |
+
"id": "slap",
|
| 2317 |
"modality": "sounding_action",
|
| 2318 |
"actor": "person_A",
|
| 2319 |
"action": "slapping_the_thigh",
|
|
|
|
| 2326 |
}
|
| 2327 |
],
|
| 2328 |
"content": {
|
| 2329 |
+
"clap": {
|
| 2330 |
+
"actor": "person_A",
|
| 2331 |
+
"action": "clapping_hands",
|
| 2332 |
+
"acting_body_side": "both",
|
| 2333 |
+
"acting_body_part": "hand",
|
| 2334 |
+
"target_body_side": "both",
|
| 2335 |
+
"target_body_part": "hand",
|
| 2336 |
+
"target_sound": "sharp clap sound",
|
| 2337 |
+
"definition": "The person brings both hands together in front of the torso to clap, with visible hand-to-hand contact and a single sharp clap sound at the moment of impact."
|
| 2338 |
+
},
|
| 2339 |
+
"slap": {
|
| 2340 |
"actor": "person_A",
|
| 2341 |
"action": "slapping_the_thigh",
|
| 2342 |
"acting_body_side": "left",
|
|
|
|
| 2354 |
"timing_type": "relative",
|
| 2355 |
"value": {
|
| 2356 |
"sequence": [
|
| 2357 |
+
"clap",
|
| 2358 |
+
"slap"
|
| 2359 |
]
|
| 2360 |
}
|
| 2361 |
},
|
|
|
|
| 3769 |
],
|
| 3770 |
"events": [
|
| 3771 |
{
|
| 3772 |
+
"id": "speech_stop",
|
| 3773 |
"modality": "speech",
|
| 3774 |
"actor": "person_A",
|
| 3775 |
"text": "stop",
|
| 3776 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3777 |
},
|
| 3778 |
{
|
| 3779 |
+
"id": "open_palm",
|
| 3780 |
"modality": "silent_action",
|
| 3781 |
"actor": "person_A",
|
| 3782 |
"action": "raise_open_palm",
|
|
|
|
| 3785 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3786 |
},
|
| 3787 |
{
|
| 3788 |
+
"id": "clap",
|
| 3789 |
"modality": "sounding_action",
|
| 3790 |
"actor": "person_A",
|
| 3791 |
"action": "clapping_hands",
|
|
|
|
| 3796 |
}
|
| 3797 |
],
|
| 3798 |
"content": {
|
| 3799 |
+
"speech_stop": {
|
| 3800 |
"actor": "person_A",
|
| 3801 |
"text": "stop",
|
| 3802 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3803 |
},
|
| 3804 |
+
"open_palm": {
|
| 3805 |
"actor": "person_A",
|
| 3806 |
"action": "raise_open_palm",
|
| 3807 |
"body_side": "right",
|
| 3808 |
"body_part": "hand",
|
| 3809 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3810 |
},
|
| 3811 |
+
"clap": {
|
| 3812 |
"actor": "person_A",
|
| 3813 |
"action": "clapping_hands",
|
| 3814 |
"acting_body_side": "both",
|
|
|
|
| 4011 |
],
|
| 4012 |
"events": [
|
| 4013 |
{
|
| 4014 |
+
"id": "speech_stop",
|
| 4015 |
"modality": "speech",
|
| 4016 |
"actor": "person_A",
|
| 4017 |
"text": "stop",
|
| 4018 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4019 |
},
|
| 4020 |
{
|
| 4021 |
+
"id": "peace_sign",
|
| 4022 |
"modality": "silent_action",
|
| 4023 |
"actor": "person_A",
|
| 4024 |
"action": "peace_sign",
|
|
|
|
| 4027 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4028 |
},
|
| 4029 |
{
|
| 4030 |
+
"id": "clap",
|
| 4031 |
"modality": "sounding_action",
|
| 4032 |
"actor": "person_A",
|
| 4033 |
"action": "clapping_hands",
|
|
|
|
| 4038 |
}
|
| 4039 |
],
|
| 4040 |
"content": {
|
| 4041 |
+
"speech_stop": {
|
| 4042 |
"actor": "person_A",
|
| 4043 |
"text": "stop",
|
| 4044 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4045 |
},
|
| 4046 |
+
"peace_sign": {
|
| 4047 |
"actor": "person_A",
|
| 4048 |
"action": "peace_sign",
|
| 4049 |
"body_side": "right",
|
| 4050 |
"body_part": "hand",
|
| 4051 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4052 |
},
|
| 4053 |
+
"clap": {
|
| 4054 |
"actor": "person_A",
|
| 4055 |
"action": "clapping_hands",
|
| 4056 |
"acting_body_side": "both",
|
|
|
|
| 4176 |
],
|
| 4177 |
"events": [
|
| 4178 |
{
|
| 4179 |
+
"id": "speech_stop",
|
| 4180 |
"modality": "speech",
|
| 4181 |
"actor": "person_A",
|
| 4182 |
"text": "stop",
|
| 4183 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4184 |
},
|
| 4185 |
{
|
| 4186 |
+
"id": "peace_sign",
|
| 4187 |
"modality": "silent_action",
|
| 4188 |
"actor": "person_A",
|
| 4189 |
"action": "peace_sign",
|
|
|
|
| 4192 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4193 |
},
|
| 4194 |
{
|
| 4195 |
+
"id": "clap",
|
| 4196 |
"modality": "sounding_action",
|
| 4197 |
"actor": "person_A",
|
| 4198 |
"action": "clapping_hands",
|
|
|
|
| 4203 |
}
|
| 4204 |
],
|
| 4205 |
"content": {
|
| 4206 |
+
"speech_stop": {
|
| 4207 |
"actor": "person_A",
|
| 4208 |
"text": "stop",
|
| 4209 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4210 |
},
|
| 4211 |
+
"peace_sign": {
|
| 4212 |
"actor": "person_A",
|
| 4213 |
"action": "peace_sign",
|
| 4214 |
"body_side": "right",
|
| 4215 |
"body_part": "hand",
|
| 4216 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4217 |
},
|
| 4218 |
+
"clap": {
|
| 4219 |
"actor": "person_A",
|
| 4220 |
"action": "clapping_hands",
|
| 4221 |
"acting_body_side": "both",
|
|
|
|
| 4264 |
],
|
| 4265 |
"events": [
|
| 4266 |
{
|
| 4267 |
+
"id": "speech_stop",
|
| 4268 |
"modality": "speech",
|
| 4269 |
"actor": "person_A",
|
| 4270 |
"text": "stop",
|
| 4271 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4272 |
},
|
| 4273 |
{
|
| 4274 |
+
"id": "peace_sign",
|
| 4275 |
"modality": "silent_action",
|
| 4276 |
"actor": "person_A",
|
| 4277 |
"action": "peace_sign",
|
|
|
|
| 4280 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4281 |
},
|
| 4282 |
{
|
| 4283 |
+
"id": "clap",
|
| 4284 |
"modality": "sounding_action",
|
| 4285 |
"actor": "person_A",
|
| 4286 |
"action": "clapping_hands",
|
|
|
|
| 4291 |
}
|
| 4292 |
],
|
| 4293 |
"content": {
|
| 4294 |
+
"speech_stop": {
|
| 4295 |
"actor": "person_A",
|
| 4296 |
"text": "stop",
|
| 4297 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4298 |
},
|
| 4299 |
+
"peace_sign": {
|
| 4300 |
"actor": "person_A",
|
| 4301 |
"action": "peace_sign",
|
| 4302 |
"body_side": "right",
|
| 4303 |
"body_part": "hand",
|
| 4304 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4305 |
},
|
| 4306 |
+
"clap": {
|
| 4307 |
"actor": "person_A",
|
| 4308 |
"action": "clapping_hands",
|
| 4309 |
"acting_body_side": "both",
|
|
|
|
| 4429 |
],
|
| 4430 |
"events": [
|
| 4431 |
{
|
| 4432 |
+
"id": "speech_stop",
|
| 4433 |
"modality": "speech",
|
| 4434 |
"actor": "person_A",
|
| 4435 |
"text": "stop",
|
| 4436 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4437 |
},
|
| 4438 |
{
|
| 4439 |
+
"id": "peace_sign",
|
| 4440 |
"modality": "silent_action",
|
| 4441 |
"actor": "person_A",
|
| 4442 |
"action": "peace_sign",
|
|
|
|
| 4445 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4446 |
},
|
| 4447 |
{
|
| 4448 |
+
"id": "clap",
|
| 4449 |
"modality": "sounding_action",
|
| 4450 |
"actor": "person_A",
|
| 4451 |
"action": "clapping_hands",
|
|
|
|
| 4456 |
}
|
| 4457 |
],
|
| 4458 |
"content": {
|
| 4459 |
+
"speech_stop": {
|
| 4460 |
"actor": "person_A",
|
| 4461 |
"text": "stop",
|
| 4462 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4463 |
},
|
| 4464 |
+
"peace_sign": {
|
| 4465 |
"actor": "person_A",
|
| 4466 |
"action": "peace_sign",
|
| 4467 |
"body_side": "right",
|
| 4468 |
"body_part": "hand",
|
| 4469 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4470 |
},
|
| 4471 |
+
"clap": {
|
| 4472 |
"actor": "person_A",
|
| 4473 |
"action": "clapping_hands",
|
| 4474 |
"acting_body_side": "both",
|
|
|
|
| 4517 |
],
|
| 4518 |
"events": [
|
| 4519 |
{
|
| 4520 |
+
"id": "speech_stop",
|
| 4521 |
"modality": "speech",
|
| 4522 |
"actor": "person_A",
|
| 4523 |
"text": "stop",
|
| 4524 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4525 |
},
|
| 4526 |
{
|
| 4527 |
+
"id": "peace_sign",
|
| 4528 |
"modality": "silent_action",
|
| 4529 |
"actor": "person_A",
|
| 4530 |
"action": "peace_sign",
|
|
|
|
| 4533 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4534 |
},
|
| 4535 |
{
|
| 4536 |
+
"id": "clap",
|
| 4537 |
"modality": "sounding_action",
|
| 4538 |
"actor": "person_A",
|
| 4539 |
"action": "clapping_hands",
|
|
|
|
| 4544 |
}
|
| 4545 |
],
|
| 4546 |
"content": {
|
| 4547 |
+
"speech_stop": {
|
| 4548 |
"actor": "person_A",
|
| 4549 |
"text": "stop",
|
| 4550 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4551 |
},
|
| 4552 |
+
"peace_sign": {
|
| 4553 |
"actor": "person_A",
|
| 4554 |
"action": "peace_sign",
|
| 4555 |
"body_side": "right",
|
| 4556 |
"body_part": "hand",
|
| 4557 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4558 |
},
|
| 4559 |
+
"clap": {
|
| 4560 |
"actor": "person_A",
|
| 4561 |
"action": "clapping_hands",
|
| 4562 |
"acting_body_side": "both",
|
|
|
|
| 4605 |
],
|
| 4606 |
"events": [
|
| 4607 |
{
|
| 4608 |
+
"id": "speech_stop",
|
| 4609 |
"modality": "speech",
|
| 4610 |
"actor": "person_A",
|
| 4611 |
"text": "stop",
|
| 4612 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4613 |
},
|
| 4614 |
{
|
| 4615 |
+
"id": "peace_sign",
|
| 4616 |
"modality": "silent_action",
|
| 4617 |
"actor": "person_A",
|
| 4618 |
"action": "peace_sign",
|
|
|
|
| 4621 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4622 |
},
|
| 4623 |
{
|
| 4624 |
+
"id": "clap",
|
| 4625 |
"modality": "sounding_action",
|
| 4626 |
"actor": "person_A",
|
| 4627 |
"action": "clapping_hands",
|
|
|
|
| 4632 |
}
|
| 4633 |
],
|
| 4634 |
"content": {
|
| 4635 |
+
"speech_stop": {
|
| 4636 |
"actor": "person_A",
|
| 4637 |
"text": "stop",
|
| 4638 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4639 |
},
|
| 4640 |
+
"peace_sign": {
|
| 4641 |
"actor": "person_A",
|
| 4642 |
"action": "peace_sign",
|
| 4643 |
"body_side": "right",
|
| 4644 |
"body_part": "hand",
|
| 4645 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4646 |
},
|
| 4647 |
+
"clap": {
|
| 4648 |
"actor": "person_A",
|
| 4649 |
"action": "clapping_hands",
|
| 4650 |
"acting_body_side": "both",
|
|
|
|
| 4693 |
],
|
| 4694 |
"events": [
|
| 4695 |
{
|
| 4696 |
+
"id": "speech_stop",
|
| 4697 |
"modality": "speech",
|
| 4698 |
"actor": "person_A",
|
| 4699 |
"text": "stop",
|
| 4700 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4701 |
},
|
| 4702 |
{
|
| 4703 |
+
"id": "peace_sign",
|
| 4704 |
"modality": "silent_action",
|
| 4705 |
"actor": "person_A",
|
| 4706 |
"action": "peace_sign",
|
|
|
|
| 4709 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4710 |
},
|
| 4711 |
{
|
| 4712 |
+
"id": "clap",
|
| 4713 |
"modality": "sounding_action",
|
| 4714 |
"actor": "person_A",
|
| 4715 |
"action": "clapping_hands",
|
|
|
|
| 4720 |
}
|
| 4721 |
],
|
| 4722 |
"content": {
|
| 4723 |
+
"speech_stop": {
|
| 4724 |
"actor": "person_A",
|
| 4725 |
"text": "stop",
|
| 4726 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4727 |
},
|
| 4728 |
+
"peace_sign": {
|
| 4729 |
"actor": "person_A",
|
| 4730 |
"action": "peace_sign",
|
| 4731 |
"body_side": "right",
|
| 4732 |
"body_part": "hand",
|
| 4733 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4734 |
},
|
| 4735 |
+
"clap": {
|
| 4736 |
"actor": "person_A",
|
| 4737 |
"action": "clapping_hands",
|
| 4738 |
"acting_body_side": "both",
|
|
|
|
| 5166 |
],
|
| 5167 |
"events": [
|
| 5168 |
{
|
| 5169 |
+
"id": "speech_okay",
|
| 5170 |
"modality": "speech",
|
| 5171 |
"actor": "person_A",
|
| 5172 |
"text": "okay",
|
| 5173 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5174 |
},
|
| 5175 |
{
|
| 5176 |
+
"id": "open_palm",
|
| 5177 |
"modality": "silent_action",
|
| 5178 |
"actor": "person_A",
|
| 5179 |
"action": "raise_open_palm",
|
|
|
|
| 5182 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5183 |
},
|
| 5184 |
{
|
| 5185 |
+
"id": "clap",
|
| 5186 |
"modality": "sounding_action",
|
| 5187 |
"actor": "person_A",
|
| 5188 |
"action": "clapping_hands",
|
|
|
|
| 5193 |
}
|
| 5194 |
],
|
| 5195 |
"content": {
|
| 5196 |
+
"speech_okay": {
|
| 5197 |
"actor": "person_A",
|
| 5198 |
"text": "okay",
|
| 5199 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5200 |
},
|
| 5201 |
+
"open_palm": {
|
| 5202 |
"actor": "person_A",
|
| 5203 |
"action": "raise_open_palm",
|
| 5204 |
"body_side": "right",
|
| 5205 |
"body_part": "hand",
|
| 5206 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5207 |
},
|
| 5208 |
+
"clap": {
|
| 5209 |
"actor": "person_A",
|
| 5210 |
"action": "clapping_hands",
|
| 5211 |
"acting_body_side": "both",
|
|
|
|
| 5254 |
],
|
| 5255 |
"events": [
|
| 5256 |
{
|
| 5257 |
+
"id": "speech_okay",
|
| 5258 |
"modality": "speech",
|
| 5259 |
"actor": "person_A",
|
| 5260 |
"text": "okay",
|
| 5261 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5262 |
},
|
| 5263 |
{
|
| 5264 |
+
"id": "open_palm",
|
| 5265 |
"modality": "silent_action",
|
| 5266 |
"actor": "person_A",
|
| 5267 |
"action": "raise_open_palm",
|
|
|
|
| 5270 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5271 |
},
|
| 5272 |
{
|
| 5273 |
+
"id": "clap",
|
| 5274 |
"modality": "sounding_action",
|
| 5275 |
"actor": "person_A",
|
| 5276 |
"action": "clapping_hands",
|
|
|
|
| 5281 |
}
|
| 5282 |
],
|
| 5283 |
"content": {
|
| 5284 |
+
"speech_okay": {
|
| 5285 |
"actor": "person_A",
|
| 5286 |
"text": "okay",
|
| 5287 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5288 |
},
|
| 5289 |
+
"open_palm": {
|
| 5290 |
"actor": "person_A",
|
| 5291 |
"action": "raise_open_palm",
|
| 5292 |
"body_side": "right",
|
| 5293 |
"body_part": "hand",
|
| 5294 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5295 |
},
|
| 5296 |
+
"clap": {
|
| 5297 |
"actor": "person_A",
|
| 5298 |
"action": "clapping_hands",
|
| 5299 |
"acting_body_side": "both",
|
|
|
|
| 5419 |
],
|
| 5420 |
"events": [
|
| 5421 |
{
|
| 5422 |
+
"id": "speech_okay",
|
| 5423 |
"modality": "speech",
|
| 5424 |
"actor": "person_A",
|
| 5425 |
"text": "okay",
|
| 5426 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5427 |
},
|
| 5428 |
{
|
| 5429 |
+
"id": "open_palm",
|
| 5430 |
"modality": "silent_action",
|
| 5431 |
"actor": "person_A",
|
| 5432 |
"action": "raise_open_palm",
|
|
|
|
| 5435 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5436 |
},
|
| 5437 |
{
|
| 5438 |
+
"id": "clap",
|
| 5439 |
"modality": "sounding_action",
|
| 5440 |
"actor": "person_A",
|
| 5441 |
"action": "clapping_hands",
|
|
|
|
| 5446 |
}
|
| 5447 |
],
|
| 5448 |
"content": {
|
| 5449 |
+
"speech_okay": {
|
| 5450 |
"actor": "person_A",
|
| 5451 |
"text": "okay",
|
| 5452 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5453 |
},
|
| 5454 |
+
"open_palm": {
|
| 5455 |
"actor": "person_A",
|
| 5456 |
"action": "raise_open_palm",
|
| 5457 |
"body_side": "right",
|
| 5458 |
"body_part": "hand",
|
| 5459 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5460 |
},
|
| 5461 |
+
"clap": {
|
| 5462 |
"actor": "person_A",
|
| 5463 |
"action": "clapping_hands",
|
| 5464 |
"acting_body_side": "both",
|
|
|
|
| 5584 |
],
|
| 5585 |
"events": [
|
| 5586 |
{
|
| 5587 |
+
"id": "speech_okay",
|
| 5588 |
"modality": "speech",
|
| 5589 |
"actor": "person_A",
|
| 5590 |
"text": "okay",
|
| 5591 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5592 |
},
|
| 5593 |
{
|
| 5594 |
+
"id": "peace_sign",
|
| 5595 |
"modality": "silent_action",
|
| 5596 |
"actor": "person_A",
|
| 5597 |
"action": "peace_sign",
|
|
|
|
| 5600 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5601 |
},
|
| 5602 |
{
|
| 5603 |
+
"id": "clap",
|
| 5604 |
"modality": "sounding_action",
|
| 5605 |
"actor": "person_A",
|
| 5606 |
"action": "clapping_hands",
|
|
|
|
| 5611 |
}
|
| 5612 |
],
|
| 5613 |
"content": {
|
| 5614 |
+
"speech_okay": {
|
| 5615 |
"actor": "person_A",
|
| 5616 |
"text": "okay",
|
| 5617 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5618 |
},
|
| 5619 |
+
"peace_sign": {
|
| 5620 |
"actor": "person_A",
|
| 5621 |
"action": "peace_sign",
|
| 5622 |
"body_side": "right",
|
| 5623 |
"body_part": "hand",
|
| 5624 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5625 |
},
|
| 5626 |
+
"clap": {
|
| 5627 |
"actor": "person_A",
|
| 5628 |
"action": "clapping_hands",
|
| 5629 |
"acting_body_side": "both",
|
|
|
|
| 5672 |
],
|
| 5673 |
"events": [
|
| 5674 |
{
|
| 5675 |
+
"id": "speech_okay",
|
| 5676 |
"modality": "speech",
|
| 5677 |
"actor": "person_A",
|
| 5678 |
"text": "okay",
|
| 5679 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5680 |
},
|
| 5681 |
{
|
| 5682 |
+
"id": "peace_sign",
|
| 5683 |
"modality": "silent_action",
|
| 5684 |
"actor": "person_A",
|
| 5685 |
"action": "peace_sign",
|
|
|
|
| 5688 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5689 |
},
|
| 5690 |
{
|
| 5691 |
+
"id": "clap",
|
| 5692 |
"modality": "sounding_action",
|
| 5693 |
"actor": "person_A",
|
| 5694 |
"action": "clapping_hands",
|
|
|
|
| 5699 |
}
|
| 5700 |
],
|
| 5701 |
"content": {
|
| 5702 |
+
"speech_okay": {
|
| 5703 |
"actor": "person_A",
|
| 5704 |
"text": "okay",
|
| 5705 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5706 |
},
|
| 5707 |
+
"peace_sign": {
|
| 5708 |
"actor": "person_A",
|
| 5709 |
"action": "peace_sign",
|
| 5710 |
"body_side": "right",
|
| 5711 |
"body_part": "hand",
|
| 5712 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5713 |
},
|
| 5714 |
+
"clap": {
|
| 5715 |
"actor": "person_A",
|
| 5716 |
"action": "clapping_hands",
|
| 5717 |
"acting_body_side": "both",
|
|
|
|
| 5837 |
],
|
| 5838 |
"events": [
|
| 5839 |
{
|
| 5840 |
+
"id": "speech_okay",
|
| 5841 |
"modality": "speech",
|
| 5842 |
"actor": "person_A",
|
| 5843 |
"text": "okay",
|
| 5844 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5845 |
},
|
| 5846 |
{
|
| 5847 |
+
"id": "peace_sign",
|
| 5848 |
"modality": "silent_action",
|
| 5849 |
"actor": "person_A",
|
| 5850 |
"action": "peace_sign",
|
|
|
|
| 5853 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5854 |
},
|
| 5855 |
{
|
| 5856 |
+
"id": "clap",
|
| 5857 |
"modality": "sounding_action",
|
| 5858 |
"actor": "person_A",
|
| 5859 |
"action": "clapping_hands",
|
|
|
|
| 5864 |
}
|
| 5865 |
],
|
| 5866 |
"content": {
|
| 5867 |
+
"speech_okay": {
|
| 5868 |
"actor": "person_A",
|
| 5869 |
"text": "okay",
|
| 5870 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5871 |
},
|
| 5872 |
+
"peace_sign": {
|
| 5873 |
"actor": "person_A",
|
| 5874 |
"action": "peace_sign",
|
| 5875 |
"body_side": "right",
|
| 5876 |
"body_part": "hand",
|
| 5877 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5878 |
},
|
| 5879 |
+
"clap": {
|
| 5880 |
"actor": "person_A",
|
| 5881 |
"action": "clapping_hands",
|
| 5882 |
"acting_body_side": "both",
|
|
|
|
| 5925 |
],
|
| 5926 |
"events": [
|
| 5927 |
{
|
| 5928 |
+
"id": "speech_okay",
|
| 5929 |
"modality": "speech",
|
| 5930 |
"actor": "person_A",
|
| 5931 |
"text": "okay",
|
| 5932 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5933 |
},
|
| 5934 |
{
|
| 5935 |
+
"id": "peace_sign",
|
| 5936 |
"modality": "silent_action",
|
| 5937 |
"actor": "person_A",
|
| 5938 |
"action": "peace_sign",
|
|
|
|
| 5941 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5942 |
},
|
| 5943 |
{
|
| 5944 |
+
"id": "clap",
|
| 5945 |
"modality": "sounding_action",
|
| 5946 |
"actor": "person_A",
|
| 5947 |
"action": "clapping_hands",
|
|
|
|
| 5952 |
}
|
| 5953 |
],
|
| 5954 |
"content": {
|
| 5955 |
+
"speech_okay": {
|
| 5956 |
"actor": "person_A",
|
| 5957 |
"text": "okay",
|
| 5958 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5959 |
},
|
| 5960 |
+
"peace_sign": {
|
| 5961 |
"actor": "person_A",
|
| 5962 |
"action": "peace_sign",
|
| 5963 |
"body_side": "right",
|
| 5964 |
"body_part": "hand",
|
| 5965 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5966 |
},
|
| 5967 |
+
"clap": {
|
| 5968 |
"actor": "person_A",
|
| 5969 |
"action": "clapping_hands",
|
| 5970 |
"acting_body_side": "both",
|
|
|
|
| 6013 |
],
|
| 6014 |
"events": [
|
| 6015 |
{
|
| 6016 |
+
"id": "speech_okay",
|
| 6017 |
"modality": "speech",
|
| 6018 |
"actor": "person_A",
|
| 6019 |
"text": "okay",
|
| 6020 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6021 |
},
|
| 6022 |
{
|
| 6023 |
+
"id": "peace_sign",
|
| 6024 |
"modality": "silent_action",
|
| 6025 |
"actor": "person_A",
|
| 6026 |
"action": "peace_sign",
|
|
|
|
| 6029 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6030 |
},
|
| 6031 |
{
|
| 6032 |
+
"id": "clap",
|
| 6033 |
"modality": "sounding_action",
|
| 6034 |
"actor": "person_A",
|
| 6035 |
"action": "clapping_hands",
|
|
|
|
| 6040 |
}
|
| 6041 |
],
|
| 6042 |
"content": {
|
| 6043 |
+
"speech_okay": {
|
| 6044 |
"actor": "person_A",
|
| 6045 |
"text": "okay",
|
| 6046 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6047 |
},
|
| 6048 |
+
"peace_sign": {
|
| 6049 |
"actor": "person_A",
|
| 6050 |
"action": "peace_sign",
|
| 6051 |
"body_side": "right",
|
| 6052 |
"body_part": "hand",
|
| 6053 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6054 |
},
|
| 6055 |
+
"clap": {
|
| 6056 |
"actor": "person_A",
|
| 6057 |
"action": "clapping_hands",
|
| 6058 |
"acting_body_side": "both",
|
|
|
|
| 6178 |
],
|
| 6179 |
"events": [
|
| 6180 |
{
|
| 6181 |
+
"id": "speech_okay",
|
| 6182 |
"modality": "speech",
|
| 6183 |
"actor": "person_A",
|
| 6184 |
"text": "okay",
|
| 6185 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6186 |
},
|
| 6187 |
{
|
| 6188 |
+
"id": "peace_sign",
|
| 6189 |
"modality": "silent_action",
|
| 6190 |
"actor": "person_A",
|
| 6191 |
"action": "peace_sign",
|
|
|
|
| 6194 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6195 |
},
|
| 6196 |
{
|
| 6197 |
+
"id": "clap",
|
| 6198 |
"modality": "sounding_action",
|
| 6199 |
"actor": "person_A",
|
| 6200 |
"action": "clapping_hands",
|
|
|
|
| 6205 |
}
|
| 6206 |
],
|
| 6207 |
"content": {
|
| 6208 |
+
"speech_okay": {
|
| 6209 |
"actor": "person_A",
|
| 6210 |
"text": "okay",
|
| 6211 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6212 |
},
|
| 6213 |
+
"peace_sign": {
|
| 6214 |
"actor": "person_A",
|
| 6215 |
"action": "peace_sign",
|
| 6216 |
"body_side": "right",
|
| 6217 |
"body_part": "hand",
|
| 6218 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6219 |
},
|
| 6220 |
+
"clap": {
|
| 6221 |
"actor": "person_A",
|
| 6222 |
"action": "clapping_hands",
|
| 6223 |
"acting_body_side": "both",
|
|
|
|
| 6266 |
],
|
| 6267 |
"events": [
|
| 6268 |
{
|
| 6269 |
+
"id": "speech_okay",
|
| 6270 |
"modality": "speech",
|
| 6271 |
"actor": "person_A",
|
| 6272 |
"text": "okay",
|
| 6273 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6274 |
},
|
| 6275 |
{
|
| 6276 |
+
"id": "peace_sign",
|
| 6277 |
"modality": "silent_action",
|
| 6278 |
"actor": "person_A",
|
| 6279 |
"action": "peace_sign",
|
|
|
|
| 6282 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6283 |
},
|
| 6284 |
{
|
| 6285 |
+
"id": "clap",
|
| 6286 |
"modality": "sounding_action",
|
| 6287 |
"actor": "person_A",
|
| 6288 |
"action": "clapping_hands",
|
|
|
|
| 6293 |
}
|
| 6294 |
],
|
| 6295 |
"content": {
|
| 6296 |
+
"speech_okay": {
|
| 6297 |
"actor": "person_A",
|
| 6298 |
"text": "okay",
|
| 6299 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6300 |
},
|
| 6301 |
+
"peace_sign": {
|
| 6302 |
"actor": "person_A",
|
| 6303 |
"action": "peace_sign",
|
| 6304 |
"body_side": "right",
|
| 6305 |
"body_part": "hand",
|
| 6306 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6307 |
},
|
| 6308 |
+
"clap": {
|
| 6309 |
"actor": "person_A",
|
| 6310 |
"action": "clapping_hands",
|
| 6311 |
"acting_body_side": "both",
|
backend/main.py
CHANGED
|
@@ -26,6 +26,7 @@ from uuid import uuid4
|
|
| 26 |
|
| 27 |
# import assignment
|
| 28 |
from backend import assignment
|
|
|
|
| 29 |
|
| 30 |
app = FastAPI()
|
| 31 |
|
|
@@ -105,6 +106,7 @@ class AnnotationPayload(BaseModel):
|
|
| 105 |
@app.on_event("startup")
|
| 106 |
def startup():
|
| 107 |
ensure_dataset_configured()
|
|
|
|
| 108 |
try:
|
| 109 |
fetch_video_catalog()
|
| 110 |
except Exception as exc:
|
|
@@ -335,6 +337,19 @@ def load_prompt_items():
|
|
| 335 |
return json.load(prompts_file)
|
| 336 |
|
| 337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 338 |
def fetch_video_catalog():
|
| 339 |
"""Lists every video under main_videos/ once and caches it in memory as
|
| 340 |
{model: {item_id: [(variant_number, path), ...sorted by variant]}}.
|
|
|
|
| 26 |
|
| 27 |
# import assignment
|
| 28 |
from backend import assignment
|
| 29 |
+
from backend.validate_prompts import check_items
|
| 30 |
|
| 31 |
app = FastAPI()
|
| 32 |
|
|
|
|
| 106 |
@app.on_event("startup")
|
| 107 |
def startup():
|
| 108 |
ensure_dataset_configured()
|
| 109 |
+
validate_prompt_data()
|
| 110 |
try:
|
| 111 |
fetch_video_catalog()
|
| 112 |
except Exception as exc:
|
|
|
|
| 337 |
return json.load(prompts_file)
|
| 338 |
|
| 339 |
|
| 340 |
+
def validate_prompt_data():
|
| 341 |
+
"""Fails fast at startup if prompts.json violates the event-id schema
|
| 342 |
+
check_items() enforces (see validate_prompts.py). A violation doesn't
|
| 343 |
+
raise anywhere else - it silently corrupts the annotation screen (merged
|
| 344 |
+
annotation state, garbled temporal-constraint text) instead - so this is
|
| 345 |
+
the only place that catches it before annotators do."""
|
| 346 |
+
errors = check_items(load_prompt_items())
|
| 347 |
+
if errors:
|
| 348 |
+
raise RuntimeError(
|
| 349 |
+
"prompts.json failed schema validation:\n" + "\n".join(f" - {e}" for e in errors)
|
| 350 |
+
)
|
| 351 |
+
|
| 352 |
+
|
| 353 |
def fetch_video_catalog():
|
| 354 |
"""Lists every video under main_videos/ once and caches it in memory as
|
| 355 |
{model: {item_id: [(variant_number, path), ...sorted by variant]}}.
|
backend/validate_prompts.py
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
"""Validates prompts.json against the schema the frontend's event / temporal-
|
| 3 |
+
constraint rendering (frontend/src/lib/promptSchema.js) relies on:
|
| 4 |
+
|
| 5 |
+
1. Event id uniqueness: within one item, every events[].id must be unique.
|
| 6 |
+
2. Referential integrity: every id referenced anywhere in
|
| 7 |
+
temporal_constraint.value must exist in that item's events[].id set.
|
| 8 |
+
|
| 9 |
+
Both are structural invariants, not a naming convention - an id can be
|
| 10 |
+
anything (a generic modality name or a specific semantic name) as long as
|
| 11 |
+
it's unique within its item and every reference to it resolves. Violating
|
| 12 |
+
either one doesn't raise anywhere in the frontend; it silently degrades
|
| 13 |
+
(id collisions merge annotation state across events, missing ids fall back
|
| 14 |
+
to printing the raw id instead of a readable label) - which is how 22 items
|
| 15 |
+
went unnoticed in prompts.json before this validator existed.
|
| 16 |
+
|
| 17 |
+
Run directly to check backend/data/prompts.json and, if present,
|
| 18 |
+
frontend/src/data/prompts.json (also verifying the two are byte-identical,
|
| 19 |
+
since the deployed container only reads the backend copy - see main.py):
|
| 20 |
+
|
| 21 |
+
python backend/validate_prompts.py
|
| 22 |
+
|
| 23 |
+
Exits non-zero if any check fails. check_items() is also imported by
|
| 24 |
+
main.py's startup hook so a broken prompts.json fails deploy immediately
|
| 25 |
+
instead of shipping a silently-corrupted annotation screen.
|
| 26 |
+
"""
|
| 27 |
+
|
| 28 |
+
import json
|
| 29 |
+
import sys
|
| 30 |
+
from pathlib import Path
|
| 31 |
+
|
| 32 |
+
KNOWN_RELATION_TYPES = {"synchronization", "sync_count", "order", "order_count"}
|
| 33 |
+
|
| 34 |
+
|
| 35 |
+
def referenced_ids(temporal_constraint):
|
| 36 |
+
"""All event ids referenced by a temporal_constraint's value, regardless
|
| 37 |
+
of relation_type's value shape. None means the relation_type itself is
|
| 38 |
+
unrecognized (checked separately - there's nothing to id-check)."""
|
| 39 |
+
relation_type = temporal_constraint.get("relation_type")
|
| 40 |
+
value = temporal_constraint.get("value") or {}
|
| 41 |
+
|
| 42 |
+
if relation_type in ("synchronization", "sync_count"):
|
| 43 |
+
return list(value.get("events") or [])
|
| 44 |
+
if relation_type == "order":
|
| 45 |
+
return list(value.get("sequence") or [])
|
| 46 |
+
if relation_type == "order_count":
|
| 47 |
+
ids = list(value.get("ordered_events") or [])
|
| 48 |
+
ids += list((value.get("event_counts") or {}).keys())
|
| 49 |
+
return ids
|
| 50 |
+
return None
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
def check_item(item):
|
| 54 |
+
"""Returns a list of error strings for one prompt item (empty if valid)."""
|
| 55 |
+
errors = []
|
| 56 |
+
item_id = item.get("item_id", "<missing item_id>")
|
| 57 |
+
|
| 58 |
+
events = item.get("events") or []
|
| 59 |
+
event_ids = [e.get("id") for e in events]
|
| 60 |
+
seen = set()
|
| 61 |
+
for event_id in event_ids:
|
| 62 |
+
if event_id in seen:
|
| 63 |
+
errors.append(f"{item_id}: duplicate event id {event_id!r} in events[]")
|
| 64 |
+
seen.add(event_id)
|
| 65 |
+
|
| 66 |
+
tc = item.get("temporal_constraint") or {}
|
| 67 |
+
relation_type = tc.get("relation_type")
|
| 68 |
+
if relation_type not in KNOWN_RELATION_TYPES:
|
| 69 |
+
errors.append(f"{item_id}: unknown temporal_constraint.relation_type {relation_type!r}")
|
| 70 |
+
return errors
|
| 71 |
+
|
| 72 |
+
referenced = referenced_ids(tc)
|
| 73 |
+
missing = sorted(set(referenced) - set(event_ids))
|
| 74 |
+
for missing_id in missing:
|
| 75 |
+
errors.append(
|
| 76 |
+
f"{item_id}: temporal_constraint references event id {missing_id!r} "
|
| 77 |
+
f"which does not exist in events[] {event_ids}"
|
| 78 |
+
)
|
| 79 |
+
return errors
|
| 80 |
+
|
| 81 |
+
|
| 82 |
+
def check_items(items):
|
| 83 |
+
"""Returns a flat list of error strings across every item."""
|
| 84 |
+
errors = []
|
| 85 |
+
for item in items:
|
| 86 |
+
errors.extend(check_item(item))
|
| 87 |
+
return errors
|
| 88 |
+
|
| 89 |
+
|
| 90 |
+
def _load(path):
|
| 91 |
+
with open(path, encoding="utf-8") as f:
|
| 92 |
+
return json.load(f)
|
| 93 |
+
|
| 94 |
+
|
| 95 |
+
def main():
|
| 96 |
+
backend_path = Path(__file__).resolve().parent / "data" / "prompts.json"
|
| 97 |
+
frontend_path = (
|
| 98 |
+
Path(__file__).resolve().parent.parent / "frontend" / "src" / "data" / "prompts.json"
|
| 99 |
+
)
|
| 100 |
+
|
| 101 |
+
all_errors = []
|
| 102 |
+
|
| 103 |
+
backend_items = _load(backend_path)
|
| 104 |
+
all_errors += [f"[backend/data/prompts.json] {e}" for e in check_items(backend_items)]
|
| 105 |
+
|
| 106 |
+
if frontend_path.exists():
|
| 107 |
+
frontend_items = _load(frontend_path)
|
| 108 |
+
all_errors += [f"[frontend/src/data/prompts.json] {e}" for e in check_items(frontend_items)]
|
| 109 |
+
|
| 110 |
+
if backend_path.read_bytes() != frontend_path.read_bytes():
|
| 111 |
+
all_errors.append(
|
| 112 |
+
"backend/data/prompts.json and frontend/src/data/prompts.json "
|
| 113 |
+
"are not byte-identical - they must be kept in sync."
|
| 114 |
+
)
|
| 115 |
+
|
| 116 |
+
if all_errors:
|
| 117 |
+
print(f"prompts.json validation FAILED - {len(all_errors)} issue(s):\n")
|
| 118 |
+
for error in all_errors:
|
| 119 |
+
print(f" - {error}")
|
| 120 |
+
sys.exit(1)
|
| 121 |
+
|
| 122 |
+
print(f"prompts.json validation passed ({len(backend_items)} items).")
|
| 123 |
+
|
| 124 |
+
|
| 125 |
+
if __name__ == "__main__":
|
| 126 |
+
main()
|
frontend/package-lock.json
CHANGED
|
@@ -840,9 +840,6 @@
|
|
| 840 |
"arm"
|
| 841 |
],
|
| 842 |
"dev": true,
|
| 843 |
-
"libc": [
|
| 844 |
-
"glibc"
|
| 845 |
-
],
|
| 846 |
"license": "MIT",
|
| 847 |
"optional": true,
|
| 848 |
"os": [
|
|
@@ -857,9 +854,6 @@
|
|
| 857 |
"arm"
|
| 858 |
],
|
| 859 |
"dev": true,
|
| 860 |
-
"libc": [
|
| 861 |
-
"musl"
|
| 862 |
-
],
|
| 863 |
"license": "MIT",
|
| 864 |
"optional": true,
|
| 865 |
"os": [
|
|
@@ -874,9 +868,6 @@
|
|
| 874 |
"arm64"
|
| 875 |
],
|
| 876 |
"dev": true,
|
| 877 |
-
"libc": [
|
| 878 |
-
"glibc"
|
| 879 |
-
],
|
| 880 |
"license": "MIT",
|
| 881 |
"optional": true,
|
| 882 |
"os": [
|
|
@@ -891,9 +882,6 @@
|
|
| 891 |
"arm64"
|
| 892 |
],
|
| 893 |
"dev": true,
|
| 894 |
-
"libc": [
|
| 895 |
-
"musl"
|
| 896 |
-
],
|
| 897 |
"license": "MIT",
|
| 898 |
"optional": true,
|
| 899 |
"os": [
|
|
@@ -908,9 +896,6 @@
|
|
| 908 |
"loong64"
|
| 909 |
],
|
| 910 |
"dev": true,
|
| 911 |
-
"libc": [
|
| 912 |
-
"glibc"
|
| 913 |
-
],
|
| 914 |
"license": "MIT",
|
| 915 |
"optional": true,
|
| 916 |
"os": [
|
|
@@ -925,9 +910,6 @@
|
|
| 925 |
"loong64"
|
| 926 |
],
|
| 927 |
"dev": true,
|
| 928 |
-
"libc": [
|
| 929 |
-
"musl"
|
| 930 |
-
],
|
| 931 |
"license": "MIT",
|
| 932 |
"optional": true,
|
| 933 |
"os": [
|
|
@@ -942,9 +924,6 @@
|
|
| 942 |
"ppc64"
|
| 943 |
],
|
| 944 |
"dev": true,
|
| 945 |
-
"libc": [
|
| 946 |
-
"glibc"
|
| 947 |
-
],
|
| 948 |
"license": "MIT",
|
| 949 |
"optional": true,
|
| 950 |
"os": [
|
|
@@ -959,9 +938,6 @@
|
|
| 959 |
"ppc64"
|
| 960 |
],
|
| 961 |
"dev": true,
|
| 962 |
-
"libc": [
|
| 963 |
-
"musl"
|
| 964 |
-
],
|
| 965 |
"license": "MIT",
|
| 966 |
"optional": true,
|
| 967 |
"os": [
|
|
@@ -976,9 +952,6 @@
|
|
| 976 |
"riscv64"
|
| 977 |
],
|
| 978 |
"dev": true,
|
| 979 |
-
"libc": [
|
| 980 |
-
"glibc"
|
| 981 |
-
],
|
| 982 |
"license": "MIT",
|
| 983 |
"optional": true,
|
| 984 |
"os": [
|
|
@@ -993,9 +966,6 @@
|
|
| 993 |
"riscv64"
|
| 994 |
],
|
| 995 |
"dev": true,
|
| 996 |
-
"libc": [
|
| 997 |
-
"musl"
|
| 998 |
-
],
|
| 999 |
"license": "MIT",
|
| 1000 |
"optional": true,
|
| 1001 |
"os": [
|
|
@@ -1010,9 +980,6 @@
|
|
| 1010 |
"s390x"
|
| 1011 |
],
|
| 1012 |
"dev": true,
|
| 1013 |
-
"libc": [
|
| 1014 |
-
"glibc"
|
| 1015 |
-
],
|
| 1016 |
"license": "MIT",
|
| 1017 |
"optional": true,
|
| 1018 |
"os": [
|
|
@@ -1027,9 +994,6 @@
|
|
| 1027 |
"x64"
|
| 1028 |
],
|
| 1029 |
"dev": true,
|
| 1030 |
-
"libc": [
|
| 1031 |
-
"glibc"
|
| 1032 |
-
],
|
| 1033 |
"license": "MIT",
|
| 1034 |
"optional": true,
|
| 1035 |
"os": [
|
|
@@ -1044,9 +1008,6 @@
|
|
| 1044 |
"x64"
|
| 1045 |
],
|
| 1046 |
"dev": true,
|
| 1047 |
-
"libc": [
|
| 1048 |
-
"musl"
|
| 1049 |
-
],
|
| 1050 |
"license": "MIT",
|
| 1051 |
"optional": true,
|
| 1052 |
"os": [
|
|
|
|
| 840 |
"arm"
|
| 841 |
],
|
| 842 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 843 |
"license": "MIT",
|
| 844 |
"optional": true,
|
| 845 |
"os": [
|
|
|
|
| 854 |
"arm"
|
| 855 |
],
|
| 856 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 857 |
"license": "MIT",
|
| 858 |
"optional": true,
|
| 859 |
"os": [
|
|
|
|
| 868 |
"arm64"
|
| 869 |
],
|
| 870 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 871 |
"license": "MIT",
|
| 872 |
"optional": true,
|
| 873 |
"os": [
|
|
|
|
| 882 |
"arm64"
|
| 883 |
],
|
| 884 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 885 |
"license": "MIT",
|
| 886 |
"optional": true,
|
| 887 |
"os": [
|
|
|
|
| 896 |
"loong64"
|
| 897 |
],
|
| 898 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 899 |
"license": "MIT",
|
| 900 |
"optional": true,
|
| 901 |
"os": [
|
|
|
|
| 910 |
"loong64"
|
| 911 |
],
|
| 912 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 913 |
"license": "MIT",
|
| 914 |
"optional": true,
|
| 915 |
"os": [
|
|
|
|
| 924 |
"ppc64"
|
| 925 |
],
|
| 926 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 927 |
"license": "MIT",
|
| 928 |
"optional": true,
|
| 929 |
"os": [
|
|
|
|
| 938 |
"ppc64"
|
| 939 |
],
|
| 940 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 941 |
"license": "MIT",
|
| 942 |
"optional": true,
|
| 943 |
"os": [
|
|
|
|
| 952 |
"riscv64"
|
| 953 |
],
|
| 954 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 955 |
"license": "MIT",
|
| 956 |
"optional": true,
|
| 957 |
"os": [
|
|
|
|
| 966 |
"riscv64"
|
| 967 |
],
|
| 968 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 969 |
"license": "MIT",
|
| 970 |
"optional": true,
|
| 971 |
"os": [
|
|
|
|
| 980 |
"s390x"
|
| 981 |
],
|
| 982 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 983 |
"license": "MIT",
|
| 984 |
"optional": true,
|
| 985 |
"os": [
|
|
|
|
| 994 |
"x64"
|
| 995 |
],
|
| 996 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 997 |
"license": "MIT",
|
| 998 |
"optional": true,
|
| 999 |
"os": [
|
|
|
|
| 1008 |
"x64"
|
| 1009 |
],
|
| 1010 |
"dev": true,
|
|
|
|
|
|
|
|
|
|
| 1011 |
"license": "MIT",
|
| 1012 |
"optional": true,
|
| 1013 |
"os": [
|
frontend/src/data/prompts.json
CHANGED
|
@@ -1967,7 +1967,7 @@
|
|
| 1967 |
],
|
| 1968 |
"events": [
|
| 1969 |
{
|
| 1970 |
-
"id": "
|
| 1971 |
"modality": "silent_action",
|
| 1972 |
"actor": "person_A",
|
| 1973 |
"action": "thumbs_up",
|
|
@@ -1976,7 +1976,7 @@
|
|
| 1976 |
"definition": "The person's right hand forms or holds a thumbs-up pose: a fist closed with the thumb extended upward, clearly recognizable. The target is the pose, not a separate hand-raising motion."
|
| 1977 |
},
|
| 1978 |
{
|
| 1979 |
-
"id": "
|
| 1980 |
"modality": "silent_action",
|
| 1981 |
"actor": "person_A",
|
| 1982 |
"action": "raise_open_palm",
|
|
@@ -1986,7 +1986,14 @@
|
|
| 1986 |
}
|
| 1987 |
],
|
| 1988 |
"content": {
|
| 1989 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1990 |
"actor": "person_A",
|
| 1991 |
"action": "raise_open_palm",
|
| 1992 |
"body_side": "right",
|
|
@@ -2001,8 +2008,8 @@
|
|
| 2001 |
"timing_type": "relative",
|
| 2002 |
"value": {
|
| 2003 |
"sequence": [
|
| 2004 |
-
"
|
| 2005 |
-
"
|
| 2006 |
]
|
| 2007 |
}
|
| 2008 |
},
|
|
@@ -2022,7 +2029,7 @@
|
|
| 2022 |
],
|
| 2023 |
"events": [
|
| 2024 |
{
|
| 2025 |
-
"id": "
|
| 2026 |
"modality": "silent_action",
|
| 2027 |
"actor": "person_A",
|
| 2028 |
"action": "raise_open_palm",
|
|
@@ -2031,7 +2038,7 @@
|
|
| 2031 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers together and extended, held clearly as a recognizable open-palm pose. The target is the held pose, not a separate raising motion."
|
| 2032 |
},
|
| 2033 |
{
|
| 2034 |
-
"id": "
|
| 2035 |
"modality": "silent_action",
|
| 2036 |
"actor": "person_A",
|
| 2037 |
"action": "thumbs_up",
|
|
@@ -2041,7 +2048,14 @@
|
|
| 2041 |
}
|
| 2042 |
],
|
| 2043 |
"content": {
|
| 2044 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2045 |
"actor": "person_A",
|
| 2046 |
"action": "thumbs_up",
|
| 2047 |
"body_side": "right",
|
|
@@ -2056,8 +2070,8 @@
|
|
| 2056 |
"timing_type": "relative",
|
| 2057 |
"value": {
|
| 2058 |
"sequence": [
|
| 2059 |
-
"
|
| 2060 |
-
"
|
| 2061 |
]
|
| 2062 |
}
|
| 2063 |
},
|
|
@@ -2213,7 +2227,7 @@
|
|
| 2213 |
],
|
| 2214 |
"events": [
|
| 2215 |
{
|
| 2216 |
-
"id": "
|
| 2217 |
"modality": "sounding_action",
|
| 2218 |
"actor": "person_A",
|
| 2219 |
"action": "slapping_the_thigh",
|
|
@@ -2225,7 +2239,7 @@
|
|
| 2225 |
"definition": "The person's left hand strikes the top of the left thigh, with visible contact and a sharp slap sound at the moment of impact."
|
| 2226 |
},
|
| 2227 |
{
|
| 2228 |
-
"id": "
|
| 2229 |
"modality": "sounding_action",
|
| 2230 |
"actor": "person_A",
|
| 2231 |
"action": "clapping_hands",
|
|
@@ -2238,7 +2252,17 @@
|
|
| 2238 |
}
|
| 2239 |
],
|
| 2240 |
"content": {
|
| 2241 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2242 |
"actor": "person_A",
|
| 2243 |
"action": "clapping_hands",
|
| 2244 |
"acting_body_side": "both",
|
|
@@ -2256,8 +2280,8 @@
|
|
| 2256 |
"timing_type": "relative",
|
| 2257 |
"value": {
|
| 2258 |
"sequence": [
|
| 2259 |
-
"
|
| 2260 |
-
"
|
| 2261 |
]
|
| 2262 |
}
|
| 2263 |
},
|
|
@@ -2277,7 +2301,7 @@
|
|
| 2277 |
],
|
| 2278 |
"events": [
|
| 2279 |
{
|
| 2280 |
-
"id": "
|
| 2281 |
"modality": "sounding_action",
|
| 2282 |
"actor": "person_A",
|
| 2283 |
"action": "clapping_hands",
|
|
@@ -2289,7 +2313,7 @@
|
|
| 2289 |
"definition": "The person brings both hands together in front of the torso to clap, with visible hand-to-hand contact and a single sharp clap sound at the moment of impact."
|
| 2290 |
},
|
| 2291 |
{
|
| 2292 |
-
"id": "
|
| 2293 |
"modality": "sounding_action",
|
| 2294 |
"actor": "person_A",
|
| 2295 |
"action": "slapping_the_thigh",
|
|
@@ -2302,7 +2326,17 @@
|
|
| 2302 |
}
|
| 2303 |
],
|
| 2304 |
"content": {
|
| 2305 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2306 |
"actor": "person_A",
|
| 2307 |
"action": "slapping_the_thigh",
|
| 2308 |
"acting_body_side": "left",
|
|
@@ -2320,8 +2354,8 @@
|
|
| 2320 |
"timing_type": "relative",
|
| 2321 |
"value": {
|
| 2322 |
"sequence": [
|
| 2323 |
-
"
|
| 2324 |
-
"
|
| 2325 |
]
|
| 2326 |
}
|
| 2327 |
},
|
|
@@ -3735,14 +3769,14 @@
|
|
| 3735 |
],
|
| 3736 |
"events": [
|
| 3737 |
{
|
| 3738 |
-
"id": "
|
| 3739 |
"modality": "speech",
|
| 3740 |
"actor": "person_A",
|
| 3741 |
"text": "stop",
|
| 3742 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3743 |
},
|
| 3744 |
{
|
| 3745 |
-
"id": "
|
| 3746 |
"modality": "silent_action",
|
| 3747 |
"actor": "person_A",
|
| 3748 |
"action": "raise_open_palm",
|
|
@@ -3751,7 +3785,7 @@
|
|
| 3751 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3752 |
},
|
| 3753 |
{
|
| 3754 |
-
"id": "
|
| 3755 |
"modality": "sounding_action",
|
| 3756 |
"actor": "person_A",
|
| 3757 |
"action": "clapping_hands",
|
|
@@ -3762,19 +3796,19 @@
|
|
| 3762 |
}
|
| 3763 |
],
|
| 3764 |
"content": {
|
| 3765 |
-
"
|
| 3766 |
"actor": "person_A",
|
| 3767 |
"text": "stop",
|
| 3768 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3769 |
},
|
| 3770 |
-
"
|
| 3771 |
"actor": "person_A",
|
| 3772 |
"action": "raise_open_palm",
|
| 3773 |
"body_side": "right",
|
| 3774 |
"body_part": "hand",
|
| 3775 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3776 |
},
|
| 3777 |
-
"
|
| 3778 |
"actor": "person_A",
|
| 3779 |
"action": "clapping_hands",
|
| 3780 |
"acting_body_side": "both",
|
|
@@ -3977,14 +4011,14 @@
|
|
| 3977 |
],
|
| 3978 |
"events": [
|
| 3979 |
{
|
| 3980 |
-
"id": "
|
| 3981 |
"modality": "speech",
|
| 3982 |
"actor": "person_A",
|
| 3983 |
"text": "stop",
|
| 3984 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3985 |
},
|
| 3986 |
{
|
| 3987 |
-
"id": "
|
| 3988 |
"modality": "silent_action",
|
| 3989 |
"actor": "person_A",
|
| 3990 |
"action": "peace_sign",
|
|
@@ -3993,7 +4027,7 @@
|
|
| 3993 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 3994 |
},
|
| 3995 |
{
|
| 3996 |
-
"id": "
|
| 3997 |
"modality": "sounding_action",
|
| 3998 |
"actor": "person_A",
|
| 3999 |
"action": "clapping_hands",
|
|
@@ -4004,19 +4038,19 @@
|
|
| 4004 |
}
|
| 4005 |
],
|
| 4006 |
"content": {
|
| 4007 |
-
"
|
| 4008 |
"actor": "person_A",
|
| 4009 |
"text": "stop",
|
| 4010 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4011 |
},
|
| 4012 |
-
"
|
| 4013 |
"actor": "person_A",
|
| 4014 |
"action": "peace_sign",
|
| 4015 |
"body_side": "right",
|
| 4016 |
"body_part": "hand",
|
| 4017 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4018 |
},
|
| 4019 |
-
"
|
| 4020 |
"actor": "person_A",
|
| 4021 |
"action": "clapping_hands",
|
| 4022 |
"acting_body_side": "both",
|
|
@@ -4142,14 +4176,14 @@
|
|
| 4142 |
],
|
| 4143 |
"events": [
|
| 4144 |
{
|
| 4145 |
-
"id": "
|
| 4146 |
"modality": "speech",
|
| 4147 |
"actor": "person_A",
|
| 4148 |
"text": "stop",
|
| 4149 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4150 |
},
|
| 4151 |
{
|
| 4152 |
-
"id": "
|
| 4153 |
"modality": "silent_action",
|
| 4154 |
"actor": "person_A",
|
| 4155 |
"action": "peace_sign",
|
|
@@ -4158,7 +4192,7 @@
|
|
| 4158 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4159 |
},
|
| 4160 |
{
|
| 4161 |
-
"id": "
|
| 4162 |
"modality": "sounding_action",
|
| 4163 |
"actor": "person_A",
|
| 4164 |
"action": "clapping_hands",
|
|
@@ -4169,19 +4203,19 @@
|
|
| 4169 |
}
|
| 4170 |
],
|
| 4171 |
"content": {
|
| 4172 |
-
"
|
| 4173 |
"actor": "person_A",
|
| 4174 |
"text": "stop",
|
| 4175 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4176 |
},
|
| 4177 |
-
"
|
| 4178 |
"actor": "person_A",
|
| 4179 |
"action": "peace_sign",
|
| 4180 |
"body_side": "right",
|
| 4181 |
"body_part": "hand",
|
| 4182 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4183 |
},
|
| 4184 |
-
"
|
| 4185 |
"actor": "person_A",
|
| 4186 |
"action": "clapping_hands",
|
| 4187 |
"acting_body_side": "both",
|
|
@@ -4230,14 +4264,14 @@
|
|
| 4230 |
],
|
| 4231 |
"events": [
|
| 4232 |
{
|
| 4233 |
-
"id": "
|
| 4234 |
"modality": "speech",
|
| 4235 |
"actor": "person_A",
|
| 4236 |
"text": "stop",
|
| 4237 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4238 |
},
|
| 4239 |
{
|
| 4240 |
-
"id": "
|
| 4241 |
"modality": "silent_action",
|
| 4242 |
"actor": "person_A",
|
| 4243 |
"action": "peace_sign",
|
|
@@ -4246,7 +4280,7 @@
|
|
| 4246 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4247 |
},
|
| 4248 |
{
|
| 4249 |
-
"id": "
|
| 4250 |
"modality": "sounding_action",
|
| 4251 |
"actor": "person_A",
|
| 4252 |
"action": "clapping_hands",
|
|
@@ -4257,19 +4291,19 @@
|
|
| 4257 |
}
|
| 4258 |
],
|
| 4259 |
"content": {
|
| 4260 |
-
"
|
| 4261 |
"actor": "person_A",
|
| 4262 |
"text": "stop",
|
| 4263 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4264 |
},
|
| 4265 |
-
"
|
| 4266 |
"actor": "person_A",
|
| 4267 |
"action": "peace_sign",
|
| 4268 |
"body_side": "right",
|
| 4269 |
"body_part": "hand",
|
| 4270 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4271 |
},
|
| 4272 |
-
"
|
| 4273 |
"actor": "person_A",
|
| 4274 |
"action": "clapping_hands",
|
| 4275 |
"acting_body_side": "both",
|
|
@@ -4395,14 +4429,14 @@
|
|
| 4395 |
],
|
| 4396 |
"events": [
|
| 4397 |
{
|
| 4398 |
-
"id": "
|
| 4399 |
"modality": "speech",
|
| 4400 |
"actor": "person_A",
|
| 4401 |
"text": "stop",
|
| 4402 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4403 |
},
|
| 4404 |
{
|
| 4405 |
-
"id": "
|
| 4406 |
"modality": "silent_action",
|
| 4407 |
"actor": "person_A",
|
| 4408 |
"action": "peace_sign",
|
|
@@ -4411,7 +4445,7 @@
|
|
| 4411 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4412 |
},
|
| 4413 |
{
|
| 4414 |
-
"id": "
|
| 4415 |
"modality": "sounding_action",
|
| 4416 |
"actor": "person_A",
|
| 4417 |
"action": "clapping_hands",
|
|
@@ -4422,19 +4456,19 @@
|
|
| 4422 |
}
|
| 4423 |
],
|
| 4424 |
"content": {
|
| 4425 |
-
"
|
| 4426 |
"actor": "person_A",
|
| 4427 |
"text": "stop",
|
| 4428 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4429 |
},
|
| 4430 |
-
"
|
| 4431 |
"actor": "person_A",
|
| 4432 |
"action": "peace_sign",
|
| 4433 |
"body_side": "right",
|
| 4434 |
"body_part": "hand",
|
| 4435 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4436 |
},
|
| 4437 |
-
"
|
| 4438 |
"actor": "person_A",
|
| 4439 |
"action": "clapping_hands",
|
| 4440 |
"acting_body_side": "both",
|
|
@@ -4483,14 +4517,14 @@
|
|
| 4483 |
],
|
| 4484 |
"events": [
|
| 4485 |
{
|
| 4486 |
-
"id": "
|
| 4487 |
"modality": "speech",
|
| 4488 |
"actor": "person_A",
|
| 4489 |
"text": "stop",
|
| 4490 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4491 |
},
|
| 4492 |
{
|
| 4493 |
-
"id": "
|
| 4494 |
"modality": "silent_action",
|
| 4495 |
"actor": "person_A",
|
| 4496 |
"action": "peace_sign",
|
|
@@ -4499,7 +4533,7 @@
|
|
| 4499 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4500 |
},
|
| 4501 |
{
|
| 4502 |
-
"id": "
|
| 4503 |
"modality": "sounding_action",
|
| 4504 |
"actor": "person_A",
|
| 4505 |
"action": "clapping_hands",
|
|
@@ -4510,19 +4544,19 @@
|
|
| 4510 |
}
|
| 4511 |
],
|
| 4512 |
"content": {
|
| 4513 |
-
"
|
| 4514 |
"actor": "person_A",
|
| 4515 |
"text": "stop",
|
| 4516 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4517 |
},
|
| 4518 |
-
"
|
| 4519 |
"actor": "person_A",
|
| 4520 |
"action": "peace_sign",
|
| 4521 |
"body_side": "right",
|
| 4522 |
"body_part": "hand",
|
| 4523 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4524 |
},
|
| 4525 |
-
"
|
| 4526 |
"actor": "person_A",
|
| 4527 |
"action": "clapping_hands",
|
| 4528 |
"acting_body_side": "both",
|
|
@@ -4571,14 +4605,14 @@
|
|
| 4571 |
],
|
| 4572 |
"events": [
|
| 4573 |
{
|
| 4574 |
-
"id": "
|
| 4575 |
"modality": "speech",
|
| 4576 |
"actor": "person_A",
|
| 4577 |
"text": "stop",
|
| 4578 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4579 |
},
|
| 4580 |
{
|
| 4581 |
-
"id": "
|
| 4582 |
"modality": "silent_action",
|
| 4583 |
"actor": "person_A",
|
| 4584 |
"action": "peace_sign",
|
|
@@ -4587,7 +4621,7 @@
|
|
| 4587 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4588 |
},
|
| 4589 |
{
|
| 4590 |
-
"id": "
|
| 4591 |
"modality": "sounding_action",
|
| 4592 |
"actor": "person_A",
|
| 4593 |
"action": "clapping_hands",
|
|
@@ -4598,19 +4632,19 @@
|
|
| 4598 |
}
|
| 4599 |
],
|
| 4600 |
"content": {
|
| 4601 |
-
"
|
| 4602 |
"actor": "person_A",
|
| 4603 |
"text": "stop",
|
| 4604 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4605 |
},
|
| 4606 |
-
"
|
| 4607 |
"actor": "person_A",
|
| 4608 |
"action": "peace_sign",
|
| 4609 |
"body_side": "right",
|
| 4610 |
"body_part": "hand",
|
| 4611 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4612 |
},
|
| 4613 |
-
"
|
| 4614 |
"actor": "person_A",
|
| 4615 |
"action": "clapping_hands",
|
| 4616 |
"acting_body_side": "both",
|
|
@@ -4659,14 +4693,14 @@
|
|
| 4659 |
],
|
| 4660 |
"events": [
|
| 4661 |
{
|
| 4662 |
-
"id": "
|
| 4663 |
"modality": "speech",
|
| 4664 |
"actor": "person_A",
|
| 4665 |
"text": "stop",
|
| 4666 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4667 |
},
|
| 4668 |
{
|
| 4669 |
-
"id": "
|
| 4670 |
"modality": "silent_action",
|
| 4671 |
"actor": "person_A",
|
| 4672 |
"action": "peace_sign",
|
|
@@ -4675,7 +4709,7 @@
|
|
| 4675 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4676 |
},
|
| 4677 |
{
|
| 4678 |
-
"id": "
|
| 4679 |
"modality": "sounding_action",
|
| 4680 |
"actor": "person_A",
|
| 4681 |
"action": "clapping_hands",
|
|
@@ -4686,19 +4720,19 @@
|
|
| 4686 |
}
|
| 4687 |
],
|
| 4688 |
"content": {
|
| 4689 |
-
"
|
| 4690 |
"actor": "person_A",
|
| 4691 |
"text": "stop",
|
| 4692 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4693 |
},
|
| 4694 |
-
"
|
| 4695 |
"actor": "person_A",
|
| 4696 |
"action": "peace_sign",
|
| 4697 |
"body_side": "right",
|
| 4698 |
"body_part": "hand",
|
| 4699 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4700 |
},
|
| 4701 |
-
"
|
| 4702 |
"actor": "person_A",
|
| 4703 |
"action": "clapping_hands",
|
| 4704 |
"acting_body_side": "both",
|
|
@@ -5132,14 +5166,14 @@
|
|
| 5132 |
],
|
| 5133 |
"events": [
|
| 5134 |
{
|
| 5135 |
-
"id": "
|
| 5136 |
"modality": "speech",
|
| 5137 |
"actor": "person_A",
|
| 5138 |
"text": "okay",
|
| 5139 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5140 |
},
|
| 5141 |
{
|
| 5142 |
-
"id": "
|
| 5143 |
"modality": "silent_action",
|
| 5144 |
"actor": "person_A",
|
| 5145 |
"action": "raise_open_palm",
|
|
@@ -5148,7 +5182,7 @@
|
|
| 5148 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5149 |
},
|
| 5150 |
{
|
| 5151 |
-
"id": "
|
| 5152 |
"modality": "sounding_action",
|
| 5153 |
"actor": "person_A",
|
| 5154 |
"action": "clapping_hands",
|
|
@@ -5159,19 +5193,19 @@
|
|
| 5159 |
}
|
| 5160 |
],
|
| 5161 |
"content": {
|
| 5162 |
-
"
|
| 5163 |
"actor": "person_A",
|
| 5164 |
"text": "okay",
|
| 5165 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5166 |
},
|
| 5167 |
-
"
|
| 5168 |
"actor": "person_A",
|
| 5169 |
"action": "raise_open_palm",
|
| 5170 |
"body_side": "right",
|
| 5171 |
"body_part": "hand",
|
| 5172 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5173 |
},
|
| 5174 |
-
"
|
| 5175 |
"actor": "person_A",
|
| 5176 |
"action": "clapping_hands",
|
| 5177 |
"acting_body_side": "both",
|
|
@@ -5220,14 +5254,14 @@
|
|
| 5220 |
],
|
| 5221 |
"events": [
|
| 5222 |
{
|
| 5223 |
-
"id": "
|
| 5224 |
"modality": "speech",
|
| 5225 |
"actor": "person_A",
|
| 5226 |
"text": "okay",
|
| 5227 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5228 |
},
|
| 5229 |
{
|
| 5230 |
-
"id": "
|
| 5231 |
"modality": "silent_action",
|
| 5232 |
"actor": "person_A",
|
| 5233 |
"action": "raise_open_palm",
|
|
@@ -5236,7 +5270,7 @@
|
|
| 5236 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5237 |
},
|
| 5238 |
{
|
| 5239 |
-
"id": "
|
| 5240 |
"modality": "sounding_action",
|
| 5241 |
"actor": "person_A",
|
| 5242 |
"action": "clapping_hands",
|
|
@@ -5247,19 +5281,19 @@
|
|
| 5247 |
}
|
| 5248 |
],
|
| 5249 |
"content": {
|
| 5250 |
-
"
|
| 5251 |
"actor": "person_A",
|
| 5252 |
"text": "okay",
|
| 5253 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5254 |
},
|
| 5255 |
-
"
|
| 5256 |
"actor": "person_A",
|
| 5257 |
"action": "raise_open_palm",
|
| 5258 |
"body_side": "right",
|
| 5259 |
"body_part": "hand",
|
| 5260 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5261 |
},
|
| 5262 |
-
"
|
| 5263 |
"actor": "person_A",
|
| 5264 |
"action": "clapping_hands",
|
| 5265 |
"acting_body_side": "both",
|
|
@@ -5385,14 +5419,14 @@
|
|
| 5385 |
],
|
| 5386 |
"events": [
|
| 5387 |
{
|
| 5388 |
-
"id": "
|
| 5389 |
"modality": "speech",
|
| 5390 |
"actor": "person_A",
|
| 5391 |
"text": "okay",
|
| 5392 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5393 |
},
|
| 5394 |
{
|
| 5395 |
-
"id": "
|
| 5396 |
"modality": "silent_action",
|
| 5397 |
"actor": "person_A",
|
| 5398 |
"action": "raise_open_palm",
|
|
@@ -5401,7 +5435,7 @@
|
|
| 5401 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5402 |
},
|
| 5403 |
{
|
| 5404 |
-
"id": "
|
| 5405 |
"modality": "sounding_action",
|
| 5406 |
"actor": "person_A",
|
| 5407 |
"action": "clapping_hands",
|
|
@@ -5412,19 +5446,19 @@
|
|
| 5412 |
}
|
| 5413 |
],
|
| 5414 |
"content": {
|
| 5415 |
-
"
|
| 5416 |
"actor": "person_A",
|
| 5417 |
"text": "okay",
|
| 5418 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5419 |
},
|
| 5420 |
-
"
|
| 5421 |
"actor": "person_A",
|
| 5422 |
"action": "raise_open_palm",
|
| 5423 |
"body_side": "right",
|
| 5424 |
"body_part": "hand",
|
| 5425 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5426 |
},
|
| 5427 |
-
"
|
| 5428 |
"actor": "person_A",
|
| 5429 |
"action": "clapping_hands",
|
| 5430 |
"acting_body_side": "both",
|
|
@@ -5550,14 +5584,14 @@
|
|
| 5550 |
],
|
| 5551 |
"events": [
|
| 5552 |
{
|
| 5553 |
-
"id": "
|
| 5554 |
"modality": "speech",
|
| 5555 |
"actor": "person_A",
|
| 5556 |
"text": "okay",
|
| 5557 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5558 |
},
|
| 5559 |
{
|
| 5560 |
-
"id": "
|
| 5561 |
"modality": "silent_action",
|
| 5562 |
"actor": "person_A",
|
| 5563 |
"action": "peace_sign",
|
|
@@ -5566,7 +5600,7 @@
|
|
| 5566 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5567 |
},
|
| 5568 |
{
|
| 5569 |
-
"id": "
|
| 5570 |
"modality": "sounding_action",
|
| 5571 |
"actor": "person_A",
|
| 5572 |
"action": "clapping_hands",
|
|
@@ -5577,19 +5611,19 @@
|
|
| 5577 |
}
|
| 5578 |
],
|
| 5579 |
"content": {
|
| 5580 |
-
"
|
| 5581 |
"actor": "person_A",
|
| 5582 |
"text": "okay",
|
| 5583 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5584 |
},
|
| 5585 |
-
"
|
| 5586 |
"actor": "person_A",
|
| 5587 |
"action": "peace_sign",
|
| 5588 |
"body_side": "right",
|
| 5589 |
"body_part": "hand",
|
| 5590 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5591 |
},
|
| 5592 |
-
"
|
| 5593 |
"actor": "person_A",
|
| 5594 |
"action": "clapping_hands",
|
| 5595 |
"acting_body_side": "both",
|
|
@@ -5638,14 +5672,14 @@
|
|
| 5638 |
],
|
| 5639 |
"events": [
|
| 5640 |
{
|
| 5641 |
-
"id": "
|
| 5642 |
"modality": "speech",
|
| 5643 |
"actor": "person_A",
|
| 5644 |
"text": "okay",
|
| 5645 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5646 |
},
|
| 5647 |
{
|
| 5648 |
-
"id": "
|
| 5649 |
"modality": "silent_action",
|
| 5650 |
"actor": "person_A",
|
| 5651 |
"action": "peace_sign",
|
|
@@ -5654,7 +5688,7 @@
|
|
| 5654 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5655 |
},
|
| 5656 |
{
|
| 5657 |
-
"id": "
|
| 5658 |
"modality": "sounding_action",
|
| 5659 |
"actor": "person_A",
|
| 5660 |
"action": "clapping_hands",
|
|
@@ -5665,19 +5699,19 @@
|
|
| 5665 |
}
|
| 5666 |
],
|
| 5667 |
"content": {
|
| 5668 |
-
"
|
| 5669 |
"actor": "person_A",
|
| 5670 |
"text": "okay",
|
| 5671 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5672 |
},
|
| 5673 |
-
"
|
| 5674 |
"actor": "person_A",
|
| 5675 |
"action": "peace_sign",
|
| 5676 |
"body_side": "right",
|
| 5677 |
"body_part": "hand",
|
| 5678 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5679 |
},
|
| 5680 |
-
"
|
| 5681 |
"actor": "person_A",
|
| 5682 |
"action": "clapping_hands",
|
| 5683 |
"acting_body_side": "both",
|
|
@@ -5803,14 +5837,14 @@
|
|
| 5803 |
],
|
| 5804 |
"events": [
|
| 5805 |
{
|
| 5806 |
-
"id": "
|
| 5807 |
"modality": "speech",
|
| 5808 |
"actor": "person_A",
|
| 5809 |
"text": "okay",
|
| 5810 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5811 |
},
|
| 5812 |
{
|
| 5813 |
-
"id": "
|
| 5814 |
"modality": "silent_action",
|
| 5815 |
"actor": "person_A",
|
| 5816 |
"action": "peace_sign",
|
|
@@ -5819,7 +5853,7 @@
|
|
| 5819 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5820 |
},
|
| 5821 |
{
|
| 5822 |
-
"id": "
|
| 5823 |
"modality": "sounding_action",
|
| 5824 |
"actor": "person_A",
|
| 5825 |
"action": "clapping_hands",
|
|
@@ -5830,19 +5864,19 @@
|
|
| 5830 |
}
|
| 5831 |
],
|
| 5832 |
"content": {
|
| 5833 |
-
"
|
| 5834 |
"actor": "person_A",
|
| 5835 |
"text": "okay",
|
| 5836 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5837 |
},
|
| 5838 |
-
"
|
| 5839 |
"actor": "person_A",
|
| 5840 |
"action": "peace_sign",
|
| 5841 |
"body_side": "right",
|
| 5842 |
"body_part": "hand",
|
| 5843 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5844 |
},
|
| 5845 |
-
"
|
| 5846 |
"actor": "person_A",
|
| 5847 |
"action": "clapping_hands",
|
| 5848 |
"acting_body_side": "both",
|
|
@@ -5891,14 +5925,14 @@
|
|
| 5891 |
],
|
| 5892 |
"events": [
|
| 5893 |
{
|
| 5894 |
-
"id": "
|
| 5895 |
"modality": "speech",
|
| 5896 |
"actor": "person_A",
|
| 5897 |
"text": "okay",
|
| 5898 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5899 |
},
|
| 5900 |
{
|
| 5901 |
-
"id": "
|
| 5902 |
"modality": "silent_action",
|
| 5903 |
"actor": "person_A",
|
| 5904 |
"action": "peace_sign",
|
|
@@ -5907,7 +5941,7 @@
|
|
| 5907 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5908 |
},
|
| 5909 |
{
|
| 5910 |
-
"id": "
|
| 5911 |
"modality": "sounding_action",
|
| 5912 |
"actor": "person_A",
|
| 5913 |
"action": "clapping_hands",
|
|
@@ -5918,19 +5952,19 @@
|
|
| 5918 |
}
|
| 5919 |
],
|
| 5920 |
"content": {
|
| 5921 |
-
"
|
| 5922 |
"actor": "person_A",
|
| 5923 |
"text": "okay",
|
| 5924 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5925 |
},
|
| 5926 |
-
"
|
| 5927 |
"actor": "person_A",
|
| 5928 |
"action": "peace_sign",
|
| 5929 |
"body_side": "right",
|
| 5930 |
"body_part": "hand",
|
| 5931 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5932 |
},
|
| 5933 |
-
"
|
| 5934 |
"actor": "person_A",
|
| 5935 |
"action": "clapping_hands",
|
| 5936 |
"acting_body_side": "both",
|
|
@@ -5979,14 +6013,14 @@
|
|
| 5979 |
],
|
| 5980 |
"events": [
|
| 5981 |
{
|
| 5982 |
-
"id": "
|
| 5983 |
"modality": "speech",
|
| 5984 |
"actor": "person_A",
|
| 5985 |
"text": "okay",
|
| 5986 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5987 |
},
|
| 5988 |
{
|
| 5989 |
-
"id": "
|
| 5990 |
"modality": "silent_action",
|
| 5991 |
"actor": "person_A",
|
| 5992 |
"action": "peace_sign",
|
|
@@ -5995,7 +6029,7 @@
|
|
| 5995 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5996 |
},
|
| 5997 |
{
|
| 5998 |
-
"id": "
|
| 5999 |
"modality": "sounding_action",
|
| 6000 |
"actor": "person_A",
|
| 6001 |
"action": "clapping_hands",
|
|
@@ -6006,19 +6040,19 @@
|
|
| 6006 |
}
|
| 6007 |
],
|
| 6008 |
"content": {
|
| 6009 |
-
"
|
| 6010 |
"actor": "person_A",
|
| 6011 |
"text": "okay",
|
| 6012 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6013 |
},
|
| 6014 |
-
"
|
| 6015 |
"actor": "person_A",
|
| 6016 |
"action": "peace_sign",
|
| 6017 |
"body_side": "right",
|
| 6018 |
"body_part": "hand",
|
| 6019 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6020 |
},
|
| 6021 |
-
"
|
| 6022 |
"actor": "person_A",
|
| 6023 |
"action": "clapping_hands",
|
| 6024 |
"acting_body_side": "both",
|
|
@@ -6144,14 +6178,14 @@
|
|
| 6144 |
],
|
| 6145 |
"events": [
|
| 6146 |
{
|
| 6147 |
-
"id": "
|
| 6148 |
"modality": "speech",
|
| 6149 |
"actor": "person_A",
|
| 6150 |
"text": "okay",
|
| 6151 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6152 |
},
|
| 6153 |
{
|
| 6154 |
-
"id": "
|
| 6155 |
"modality": "silent_action",
|
| 6156 |
"actor": "person_A",
|
| 6157 |
"action": "peace_sign",
|
|
@@ -6160,7 +6194,7 @@
|
|
| 6160 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6161 |
},
|
| 6162 |
{
|
| 6163 |
-
"id": "
|
| 6164 |
"modality": "sounding_action",
|
| 6165 |
"actor": "person_A",
|
| 6166 |
"action": "clapping_hands",
|
|
@@ -6171,19 +6205,19 @@
|
|
| 6171 |
}
|
| 6172 |
],
|
| 6173 |
"content": {
|
| 6174 |
-
"
|
| 6175 |
"actor": "person_A",
|
| 6176 |
"text": "okay",
|
| 6177 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6178 |
},
|
| 6179 |
-
"
|
| 6180 |
"actor": "person_A",
|
| 6181 |
"action": "peace_sign",
|
| 6182 |
"body_side": "right",
|
| 6183 |
"body_part": "hand",
|
| 6184 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6185 |
},
|
| 6186 |
-
"
|
| 6187 |
"actor": "person_A",
|
| 6188 |
"action": "clapping_hands",
|
| 6189 |
"acting_body_side": "both",
|
|
@@ -6232,14 +6266,14 @@
|
|
| 6232 |
],
|
| 6233 |
"events": [
|
| 6234 |
{
|
| 6235 |
-
"id": "
|
| 6236 |
"modality": "speech",
|
| 6237 |
"actor": "person_A",
|
| 6238 |
"text": "okay",
|
| 6239 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6240 |
},
|
| 6241 |
{
|
| 6242 |
-
"id": "
|
| 6243 |
"modality": "silent_action",
|
| 6244 |
"actor": "person_A",
|
| 6245 |
"action": "peace_sign",
|
|
@@ -6248,7 +6282,7 @@
|
|
| 6248 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6249 |
},
|
| 6250 |
{
|
| 6251 |
-
"id": "
|
| 6252 |
"modality": "sounding_action",
|
| 6253 |
"actor": "person_A",
|
| 6254 |
"action": "clapping_hands",
|
|
@@ -6259,19 +6293,19 @@
|
|
| 6259 |
}
|
| 6260 |
],
|
| 6261 |
"content": {
|
| 6262 |
-
"
|
| 6263 |
"actor": "person_A",
|
| 6264 |
"text": "okay",
|
| 6265 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6266 |
},
|
| 6267 |
-
"
|
| 6268 |
"actor": "person_A",
|
| 6269 |
"action": "peace_sign",
|
| 6270 |
"body_side": "right",
|
| 6271 |
"body_part": "hand",
|
| 6272 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6273 |
},
|
| 6274 |
-
"
|
| 6275 |
"actor": "person_A",
|
| 6276 |
"action": "clapping_hands",
|
| 6277 |
"acting_body_side": "both",
|
|
|
|
| 1967 |
],
|
| 1968 |
"events": [
|
| 1969 |
{
|
| 1970 |
+
"id": "thumbs_up",
|
| 1971 |
"modality": "silent_action",
|
| 1972 |
"actor": "person_A",
|
| 1973 |
"action": "thumbs_up",
|
|
|
|
| 1976 |
"definition": "The person's right hand forms or holds a thumbs-up pose: a fist closed with the thumb extended upward, clearly recognizable. The target is the pose, not a separate hand-raising motion."
|
| 1977 |
},
|
| 1978 |
{
|
| 1979 |
+
"id": "open_palm",
|
| 1980 |
"modality": "silent_action",
|
| 1981 |
"actor": "person_A",
|
| 1982 |
"action": "raise_open_palm",
|
|
|
|
| 1986 |
}
|
| 1987 |
],
|
| 1988 |
"content": {
|
| 1989 |
+
"thumbs_up": {
|
| 1990 |
+
"actor": "person_A",
|
| 1991 |
+
"action": "thumbs_up",
|
| 1992 |
+
"body_side": "right",
|
| 1993 |
+
"body_part": "hand",
|
| 1994 |
+
"definition": "The person's right hand forms or holds a thumbs-up pose: a fist closed with the thumb extended upward, clearly recognizable. The target is the pose, not a separate hand-raising motion."
|
| 1995 |
+
},
|
| 1996 |
+
"open_palm": {
|
| 1997 |
"actor": "person_A",
|
| 1998 |
"action": "raise_open_palm",
|
| 1999 |
"body_side": "right",
|
|
|
|
| 2008 |
"timing_type": "relative",
|
| 2009 |
"value": {
|
| 2010 |
"sequence": [
|
| 2011 |
+
"thumbs_up",
|
| 2012 |
+
"open_palm"
|
| 2013 |
]
|
| 2014 |
}
|
| 2015 |
},
|
|
|
|
| 2029 |
],
|
| 2030 |
"events": [
|
| 2031 |
{
|
| 2032 |
+
"id": "open_palm",
|
| 2033 |
"modality": "silent_action",
|
| 2034 |
"actor": "person_A",
|
| 2035 |
"action": "raise_open_palm",
|
|
|
|
| 2038 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers together and extended, held clearly as a recognizable open-palm pose. The target is the held pose, not a separate raising motion."
|
| 2039 |
},
|
| 2040 |
{
|
| 2041 |
+
"id": "thumbs_up",
|
| 2042 |
"modality": "silent_action",
|
| 2043 |
"actor": "person_A",
|
| 2044 |
"action": "thumbs_up",
|
|
|
|
| 2048 |
}
|
| 2049 |
],
|
| 2050 |
"content": {
|
| 2051 |
+
"open_palm": {
|
| 2052 |
+
"actor": "person_A",
|
| 2053 |
+
"action": "raise_open_palm",
|
| 2054 |
+
"body_side": "right",
|
| 2055 |
+
"body_part": "hand",
|
| 2056 |
+
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers together and extended, held clearly as a recognizable open-palm pose. The target is the held pose, not a separate raising motion."
|
| 2057 |
+
},
|
| 2058 |
+
"thumbs_up": {
|
| 2059 |
"actor": "person_A",
|
| 2060 |
"action": "thumbs_up",
|
| 2061 |
"body_side": "right",
|
|
|
|
| 2070 |
"timing_type": "relative",
|
| 2071 |
"value": {
|
| 2072 |
"sequence": [
|
| 2073 |
+
"open_palm",
|
| 2074 |
+
"thumbs_up"
|
| 2075 |
]
|
| 2076 |
}
|
| 2077 |
},
|
|
|
|
| 2227 |
],
|
| 2228 |
"events": [
|
| 2229 |
{
|
| 2230 |
+
"id": "slap",
|
| 2231 |
"modality": "sounding_action",
|
| 2232 |
"actor": "person_A",
|
| 2233 |
"action": "slapping_the_thigh",
|
|
|
|
| 2239 |
"definition": "The person's left hand strikes the top of the left thigh, with visible contact and a sharp slap sound at the moment of impact."
|
| 2240 |
},
|
| 2241 |
{
|
| 2242 |
+
"id": "clap",
|
| 2243 |
"modality": "sounding_action",
|
| 2244 |
"actor": "person_A",
|
| 2245 |
"action": "clapping_hands",
|
|
|
|
| 2252 |
}
|
| 2253 |
],
|
| 2254 |
"content": {
|
| 2255 |
+
"slap": {
|
| 2256 |
+
"actor": "person_A",
|
| 2257 |
+
"action": "slapping_the_thigh",
|
| 2258 |
+
"acting_body_side": "left",
|
| 2259 |
+
"acting_body_part": "hand",
|
| 2260 |
+
"target_body_side": "left",
|
| 2261 |
+
"target_body_part": "thigh",
|
| 2262 |
+
"target_sound": "sharp slap sound",
|
| 2263 |
+
"definition": "The person's left hand strikes the top of the left thigh, with visible contact and a sharp slap sound at the moment of impact."
|
| 2264 |
+
},
|
| 2265 |
+
"clap": {
|
| 2266 |
"actor": "person_A",
|
| 2267 |
"action": "clapping_hands",
|
| 2268 |
"acting_body_side": "both",
|
|
|
|
| 2280 |
"timing_type": "relative",
|
| 2281 |
"value": {
|
| 2282 |
"sequence": [
|
| 2283 |
+
"slap",
|
| 2284 |
+
"clap"
|
| 2285 |
]
|
| 2286 |
}
|
| 2287 |
},
|
|
|
|
| 2301 |
],
|
| 2302 |
"events": [
|
| 2303 |
{
|
| 2304 |
+
"id": "clap",
|
| 2305 |
"modality": "sounding_action",
|
| 2306 |
"actor": "person_A",
|
| 2307 |
"action": "clapping_hands",
|
|
|
|
| 2313 |
"definition": "The person brings both hands together in front of the torso to clap, with visible hand-to-hand contact and a single sharp clap sound at the moment of impact."
|
| 2314 |
},
|
| 2315 |
{
|
| 2316 |
+
"id": "slap",
|
| 2317 |
"modality": "sounding_action",
|
| 2318 |
"actor": "person_A",
|
| 2319 |
"action": "slapping_the_thigh",
|
|
|
|
| 2326 |
}
|
| 2327 |
],
|
| 2328 |
"content": {
|
| 2329 |
+
"clap": {
|
| 2330 |
+
"actor": "person_A",
|
| 2331 |
+
"action": "clapping_hands",
|
| 2332 |
+
"acting_body_side": "both",
|
| 2333 |
+
"acting_body_part": "hand",
|
| 2334 |
+
"target_body_side": "both",
|
| 2335 |
+
"target_body_part": "hand",
|
| 2336 |
+
"target_sound": "sharp clap sound",
|
| 2337 |
+
"definition": "The person brings both hands together in front of the torso to clap, with visible hand-to-hand contact and a single sharp clap sound at the moment of impact."
|
| 2338 |
+
},
|
| 2339 |
+
"slap": {
|
| 2340 |
"actor": "person_A",
|
| 2341 |
"action": "slapping_the_thigh",
|
| 2342 |
"acting_body_side": "left",
|
|
|
|
| 2354 |
"timing_type": "relative",
|
| 2355 |
"value": {
|
| 2356 |
"sequence": [
|
| 2357 |
+
"clap",
|
| 2358 |
+
"slap"
|
| 2359 |
]
|
| 2360 |
}
|
| 2361 |
},
|
|
|
|
| 3769 |
],
|
| 3770 |
"events": [
|
| 3771 |
{
|
| 3772 |
+
"id": "speech_stop",
|
| 3773 |
"modality": "speech",
|
| 3774 |
"actor": "person_A",
|
| 3775 |
"text": "stop",
|
| 3776 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3777 |
},
|
| 3778 |
{
|
| 3779 |
+
"id": "open_palm",
|
| 3780 |
"modality": "silent_action",
|
| 3781 |
"actor": "person_A",
|
| 3782 |
"action": "raise_open_palm",
|
|
|
|
| 3785 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3786 |
},
|
| 3787 |
{
|
| 3788 |
+
"id": "clap",
|
| 3789 |
"modality": "sounding_action",
|
| 3790 |
"actor": "person_A",
|
| 3791 |
"action": "clapping_hands",
|
|
|
|
| 3796 |
}
|
| 3797 |
],
|
| 3798 |
"content": {
|
| 3799 |
+
"speech_stop": {
|
| 3800 |
"actor": "person_A",
|
| 3801 |
"text": "stop",
|
| 3802 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 3803 |
},
|
| 3804 |
+
"open_palm": {
|
| 3805 |
"actor": "person_A",
|
| 3806 |
"action": "raise_open_palm",
|
| 3807 |
"body_side": "right",
|
| 3808 |
"body_part": "hand",
|
| 3809 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 3810 |
},
|
| 3811 |
+
"clap": {
|
| 3812 |
"actor": "person_A",
|
| 3813 |
"action": "clapping_hands",
|
| 3814 |
"acting_body_side": "both",
|
|
|
|
| 4011 |
],
|
| 4012 |
"events": [
|
| 4013 |
{
|
| 4014 |
+
"id": "speech_stop",
|
| 4015 |
"modality": "speech",
|
| 4016 |
"actor": "person_A",
|
| 4017 |
"text": "stop",
|
| 4018 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4019 |
},
|
| 4020 |
{
|
| 4021 |
+
"id": "peace_sign",
|
| 4022 |
"modality": "silent_action",
|
| 4023 |
"actor": "person_A",
|
| 4024 |
"action": "peace_sign",
|
|
|
|
| 4027 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4028 |
},
|
| 4029 |
{
|
| 4030 |
+
"id": "clap",
|
| 4031 |
"modality": "sounding_action",
|
| 4032 |
"actor": "person_A",
|
| 4033 |
"action": "clapping_hands",
|
|
|
|
| 4038 |
}
|
| 4039 |
],
|
| 4040 |
"content": {
|
| 4041 |
+
"speech_stop": {
|
| 4042 |
"actor": "person_A",
|
| 4043 |
"text": "stop",
|
| 4044 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4045 |
},
|
| 4046 |
+
"peace_sign": {
|
| 4047 |
"actor": "person_A",
|
| 4048 |
"action": "peace_sign",
|
| 4049 |
"body_side": "right",
|
| 4050 |
"body_part": "hand",
|
| 4051 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4052 |
},
|
| 4053 |
+
"clap": {
|
| 4054 |
"actor": "person_A",
|
| 4055 |
"action": "clapping_hands",
|
| 4056 |
"acting_body_side": "both",
|
|
|
|
| 4176 |
],
|
| 4177 |
"events": [
|
| 4178 |
{
|
| 4179 |
+
"id": "speech_stop",
|
| 4180 |
"modality": "speech",
|
| 4181 |
"actor": "person_A",
|
| 4182 |
"text": "stop",
|
| 4183 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4184 |
},
|
| 4185 |
{
|
| 4186 |
+
"id": "peace_sign",
|
| 4187 |
"modality": "silent_action",
|
| 4188 |
"actor": "person_A",
|
| 4189 |
"action": "peace_sign",
|
|
|
|
| 4192 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4193 |
},
|
| 4194 |
{
|
| 4195 |
+
"id": "clap",
|
| 4196 |
"modality": "sounding_action",
|
| 4197 |
"actor": "person_A",
|
| 4198 |
"action": "clapping_hands",
|
|
|
|
| 4203 |
}
|
| 4204 |
],
|
| 4205 |
"content": {
|
| 4206 |
+
"speech_stop": {
|
| 4207 |
"actor": "person_A",
|
| 4208 |
"text": "stop",
|
| 4209 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4210 |
},
|
| 4211 |
+
"peace_sign": {
|
| 4212 |
"actor": "person_A",
|
| 4213 |
"action": "peace_sign",
|
| 4214 |
"body_side": "right",
|
| 4215 |
"body_part": "hand",
|
| 4216 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4217 |
},
|
| 4218 |
+
"clap": {
|
| 4219 |
"actor": "person_A",
|
| 4220 |
"action": "clapping_hands",
|
| 4221 |
"acting_body_side": "both",
|
|
|
|
| 4264 |
],
|
| 4265 |
"events": [
|
| 4266 |
{
|
| 4267 |
+
"id": "speech_stop",
|
| 4268 |
"modality": "speech",
|
| 4269 |
"actor": "person_A",
|
| 4270 |
"text": "stop",
|
| 4271 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4272 |
},
|
| 4273 |
{
|
| 4274 |
+
"id": "peace_sign",
|
| 4275 |
"modality": "silent_action",
|
| 4276 |
"actor": "person_A",
|
| 4277 |
"action": "peace_sign",
|
|
|
|
| 4280 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4281 |
},
|
| 4282 |
{
|
| 4283 |
+
"id": "clap",
|
| 4284 |
"modality": "sounding_action",
|
| 4285 |
"actor": "person_A",
|
| 4286 |
"action": "clapping_hands",
|
|
|
|
| 4291 |
}
|
| 4292 |
],
|
| 4293 |
"content": {
|
| 4294 |
+
"speech_stop": {
|
| 4295 |
"actor": "person_A",
|
| 4296 |
"text": "stop",
|
| 4297 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4298 |
},
|
| 4299 |
+
"peace_sign": {
|
| 4300 |
"actor": "person_A",
|
| 4301 |
"action": "peace_sign",
|
| 4302 |
"body_side": "right",
|
| 4303 |
"body_part": "hand",
|
| 4304 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4305 |
},
|
| 4306 |
+
"clap": {
|
| 4307 |
"actor": "person_A",
|
| 4308 |
"action": "clapping_hands",
|
| 4309 |
"acting_body_side": "both",
|
|
|
|
| 4429 |
],
|
| 4430 |
"events": [
|
| 4431 |
{
|
| 4432 |
+
"id": "speech_stop",
|
| 4433 |
"modality": "speech",
|
| 4434 |
"actor": "person_A",
|
| 4435 |
"text": "stop",
|
| 4436 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4437 |
},
|
| 4438 |
{
|
| 4439 |
+
"id": "peace_sign",
|
| 4440 |
"modality": "silent_action",
|
| 4441 |
"actor": "person_A",
|
| 4442 |
"action": "peace_sign",
|
|
|
|
| 4445 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4446 |
},
|
| 4447 |
{
|
| 4448 |
+
"id": "clap",
|
| 4449 |
"modality": "sounding_action",
|
| 4450 |
"actor": "person_A",
|
| 4451 |
"action": "clapping_hands",
|
|
|
|
| 4456 |
}
|
| 4457 |
],
|
| 4458 |
"content": {
|
| 4459 |
+
"speech_stop": {
|
| 4460 |
"actor": "person_A",
|
| 4461 |
"text": "stop",
|
| 4462 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4463 |
},
|
| 4464 |
+
"peace_sign": {
|
| 4465 |
"actor": "person_A",
|
| 4466 |
"action": "peace_sign",
|
| 4467 |
"body_side": "right",
|
| 4468 |
"body_part": "hand",
|
| 4469 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4470 |
},
|
| 4471 |
+
"clap": {
|
| 4472 |
"actor": "person_A",
|
| 4473 |
"action": "clapping_hands",
|
| 4474 |
"acting_body_side": "both",
|
|
|
|
| 4517 |
],
|
| 4518 |
"events": [
|
| 4519 |
{
|
| 4520 |
+
"id": "speech_stop",
|
| 4521 |
"modality": "speech",
|
| 4522 |
"actor": "person_A",
|
| 4523 |
"text": "stop",
|
| 4524 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4525 |
},
|
| 4526 |
{
|
| 4527 |
+
"id": "peace_sign",
|
| 4528 |
"modality": "silent_action",
|
| 4529 |
"actor": "person_A",
|
| 4530 |
"action": "peace_sign",
|
|
|
|
| 4533 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4534 |
},
|
| 4535 |
{
|
| 4536 |
+
"id": "clap",
|
| 4537 |
"modality": "sounding_action",
|
| 4538 |
"actor": "person_A",
|
| 4539 |
"action": "clapping_hands",
|
|
|
|
| 4544 |
}
|
| 4545 |
],
|
| 4546 |
"content": {
|
| 4547 |
+
"speech_stop": {
|
| 4548 |
"actor": "person_A",
|
| 4549 |
"text": "stop",
|
| 4550 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4551 |
},
|
| 4552 |
+
"peace_sign": {
|
| 4553 |
"actor": "person_A",
|
| 4554 |
"action": "peace_sign",
|
| 4555 |
"body_side": "right",
|
| 4556 |
"body_part": "hand",
|
| 4557 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4558 |
},
|
| 4559 |
+
"clap": {
|
| 4560 |
"actor": "person_A",
|
| 4561 |
"action": "clapping_hands",
|
| 4562 |
"acting_body_side": "both",
|
|
|
|
| 4605 |
],
|
| 4606 |
"events": [
|
| 4607 |
{
|
| 4608 |
+
"id": "speech_stop",
|
| 4609 |
"modality": "speech",
|
| 4610 |
"actor": "person_A",
|
| 4611 |
"text": "stop",
|
| 4612 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4613 |
},
|
| 4614 |
{
|
| 4615 |
+
"id": "peace_sign",
|
| 4616 |
"modality": "silent_action",
|
| 4617 |
"actor": "person_A",
|
| 4618 |
"action": "peace_sign",
|
|
|
|
| 4621 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4622 |
},
|
| 4623 |
{
|
| 4624 |
+
"id": "clap",
|
| 4625 |
"modality": "sounding_action",
|
| 4626 |
"actor": "person_A",
|
| 4627 |
"action": "clapping_hands",
|
|
|
|
| 4632 |
}
|
| 4633 |
],
|
| 4634 |
"content": {
|
| 4635 |
+
"speech_stop": {
|
| 4636 |
"actor": "person_A",
|
| 4637 |
"text": "stop",
|
| 4638 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4639 |
},
|
| 4640 |
+
"peace_sign": {
|
| 4641 |
"actor": "person_A",
|
| 4642 |
"action": "peace_sign",
|
| 4643 |
"body_side": "right",
|
| 4644 |
"body_part": "hand",
|
| 4645 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4646 |
},
|
| 4647 |
+
"clap": {
|
| 4648 |
"actor": "person_A",
|
| 4649 |
"action": "clapping_hands",
|
| 4650 |
"acting_body_side": "both",
|
|
|
|
| 4693 |
],
|
| 4694 |
"events": [
|
| 4695 |
{
|
| 4696 |
+
"id": "speech_stop",
|
| 4697 |
"modality": "speech",
|
| 4698 |
"actor": "person_A",
|
| 4699 |
"text": "stop",
|
| 4700 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4701 |
},
|
| 4702 |
{
|
| 4703 |
+
"id": "peace_sign",
|
| 4704 |
"modality": "silent_action",
|
| 4705 |
"actor": "person_A",
|
| 4706 |
"action": "peace_sign",
|
|
|
|
| 4709 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4710 |
},
|
| 4711 |
{
|
| 4712 |
+
"id": "clap",
|
| 4713 |
"modality": "sounding_action",
|
| 4714 |
"actor": "person_A",
|
| 4715 |
"action": "clapping_hands",
|
|
|
|
| 4720 |
}
|
| 4721 |
],
|
| 4722 |
"content": {
|
| 4723 |
+
"speech_stop": {
|
| 4724 |
"actor": "person_A",
|
| 4725 |
"text": "stop",
|
| 4726 |
"definition": "The person clearly says the single word \"stop\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 4727 |
},
|
| 4728 |
+
"peace_sign": {
|
| 4729 |
"actor": "person_A",
|
| 4730 |
"action": "peace_sign",
|
| 4731 |
"body_side": "right",
|
| 4732 |
"body_part": "hand",
|
| 4733 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 4734 |
},
|
| 4735 |
+
"clap": {
|
| 4736 |
"actor": "person_A",
|
| 4737 |
"action": "clapping_hands",
|
| 4738 |
"acting_body_side": "both",
|
|
|
|
| 5166 |
],
|
| 5167 |
"events": [
|
| 5168 |
{
|
| 5169 |
+
"id": "speech_okay",
|
| 5170 |
"modality": "speech",
|
| 5171 |
"actor": "person_A",
|
| 5172 |
"text": "okay",
|
| 5173 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5174 |
},
|
| 5175 |
{
|
| 5176 |
+
"id": "open_palm",
|
| 5177 |
"modality": "silent_action",
|
| 5178 |
"actor": "person_A",
|
| 5179 |
"action": "raise_open_palm",
|
|
|
|
| 5182 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5183 |
},
|
| 5184 |
{
|
| 5185 |
+
"id": "clap",
|
| 5186 |
"modality": "sounding_action",
|
| 5187 |
"actor": "person_A",
|
| 5188 |
"action": "clapping_hands",
|
|
|
|
| 5193 |
}
|
| 5194 |
],
|
| 5195 |
"content": {
|
| 5196 |
+
"speech_okay": {
|
| 5197 |
"actor": "person_A",
|
| 5198 |
"text": "okay",
|
| 5199 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5200 |
},
|
| 5201 |
+
"open_palm": {
|
| 5202 |
"actor": "person_A",
|
| 5203 |
"action": "raise_open_palm",
|
| 5204 |
"body_side": "right",
|
| 5205 |
"body_part": "hand",
|
| 5206 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5207 |
},
|
| 5208 |
+
"clap": {
|
| 5209 |
"actor": "person_A",
|
| 5210 |
"action": "clapping_hands",
|
| 5211 |
"acting_body_side": "both",
|
|
|
|
| 5254 |
],
|
| 5255 |
"events": [
|
| 5256 |
{
|
| 5257 |
+
"id": "speech_okay",
|
| 5258 |
"modality": "speech",
|
| 5259 |
"actor": "person_A",
|
| 5260 |
"text": "okay",
|
| 5261 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5262 |
},
|
| 5263 |
{
|
| 5264 |
+
"id": "open_palm",
|
| 5265 |
"modality": "silent_action",
|
| 5266 |
"actor": "person_A",
|
| 5267 |
"action": "raise_open_palm",
|
|
|
|
| 5270 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5271 |
},
|
| 5272 |
{
|
| 5273 |
+
"id": "clap",
|
| 5274 |
"modality": "sounding_action",
|
| 5275 |
"actor": "person_A",
|
| 5276 |
"action": "clapping_hands",
|
|
|
|
| 5281 |
}
|
| 5282 |
],
|
| 5283 |
"content": {
|
| 5284 |
+
"speech_okay": {
|
| 5285 |
"actor": "person_A",
|
| 5286 |
"text": "okay",
|
| 5287 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5288 |
},
|
| 5289 |
+
"open_palm": {
|
| 5290 |
"actor": "person_A",
|
| 5291 |
"action": "raise_open_palm",
|
| 5292 |
"body_side": "right",
|
| 5293 |
"body_part": "hand",
|
| 5294 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5295 |
},
|
| 5296 |
+
"clap": {
|
| 5297 |
"actor": "person_A",
|
| 5298 |
"action": "clapping_hands",
|
| 5299 |
"acting_body_side": "both",
|
|
|
|
| 5419 |
],
|
| 5420 |
"events": [
|
| 5421 |
{
|
| 5422 |
+
"id": "speech_okay",
|
| 5423 |
"modality": "speech",
|
| 5424 |
"actor": "person_A",
|
| 5425 |
"text": "okay",
|
| 5426 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5427 |
},
|
| 5428 |
{
|
| 5429 |
+
"id": "open_palm",
|
| 5430 |
"modality": "silent_action",
|
| 5431 |
"actor": "person_A",
|
| 5432 |
"action": "raise_open_palm",
|
|
|
|
| 5435 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5436 |
},
|
| 5437 |
{
|
| 5438 |
+
"id": "clap",
|
| 5439 |
"modality": "sounding_action",
|
| 5440 |
"actor": "person_A",
|
| 5441 |
"action": "clapping_hands",
|
|
|
|
| 5446 |
}
|
| 5447 |
],
|
| 5448 |
"content": {
|
| 5449 |
+
"speech_okay": {
|
| 5450 |
"actor": "person_A",
|
| 5451 |
"text": "okay",
|
| 5452 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5453 |
},
|
| 5454 |
+
"open_palm": {
|
| 5455 |
"actor": "person_A",
|
| 5456 |
"action": "raise_open_palm",
|
| 5457 |
"body_side": "right",
|
| 5458 |
"body_part": "hand",
|
| 5459 |
"definition": "The person's right hand is raised to about shoulder height with the palm open and facing the camera, fingers extended, and the pose held clearly enough to be recognized as an open-palm gesture."
|
| 5460 |
},
|
| 5461 |
+
"clap": {
|
| 5462 |
"actor": "person_A",
|
| 5463 |
"action": "clapping_hands",
|
| 5464 |
"acting_body_side": "both",
|
|
|
|
| 5584 |
],
|
| 5585 |
"events": [
|
| 5586 |
{
|
| 5587 |
+
"id": "speech_okay",
|
| 5588 |
"modality": "speech",
|
| 5589 |
"actor": "person_A",
|
| 5590 |
"text": "okay",
|
| 5591 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5592 |
},
|
| 5593 |
{
|
| 5594 |
+
"id": "peace_sign",
|
| 5595 |
"modality": "silent_action",
|
| 5596 |
"actor": "person_A",
|
| 5597 |
"action": "peace_sign",
|
|
|
|
| 5600 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5601 |
},
|
| 5602 |
{
|
| 5603 |
+
"id": "clap",
|
| 5604 |
"modality": "sounding_action",
|
| 5605 |
"actor": "person_A",
|
| 5606 |
"action": "clapping_hands",
|
|
|
|
| 5611 |
}
|
| 5612 |
],
|
| 5613 |
"content": {
|
| 5614 |
+
"speech_okay": {
|
| 5615 |
"actor": "person_A",
|
| 5616 |
"text": "okay",
|
| 5617 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5618 |
},
|
| 5619 |
+
"peace_sign": {
|
| 5620 |
"actor": "person_A",
|
| 5621 |
"action": "peace_sign",
|
| 5622 |
"body_side": "right",
|
| 5623 |
"body_part": "hand",
|
| 5624 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5625 |
},
|
| 5626 |
+
"clap": {
|
| 5627 |
"actor": "person_A",
|
| 5628 |
"action": "clapping_hands",
|
| 5629 |
"acting_body_side": "both",
|
|
|
|
| 5672 |
],
|
| 5673 |
"events": [
|
| 5674 |
{
|
| 5675 |
+
"id": "speech_okay",
|
| 5676 |
"modality": "speech",
|
| 5677 |
"actor": "person_A",
|
| 5678 |
"text": "okay",
|
| 5679 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5680 |
},
|
| 5681 |
{
|
| 5682 |
+
"id": "peace_sign",
|
| 5683 |
"modality": "silent_action",
|
| 5684 |
"actor": "person_A",
|
| 5685 |
"action": "peace_sign",
|
|
|
|
| 5688 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5689 |
},
|
| 5690 |
{
|
| 5691 |
+
"id": "clap",
|
| 5692 |
"modality": "sounding_action",
|
| 5693 |
"actor": "person_A",
|
| 5694 |
"action": "clapping_hands",
|
|
|
|
| 5699 |
}
|
| 5700 |
],
|
| 5701 |
"content": {
|
| 5702 |
+
"speech_okay": {
|
| 5703 |
"actor": "person_A",
|
| 5704 |
"text": "okay",
|
| 5705 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5706 |
},
|
| 5707 |
+
"peace_sign": {
|
| 5708 |
"actor": "person_A",
|
| 5709 |
"action": "peace_sign",
|
| 5710 |
"body_side": "right",
|
| 5711 |
"body_part": "hand",
|
| 5712 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5713 |
},
|
| 5714 |
+
"clap": {
|
| 5715 |
"actor": "person_A",
|
| 5716 |
"action": "clapping_hands",
|
| 5717 |
"acting_body_side": "both",
|
|
|
|
| 5837 |
],
|
| 5838 |
"events": [
|
| 5839 |
{
|
| 5840 |
+
"id": "speech_okay",
|
| 5841 |
"modality": "speech",
|
| 5842 |
"actor": "person_A",
|
| 5843 |
"text": "okay",
|
| 5844 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5845 |
},
|
| 5846 |
{
|
| 5847 |
+
"id": "peace_sign",
|
| 5848 |
"modality": "silent_action",
|
| 5849 |
"actor": "person_A",
|
| 5850 |
"action": "peace_sign",
|
|
|
|
| 5853 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5854 |
},
|
| 5855 |
{
|
| 5856 |
+
"id": "clap",
|
| 5857 |
"modality": "sounding_action",
|
| 5858 |
"actor": "person_A",
|
| 5859 |
"action": "clapping_hands",
|
|
|
|
| 5864 |
}
|
| 5865 |
],
|
| 5866 |
"content": {
|
| 5867 |
+
"speech_okay": {
|
| 5868 |
"actor": "person_A",
|
| 5869 |
"text": "okay",
|
| 5870 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5871 |
},
|
| 5872 |
+
"peace_sign": {
|
| 5873 |
"actor": "person_A",
|
| 5874 |
"action": "peace_sign",
|
| 5875 |
"body_side": "right",
|
| 5876 |
"body_part": "hand",
|
| 5877 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5878 |
},
|
| 5879 |
+
"clap": {
|
| 5880 |
"actor": "person_A",
|
| 5881 |
"action": "clapping_hands",
|
| 5882 |
"acting_body_side": "both",
|
|
|
|
| 5925 |
],
|
| 5926 |
"events": [
|
| 5927 |
{
|
| 5928 |
+
"id": "speech_okay",
|
| 5929 |
"modality": "speech",
|
| 5930 |
"actor": "person_A",
|
| 5931 |
"text": "okay",
|
| 5932 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5933 |
},
|
| 5934 |
{
|
| 5935 |
+
"id": "peace_sign",
|
| 5936 |
"modality": "silent_action",
|
| 5937 |
"actor": "person_A",
|
| 5938 |
"action": "peace_sign",
|
|
|
|
| 5941 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5942 |
},
|
| 5943 |
{
|
| 5944 |
+
"id": "clap",
|
| 5945 |
"modality": "sounding_action",
|
| 5946 |
"actor": "person_A",
|
| 5947 |
"action": "clapping_hands",
|
|
|
|
| 5952 |
}
|
| 5953 |
],
|
| 5954 |
"content": {
|
| 5955 |
+
"speech_okay": {
|
| 5956 |
"actor": "person_A",
|
| 5957 |
"text": "okay",
|
| 5958 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 5959 |
},
|
| 5960 |
+
"peace_sign": {
|
| 5961 |
"actor": "person_A",
|
| 5962 |
"action": "peace_sign",
|
| 5963 |
"body_side": "right",
|
| 5964 |
"body_part": "hand",
|
| 5965 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 5966 |
},
|
| 5967 |
+
"clap": {
|
| 5968 |
"actor": "person_A",
|
| 5969 |
"action": "clapping_hands",
|
| 5970 |
"acting_body_side": "both",
|
|
|
|
| 6013 |
],
|
| 6014 |
"events": [
|
| 6015 |
{
|
| 6016 |
+
"id": "speech_okay",
|
| 6017 |
"modality": "speech",
|
| 6018 |
"actor": "person_A",
|
| 6019 |
"text": "okay",
|
| 6020 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6021 |
},
|
| 6022 |
{
|
| 6023 |
+
"id": "peace_sign",
|
| 6024 |
"modality": "silent_action",
|
| 6025 |
"actor": "person_A",
|
| 6026 |
"action": "peace_sign",
|
|
|
|
| 6029 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6030 |
},
|
| 6031 |
{
|
| 6032 |
+
"id": "clap",
|
| 6033 |
"modality": "sounding_action",
|
| 6034 |
"actor": "person_A",
|
| 6035 |
"action": "clapping_hands",
|
|
|
|
| 6040 |
}
|
| 6041 |
],
|
| 6042 |
"content": {
|
| 6043 |
+
"speech_okay": {
|
| 6044 |
"actor": "person_A",
|
| 6045 |
"text": "okay",
|
| 6046 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6047 |
},
|
| 6048 |
+
"peace_sign": {
|
| 6049 |
"actor": "person_A",
|
| 6050 |
"action": "peace_sign",
|
| 6051 |
"body_side": "right",
|
| 6052 |
"body_part": "hand",
|
| 6053 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6054 |
},
|
| 6055 |
+
"clap": {
|
| 6056 |
"actor": "person_A",
|
| 6057 |
"action": "clapping_hands",
|
| 6058 |
"acting_body_side": "both",
|
|
|
|
| 6178 |
],
|
| 6179 |
"events": [
|
| 6180 |
{
|
| 6181 |
+
"id": "speech_okay",
|
| 6182 |
"modality": "speech",
|
| 6183 |
"actor": "person_A",
|
| 6184 |
"text": "okay",
|
| 6185 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6186 |
},
|
| 6187 |
{
|
| 6188 |
+
"id": "peace_sign",
|
| 6189 |
"modality": "silent_action",
|
| 6190 |
"actor": "person_A",
|
| 6191 |
"action": "peace_sign",
|
|
|
|
| 6194 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6195 |
},
|
| 6196 |
{
|
| 6197 |
+
"id": "clap",
|
| 6198 |
"modality": "sounding_action",
|
| 6199 |
"actor": "person_A",
|
| 6200 |
"action": "clapping_hands",
|
|
|
|
| 6205 |
}
|
| 6206 |
],
|
| 6207 |
"content": {
|
| 6208 |
+
"speech_okay": {
|
| 6209 |
"actor": "person_A",
|
| 6210 |
"text": "okay",
|
| 6211 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6212 |
},
|
| 6213 |
+
"peace_sign": {
|
| 6214 |
"actor": "person_A",
|
| 6215 |
"action": "peace_sign",
|
| 6216 |
"body_side": "right",
|
| 6217 |
"body_part": "hand",
|
| 6218 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6219 |
},
|
| 6220 |
+
"clap": {
|
| 6221 |
"actor": "person_A",
|
| 6222 |
"action": "clapping_hands",
|
| 6223 |
"acting_body_side": "both",
|
|
|
|
| 6266 |
],
|
| 6267 |
"events": [
|
| 6268 |
{
|
| 6269 |
+
"id": "speech_okay",
|
| 6270 |
"modality": "speech",
|
| 6271 |
"actor": "person_A",
|
| 6272 |
"text": "okay",
|
| 6273 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6274 |
},
|
| 6275 |
{
|
| 6276 |
+
"id": "peace_sign",
|
| 6277 |
"modality": "silent_action",
|
| 6278 |
"actor": "person_A",
|
| 6279 |
"action": "peace_sign",
|
|
|
|
| 6282 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6283 |
},
|
| 6284 |
{
|
| 6285 |
+
"id": "clap",
|
| 6286 |
"modality": "sounding_action",
|
| 6287 |
"actor": "person_A",
|
| 6288 |
"action": "clapping_hands",
|
|
|
|
| 6293 |
}
|
| 6294 |
],
|
| 6295 |
"content": {
|
| 6296 |
+
"speech_okay": {
|
| 6297 |
"actor": "person_A",
|
| 6298 |
"text": "okay",
|
| 6299 |
"definition": "The person clearly says the single word \"okay\". The speech is audible and easy to distinguish. No extra words are spoken unless explicitly required."
|
| 6300 |
},
|
| 6301 |
+
"peace_sign": {
|
| 6302 |
"actor": "person_A",
|
| 6303 |
"action": "peace_sign",
|
| 6304 |
"body_side": "right",
|
| 6305 |
"body_part": "hand",
|
| 6306 |
"definition": "The person's right hand forms and holds a clear peace sign: the index and middle fingers are extended and separated in a V shape while the remaining fingers are folded, clearly recognizable as a right-hand peace sign."
|
| 6307 |
},
|
| 6308 |
+
"clap": {
|
| 6309 |
"actor": "person_A",
|
| 6310 |
"action": "clapping_hands",
|
| 6311 |
"acting_body_side": "both",
|
frontend/src/pages/EvaluationPage.jsx
CHANGED
|
@@ -4,6 +4,7 @@ import ReactPlayer from "react-player";
|
|
| 4 |
import axios from "axios";
|
| 5 |
import EventCard from "../components/EventCard";
|
| 6 |
import VideoLevelAxes from "../components/VideoLevelAxes";
|
|
|
|
| 7 |
import axisDefinitions from "../data/axisDefinitions";
|
| 8 |
import { createEmptyAnnotations } from "../lib/promptSchema";
|
| 9 |
|
|
@@ -15,6 +16,7 @@ export default function EvaluationPage({ tasks, missingVideos, annotatorName, ap
|
|
| 15 |
const [saveError, setSaveError] = useState(null);
|
| 16 |
const [playbackRate, setPlaybackRate] = useState(1);
|
| 17 |
const [allDone, setAllDone] = useState(false);
|
|
|
|
| 18 |
|
| 19 |
const currentTask = tasks[currentIndex];
|
| 20 |
const annotations = useMemo(
|
|
@@ -128,6 +130,8 @@ export default function EvaluationPage({ tasks, missingVideos, annotatorName, ap
|
|
| 128 |
|
| 129 |
return (
|
| 130 |
<div className="t2av-shell">
|
|
|
|
|
|
|
| 131 |
<div className="g-main evaluation-page">
|
| 132 |
{missingVideos.length > 0 && (
|
| 133 |
<div className="callout missing-videos-banner">
|
|
@@ -138,7 +142,16 @@ export default function EvaluationPage({ tasks, missingVideos, annotatorName, ap
|
|
| 138 |
)}
|
| 139 |
|
| 140 |
<div className="eval-progress">
|
| 141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 142 |
</div>
|
| 143 |
|
| 144 |
<div className="container">
|
|
|
|
| 4 |
import axios from "axios";
|
| 5 |
import EventCard from "../components/EventCard";
|
| 6 |
import VideoLevelAxes from "../components/VideoLevelAxes";
|
| 7 |
+
import GuidelineOverlay from "./GuidelineOverlay";
|
| 8 |
import axisDefinitions from "../data/axisDefinitions";
|
| 9 |
import { createEmptyAnnotations } from "../lib/promptSchema";
|
| 10 |
|
|
|
|
| 16 |
const [saveError, setSaveError] = useState(null);
|
| 17 |
const [playbackRate, setPlaybackRate] = useState(1);
|
| 18 |
const [allDone, setAllDone] = useState(false);
|
| 19 |
+
const [showGuideline, setShowGuideline] = useState(false);
|
| 20 |
|
| 21 |
const currentTask = tasks[currentIndex];
|
| 22 |
const annotations = useMemo(
|
|
|
|
| 130 |
|
| 131 |
return (
|
| 132 |
<div className="t2av-shell">
|
| 133 |
+
{showGuideline && <GuidelineOverlay onClose={() => setShowGuideline(false)} />}
|
| 134 |
+
|
| 135 |
<div className="g-main evaluation-page">
|
| 136 |
{missingVideos.length > 0 && (
|
| 137 |
<div className="callout missing-videos-banner">
|
|
|
|
| 142 |
)}
|
| 143 |
|
| 144 |
<div className="eval-progress">
|
| 145 |
+
<span>
|
| 146 |
+
Video {currentIndex + 1} of {tasks.length} · Annotator: {annotatorName}
|
| 147 |
+
</span>
|
| 148 |
+
<button
|
| 149 |
+
type="button"
|
| 150 |
+
className="guideline-toggle-btn"
|
| 151 |
+
onClick={() => setShowGuideline(true)}
|
| 152 |
+
>
|
| 153 |
+
View Guidelines
|
| 154 |
+
</button>
|
| 155 |
</div>
|
| 156 |
|
| 157 |
<div className="container">
|
frontend/src/pages/GuidelineContent.jsx
ADDED
|
@@ -0,0 +1,551 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
import React, { useEffect, useRef, useState } from "react";
|
| 3 |
+
|
| 4 |
+
// Transcribes T2AV_guideline_final_updated.html sections s0-s4 and s6
|
| 5 |
+
// (section s5, "Worked example", moves to the Training page instead).
|
| 6 |
+
//
|
| 7 |
+
// Pulled out of GuidelinePage so the same nav + section content can be
|
| 8 |
+
// reused read-only inside GuidelineOverlay (the in-evaluation "View
|
| 9 |
+
// Guidelines" popup) without duplicating this copy. `children` renders
|
| 10 |
+
// after the sections - GuidelinePage uses it for the name-entry start
|
| 11 |
+
// panel; GuidelineOverlay passes nothing.
|
| 12 |
+
const SECTIONS = [
|
| 13 |
+
{ id: "s0", num: "00", label: "What you evaluate" },
|
| 14 |
+
{ id: "s1", num: "01", label: "Events" },
|
| 15 |
+
{ id: "s2", num: "02", label: "The six axes" },
|
| 16 |
+
{ id: "s3", num: "03", label: "Hierarchy & order" },
|
| 17 |
+
{ id: "s4", num: "04", label: "Axis rules" },
|
| 18 |
+
{ id: "s6", num: "05", label: "Recording ratings" }
|
| 19 |
+
];
|
| 20 |
+
|
| 21 |
+
export default function GuidelineContent({ children }) {
|
| 22 |
+
const [activeSection, setActiveSection] = useState("s0");
|
| 23 |
+
const sectionRefs = useRef({});
|
| 24 |
+
|
| 25 |
+
useEffect(() => {
|
| 26 |
+
const observer = new IntersectionObserver(
|
| 27 |
+
(entries) => {
|
| 28 |
+
entries.forEach((entry) => {
|
| 29 |
+
if (entry.isIntersecting) setActiveSection(entry.target.id);
|
| 30 |
+
});
|
| 31 |
+
},
|
| 32 |
+
{ rootMargin: "-20% 0px -70% 0px" }
|
| 33 |
+
);
|
| 34 |
+
Object.values(sectionRefs.current).forEach((el) => el && observer.observe(el));
|
| 35 |
+
return () => observer.disconnect();
|
| 36 |
+
}, []);
|
| 37 |
+
|
| 38 |
+
return (
|
| 39 |
+
<div className="g-wrap">
|
| 40 |
+
<aside className="g-aside">
|
| 41 |
+
<div className="g-brand">
|
| 42 |
+
T2AV <span>Evaluation</span>
|
| 43 |
+
</div>
|
| 44 |
+
<div className="g-sub">Human annotation guideline</div>
|
| 45 |
+
<nav>
|
| 46 |
+
{SECTIONS.map((s) => (
|
| 47 |
+
<a
|
| 48 |
+
key={s.id}
|
| 49 |
+
href={`#${s.id}`}
|
| 50 |
+
className={activeSection === s.id ? "active" : ""}
|
| 51 |
+
onClick={(e) => {
|
| 52 |
+
e.preventDefault();
|
| 53 |
+
sectionRefs.current[s.id]?.scrollIntoView({ behavior: "smooth" });
|
| 54 |
+
}}
|
| 55 |
+
>
|
| 56 |
+
<span className="n">{s.num}</span>
|
| 57 |
+
{s.label}
|
| 58 |
+
</a>
|
| 59 |
+
))}
|
| 60 |
+
</nav>
|
| 61 |
+
</aside>
|
| 62 |
+
|
| 63 |
+
<main className="g-main">
|
| 64 |
+
<header className="g-top">
|
| 65 |
+
<div className="eyebrow-g">Human annotation protocol</div>
|
| 66 |
+
<h1>
|
| 67 |
+
Does the generated video
|
| 68 |
+
<br />
|
| 69 |
+
do what the prompt says?
|
| 70 |
+
</h1>
|
| 71 |
+
<p className="g-lede">
|
| 72 |
+
You'll watch text-to-audio-video clips and judge each one along six axes. The
|
| 73 |
+
models are usually fine at <em>what</em> happens — the hard parts are temporal
|
| 74 |
+
order and counting.
|
| 75 |
+
</p>
|
| 76 |
+
<div className="g-meta">
|
| 77 |
+
<span className="tag-chip">100 videos</span>
|
| 78 |
+
<span className="tag-chip">~1–2 min each</span>
|
| 79 |
+
<span className="tag-chip">PASS / FAIL per axis</span>
|
| 80 |
+
</div>
|
| 81 |
+
</header>
|
| 82 |
+
|
| 83 |
+
<section id="s0" ref={(el) => (sectionRefs.current.s0 = el)} className="g-section">
|
| 84 |
+
<h2>
|
| 85 |
+
<span className="num">00</span>What you're evaluating
|
| 86 |
+
</h2>
|
| 87 |
+
<p>These generators reliably struggle with two things:</p>
|
| 88 |
+
<ul>
|
| 89 |
+
<li>
|
| 90 |
+
<strong>Temporal order</strong> — prompt: <em>"Say 'Hi', then wave your right
|
| 91 |
+
hand."</em> There's a required order (speech before gesture), but the video may
|
| 92 |
+
do them in the wrong order.
|
| 93 |
+
</li>
|
| 94 |
+
<li>
|
| 95 |
+
<strong>Counting</strong> — prompt: <em>"Clap exactly twice."</em> The model may
|
| 96 |
+
clap once or three times, failing the count requirement.
|
| 97 |
+
</li>
|
| 98 |
+
</ul>
|
| 99 |
+
<p>
|
| 100 |
+
For each clip, you decide <span className="pass">PASS</span> /{" "}
|
| 101 |
+
<span className="fail">FAIL</span> on six axes, following the rules below.
|
| 102 |
+
</p>
|
| 103 |
+
</section>
|
| 104 |
+
|
| 105 |
+
<section id="s1" ref={(el) => (sectionRefs.current.s1 = el)} className="g-section">
|
| 106 |
+
<h2>
|
| 107 |
+
<span className="num">01</span>Event and event types
|
| 108 |
+
</h2>
|
| 109 |
+
<p>
|
| 110 |
+
An <strong>event</strong> is a prompt-specified unit that may contain an audio
|
| 111 |
+
component, a visual action or state, or both. There are three types:
|
| 112 |
+
</p>
|
| 113 |
+
<table>
|
| 114 |
+
<thead>
|
| 115 |
+
<tr>
|
| 116 |
+
<th style={{ width: 150 }}>Type</th>
|
| 117 |
+
<th>Meaning</th>
|
| 118 |
+
<th style={{ width: 170 }}>Example</th>
|
| 119 |
+
</tr>
|
| 120 |
+
</thead>
|
| 121 |
+
<tbody>
|
| 122 |
+
<tr>
|
| 123 |
+
<td>
|
| 124 |
+
<strong>Speech</strong>
|
| 125 |
+
</td>
|
| 126 |
+
<td>spoken audio + the corresponding visible speaking behavior</td>
|
| 127 |
+
<td className="muted">saying "help"</td>
|
| 128 |
+
</tr>
|
| 129 |
+
<tr>
|
| 130 |
+
<td>
|
| 131 |
+
<strong>Silent action</strong>
|
| 132 |
+
</td>
|
| 133 |
+
<td>a visual action with no required sound</td>
|
| 134 |
+
<td className="muted">a thumbs-up</td>
|
| 135 |
+
</tr>
|
| 136 |
+
<tr>
|
| 137 |
+
<td>
|
| 138 |
+
<strong>Sounding action</strong>
|
| 139 |
+
</td>
|
| 140 |
+
<td>a visual action + its corresponding sound</td>
|
| 141 |
+
<td className="muted">slapping the thigh</td>
|
| 142 |
+
</tr>
|
| 143 |
+
</tbody>
|
| 144 |
+
</table>
|
| 145 |
+
</section>
|
| 146 |
+
|
| 147 |
+
<section id="s2" ref={(el) => (sectionRefs.current.s2 = el)} className="g-section">
|
| 148 |
+
<h2>
|
| 149 |
+
<span className="num">02</span>The six evaluation axes
|
| 150 |
+
</h2>
|
| 151 |
+
<table>
|
| 152 |
+
<thead>
|
| 153 |
+
<tr>
|
| 154 |
+
<th style={{ width: 130 }}>Axis</th>
|
| 155 |
+
<th>Definition</th>
|
| 156 |
+
</tr>
|
| 157 |
+
</thead>
|
| 158 |
+
<tbody>
|
| 159 |
+
<tr>
|
| 160 |
+
<td>
|
| 161 |
+
<span className="axis">A</span>
|
| 162 |
+
</td>
|
| 163 |
+
<td>
|
| 164 |
+
<strong>Audio Event Correctness.</strong> Whether the required speech or
|
| 165 |
+
sound event is present and correct in the audio.
|
| 166 |
+
</td>
|
| 167 |
+
</tr>
|
| 168 |
+
<tr>
|
| 169 |
+
<td>
|
| 170 |
+
<span className="axis">V</span>
|
| 171 |
+
</td>
|
| 172 |
+
<td>
|
| 173 |
+
<strong>Visual Event Correctness.</strong> Whether the required visual event
|
| 174 |
+
is present and correct. For speech events this evaluates visible speaking
|
| 175 |
+
behavior (mouth/lip motion), <em>not</em> the spoken content.
|
| 176 |
+
</td>
|
| 177 |
+
</tr>
|
| 178 |
+
<tr>
|
| 179 |
+
<td>
|
| 180 |
+
<span className="axis">AVB</span>
|
| 181 |
+
</td>
|
| 182 |
+
<td>
|
| 183 |
+
<strong>Audio–Visual Binding.</strong> Whether the audio and visual
|
| 184 |
+
components <em>within the same event</em> are correctly synchronized and
|
| 185 |
+
causally aligned.
|
| 186 |
+
</td>
|
| 187 |
+
</tr>
|
| 188 |
+
<tr>
|
| 189 |
+
<td>
|
| 190 |
+
<span className="axis">TC_REL</span>
|
| 191 |
+
</td>
|
| 192 |
+
<td>
|
| 193 |
+
<strong>Temporal Relation.</strong> Whether the specified relationship{" "}
|
| 194 |
+
<em>between events</em> holds — synchronization, order, and absolute timing.
|
| 195 |
+
</td>
|
| 196 |
+
</tr>
|
| 197 |
+
<tr>
|
| 198 |
+
<td>
|
| 199 |
+
<span className="axis">TC_COUNT</span>
|
| 200 |
+
</td>
|
| 201 |
+
<td>
|
| 202 |
+
<strong>Temporal Count.</strong> Whether each required event occurs the
|
| 203 |
+
specified number of times, with no missing or extra occurrences.
|
| 204 |
+
</td>
|
| 205 |
+
</tr>
|
| 206 |
+
<tr>
|
| 207 |
+
<td>
|
| 208 |
+
<span className="axis">CC</span>
|
| 209 |
+
</td>
|
| 210 |
+
<td>
|
| 211 |
+
<strong>Constraint Compliance.</strong> Non-core constraints: scene, camera,
|
| 212 |
+
subject count, no subtitles/BGM, no extra actions or sounds, post-event
|
| 213 |
+
stillness when required.
|
| 214 |
+
</td>
|
| 215 |
+
</tr>
|
| 216 |
+
</tbody>
|
| 217 |
+
</table>
|
| 218 |
+
</section>
|
| 219 |
+
|
| 220 |
+
<section id="s3" ref={(el) => (sectionRefs.current.s3 = el)} className="g-section">
|
| 221 |
+
<h2>
|
| 222 |
+
<span className="num">03</span>Hierarchy and order
|
| 223 |
+
</h2>
|
| 224 |
+
<div className="flow">
|
| 225 |
+
<b>A</b> / <b>V</b> → <b>AVB</b> → <b>TC_REL</b> and{" "}
|
| 226 |
+
<b>TC_COUNT</b>
|
| 227 |
+
</div>
|
| 228 |
+
<ul>
|
| 229 |
+
<li>
|
| 230 |
+
<span className="axis">A</span> and <span className="axis">V</span> are
|
| 231 |
+
evaluated first.
|
| 232 |
+
</li>
|
| 233 |
+
<li>
|
| 234 |
+
<span className="axis">AVB</span> applies only to events with{" "}
|
| 235 |
+
<strong>both</strong> audio and visual components; it{" "}
|
| 236 |
+
<span className="fail">FAILS</span> if either component fails.
|
| 237 |
+
</li>
|
| 238 |
+
<li>
|
| 239 |
+
If any event required for the judgment fails A, V, or its applicable AVB,{" "}
|
| 240 |
+
<span className="axis">TC_REL</span> <span className="fail">FAILS</span>, and{" "}
|
| 241 |
+
<span className="axis">TC_COUNT</span> is recorded as{" "}
|
| 242 |
+
<span className="fail">FAIL</span> with a count of <strong>0</strong> for that
|
| 243 |
+
failed event.
|
| 244 |
+
</li>
|
| 245 |
+
</ul>
|
| 246 |
+
<h3>Recommended order per video</h3>
|
| 247 |
+
<ul>
|
| 248 |
+
<li>Identify each required event from the prompt.</li>
|
| 249 |
+
<li>
|
| 250 |
+
Evaluate <span className="axis">A</span> and <span className="axis">V</span>{" "}
|
| 251 |
+
(per event).
|
| 252 |
+
</li>
|
| 253 |
+
<li>
|
| 254 |
+
Apply the hierarchy → <span className="axis">AVB</span> (per audio+visual event).
|
| 255 |
+
</li>
|
| 256 |
+
<li>
|
| 257 |
+
Evaluate <span className="axis">TC_REL</span>, then{" "}
|
| 258 |
+
<span className="axis">TC_COUNT</span>.
|
| 259 |
+
</li>
|
| 260 |
+
<li>
|
| 261 |
+
Evaluate <span className="axis">CC</span> for remaining constraints and any
|
| 262 |
+
unrelated extra events.
|
| 263 |
+
</li>
|
| 264 |
+
</ul>
|
| 265 |
+
</section>
|
| 266 |
+
|
| 267 |
+
<section id="s4" ref={(el) => (sectionRefs.current.s4 = el)} className="g-section">
|
| 268 |
+
<h2>
|
| 269 |
+
<span className="num">04</span>Axis-by-axis rules
|
| 270 |
+
</h2>
|
| 271 |
+
|
| 272 |
+
<h3>
|
| 273 |
+
<span className="axis">A</span> Audio event correctness
|
| 274 |
+
</h3>
|
| 275 |
+
<p>
|
| 276 |
+
<span className="pass">PASS</span> when every required speech/sound component is
|
| 277 |
+
present, clear, and correct. <span className="fail">FAIL</span> when a required
|
| 278 |
+
audio event is missing, the content or sound type is wrong, or the audio is too
|
| 279 |
+
unclear to identify.
|
| 280 |
+
</p>
|
| 281 |
+
<table>
|
| 282 |
+
<thead>
|
| 283 |
+
<tr>
|
| 284 |
+
<th>Situation</th>
|
| 285 |
+
<th style={{ width: 190 }}>Verdict</th>
|
| 286 |
+
</tr>
|
| 287 |
+
</thead>
|
| 288 |
+
<tbody>
|
| 289 |
+
<tr>
|
| 290 |
+
<td>Required speech is "help", but the person says "it helps"</td>
|
| 291 |
+
<td>
|
| 292 |
+
<span className="fail">A FAIL</span>
|
| 293 |
+
</td>
|
| 294 |
+
</tr>
|
| 295 |
+
<tr>
|
| 296 |
+
<td>Required speech correct, followed by a separate extra speech or cough</td>
|
| 297 |
+
<td>
|
| 298 |
+
<span className="pass">A PASS</span> <span className="fail">CC FAIL</span>
|
| 299 |
+
</td>
|
| 300 |
+
</tr>
|
| 301 |
+
<tr>
|
| 302 |
+
<td>A sounding action is visible, but its required sound is absent</td>
|
| 303 |
+
<td>
|
| 304 |
+
<span className="fail">A FAIL</span> <span className="pass">V PASS</span>
|
| 305 |
+
</td>
|
| 306 |
+
</tr>
|
| 307 |
+
</tbody>
|
| 308 |
+
</table>
|
| 309 |
+
|
| 310 |
+
<div className="callout">
|
| 311 |
+
<span className="k">A splits into two separate questions</span>
|
| 312 |
+
The A judgment answers two things at once. Keep them apart — they have different
|
| 313 |
+
bars.
|
| 314 |
+
<br />
|
| 315 |
+
<strong>(1) Audible?</strong> — is the sound perceptible at all? {" "}
|
| 316 |
+
<strong>(2) Correct identity?</strong> — is it the right <em>kind</em> of sound?
|
| 317 |
+
</div>
|
| 318 |
+
|
| 319 |
+
<h4>1 Audibility — judge leniently</h4>
|
| 320 |
+
<p>
|
| 321 |
+
A sound counts as audible if it is{" "}
|
| 322 |
+
<strong>perceptible above the background at normal playback volume</strong>. Do
|
| 323 |
+
not <span className="fail">FAIL</span> a sound just because it is quiet, soft, or
|
| 324 |
+
faint. A soft clap, a light tap, or a muffled impact still counts as audible. Only
|
| 325 |
+
mark it missing when you cannot perceive the required sound at all.
|
| 326 |
+
</p>
|
| 327 |
+
|
| 328 |
+
<h4>2 Identity — lenient inside a sound family, strict across families</h4>
|
| 329 |
+
<p>
|
| 330 |
+
Judge the sound <em>from the audio</em>. Percussive impact sounds — clap,
|
| 331 |
+
thigh-slap, tap, thud, pat — form <strong>one acoustic family</strong> that
|
| 332 |
+
genuinely overlaps and is heard differently by different people. Within that
|
| 333 |
+
family, judge <span className="pass">leniently</span>: if the sound is a plausible
|
| 334 |
+
instance of the requested impact, <span className="pass">A PASS</span>. Reserve{" "}
|
| 335 |
+
<span className="fail">FAIL</span> for a <strong>clear cross-family mismatch</strong>{" "}
|
| 336 |
+
— where the audio belongs to a different category than requested.
|
| 337 |
+
</p>
|
| 338 |
+
<table>
|
| 339 |
+
<thead>
|
| 340 |
+
<tr>
|
| 341 |
+
<th>Situation</th>
|
| 342 |
+
<th style={{ width: 190 }}>Verdict</th>
|
| 343 |
+
</tr>
|
| 344 |
+
</thead>
|
| 345 |
+
<tbody>
|
| 346 |
+
<tr>
|
| 347 |
+
<td>Required "clap", audio is a soft/ambiguous impact that could be a clap or a thigh-slap</td>
|
| 348 |
+
<td>
|
| 349 |
+
<span className="pass">A PASS</span>
|
| 350 |
+
</td>
|
| 351 |
+
</tr>
|
| 352 |
+
<tr>
|
| 353 |
+
<td>Required an impact sound (clap/slap), but the audio is speech, or silence</td>
|
| 354 |
+
<td>
|
| 355 |
+
<span className="fail">A FAIL</span>
|
| 356 |
+
</td>
|
| 357 |
+
</tr>
|
| 358 |
+
<tr>
|
| 359 |
+
<td>Required speech, but the audio is a non-vocal sound</td>
|
| 360 |
+
<td>
|
| 361 |
+
<span className="fail">A FAIL</span>
|
| 362 |
+
</td>
|
| 363 |
+
</tr>
|
| 364 |
+
</tbody>
|
| 365 |
+
</table>
|
| 366 |
+
<p className="muted">
|
| 367 |
+
Leniency inside the family is safe: a sound that is bound to the wrong visible
|
| 368 |
+
motion is still caught downstream by AVB, and a wrong action is caught by V. A does
|
| 369 |
+
not need to do their job.
|
| 370 |
+
</p>
|
| 371 |
+
|
| 372 |
+
<h3>
|
| 373 |
+
<span className="axis">V</span> Visual event correctness
|
| 374 |
+
</h3>
|
| 375 |
+
<p>
|
| 376 |
+
<span className="pass">PASS</span> when every required visual component is
|
| 377 |
+
present, visible, and correct in actor, action, side, body part, object, and
|
| 378 |
+
contact target. <span className="fail">FAIL</span> when it's missing; the wrong
|
| 379 |
+
actor/side/body part/object/action is used; occlusion, cropping, or blur prevents
|
| 380 |
+
verification; or (for speech) the mouth movement is absent or inconsistent with the
|
| 381 |
+
required utterance.
|
| 382 |
+
</p>
|
| 383 |
+
<table>
|
| 384 |
+
<thead>
|
| 385 |
+
<tr>
|
| 386 |
+
<th>Situation</th>
|
| 387 |
+
<th style={{ width: 190 }}>Verdict</th>
|
| 388 |
+
</tr>
|
| 389 |
+
</thead>
|
| 390 |
+
<tbody>
|
| 391 |
+
<tr>
|
| 392 |
+
<td>Required visual event correct and clearly visible, but an unrelated action is added</td>
|
| 393 |
+
<td>
|
| 394 |
+
<span className="pass">V PASS</span> <span className="fail">CC FAIL</span>
|
| 395 |
+
</td>
|
| 396 |
+
</tr>
|
| 397 |
+
<tr>
|
| 398 |
+
<td>The extra action disrupts, replaces, or hides the required visual event</td>
|
| 399 |
+
<td>
|
| 400 |
+
<span className="fail">V FAIL</span> <span className="fail">CC FAIL</span>
|
| 401 |
+
</td>
|
| 402 |
+
</tr>
|
| 403 |
+
<tr>
|
| 404 |
+
<td>Target action performed by the wrong actor or wrong body part</td>
|
| 405 |
+
<td>
|
| 406 |
+
<span className="fail">V FAIL</span>
|
| 407 |
+
</td>
|
| 408 |
+
</tr>
|
| 409 |
+
<tr>
|
| 410 |
+
<td>Actor appears to speak, but lip movement doesn't match the utterance</td>
|
| 411 |
+
<td>
|
| 412 |
+
<span className="fail">V FAIL</span>
|
| 413 |
+
</td>
|
| 414 |
+
</tr>
|
| 415 |
+
<tr>
|
| 416 |
+
<td>Lip movement matches, but the spoken audio is incorrect</td>
|
| 417 |
+
<td>
|
| 418 |
+
<span className="pass">V PASS</span> <span className="fail">A FAIL</span>
|
| 419 |
+
</td>
|
| 420 |
+
</tr>
|
| 421 |
+
</tbody>
|
| 422 |
+
</table>
|
| 423 |
+
|
| 424 |
+
<h3>
|
| 425 |
+
<span className="axis">AVB</span> Audio–visual binding
|
| 426 |
+
</h3>
|
| 427 |
+
<p>
|
| 428 |
+
Alignment of the audio and visual components <strong>within one event</strong>.{" "}
|
| 429 |
+
<span className="pass">PASS</span> when the sound is synchronized with the
|
| 430 |
+
corresponding visible action, impact, or mouth movement.{" "}
|
| 431 |
+
<span className="fail">FAIL</span> when A or V fails, or the two are clearly
|
| 432 |
+
misaligned in time.
|
| 433 |
+
</p>
|
| 434 |
+
<div className="callout">
|
| 435 |
+
<span className="k">Note</span>Temporal relations <em>between different events</em>{" "}
|
| 436 |
+
are handled under TC_REL, not AVB.
|
| 437 |
+
</div>
|
| 438 |
+
|
| 439 |
+
<h3>
|
| 440 |
+
<span className="axis">TC_REL</span> Temporal relation
|
| 441 |
+
</h3>
|
| 442 |
+
<p>
|
| 443 |
+
Compare the <strong>defined start times</strong> of the required events. If any
|
| 444 |
+
required event fails A, V, or AVB → <span className="fail">TC_REL FAIL</span>.
|
| 445 |
+
</p>
|
| 446 |
+
<table>
|
| 447 |
+
<thead>
|
| 448 |
+
<tr>
|
| 449 |
+
<th style={{ width: 230 }}>Event type</th>
|
| 450 |
+
<th>Start time</th>
|
| 451 |
+
</tr>
|
| 452 |
+
</thead>
|
| 453 |
+
<tbody>
|
| 454 |
+
<tr>
|
| 455 |
+
<td>Speech / sound</td>
|
| 456 |
+
<td>when the target audio begins</td>
|
| 457 |
+
</tr>
|
| 458 |
+
<tr>
|
| 459 |
+
<td>Held pose or state</td>
|
| 460 |
+
<td>when the pose/state first becomes clearly established</td>
|
| 461 |
+
</tr>
|
| 462 |
+
<tr>
|
| 463 |
+
<td>Contact or impact (e.g. a slap)</td>
|
| 464 |
+
<td>the actual contact/impact moment</td>
|
| 465 |
+
</tr>
|
| 466 |
+
<tr>
|
| 467 |
+
<td>Other action</td>
|
| 468 |
+
<td>when the required action visibly begins</td>
|
| 469 |
+
</tr>
|
| 470 |
+
</tbody>
|
| 471 |
+
</table>
|
| 472 |
+
<ul>
|
| 473 |
+
<li>
|
| 474 |
+
<strong>Synchronization</strong> — <span className="pass">PASS</span> when events
|
| 475 |
+
appear to begin at the same moment. Simple overlap is not enough.{" "}
|
| 476 |
+
<span className="muted">(Pose held for a while, speech begins later → Sync FAIL.)</span>
|
| 477 |
+
</li>
|
| 478 |
+
<li>
|
| 479 |
+
<strong>Order</strong> — <span className="pass">PASS</span> when events clearly
|
| 480 |
+
begin in the required order; overlap is allowed.{" "}
|
| 481 |
+
<span className="muted">(Simultaneous start, wrong order, or indistinguishable order → Order FAIL.)</span>
|
| 482 |
+
</li>
|
| 483 |
+
<li>
|
| 484 |
+
<strong>Absolute timing</strong> — <span className="pass">PASS</span> when the
|
| 485 |
+
event starts within about <strong>±0.3 s</strong> of the required timestamp.
|
| 486 |
+
</li>
|
| 487 |
+
</ul>
|
| 488 |
+
|
| 489 |
+
<h3>
|
| 490 |
+
<span className="axis">TC_COUNT</span> Temporal count
|
| 491 |
+
</h3>
|
| 492 |
+
<p>
|
| 493 |
+
<span className="pass">PASS</span> when every required event occurs exactly the
|
| 494 |
+
specified number of times. If no count is given, expect <strong>one</strong>. If
|
| 495 |
+
any required event fails A, V, or its AVB → <span className="fail">TC_COUNT FAIL</span>.
|
| 496 |
+
</p>
|
| 497 |
+
<ul>
|
| 498 |
+
<li>A continuously held pose counts as <strong>one</strong> occurrence.</li>
|
| 499 |
+
<li>
|
| 500 |
+
Releasing and forming the pose again creates <strong>another</strong> occurrence.
|
| 501 |
+
More generally, if the pose is visibly performed again as a distinct
|
| 502 |
+
repetition—even without a complete release—it counts as another occurrence.
|
| 503 |
+
</li>
|
| 504 |
+
<li>Each distinct utterance, sound, contact, or action repetition counts separately.</li>
|
| 505 |
+
</ul>
|
| 506 |
+
<div className="callout">
|
| 507 |
+
<span className="k">Don't double-count</span>The same repetition error should not
|
| 508 |
+
also be logged as an unrelated extra action under CC.
|
| 509 |
+
</div>
|
| 510 |
+
|
| 511 |
+
<h3>
|
| 512 |
+
<span className="axis">CC</span> Constraint compliance
|
| 513 |
+
</h3>
|
| 514 |
+
<p>
|
| 515 |
+
Everything not already covered above: scene and camera conditions; number and
|
| 516 |
+
identity of subjects; initial pose and required visibility; absence of subtitles,
|
| 517 |
+
on-screen text, or background music; absence of additional deliberate actions,
|
| 518 |
+
speech, or salient sounds; and post-event stillness <em>only when explicitly
|
| 519 |
+
required</em>.
|
| 520 |
+
</p>
|
| 521 |
+
<p className="muted">
|
| 522 |
+
Allowed natural motion: blinking, breathing, minor posture adjustment, necessary
|
| 523 |
+
preparation, and natural reset motion.
|
| 524 |
+
</p>
|
| 525 |
+
</section>
|
| 526 |
+
|
| 527 |
+
<section id="s6" ref={(el) => (sectionRefs.current.s6 = el)} className="g-section">
|
| 528 |
+
<h2>
|
| 529 |
+
<span className="num">05</span>Recording your ratings
|
| 530 |
+
</h2>
|
| 531 |
+
<ul>
|
| 532 |
+
<li>
|
| 533 |
+
<strong>Granularity:</strong> record <span className="axis">A</span> and{" "}
|
| 534 |
+
<span className="axis">V</span> per event; <span className="axis">AVB</span> per
|
| 535 |
+
audio+visual event; <span className="axis">TC_COUNT</span> per event;{" "}
|
| 536 |
+
<span className="axis">TC_REL</span> / <span className="axis">CC</span> per
|
| 537 |
+
video.
|
| 538 |
+
</li>
|
| 539 |
+
<li>
|
| 540 |
+
Mark each <span className="pass">PASS</span> / <span className="fail">FAIL</span>,
|
| 541 |
+
and add a one-line note whenever you FAIL something — especially <em>why</em>.
|
| 542 |
+
</li>
|
| 543 |
+
<li>Rate independently, and flag anything a rule here doesn't clearly cover.</li>
|
| 544 |
+
</ul>
|
| 545 |
+
</section>
|
| 546 |
+
|
| 547 |
+
{children}
|
| 548 |
+
</main>
|
| 549 |
+
</div>
|
| 550 |
+
);
|
| 551 |
+
}
|
frontend/src/pages/GuidelineOverlay.jsx
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
import React, { useEffect } from "react";
|
| 3 |
+
import GuidelineContent from "./GuidelineContent";
|
| 4 |
+
|
| 5 |
+
// Read-only guideline reference, opened from EvaluationPage without leaving
|
| 6 |
+
// the annotation screen - EvaluationPage stays mounted underneath (its
|
| 7 |
+
// in-progress answers, current video, and playback state are untouched), so
|
| 8 |
+
// this is purely a full-screen overlay, not a stage/navigation change. No
|
| 9 |
+
// name field or "Continue" button here, unlike GuidelinePage - the annotator
|
| 10 |
+
// already passed training; this is just the same reference content on demand.
|
| 11 |
+
export default function GuidelineOverlay({ onClose }) {
|
| 12 |
+
useEffect(() => {
|
| 13 |
+
const previousOverflow = document.body.style.overflow;
|
| 14 |
+
document.body.style.overflow = "hidden";
|
| 15 |
+
|
| 16 |
+
const handleKeyDown = (e) => {
|
| 17 |
+
if (e.key === "Escape") onClose();
|
| 18 |
+
};
|
| 19 |
+
window.addEventListener("keydown", handleKeyDown);
|
| 20 |
+
|
| 21 |
+
return () => {
|
| 22 |
+
document.body.style.overflow = previousOverflow;
|
| 23 |
+
window.removeEventListener("keydown", handleKeyDown);
|
| 24 |
+
};
|
| 25 |
+
}, [onClose]);
|
| 26 |
+
|
| 27 |
+
return (
|
| 28 |
+
<div className="t2av-shell guideline-overlay" role="dialog" aria-modal="true" aria-label="Annotation guidelines">
|
| 29 |
+
<button
|
| 30 |
+
type="button"
|
| 31 |
+
className="guideline-overlay-close"
|
| 32 |
+
onClick={onClose}
|
| 33 |
+
aria-label="Close guidelines"
|
| 34 |
+
>
|
| 35 |
+
×
|
| 36 |
+
</button>
|
| 37 |
+
<GuidelineContent />
|
| 38 |
+
</div>
|
| 39 |
+
);
|
| 40 |
+
}
|
frontend/src/pages/GuidelinePage.jsx
CHANGED
|
@@ -1,34 +1,8 @@
|
|
| 1 |
|
| 2 |
-
import React, { useEffect,
|
| 3 |
-
|
| 4 |
-
// Transcribes T2AV_guideline_final_updated.html sections s0-s4 and s6
|
| 5 |
-
// (section s5, "Worked example", moves to the Training page instead).
|
| 6 |
-
const SECTIONS = [
|
| 7 |
-
{ id: "s0", num: "00", label: "What you evaluate" },
|
| 8 |
-
{ id: "s1", num: "01", label: "Events" },
|
| 9 |
-
{ id: "s2", num: "02", label: "The six axes" },
|
| 10 |
-
{ id: "s3", num: "03", label: "Hierarchy & order" },
|
| 11 |
-
{ id: "s4", num: "04", label: "Axis rules" },
|
| 12 |
-
{ id: "s6", num: "05", label: "Recording ratings" }
|
| 13 |
-
];
|
| 14 |
|
| 15 |
export default function GuidelinePage({ annotatorName, onChangeAnnotatorName, onContinue, apiBaseUrl }) {
|
| 16 |
-
const [activeSection, setActiveSection] = useState("s0");
|
| 17 |
-
const sectionRefs = useRef({});
|
| 18 |
-
|
| 19 |
-
useEffect(() => {
|
| 20 |
-
const observer = new IntersectionObserver(
|
| 21 |
-
(entries) => {
|
| 22 |
-
entries.forEach((entry) => {
|
| 23 |
-
if (entry.isIntersecting) setActiveSection(entry.target.id);
|
| 24 |
-
});
|
| 25 |
-
},
|
| 26 |
-
{ rootMargin: "-20% 0px -70% 0px" }
|
| 27 |
-
);
|
| 28 |
-
Object.values(sectionRefs.current).forEach((el) => el && observer.observe(el));
|
| 29 |
-
return () => observer.disconnect();
|
| 30 |
-
}, []);
|
| 31 |
-
|
| 32 |
const nameIsValid = annotatorName.trim().length > 0;
|
| 33 |
|
| 34 |
// Lightweight name-collision guard: there's no login, so two different
|
|
@@ -71,557 +45,49 @@ export default function GuidelinePage({ annotatorName, onChangeAnnotatorName, on
|
|
| 71 |
|
| 72 |
return (
|
| 73 |
<div className="t2av-shell">
|
| 74 |
-
<
|
| 75 |
-
<
|
| 76 |
-
<
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
<br />
|
| 104 |
-
do what the prompt says?
|
| 105 |
-
</h1>
|
| 106 |
-
<p className="g-lede">
|
| 107 |
-
You'll watch text-to-audio-video clips and judge each one along six axes. The
|
| 108 |
-
models are usually fine at <em>what</em> happens — the hard parts are temporal
|
| 109 |
-
order and counting.
|
| 110 |
-
</p>
|
| 111 |
-
<div className="g-meta">
|
| 112 |
-
<span className="tag-chip">100 videos</span>
|
| 113 |
-
<span className="tag-chip">~1–2 min each</span>
|
| 114 |
-
<span className="tag-chip">PASS / FAIL per axis</span>
|
| 115 |
-
</div>
|
| 116 |
-
</header>
|
| 117 |
-
|
| 118 |
-
<section id="s0" ref={(el) => (sectionRefs.current.s0 = el)} className="g-section">
|
| 119 |
-
<h2>
|
| 120 |
-
<span className="num">00</span>What you're evaluating
|
| 121 |
-
</h2>
|
| 122 |
-
<p>These generators reliably struggle with two things:</p>
|
| 123 |
-
<ul>
|
| 124 |
-
<li>
|
| 125 |
-
<strong>Temporal order</strong> — prompt: <em>"Say 'Hi', then wave your right
|
| 126 |
-
hand."</em> There's a required order (speech before gesture), but the video may
|
| 127 |
-
do them in the wrong order.
|
| 128 |
-
</li>
|
| 129 |
-
<li>
|
| 130 |
-
<strong>Counting</strong> — prompt: <em>"Clap exactly twice."</em> The model may
|
| 131 |
-
clap once or three times, failing the count requirement.
|
| 132 |
-
</li>
|
| 133 |
-
</ul>
|
| 134 |
-
<p>
|
| 135 |
-
For each clip, you decide <span className="pass">PASS</span> /{" "}
|
| 136 |
-
<span className="fail">FAIL</span> on six axes, following the rules below.
|
| 137 |
-
</p>
|
| 138 |
-
</section>
|
| 139 |
-
|
| 140 |
-
<section id="s1" ref={(el) => (sectionRefs.current.s1 = el)} className="g-section">
|
| 141 |
-
<h2>
|
| 142 |
-
<span className="num">01</span>Event and event types
|
| 143 |
-
</h2>
|
| 144 |
-
<p>
|
| 145 |
-
An <strong>event</strong> is a prompt-specified unit that may contain an audio
|
| 146 |
-
component, a visual action or state, or both. There are three types:
|
| 147 |
-
</p>
|
| 148 |
-
<table>
|
| 149 |
-
<thead>
|
| 150 |
-
<tr>
|
| 151 |
-
<th style={{ width: 150 }}>Type</th>
|
| 152 |
-
<th>Meaning</th>
|
| 153 |
-
<th style={{ width: 170 }}>Example</th>
|
| 154 |
-
</tr>
|
| 155 |
-
</thead>
|
| 156 |
-
<tbody>
|
| 157 |
-
<tr>
|
| 158 |
-
<td>
|
| 159 |
-
<strong>Speech</strong>
|
| 160 |
-
</td>
|
| 161 |
-
<td>spoken audio + the corresponding visible speaking behavior</td>
|
| 162 |
-
<td className="muted">saying "help"</td>
|
| 163 |
-
</tr>
|
| 164 |
-
<tr>
|
| 165 |
-
<td>
|
| 166 |
-
<strong>Silent action</strong>
|
| 167 |
-
</td>
|
| 168 |
-
<td>a visual action with no required sound</td>
|
| 169 |
-
<td className="muted">a thumbs-up</td>
|
| 170 |
-
</tr>
|
| 171 |
-
<tr>
|
| 172 |
-
<td>
|
| 173 |
-
<strong>Sounding action</strong>
|
| 174 |
-
</td>
|
| 175 |
-
<td>a visual action + its corresponding sound</td>
|
| 176 |
-
<td className="muted">slapping the thigh</td>
|
| 177 |
-
</tr>
|
| 178 |
-
</tbody>
|
| 179 |
-
</table>
|
| 180 |
-
</section>
|
| 181 |
-
|
| 182 |
-
<section id="s2" ref={(el) => (sectionRefs.current.s2 = el)} className="g-section">
|
| 183 |
-
<h2>
|
| 184 |
-
<span className="num">02</span>The six evaluation axes
|
| 185 |
-
</h2>
|
| 186 |
-
<table>
|
| 187 |
-
<thead>
|
| 188 |
-
<tr>
|
| 189 |
-
<th style={{ width: 130 }}>Axis</th>
|
| 190 |
-
<th>Definition</th>
|
| 191 |
-
</tr>
|
| 192 |
-
</thead>
|
| 193 |
-
<tbody>
|
| 194 |
-
<tr>
|
| 195 |
-
<td>
|
| 196 |
-
<span className="axis">A</span>
|
| 197 |
-
</td>
|
| 198 |
-
<td>
|
| 199 |
-
<strong>Audio Event Correctness.</strong> Whether the required speech or
|
| 200 |
-
sound event is present and correct in the audio.
|
| 201 |
-
</td>
|
| 202 |
-
</tr>
|
| 203 |
-
<tr>
|
| 204 |
-
<td>
|
| 205 |
-
<span className="axis">V</span>
|
| 206 |
-
</td>
|
| 207 |
-
<td>
|
| 208 |
-
<strong>Visual Event Correctness.</strong> Whether the required visual event
|
| 209 |
-
is present and correct. For speech events this evaluates visible speaking
|
| 210 |
-
behavior (mouth/lip motion), <em>not</em> the spoken content.
|
| 211 |
-
</td>
|
| 212 |
-
</tr>
|
| 213 |
-
<tr>
|
| 214 |
-
<td>
|
| 215 |
-
<span className="axis">AVB</span>
|
| 216 |
-
</td>
|
| 217 |
-
<td>
|
| 218 |
-
<strong>Audio–Visual Binding.</strong> Whether the audio and visual
|
| 219 |
-
components <em>within the same event</em> are correctly synchronized and
|
| 220 |
-
causally aligned.
|
| 221 |
-
</td>
|
| 222 |
-
</tr>
|
| 223 |
-
<tr>
|
| 224 |
-
<td>
|
| 225 |
-
<span className="axis">TC_REL</span>
|
| 226 |
-
</td>
|
| 227 |
-
<td>
|
| 228 |
-
<strong>Temporal Relation.</strong> Whether the specified relationship{" "}
|
| 229 |
-
<em>between events</em> holds — synchronization, order, and absolute timing.
|
| 230 |
-
</td>
|
| 231 |
-
</tr>
|
| 232 |
-
<tr>
|
| 233 |
-
<td>
|
| 234 |
-
<span className="axis">TC_COUNT</span>
|
| 235 |
-
</td>
|
| 236 |
-
<td>
|
| 237 |
-
<strong>Temporal Count.</strong> Whether each required event occurs the
|
| 238 |
-
specified number of times, with no missing or extra occurrences.
|
| 239 |
-
</td>
|
| 240 |
-
</tr>
|
| 241 |
-
<tr>
|
| 242 |
-
<td>
|
| 243 |
-
<span className="axis">CC</span>
|
| 244 |
-
</td>
|
| 245 |
-
<td>
|
| 246 |
-
<strong>Constraint Compliance.</strong> Non-core constraints: scene, camera,
|
| 247 |
-
subject count, no subtitles/BGM, no extra actions or sounds, post-event
|
| 248 |
-
stillness when required.
|
| 249 |
-
</td>
|
| 250 |
-
</tr>
|
| 251 |
-
</tbody>
|
| 252 |
-
</table>
|
| 253 |
-
</section>
|
| 254 |
-
|
| 255 |
-
<section id="s3" ref={(el) => (sectionRefs.current.s3 = el)} className="g-section">
|
| 256 |
-
<h2>
|
| 257 |
-
<span className="num">03</span>Hierarchy and order
|
| 258 |
-
</h2>
|
| 259 |
-
<div className="flow">
|
| 260 |
-
<b>A</b> / <b>V</b> → <b>AVB</b> → <b>TC_REL</b> and{" "}
|
| 261 |
-
<b>TC_COUNT</b>
|
| 262 |
-
</div>
|
| 263 |
-
<ul>
|
| 264 |
-
<li>
|
| 265 |
-
<span className="axis">A</span> and <span className="axis">V</span> are
|
| 266 |
-
evaluated first.
|
| 267 |
-
</li>
|
| 268 |
-
<li>
|
| 269 |
-
<span className="axis">AVB</span> applies only to events with{" "}
|
| 270 |
-
<strong>both</strong> audio and visual components; it{" "}
|
| 271 |
-
<span className="fail">FAILS</span> if either component fails.
|
| 272 |
-
</li>
|
| 273 |
-
<li>
|
| 274 |
-
If any event required for the judgment fails A, V, or its applicable AVB,{" "}
|
| 275 |
-
<span className="axis">TC_REL</span> <span className="fail">FAILS</span>, and{" "}
|
| 276 |
-
<span className="axis">TC_COUNT</span> is recorded as{" "}
|
| 277 |
-
<span className="fail">FAIL</span> with a count of <strong>0</strong> for that
|
| 278 |
-
failed event.
|
| 279 |
-
</li>
|
| 280 |
-
</ul>
|
| 281 |
-
<h3>Recommended order per video</h3>
|
| 282 |
-
<ul>
|
| 283 |
-
<li>Identify each required event from the prompt.</li>
|
| 284 |
-
<li>
|
| 285 |
-
Evaluate <span className="axis">A</span> and <span className="axis">V</span>{" "}
|
| 286 |
-
(per event).
|
| 287 |
-
</li>
|
| 288 |
-
<li>
|
| 289 |
-
Apply the hierarchy → <span className="axis">AVB</span> (per audio+visual event).
|
| 290 |
-
</li>
|
| 291 |
-
<li>
|
| 292 |
-
Evaluate <span className="axis">TC_REL</span>, then{" "}
|
| 293 |
-
<span className="axis">TC_COUNT</span>.
|
| 294 |
-
</li>
|
| 295 |
-
<li>
|
| 296 |
-
Evaluate <span className="axis">CC</span> for remaining constraints and any
|
| 297 |
-
unrelated extra events.
|
| 298 |
-
</li>
|
| 299 |
-
</ul>
|
| 300 |
-
</section>
|
| 301 |
-
|
| 302 |
-
<section id="s4" ref={(el) => (sectionRefs.current.s4 = el)} className="g-section">
|
| 303 |
-
<h2>
|
| 304 |
-
<span className="num">04</span>Axis-by-axis rules
|
| 305 |
-
</h2>
|
| 306 |
-
|
| 307 |
-
<h3>
|
| 308 |
-
<span className="axis">A</span> Audio event correctness
|
| 309 |
-
</h3>
|
| 310 |
-
<p>
|
| 311 |
-
<span className="pass">PASS</span> when every required speech/sound component is
|
| 312 |
-
present, clear, and correct. <span className="fail">FAIL</span> when a required
|
| 313 |
-
audio event is missing, the content or sound type is wrong, or the audio is too
|
| 314 |
-
unclear to identify.
|
| 315 |
-
</p>
|
| 316 |
-
<table>
|
| 317 |
-
<thead>
|
| 318 |
-
<tr>
|
| 319 |
-
<th>Situation</th>
|
| 320 |
-
<th style={{ width: 190 }}>Verdict</th>
|
| 321 |
-
</tr>
|
| 322 |
-
</thead>
|
| 323 |
-
<tbody>
|
| 324 |
-
<tr>
|
| 325 |
-
<td>Required speech is "help", but the person says "it helps"</td>
|
| 326 |
-
<td>
|
| 327 |
-
<span className="fail">A FAIL</span>
|
| 328 |
-
</td>
|
| 329 |
-
</tr>
|
| 330 |
-
<tr>
|
| 331 |
-
<td>Required speech correct, followed by a separate extra speech or cough</td>
|
| 332 |
-
<td>
|
| 333 |
-
<span className="pass">A PASS</span> <span className="fail">CC FAIL</span>
|
| 334 |
-
</td>
|
| 335 |
-
</tr>
|
| 336 |
-
<tr>
|
| 337 |
-
<td>A sounding action is visible, but its required sound is absent</td>
|
| 338 |
-
<td>
|
| 339 |
-
<span className="fail">A FAIL</span> <span className="pass">V PASS</span>
|
| 340 |
-
</td>
|
| 341 |
-
</tr>
|
| 342 |
-
</tbody>
|
| 343 |
-
</table>
|
| 344 |
-
|
| 345 |
-
<div className="callout">
|
| 346 |
-
<span className="k">A splits into two separate questions</span>
|
| 347 |
-
The A judgment answers two things at once. Keep them apart — they have different
|
| 348 |
-
bars.
|
| 349 |
-
<br />
|
| 350 |
-
<strong>(1) Audible?</strong> — is the sound perceptible at all? {" "}
|
| 351 |
-
<strong>(2) Correct identity?</strong> — is it the right <em>kind</em> of sound?
|
| 352 |
</div>
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
-
|
| 360 |
-
|
| 361 |
-
|
| 362 |
-
|
| 363 |
-
|
| 364 |
-
|
| 365 |
-
|
| 366 |
-
thigh-slap, tap, thud, pat — form <strong>one acoustic family</strong> that
|
| 367 |
-
genuinely overlaps and is heard differently by different people. Within that
|
| 368 |
-
family, judge <span className="pass">leniently</span>: if the sound is a plausible
|
| 369 |
-
instance of the requested impact, <span className="pass">A PASS</span>. Reserve{" "}
|
| 370 |
-
<span className="fail">FAIL</span> for a <strong>clear cross-family mismatch</strong>{" "}
|
| 371 |
-
— where the audio belongs to a different category than requested.
|
| 372 |
-
</p>
|
| 373 |
-
<table>
|
| 374 |
-
<thead>
|
| 375 |
-
<tr>
|
| 376 |
-
<th>Situation</th>
|
| 377 |
-
<th style={{ width: 190 }}>Verdict</th>
|
| 378 |
-
</tr>
|
| 379 |
-
</thead>
|
| 380 |
-
<tbody>
|
| 381 |
-
<tr>
|
| 382 |
-
<td>Required "clap", audio is a soft/ambiguous impact that could be a clap or a thigh-slap</td>
|
| 383 |
-
<td>
|
| 384 |
-
<span className="pass">A PASS</span>
|
| 385 |
-
</td>
|
| 386 |
-
</tr>
|
| 387 |
-
<tr>
|
| 388 |
-
<td>Required an impact sound (clap/slap), but the audio is speech, or silence</td>
|
| 389 |
-
<td>
|
| 390 |
-
<span className="fail">A FAIL</span>
|
| 391 |
-
</td>
|
| 392 |
-
</tr>
|
| 393 |
-
<tr>
|
| 394 |
-
<td>Required speech, but the audio is a non-vocal sound</td>
|
| 395 |
-
<td>
|
| 396 |
-
<span className="fail">A FAIL</span>
|
| 397 |
-
</td>
|
| 398 |
-
</tr>
|
| 399 |
-
</tbody>
|
| 400 |
-
</table>
|
| 401 |
-
<p className="muted">
|
| 402 |
-
Leniency inside the family is safe: a sound that is bound to the wrong visible
|
| 403 |
-
motion is still caught downstream by AVB, and a wrong action is caught by V. A does
|
| 404 |
-
not need to do their job.
|
| 405 |
-
</p>
|
| 406 |
-
|
| 407 |
-
<h3>
|
| 408 |
-
<span className="axis">V</span> Visual event correctness
|
| 409 |
-
</h3>
|
| 410 |
-
<p>
|
| 411 |
-
<span className="pass">PASS</span> when every required visual component is
|
| 412 |
-
present, visible, and correct in actor, action, side, body part, object, and
|
| 413 |
-
contact target. <span className="fail">FAIL</span> when it's missing; the wrong
|
| 414 |
-
actor/side/body part/object/action is used; occlusion, cropping, or blur prevents
|
| 415 |
-
verification; or (for speech) the mouth movement is absent or inconsistent with the
|
| 416 |
-
required utterance.
|
| 417 |
-
</p>
|
| 418 |
-
<table>
|
| 419 |
-
<thead>
|
| 420 |
-
<tr>
|
| 421 |
-
<th>Situation</th>
|
| 422 |
-
<th style={{ width: 190 }}>Verdict</th>
|
| 423 |
-
</tr>
|
| 424 |
-
</thead>
|
| 425 |
-
<tbody>
|
| 426 |
-
<tr>
|
| 427 |
-
<td>Required visual event correct and clearly visible, but an unrelated action is added</td>
|
| 428 |
-
<td>
|
| 429 |
-
<span className="pass">V PASS</span> <span className="fail">CC FAIL</span>
|
| 430 |
-
</td>
|
| 431 |
-
</tr>
|
| 432 |
-
<tr>
|
| 433 |
-
<td>The extra action disrupts, replaces, or hides the required visual event</td>
|
| 434 |
-
<td>
|
| 435 |
-
<span className="fail">V FAIL</span> <span className="fail">CC FAIL</span>
|
| 436 |
-
</td>
|
| 437 |
-
</tr>
|
| 438 |
-
<tr>
|
| 439 |
-
<td>Target action performed by the wrong actor or wrong body part</td>
|
| 440 |
-
<td>
|
| 441 |
-
<span className="fail">V FAIL</span>
|
| 442 |
-
</td>
|
| 443 |
-
</tr>
|
| 444 |
-
<tr>
|
| 445 |
-
<td>Actor appears to speak, but lip movement doesn't match the utterance</td>
|
| 446 |
-
<td>
|
| 447 |
-
<span className="fail">V FAIL</span>
|
| 448 |
-
</td>
|
| 449 |
-
</tr>
|
| 450 |
-
<tr>
|
| 451 |
-
<td>Lip movement matches, but the spoken audio is incorrect</td>
|
| 452 |
-
<td>
|
| 453 |
-
<span className="pass">V PASS</span> <span className="fail">A FAIL</span>
|
| 454 |
-
</td>
|
| 455 |
-
</tr>
|
| 456 |
-
</tbody>
|
| 457 |
-
</table>
|
| 458 |
-
|
| 459 |
-
<h3>
|
| 460 |
-
<span className="axis">AVB</span> Audio–visual binding
|
| 461 |
-
</h3>
|
| 462 |
-
<p>
|
| 463 |
-
Alignment of the audio and visual components <strong>within one event</strong>.{" "}
|
| 464 |
-
<span className="pass">PASS</span> when the sound is synchronized with the
|
| 465 |
-
corresponding visible action, impact, or mouth movement.{" "}
|
| 466 |
-
<span className="fail">FAIL</span> when A or V fails, or the two are clearly
|
| 467 |
-
misaligned in time.
|
| 468 |
-
</p>
|
| 469 |
-
<div className="callout">
|
| 470 |
-
<span className="k">Note</span>Temporal relations <em>between different events</em>{" "}
|
| 471 |
-
are handled under TC_REL, not AVB.
|
| 472 |
-
</div>
|
| 473 |
-
|
| 474 |
-
<h3>
|
| 475 |
-
<span className="axis">TC_REL</span> Temporal relation
|
| 476 |
-
</h3>
|
| 477 |
-
<p>
|
| 478 |
-
Compare the <strong>defined start times</strong> of the required events. If any
|
| 479 |
-
required event fails A, V, or AVB → <span className="fail">TC_REL FAIL</span>.
|
| 480 |
-
</p>
|
| 481 |
-
<table>
|
| 482 |
-
<thead>
|
| 483 |
-
<tr>
|
| 484 |
-
<th style={{ width: 230 }}>Event type</th>
|
| 485 |
-
<th>Start time</th>
|
| 486 |
-
</tr>
|
| 487 |
-
</thead>
|
| 488 |
-
<tbody>
|
| 489 |
-
<tr>
|
| 490 |
-
<td>Speech / sound</td>
|
| 491 |
-
<td>when the target audio begins</td>
|
| 492 |
-
</tr>
|
| 493 |
-
<tr>
|
| 494 |
-
<td>Held pose or state</td>
|
| 495 |
-
<td>when the pose/state first becomes clearly established</td>
|
| 496 |
-
</tr>
|
| 497 |
-
<tr>
|
| 498 |
-
<td>Contact or impact (e.g. a slap)</td>
|
| 499 |
-
<td>the actual contact/impact moment</td>
|
| 500 |
-
</tr>
|
| 501 |
-
<tr>
|
| 502 |
-
<td>Other action</td>
|
| 503 |
-
<td>when the required action visibly begins</td>
|
| 504 |
-
</tr>
|
| 505 |
-
</tbody>
|
| 506 |
-
</table>
|
| 507 |
-
<ul>
|
| 508 |
-
<li>
|
| 509 |
-
<strong>Synchronization</strong> — <span className="pass">PASS</span> when events
|
| 510 |
-
appear to begin at the same moment. Simple overlap is not enough.{" "}
|
| 511 |
-
<span className="muted">(Pose held for a while, speech begins later → Sync FAIL.)</span>
|
| 512 |
-
</li>
|
| 513 |
-
<li>
|
| 514 |
-
<strong>Order</strong> — <span className="pass">PASS</span> when events clearly
|
| 515 |
-
begin in the required order; overlap is allowed.{" "}
|
| 516 |
-
<span className="muted">(Simultaneous start, wrong order, or indistinguishable order → Order FAIL.)</span>
|
| 517 |
-
</li>
|
| 518 |
-
<li>
|
| 519 |
-
<strong>Absolute timing</strong> — <span className="pass">PASS</span> when the
|
| 520 |
-
event starts within about <strong>±0.3 s</strong> of the required timestamp.
|
| 521 |
-
</li>
|
| 522 |
-
</ul>
|
| 523 |
-
|
| 524 |
-
<h3>
|
| 525 |
-
<span className="axis">TC_COUNT</span> Temporal count
|
| 526 |
-
</h3>
|
| 527 |
-
<p>
|
| 528 |
-
<span className="pass">PASS</span> when every required event occurs exactly the
|
| 529 |
-
specified number of times. If no count is given, expect <strong>one</strong>. If
|
| 530 |
-
any required event fails A, V, or its AVB → <span className="fail">TC_COUNT FAIL</span>.
|
| 531 |
-
</p>
|
| 532 |
-
<ul>
|
| 533 |
-
<li>A continuously held pose counts as <strong>one</strong> occurrence.</li>
|
| 534 |
-
<li>
|
| 535 |
-
Releasing and forming the pose again creates <strong>another</strong> occurrence.
|
| 536 |
-
More generally, if the pose is visibly performed again as a distinct
|
| 537 |
-
repetition—even without a complete release—it counts as another occurrence.
|
| 538 |
-
</li>
|
| 539 |
-
<li>Each distinct utterance, sound, contact, or action repetition counts separately.</li>
|
| 540 |
-
</ul>
|
| 541 |
-
<div className="callout">
|
| 542 |
-
<span className="k">Don't double-count</span>The same repetition error should not
|
| 543 |
-
also be logged as an unrelated extra action under CC.
|
| 544 |
-
</div>
|
| 545 |
-
|
| 546 |
-
<h3>
|
| 547 |
-
<span className="axis">CC</span> Constraint compliance
|
| 548 |
-
</h3>
|
| 549 |
-
<p>
|
| 550 |
-
Everything not already covered above: scene and camera conditions; number and
|
| 551 |
-
identity of subjects; initial pose and required visibility; absence of subtitles,
|
| 552 |
-
on-screen text, or background music; absence of additional deliberate actions,
|
| 553 |
-
speech, or salient sounds; and post-event stillness <em>only when explicitly
|
| 554 |
-
required</em>.
|
| 555 |
-
</p>
|
| 556 |
-
<p className="muted">
|
| 557 |
-
Allowed natural motion: blinking, breathing, minor posture adjustment, necessary
|
| 558 |
-
preparation, and natural reset motion.
|
| 559 |
-
</p>
|
| 560 |
-
</section>
|
| 561 |
-
|
| 562 |
-
<section id="s6" ref={(el) => (sectionRefs.current.s6 = el)} className="g-section">
|
| 563 |
-
<h2>
|
| 564 |
-
<span className="num">05</span>Recording your ratings
|
| 565 |
-
</h2>
|
| 566 |
-
<ul>
|
| 567 |
-
<li>
|
| 568 |
-
<strong>Granularity:</strong> record <span className="axis">A</span> and{" "}
|
| 569 |
-
<span className="axis">V</span> per event; <span className="axis">AVB</span> per
|
| 570 |
-
audio+visual event; <span className="axis">TC_COUNT</span> per event;{" "}
|
| 571 |
-
<span className="axis">TC_REL</span> / <span className="axis">CC</span> per
|
| 572 |
-
video.
|
| 573 |
-
</li>
|
| 574 |
-
<li>
|
| 575 |
-
Mark each <span className="pass">PASS</span> / <span className="fail">FAIL</span>,
|
| 576 |
-
and add a one-line note whenever you FAIL something — especially <em>why</em>.
|
| 577 |
-
</li>
|
| 578 |
-
<li>Rate independently, and flag anything a rule here doesn't clearly cover.</li>
|
| 579 |
-
</ul>
|
| 580 |
-
</section>
|
| 581 |
-
|
| 582 |
-
<div className="start-panel">
|
| 583 |
-
<label className="name-field">
|
| 584 |
-
Annotator name
|
| 585 |
-
<input
|
| 586 |
-
value={annotatorName}
|
| 587 |
-
onChange={(e) => onChangeAnnotatorName(e.target.value)}
|
| 588 |
-
placeholder="Your name"
|
| 589 |
-
/>
|
| 590 |
-
</label>
|
| 591 |
-
{!nameIsValid && <p className="muted validation-hint">Enter your name to continue.</p>}
|
| 592 |
-
|
| 593 |
-
{collisionInfo && (
|
| 594 |
-
<div className="callout collision-warning">
|
| 595 |
-
<span className="k">Name already in use</span>
|
| 596 |
-
An assignment already exists for “{annotatorName.trim()}” (
|
| 597 |
-
{collisionInfo.completed} of {collisionInfo.total} completed).
|
| 598 |
-
<label className="confirmation-row">
|
| 599 |
-
<input
|
| 600 |
-
type="checkbox"
|
| 601 |
-
checked={collisionAcknowledged}
|
| 602 |
-
onChange={(e) => setCollisionAcknowledged(e.target.checked)}
|
| 603 |
-
/>
|
| 604 |
-
<span>Yes, this is my existing assignment — I'm continuing my own work.</span>
|
| 605 |
-
</label>
|
| 606 |
-
<p className="muted validation-hint">
|
| 607 |
-
If you're a different person, please use a more specific name (e.g. add a last
|
| 608 |
-
initial), so your work isn't merged with theirs.
|
| 609 |
-
</p>
|
| 610 |
-
</div>
|
| 611 |
-
)}
|
| 612 |
-
|
| 613 |
-
<button
|
| 614 |
-
className="save-btn start-btn"
|
| 615 |
-
disabled={!nameIsValid || hasUnacknowledgedCollision}
|
| 616 |
-
onClick={onContinue}
|
| 617 |
-
>
|
| 618 |
-
Continue to Training
|
| 619 |
-
</button>
|
| 620 |
-
</div>
|
| 621 |
-
|
| 622 |
-
<footer className="g-footer">T2AV human evaluation · internal annotation reference</footer>
|
| 623 |
-
</main>
|
| 624 |
-
</div>
|
| 625 |
</div>
|
| 626 |
);
|
| 627 |
}
|
|
|
|
| 1 |
|
| 2 |
+
import React, { useEffect, useState } from "react";
|
| 3 |
+
import GuidelineContent from "./GuidelineContent";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
export default function GuidelinePage({ annotatorName, onChangeAnnotatorName, onContinue, apiBaseUrl }) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
const nameIsValid = annotatorName.trim().length > 0;
|
| 7 |
|
| 8 |
// Lightweight name-collision guard: there's no login, so two different
|
|
|
|
| 45 |
|
| 46 |
return (
|
| 47 |
<div className="t2av-shell">
|
| 48 |
+
<GuidelineContent>
|
| 49 |
+
<div className="start-panel">
|
| 50 |
+
<label className="name-field">
|
| 51 |
+
Annotator name
|
| 52 |
+
<input
|
| 53 |
+
value={annotatorName}
|
| 54 |
+
onChange={(e) => onChangeAnnotatorName(e.target.value)}
|
| 55 |
+
placeholder="Your name"
|
| 56 |
+
/>
|
| 57 |
+
</label>
|
| 58 |
+
{!nameIsValid && <p className="muted validation-hint">Enter your name to continue.</p>}
|
| 59 |
+
|
| 60 |
+
{collisionInfo && (
|
| 61 |
+
<div className="callout collision-warning">
|
| 62 |
+
<span className="k">Name already in use</span>
|
| 63 |
+
An assignment already exists for “{annotatorName.trim()}” (
|
| 64 |
+
{collisionInfo.completed} of {collisionInfo.total} completed).
|
| 65 |
+
<label className="confirmation-row">
|
| 66 |
+
<input
|
| 67 |
+
type="checkbox"
|
| 68 |
+
checked={collisionAcknowledged}
|
| 69 |
+
onChange={(e) => setCollisionAcknowledged(e.target.checked)}
|
| 70 |
+
/>
|
| 71 |
+
<span>Yes, this is my existing assignment — I'm continuing my own work.</span>
|
| 72 |
+
</label>
|
| 73 |
+
<p className="muted validation-hint">
|
| 74 |
+
If you're a different person, please use a more specific name (e.g. add a last
|
| 75 |
+
initial), so your work isn't merged with theirs.
|
| 76 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
</div>
|
| 78 |
+
)}
|
| 79 |
+
|
| 80 |
+
<button
|
| 81 |
+
className="save-btn start-btn"
|
| 82 |
+
disabled={!nameIsValid || hasUnacknowledgedCollision}
|
| 83 |
+
onClick={onContinue}
|
| 84 |
+
>
|
| 85 |
+
Continue to Training
|
| 86 |
+
</button>
|
| 87 |
+
</div>
|
| 88 |
+
|
| 89 |
+
<footer className="g-footer">T2AV human evaluation · internal annotation reference</footer>
|
| 90 |
+
</GuidelineContent>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
</div>
|
| 92 |
);
|
| 93 |
}
|
frontend/src/styles.css
CHANGED
|
@@ -201,6 +201,25 @@ input {
|
|
| 201 |
.eval-progress {
|
| 202 |
font-weight: 600;
|
| 203 |
margin-bottom: 12px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 204 |
}
|
| 205 |
|
| 206 |
.missing-videos-banner,
|
|
|
|
| 201 |
.eval-progress {
|
| 202 |
font-weight: 600;
|
| 203 |
margin-bottom: 12px;
|
| 204 |
+
display: flex;
|
| 205 |
+
align-items: center;
|
| 206 |
+
justify-content: space-between;
|
| 207 |
+
gap: 12px;
|
| 208 |
+
flex-wrap: wrap;
|
| 209 |
+
}
|
| 210 |
+
|
| 211 |
+
.guideline-toggle-btn {
|
| 212 |
+
font-weight: 600;
|
| 213 |
+
font-size: 13px;
|
| 214 |
+
padding: 7px 14px;
|
| 215 |
+
border: 1px solid var(--line, #d9e2ec);
|
| 216 |
+
background: var(--surface, #fff);
|
| 217 |
+
color: var(--ink, #1f2933);
|
| 218 |
+
white-space: nowrap;
|
| 219 |
+
}
|
| 220 |
+
|
| 221 |
+
.guideline-toggle-btn:hover {
|
| 222 |
+
background: var(--paper, #f4f4f1);
|
| 223 |
}
|
| 224 |
|
| 225 |
.missing-videos-banner,
|
frontend/src/styles/guideline.css
CHANGED
|
@@ -489,6 +489,39 @@
|
|
| 489 |
color: var(--ink);
|
| 490 |
}
|
| 491 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 492 |
@media (max-width: 900px) {
|
| 493 |
.g-wrap {
|
| 494 |
grid-template-columns: 1fr;
|
|
|
|
| 489 |
color: var(--ink);
|
| 490 |
}
|
| 491 |
|
| 492 |
+
/* ---- guideline overlay (opened from the Evaluation page) ---- */
|
| 493 |
+
.guideline-overlay {
|
| 494 |
+
position: fixed;
|
| 495 |
+
inset: 0;
|
| 496 |
+
z-index: 1000;
|
| 497 |
+
overflow-y: auto;
|
| 498 |
+
}
|
| 499 |
+
|
| 500 |
+
.guideline-overlay-close {
|
| 501 |
+
position: fixed;
|
| 502 |
+
top: 18px;
|
| 503 |
+
right: 28px;
|
| 504 |
+
z-index: 1001;
|
| 505 |
+
width: 40px;
|
| 506 |
+
height: 40px;
|
| 507 |
+
padding: 0;
|
| 508 |
+
border-radius: 50%;
|
| 509 |
+
border: 1px solid var(--line);
|
| 510 |
+
background: var(--surface);
|
| 511 |
+
color: var(--ink);
|
| 512 |
+
font-size: 22px;
|
| 513 |
+
line-height: 1;
|
| 514 |
+
cursor: pointer;
|
| 515 |
+
display: flex;
|
| 516 |
+
align-items: center;
|
| 517 |
+
justify-content: center;
|
| 518 |
+
box-shadow: 0 2px 10px rgba(22, 32, 44, 0.18);
|
| 519 |
+
}
|
| 520 |
+
|
| 521 |
+
.guideline-overlay-close:hover {
|
| 522 |
+
background: var(--paper);
|
| 523 |
+
}
|
| 524 |
+
|
| 525 |
@media (max-width: 900px) {
|
| 526 |
.g-wrap {
|
| 527 |
grid-template-columns: 1fr;
|