Refactor Curriculum Attributes (#335)

* remove min_value from AttributeDefinition
* remove type from AttributeDefinition
* Add CurriculumContext
* add ensure_interval option for RangeAttributes
* docs: Add legend explaining curriculum indicators in dataset gallery
* update GALLERY.md
This commit is contained in:
Andreas Köpf 2025-03-16 15:40:28 +01:00 committed by GitHub
parent 4e7d9296ee
commit d2c895f1d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
101 changed files with 286 additions and 677 deletions

View file

@ -6,7 +6,7 @@ from typing import Any, Optional
from magiccube.cube import Cube, CubeMove, CubeMoveType
from magiccube.solver.basic.basic_solver import BasicSolver
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition, ScalarAttributeDefinition
from ..coaching import BaseCurriculum, RangeAttributeDefinition, ScalarAttributeDefinition
from ..factory import ProceduralDataset, register_dataset
@ -174,20 +174,15 @@ class RubiksCubeCurriculum(BaseCurriculum):
name="cube_size",
field_name="cube_size",
levels=[3, 4, 5, 6, 7],
default_level=0,
description="Board size",
attr_type=AttributeType.STATIC,
min_value=3,
),
RangeAttributeDefinition(
name="scramble_steps",
levels=[3, 10, 50, 100, 500, 1000],
default_level=1,
description="Number of random moves to scramble the cube",
attr_type=AttributeType.APPEND,
min_value=1,
lower_field_name="min_scramble_steps",
upper_field_name="max_scramble_steps",
ensure_interval=True,
),
)