"""Data generation utilities for assembly constraint training data."""

from solver.datagen.analysis import analyze_assembly
from solver.datagen.dataset import DatasetConfig, DatasetGenerator
from solver.datagen.generator import (
    COMPLEXITY_RANGES,
    AxisStrategy,
    SyntheticAssemblyGenerator,
)
from solver.datagen.jacobian import JacobianVerifier
from solver.datagen.labeling import AssemblyLabels, label_assembly
from solver.datagen.pebble_game import PebbleGame3D
from solver.datagen.types import (
    ConstraintAnalysis,
    Joint,
    JointType,
    PebbleState,
    RigidBody,
)

__all__ = [
    "COMPLEXITY_RANGES",
    "AssemblyLabels",
    "AxisStrategy",
    "ConstraintAnalysis",
    "DatasetConfig",
    "DatasetGenerator",
    "JacobianVerifier",
    "Joint",
    "JointType",
    "PebbleGame3D",
    "PebbleState",
    "RigidBody",
    "SyntheticAssemblyGenerator",
    "analyze_assembly",
    "label_assembly",
]
