Generates synthetic tasks showing an analogy A:B :: C:? with shape style transformations (filled vs outlined). The goal is to apply the same style change from A to B to shape C.
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 | O-10 |
| Task | Shape Outline Fill |
| Category | Abstraction |
| Resolution | 1024×1024 px |
| FPS | 16 fps |
| Duration | ~3.8 seconds |
| Output | PNG images + MP4 video |
# Clone the repository
git clone https://github.com/VBVR-DataFactory/O-10_shape_outline_fill_data-generator.git
cd O-10_shape_outline_fill_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 |
Complete the A:B :: C:? shape-style analogy. Show how the right shape in the second row changes its fill or outline so that it follows the same style transformation used between the first two shapes.
![]() |
![]() |
![]() |
| Initial Frame Analogy A:B :: C:? with style rule |
Animation Shape C changes style (filled/outline) |
Final Frame Style rule applied to C |
Infer the style transformation (filled to outline, or outline to filled) from A to B in the analogy, then apply the same style change to shape C.
- Analogy Format: A:B :: C:? with four positions
- Top Row (Rule): Shows shape A and its style-changed version B
- Bottom Row (Query): Shows shape C and unknown answer ?
- Style Types: Filled (solid interior) or Outlined (hollow with border) - this generator modifies the style parameter (fill/outline properties) of shapes while keeping all other properties (shape type, color, size, position, rotation) unchanged
- Style Inference: Determine style change from A to B
- Rule Application: Apply same style transformation to C
- Analogical reasoning: Understanding A:B :: C:? relationship pattern
- Style recognition: Distinguishing between filled and outlined shapes
- Rule extraction: Identifying the style transformation from example
- Rule application: Applying inferred style change to new shape
- Shape preservation: Only style changes, shape geometry remains unchanged
- Abstract reasoning: Generalizing style transformation across different shapes
- Large-scale diversity: 20 distinct shapes, 40 transformation types, and 400 colors for extensive variety (6M+ unique combinations)
data/questions/shape_outline_fill_task/shape_outline_fill_00000000/
├── first_frame.png # Initial state (analogy with query)
├── final_frame.png # Goal state (query shape with new style)
├── prompt.txt # Task instructions
├── ground_truth.mp4 # Solution video (16 fps)
└── question_metadata.json # Task metadata (objects, transformations, etc.)
File specifications: Images are 1024×1024 PNG. Videos are MP4 at 16 fps, approximately 3.8 seconds long.
analogical-reasoning style-transformation visual-analogy fill-outline shape-style abstract-reasoning pattern-matching


