File size: 1,752 Bytes
627e5d7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
635eda3
 
 
 
 
 
 
 
627e5d7
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"""Canonical reader-facing names for public task-suite artifacts."""

from __future__ import annotations

from typing import Any


TASK_DISPLAY_NAMES = {
    "timeline_action": "Action Recognition",
    "timeline_subtask": "Procedure Step Recognition",
    "transition_detection": "Action Boundary Detection",
    "next_action": "Next-Action Prediction",
    "hand_trajectory_forecast": "Hand Trajectory Forecasting",
    "contact_prediction": "Contact State Prediction",
    "object_relevance": "Object Relevance Prediction",
    "caption_grounding": "Language Grounding",
    "cross_modal_retrieval": "Cross-Modal Retrieval",
    "modality_reconstruction": "Cross-Modal Reconstruction",
    "temporal_order": "Temporal Order Verification",
    "misalignment_detection": "Multimodal Synchronization Detection",
    "long_horizon_next_action": "Long-Horizon Next-Action Forecasting",
    "next_subtask_forecast": "Long-Horizon Next-Subtask Forecasting",
    "interaction_text_prediction": "Interaction Text Prediction",
    "action_object_relation": "Action-Object Relation Prediction",
    "object_set_forecast": "Future Object-Set Forecasting",
    "imu_to_hand_pose": "IMU-to-Hand Pose Reconstruction",
    "camera_view_sync_retrieval": "Camera-View Synchronization Retrieval",
    "time_to_transition": "Time-to-Next-Transition Regression",
}


def task_display_name(task_id: str) -> str:
    """Return the public label while preserving unknown ids for debugging."""
    return TASK_DISPLAY_NAMES.get(task_id, task_id.replace("_", " ").title())


def with_task_display(task_id: str, payload: dict[str, Any]) -> dict[str, Any]:
    payload.setdefault("task", task_id)
    payload["task_display_name"] = task_display_name(task_id)
    return payload