Generates synthetic datasets for training and evaluating vision models on sequential packing and ordering tasks. Each sample contains objects that must be placed into a container following a specific color-based sequence.
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-34 |
| Task | Object Packing |
| Category | Transformation |
| Resolution | 1024×1024 px |
| FPS | 16 fps |
| Duration | ~2 seconds |
| Output | PNG images + MP4 video |
# 1. Clone the repository
git clone https://github.com/VBVR-DataFactory/G-34_object_packing_data-generator.git
cd G-34_object_packing_data-generator
# 2. Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .# Generate 50 samples
python examples/generate.py --num-samples 50
# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_dataset
# Reproducible generation with seed
python examples/generate.py --num-samples 50 --seed 42
# Without videos (faster)
python examples/generate.py --num-samples 50 --no-videos| Argument | Description |
|---|---|
--num-samples |
Number of tasks to generate (required) |
--output |
Output directory (default: data/questions) |
--seed |
Random seed for reproducibility |
--no-videos |
Skip video generation (images only) |
The scene shows objects on the left side and a container on the right side. Place the objects into the container one by one in the color order: orange - green - red. Each object must be placed individually in the exact order specified, and all objects must end up inside the container.
![]() |
![]() |
![]() |
| Initial Frame Objects on left, empty container on right |
Animation Objects placed in color sequence order |
Final Frame All objects packed in container |
Place multiple objects into a container following a specific color-based ordering sequence.
- Objects: 2-5 colored shapes on left side
- Object size: Fixed size for all objects (8% of image size)
- Colors: 9 distinct colors (red, green, blue, yellow, purple, orange, pink, cyan, brown)
- Shapes: 7 shape types (circle, square, triangle, star, diamond, pentagon, hexagon)
- Container: Box or receptacle on right side
- Ordering constraint: Must place objects in specified color sequence
- Color sequence: Explicitly stated in prompt (e.g., "purple - red")
- Placement method: Move objects one at a time into container
- Sequential requirement: Each object placed individually before next
- Background: White with clear spatial separation
- Goal: All objects in container following correct color order
- Color-based sequential ordering
- Rule following and constraint satisfaction
- One-by-one placement (not simultaneous)
- Tests understanding of color identification and ordering
- Various color sequences for diversity
- Spatial reasoning (moving objects from left to right)
data/questions/object_packing_task/object_packing_00000000/
├── first_frame.png # Objects outside, empty container
├── final_frame.png # All objects packed in container
├── prompt.txt # Packing instruction with color sequence
├── ground_truth.mp4 # Animation of sequential packing
└── question_metadata.json # Task parameters and metadata
File specifications:
- Images: 1024×1024 PNG format
- Video: MP4 format, 16 fps
- Duration: ~2 seconds
logic-symbols sequential-reasoning color-ordering rule-following spatial-reasoning constraint-satisfaction


