Generates synthetic tasks where multiple shapes are displayed. The goal is to identify and circle the leftmost shape.
Each sample pairs a task (first frame + prompt describing what needs to happen) with its ground truth solution (final frame showing the result + video demonstrating how to achieve it). This structure enables both model evaluation and training.
| Property | Value |
|---|---|
| Task ID | G-219 |
| Task | Select Leftmost Shape |
| Category | Spatiality |
| Resolution | 1024×1024 px |
| FPS | 16 fps |
| Duration | ~5.6 seconds |
| Output | PNG images + MP4 video |
# Clone the repository
git clone https://github.com/VBVR-DataFactory/G-219_select_leftmost_shape_data-generator.git
cd G-219_select_leftmost_shape_data-generator
# Install dependencies
pip install -r requirements.txt# Generate 100 samples
python examples/generate.py --num-samples 100
# Generate with specific seed
python examples/generate.py --num-samples 100 --seed 42
# Generate without videos
python examples/generate.py --num-samples 100 --no-videos
# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_output| Argument | Type | Description | Default |
|---|---|---|---|
--num-samples |
int | Number of samples to generate | 100 |
--seed |
int | Random seed for reproducibility | Random |
--output |
str | Output directory | data/questions |
--no-videos |
flag | Skip video generation | False |
Multiple shapes are shown. Circle the leftmost one. Do not change anything else.
![]() |
![]() |
![]() |
| Initial Frame Multiple shapes displayed |
Animation Red circle expands around leftmost shape |
Final Frame Leftmost shape circled |
Identify the shape with the leftmost position (minimum x-coordinate) among multiple shapes and circle it.
- Shape Count: Multiple shapes per image (typically 3-8)
- Shape Types: Various geometric shapes (circles, squares, triangles, polygons)
- Positioning: Shapes distributed across the canvas with varying horizontal positions
- Marking Method: Red circle expands around the leftmost shape
- Criterion: Leftmost determined by minimum x-coordinate (left edge or center)
- Unique Solution: Only one shape is leftmost per image
- Spatial reasoning: Tests ability to identify leftmost position along horizontal axis
- Position comparison: Requires comparing x-coordinates of multiple objects
- Shape-agnostic: Task focuses on position, not shape type
- Clear animation: Red circle smoothly expands around target shape
- Unambiguous answer: Only one shape occupies the leftmost position
- Visual clarity: Clean layout ensures easy position comparison
data/questions/select_leftmost_shape_task/select_leftmost_shape_00000000/
├── first_frame.png # Initial state (shapes without marking)
├── final_frame.png # Goal state (leftmost shape circled)
├── prompt.txt # Task instructions
├── ground_truth.mp4 # Solution video (16 fps)
└── question_metadata.json # Task metadata
File specifications: Images are 1024×1024 PNG. Videos are MP4 at 16 fps, approximately 5.6 seconds long.
spatial-reasoning position-identification leftmost-selection coordinate-comparison shape-selection directional-reasoning


