SPARC: Reliable Spatial Annotations from Robot Demonstrations at Scale

Nils Blank1, Paul Mattes1, Maximilian Xiling Li1, Jakub Suliga1, Thomas Roth1, Moritz Reuss2, Pankhuri Vanjani1, Rudolf Lioutikov1,3
1Karlsruhe Institute of Technology (KIT)    2NVIDIA    3Robotics Institute Germany (RIG)
SPARC teaser figure

SPARC auto-labels robot demonstrations with object-centric spatial annotations and a per-annotation reliability score derived from interaction evidence: phase-aware motion, gripper proximity, and a robot-overlap filter. A single threshold on this score controls the quality–coverage tradeoff without human review, producing large-scale annotations that improve downstream embodied reasoning and policy learning.

Abstract

This work introduces SPARC (Spatial Annotations from Robot Demonstrations with Reliability Calibration), a risk-aware framework that automatically labels robot demonstrations with structured spatial annotations and assigns each annotation a reliability score. Structured spatial annotations — bounding boxes, object trajectories, and manipulation phase labels — benefit a broad range of robotics applications, from training grounded robot policies and embodied foundation models to motion planning and hierarchical task composition.

Existing automated pipelines generate such annotations at scale but provide no reliable quality signal: detector confidence is poorly calibrated for annotation correctness, forcing a choice between accepting noisy labels or discarding useful samples. In contrast to existing automated pipelines, SPARC leverages the spatio-temporal structure inherent to robot tasks to generate a reliability signal, thus reducing noisy labels and retaining more useful samples.

We further introduce IA-Bench, a benchmark that measures model accuracy in grounding the locations of interacted objects in robot demonstrations. On 1.7k human-annotated demonstrations spanning diverse embodiments and scenarios, SPARC significantly outperforms detection-only baselines in object localization accuracy while also retaining three times more samples at high-precision operating points. Our experiments demonstrate that models fine-tuned on our annotations achieve state-of-the-art results on object-grounding and pointing benchmarks among similarly sized models, while remaining competitive on broader spatial-reasoning suites without any manually verified or annotated training data. Furthermore, policies trained on SPARC-generated annotations significantly outperform baselines in cluttered, visually ambiguous real-world scenes.

Method

SPARC method pipeline overview

Method overview. SPARC proceeds in three stages: subtask decomposition, candidate proposal & tracking, and reliability scoring. The composite score R enables quality–coverage control without human review.

Results

Selective prediction curves

Selective annotation. SPARC retains significantly more annotations at high target precision and achieves lower annotation error across all operating points.

Real-world policy results

Real-world policy learning. Policies trained on SPARC-annotated reasoning data achieve more than 3× the success rate of the no-reasoning baseline across 100 rollouts on 10 cluttered manipulation tasks.

Qualitative Results

Detector baseline (left) vs. SPARC (right) on the same demonstration.

Policy Learning

We train reasoning VLAs on 250 demonstrations across 10 cluttered tasks. Reasoning Annotation quality drives the performance gap in visually ambiguous scenes.

Annotation Quality: SPARC vs. Detector

In cluttered scenes with visually similar objects, detector-based annotation selects the wrong object. SPARC uses interaction evidence to localize the correct one.

Put The Yellow Cube Into The Red Bowl
Detector
SPARC
Put The Yellow Cube Into The Red Dustpan
Detector
SPARC
Put The Yellow Cuboid Into The Red Bowl
Detector
SPARC
Put The Yellow Lego Block Into The Red Bowl
Detector
SPARC

Rollout Results (5 trials per method)

Detection Reasoning
SPARC Reasoning

VQA Dataset Visualization

SPARC automatically generates diverse VQA samples from robot demonstrations. Each group shows annotation types from the same trajectory.

AgiBotWorld Task: task 352 0 38 1
Object Grounding
Q: Locate the green boxed lemon tea in the image.
A: ```json [{"point_2d": [852, 591], "label": "green boxed lemon tea"}] ```
Object Trajectory
Q: Given the task 'pick up the green boxed lemon tea from the fridge with the left arm then place the green boxed lemon tea held in the left arm on the table', predict 8 ordered waypoints for the green boxed lemon tea.
A: ```json [{"point_2d": [855, 586], "label": "waypoint_1"}, {"point_2d": [891, 427], "label": "waypoint_2"}, {"point_2d": [804, 402], "label": "waypoint_3"}, {"po
Vacant Goal Point
Q: Given the task 'pick up the green boxed lemon tea from the fridge with the left arm then place the green boxed lemon tea held in the left arm on the table', locate a free spot at the target location.
A: ```json [{"point_2d": [272, 848], "label": "table"}] ```
Vacant Start Point
Q: Identify an empty position at fridge.
A: ```json [{"point_2d": [852, 591], "label": "fridge"}] ```
AgiBotWorld Task: task 358 0 356 1
Object Grounding
Q: Locate the whole wheat toast in the image.
A: ```json [{"point_2d": [358, 598], "label": "whole wheat toast"}] ```
Trajectory from Start
Q: Given the task 'lift a piece of whole wheat toast from the basket with the left arm then place the whole wheat toast held in the left arm into the empty slot in front of green toaster then press the green toaster start button with both arms', starting from [358, 594], trace 8 ordered waypoints for the whole wheat toast toward a target spot empty slot in front of green toaster.
A: ```json [{"point_2d": [358, 594], "label": "waypoint_1"}, {"point_2d": [358, 582], "label": "waypoint_2"}, {"point_2d": [341, 443], "label": "waypoint_3"}, {"po
Vacant Goal Points
Q: Given the task 'lift a piece of whole wheat toast from the basket with the left arm then place the whole wheat toast held in the left arm into the empty slot in front of green toaster then press the green toaster start button with both arms', mark 6 empty positions at the target location.
A: ```json [{"point_2d": [520, 540], "label": "placement_point_1"}, {"point_2d": [460, 491], "label": "placement_point_2"}, {"point_2d": [459, 584], "label": "plac
Vacant Start Points
Q: Given the task 'lift a piece of whole wheat toast from the basket with the left arm then place the whole wheat toast held in the left arm into the empty slot in front of green toaster then press the green toaster start button with both arms', identify 6 valid free spots at basket.
A: ```json [{"point_2d": [358, 598], "label": "vacant_start_point_1"}, {"point_2d": [315, 523], "label": "vacant_start_point_2"}, {"point_2d": [397, 673], "label":
AgiBotWorld Task: task 360 0 188 1
Object Grounding
Q: Locate the orange juice in the image.
A: ```json [{"point_2d": [603, 897], "label": "orange juice"}] ```
Object Trajectory
Q: Given the task 'grab the orange juice on the table with the right arm then place the grasped orange juice into green felt bag with the right arm', predict 8 ordered waypoints for the orange juice to reach a valid position at green felt bag.
A: ```json [{"point_2d": [602, 885], "label": "waypoint_1"}, {"point_2d": [654, 731], "label": "waypoint_2"}, {"point_2d": [747, 585], "label": "waypoint_3"}, {"po
Vacant Goal Points
Q: Given the task 'grab the orange juice on the table with the right arm then place the grasped orange juice into green felt bag with the right arm', return 6 free points at the target location.
A: ```json [{"point_2d": [394, 646], "label": "placement_point_1"}, {"point_2d": [408, 738], "label": "placement_point_2"}, {"point_2d": [425, 566], "label": "plac
Vacant Start Points
Q: Identify 6 valid empty spots at table.
A: ```json [{"point_2d": [603, 897], "label": "vacant_start_point_1"}, {"point_2d": [636, 975], "label": "vacant_start_point_2"}, {"point_2d": [603, 810], "label":
AgiBotWorld Task: task 367 0 101 0
Object Grounding
Q: Given the task 'pick up the whole wheat toast from the front card slot white toaster with left arm then place the toast on the plate', point to the whole wheat toast.
A: ```json [{"point_2d": [575, 572], "label": "whole wheat toast"}] ```
Object Trajectory
Q: Given the task 'pick up the whole wheat toast from the front card slot white toaster with left arm then place the toast on the plate', trace 8 ordered waypoints for the whole wheat toast toward a target spot at plate.
A: ```json [{"point_2d": [573, 564], "label": "waypoint_1"}, {"point_2d": [584, 492], "label": "waypoint_2"}, {"point_2d": [575, 409], "label": "waypoint_3"}, {"po
Vacant Goal Point
Q: Given the task 'pick up the whole wheat toast from the front card slot white toaster with left arm then place the toast on the plate', identify an empty position at the target location.
A: ```json [{"point_2d": [568, 525], "label": "plate"}] ```
Vacant Start Points
Q: Given the task 'pick up the whole wheat toast from the front card slot white toaster with left arm then place the toast on the plate', identify 6 valid free spots at front card slot white toaster.
A: ```json [{"point_2d": [575, 572], "label": "vacant_start_point_1"}, {"point_2d": [634, 625], "label": "vacant_start_point_2"}, {"point_2d": [628, 526], "label":
AgiBotWorld Task: task 368 0 363 1
Object Grounding
Q: Locate the seasoning bottle in the image.
A: ```json [{"point_2d": [658, 559], "label": "seasoning bottle"}] ```
Trajectory from Start
Q: Given the task 'grasp the seasoning bottle with the right arm then pour the seasoning held in the right arm onto the steak on the baking tray then place the seasoning bottle back on the table with the right arm', the seasoning bottle starts at [657, 556]. Predict 8 ordered waypoints so it reaches a valid position at table.
A: ```json [{"point_2d": [657, 556], "label": "waypoint_1"}, {"point_2d": [662, 496], "label": "waypoint_2"}, {"point_2d": [658, 472], "label": "waypoint_3"}, {"po
Vacant Goal Points
Q: Identify 6 valid points at the target location for 'grasp the seasoning bottle with the right arm then pour the seasoning held in the right arm onto the steak on the baking tray then place the seasoning bottle back on the table with the right arm'.
A: ```json [{"point_2d": [500, 655], "label": "placement_point_1"}, {"point_2d": [42, 637], "label": "placement_point_2"}, {"point_2d": [939, 620], "label": "place
Vacant Start Point
Q: Point to a valid empty spot at table.
A: ```json [{"point_2d": [658, 559], "label": "table"}] ```
AgiBotWorld Task: task 369 0 361 2
Object Grounding
Q: Given the task 'retrieve a short sleeve from the washing machine with the right arm then place the held short sleeve into the laundry basket with the right arm', point to the short sleeve.
A: ```json [{"point_2d": [422, 657], "label": "short sleeve"}] ```
Object Trajectory
Q: Given the task 'retrieve a short sleeve from the washing machine with the right arm then place the held short sleeve into the laundry basket with the right arm', predict 8 ordered waypoints for the short sleeve to reach a valid position at laundry basket.
A: ```json [{"point_2d": [423, 657], "label": "waypoint_1"}, {"point_2d": [483, 756], "label": "waypoint_2"}, {"point_2d": [567, 878], "label": "waypoint_3"}, {"po
Vacant Goal Point
Q: Given the task 'retrieve a short sleeve from the washing machine with the right arm then place the held short sleeve into the laundry basket with the right arm', locate a free spot at the target location.
A: ```json [{"point_2d": [613, 942], "label": "laundry basket"}] ```
Vacant Start Point
Q: Given the task 'retrieve a short sleeve from the washing machine with the right arm then place the held short sleeve into the laundry basket with the right arm', point to a free spot at washing machine.
A: ```json [{"point_2d": [422, 657], "label": "washing machine"}] ```
AgiBotWorld Task: task 374 0 7 0
Object Grounding
Q: Identify the pink toothbrush cup.
A: ```json [{"point_2d": [422, 511], "label": "pink toothbrush cup"}] ```
Object Trajectory
Q: Given the task 'lift the pink toothbrush cup in the top-left corner of the material frame with the left arm then place the held pink toothbrush cup in the left blue target box', predict 8 ordered waypoints for the pink toothbrush cup to reach a valid position at left blue target box.
A: ```json [{"point_2d": [418, 500], "label": "waypoint_1"}, {"point_2d": [393, 390], "label": "waypoint_2"}, {"point_2d": [348, 244], "label": "waypoint_3"}, {"po
Vacant Goal Points
Q: Given the task 'lift the pink toothbrush cup in the top-left corner of the material frame with the left arm then place the held pink toothbrush cup in the left blue target box', identify 6 valid points at the target location.
A: ```json [{"point_2d": [167, 672], "label": "placement_point_1"}, {"point_2d": [102, 703], "label": "placement_point_2"}, {"point_2d": [122, 604], "label": "plac
Vacant Start Point
Q: Given the task 'lift the pink toothbrush cup in the top-left corner of the material frame with the left arm then place the held pink toothbrush cup in the left blue target box', point to a free spot at top-left corner of the material frame.
A: ```json [{"point_2d": [422, 511], "label": "top-left corner of the material frame"}] ```
AgiBotWorld Task: task 384 0 295 2
Object Grounding
Q: Identify the book.
A: ```json [{"point_2d": [536, 646], "label": "book"}] ```
Object Trajectory
Q: Given the task 'push the misplaced book on the shelf to the end with your right arm', predict 8 ordered waypoints for the book.
A: ```json [{"point_2d": [535, 608], "label": "waypoint_1"}, {"point_2d": [535, 608], "label": "waypoint_2"}, {"point_2d": [532, 601], "label": "waypoint_3"}, {"po
Vacant Goal Point
Q: Given the task 'push the misplaced book on the shelf to the end with your right arm', point to a valid empty spot at the target location.
A: ```json [{"point_2d": [523, 609], "label": "end of shelf"}] ```
Vacant Start Points
Q: Mark 6 empty positions at shelf.
A: ```json [{"point_2d": [536, 646], "label": "vacant_start_point_1"}, {"point_2d": [537, 474], "label": "vacant_start_point_2"}, {"point_2d": [545, 812], "label":
AgiBotWorld Task: task 392 0 76 0
Object Grounding
Q: Point to the gray water bottle.
A: ```json [{"point_2d": [212, 462], "label": "gray water bottle"}] ```
Object Trajectory
Q: Given the task 'lift the object on the table with the left arm then empty the water from the gray water bottle held in the left arm then place the gray water bottle held in the left arm under the faucet', plan 8 ordered waypoints for the gray water bottle to move to a valid position at under the faucet.
A: ```json [{"point_2d": [208, 447], "label": "waypoint_1"}, {"point_2d": [274, 341], "label": "waypoint_2"}, {"point_2d": [353, 317], "label": "waypoint_3"}, {"po
Vacant Goal Points
Q: Identify 6 valid points at the target location for 'lift the object on the table with the left arm then empty the water from the gray water bottle held in the left arm then place the gray water bottle held in the left arm under the faucet'.
A: ```json [{"point_2d": [449, 443], "label": "placement_point_1"}, {"point_2d": [374, 320], "label": "placement_point_2"}, {"point_2d": [526, 325], "label": "plac
Vacant Start Points
Q: Identify 6 valid empty spots at table.
A: ```json [{"point_2d": [212, 462], "label": "vacant_start_point_1"}, {"point_2d": [141, 345], "label": "vacant_start_point_2"}, {"point_2d": [149, 580], "label":
AgiBotWorld Task: task 422 0 1008 1
Object Grounding
Q: Given the task 'grip the red battery on the conveyor belt with the left arm then place the held red battery into the logistics box with the left arm', point to the red battery.
A: ```json [{"point_2d": [244, 561], "label": "red battery"}] ```
Object Trajectory
Q: Given the task 'grip the red battery on the conveyor belt with the left arm then place the held red battery into the logistics box with the left arm', trace 8 ordered waypoints for the red battery toward a target spot at logistics box.
A: ```json [{"point_2d": [245, 558], "label": "waypoint_1"}, {"point_2d": [112, 520], "label": "waypoint_2"}, {"point_2d": [138, 331], "label": "waypoint_3"}, {"po
Vacant Goal Points
Q: Given the task 'grip the red battery on the conveyor belt with the left arm then place the held red battery into the logistics box with the left arm', mark 6 empty positions at the target location.
A: ```json [{"point_2d": [517, 817], "label": "placement_point_1"}, {"point_2d": [483, 770], "label": "placement_point_2"}, {"point_2d": [549, 858], "label": "plac
Vacant Start Points
Q: Mark 6 empty positions at conveyor belt.
A: ```json [{"point_2d": [244, 561], "label": "vacant_start_point_1"}, {"point_2d": [218, 512], "label": "vacant_start_point_2"}, {"point_2d": [261, 610], "label":
BridgeData Task: 0 15907
Trajectory from Start
Q: Given the task 'move the cloth to right side', starting from [377, 690], trace 8 ordered waypoints for the cloth toward a target spot at right side.
A: ```json [{"point_2d": [377, 690], "label": "waypoint_1"}, {"point_2d": [545, 637], "label": "waypoint_2"}, {"point_2d": [512, 696], "label": "waypoint_3"}, {"po
Vacant Goal Point
Q: Point to a valid empty spot at the target location for 'move the cloth to right side'.
A: ```json [{"point_2d": [471, 647], "label": "right side"}] ```
Object Grounding
Q: Point to the blue cloth.
A: ```json [{"point_2d": [310, 676], "label": "blue cloth"}] ```
Object Trajectory
Q: Given the task 'pick the blue cloth from the table', predict 8 ordered waypoints for the blue cloth.
A: ```json [{"point_2d": [335, 687], "label": "waypoint_1"}, {"point_2d": [520, 632], "label": "waypoint_2"}, {"point_2d": [576, 645], "label": "waypoint_3"}, {"po
BridgeData Task: 0 15923
Vacant Goal Points
Q: Given the task 'pick the blue cloth from the table', identify 6 valid points at the target location.
A: ```json [{"point_2d": [412, 649], "label": "placement_point_1"}, {"point_2d": [593, 929], "label": "placement_point_2"}, {"point_2d": [585, 418], "label": "plac
Vacant Start Points
Q: Given the task 'pick the blue cloth from the table', identify 6 valid free spots at table.
A: ```json [{"point_2d": [310, 676], "label": "vacant_start_point_1"}, {"point_2d": [428, 391], "label": "vacant_start_point_2"}, {"point_2d": [452, 932], "label":
Reverse Trajectory
Q: Given the task 'moved the green cloth on the upper part of the table', trace 8 ordered waypoints for the green cloth toward a free spot at upper part of the table.
A: ```json [{"point_2d": [448, 569], "label": "reverse_waypoint_1"}, {"point_2d": [463, 559], "label": "reverse_waypoint_2"}, {"point_2d": [496, 521], "label": "re
Vacant Start Point
Q: Given the task 'move the metal bowl from the front right corner to the left side of the table.', point to a free spot at front right corner.
A: ```json [{"point_2d": [609, 665], "label": "front right corner"}] ```
DROID Task: 0 21620
Object Grounding
Q: Identify the white board.
A: ```json [{"point_2d": [427, 626], "label": "white board"}] ```
Object Trajectory
Q: Given the task 'use the orange eraser to wipe the white board', trace 8 ordered waypoints for the white board.
A: ```json [{"point_2d": [270, 619], "label": "waypoint_1"}, {"point_2d": [344, 394], "label": "waypoint_2"}, {"point_2d": [423, 177], "label": "waypoint_3"}, {"po
Trajectory from Start
Q: Given the task 'remove the fleece blanket from the backrest of the chair', plan 8 ordered waypoints for the fleece blanket from [391, 696] to a valid position at floor.
A: ```json [{"point_2d": [391, 696], "label": "waypoint_1"}, {"point_2d": [337, 634], "label": "waypoint_2"}, {"point_2d": [273, 513], "label": "waypoint_3"}, {"po
Vacant Goal Point
Q: Point to a valid empty spot at the target location for 'remove the fleece blanket from the backrest of the chair'.
A: ```json [{"point_2d": [383, 781], "label": "floor"}] ```
DROID Task: 0 22972
Vacant Start Point
Q: Locate a free spot at backrest of the chair.
A: ```json [{"point_2d": [341, 699], "label": "backrest of the chair"}] ```
Reverse Trajectory
Q: Given the task 'remove the paper cup from the bottom shelf, put it on the table and then put the white plate in the bottom shelf of the cabinet', predict 8 ordered waypoints for the paper cup to reach a valid empty spot at bottom shelf.
A: ```json [{"point_2d": [643, 786], "label": "reverse_waypoint_1"}, {"point_2d": [649, 661], "label": "reverse_waypoint_2"}, {"point_2d": [662, 536], "label": "re
Vacant Goal Points
Q: Given the task 'move the orange towel to the backrest of the chair on the left then return it to the backrest of the chair on the right.', return 6 free points at the target location.
A: ```json [{"point_2d": [561, 778], "label": "placement_point_1"}, {"point_2d": [554, 636], "label": "placement_point_2"}, {"point_2d": [517, 888], "label": "plac
Vacant Start Points
Q: Given the task 'move the orange towel to the backrest of the chair on the left then return it to the backrest of the chair on the right.', identify 6 valid free spots at backrest of the chair on the left.
A: ```json [{"point_2d": [401, 639], "label": "vacant_start_point_1"}, {"point_2d": [326, 790], "label": "vacant_start_point_2"}, {"point_2d": [468, 782], "label":
DROID Task: 0 9288
Reverse Trajectory
Q: Given the task 'pick up the pen from the table and move it forward.', plan 8 ordered waypoints for the pen to move to an empty position at table.
A: ```json [{"point_2d": [623, 414], "label": "reverse_waypoint_1"}, {"point_2d": [635, 378], "label": "reverse_waypoint_2"}, {"point_2d": [650, 332], "label": "re
Open X-Embodiment Task: fractal 0 20993
Vacant Start Points
Q: Identify 6 valid empty spots at top drawer.
A: ```json [{"point_2d": [366, 656], "label": "vacant_start_point_1"}, {"point_2d": [469, 594], "label": "vacant_start_point_2"}, {"point_2d": [274, 576], "label":
Reverse Trajectory
Q: Given the task 'pick green rice chip bag from bottom drawer and place on counter', predict 8 ordered waypoints for the green rice chip bag to reach a valid empty spot at bottom drawer.
A: ```json [{"point_2d": [613, 219], "label": "reverse_waypoint_1"}, {"point_2d": [635, 242], "label": "reverse_waypoint_2"}, {"point_2d": [605, 354], "label": "re
Object Grounding
Q: Point to the green rice chip bag.
A: ```json [{"point_2d": [270, 680], "label": "green rice chip bag"}] ```
Object Trajectory
Q: Given the task 'pick green rice chip bag', plan 8 ordered waypoints for the green rice chip bag to move to a valid position at robot gripper.
A: ```json [{"point_2d": [282, 642], "label": "waypoint_1"}, {"point_2d": [300, 633], "label": "waypoint_2"}, {"point_2d": [336, 601], "label": "waypoint_3"}, {"po
Open X-Embodiment Task: fractal 0 62793
Vacant Goal Point
Q: Point to a valid empty spot at the target location for 'pick green rice chip bag'.
A: ```json [{"point_2d": [709, 249], "label": "robot gripper"}] ```
Vacant Goal Points
Q: Identify 6 valid points at the target location for 'pick green rice chip bag'.
A: ```json [{"point_2d": [429, 585], "label": "placement_point_1"}, {"point_2d": [782, 353], "label": "placement_point_2"}, {"point_2d": [166, 945], "label": "plac
Trajectory from Start
Q: Given the task 'pick green rice chip bag', starting from [308, 590], trace 8 ordered waypoints for the green rice chip bag toward a target spot at robot gripper.
A: ```json [{"point_2d": [308, 590], "label": "waypoint_1"}, {"point_2d": [299, 554], "label": "waypoint_2"}, {"point_2d": [308, 505], "label": "waypoint_3"}, {"po
Vacant Start Point
Q: Locate a free spot at top drawer.
A: ```json [{"point_2d": [497, 674], "label": "top drawer"}] ```

Failure Cases

Cases where SPARC selects the wrong object (IoU < 0.5). Includes high-confidence failures (R > 0.6) and low-confidence failures. Gray box = ground-truth annotation.

1 / 6
put the spoon to the right of the cloth
R=0.39 IoU=0.00
take the lid off the black pot and put it on the table
R=0.65 IoU=0.04
remove a cookie from the wooden cupboard
R=0.45 IoU=0.00
put cup from anywhere into sink
R=0.51 IoU=0.00
turn lever vertical to front
R=0.39 IoU=0.00
press the open button of the bin
R=0.62 IoU=0.00
move the pink thing from the utensil organizer to the washing machine
R=0.41 IoU=0.00
put the yellow object in the white cup and the orange object in the glass cup
R=0.43 IoU=0.00
release the curtain cord with the left arm
R=0.38 IoU=0.00
remove the wooden spoon from the cooker and put it on the counter
R=0.61 IoU=0.02

BibTeX

@inproceedings{sparc2026,
  title     = {{SPARC}: Reliable Spatial Annotations from Robot Demonstrations at Scale},
  author    = {Blank, Nils and Mattes, Paul and Li, Maximilian Xiling and Suliga, Jakub and Roth, Thomas and Reuss, Moritz and Vanjani, Pankhuri and Lioutikov, Rudolf},
  year      = {2026}
}