Fix config loading, speed thresholds and block selection; add tests, README, CLAUDE.md

This commit is contained in:
Anry Das
2026-10-14 08:22:43 +03:00
parent 85a233f33c
commit d36037c88e
13 changed files with 638 additions and 38 deletions
+163
View File
@@ -0,0 +1,163 @@
{
"ADDITIONAL_BLOCKS": {
"__type__": "EnumClass",
"name": "BlockType",
"members": {
"D": {
"name": "Dot",
"color": [255, 255, 100],
"min_score": 3500,
"shapes": [
[[1]]
]
},
"U": {
"name": "U-Shape",
"color": [135, 135, 135],
"min_score": 4500,
"shapes": [
[[1, 0, 1], [1, 1, 1]],
[[1, 1], [1, 0], [1, 1]],
[[1, 1, 1], [1, 0, 1]],
[[1, 1], [0, 1], [1, 1]]
]
},
"T1": {
"name": "T-Shape+",
"color": [0, 200, 255],
"min_score": 10000,
"shapes": [
[[1, 1, 1], [0, 1, 0], [0, 1, 0]],
[[0, 0, 1], [1, 1, 1], [0, 0, 1]],
[[0, 1, 0], [0, 1, 0], [1, 1, 1]],
[[1, 0, 0], [1, 1, 1], [1, 0, 0]]
]
},
"U1": {
"name": "U-Shape+",
"color": [255, 150, 0],
"min_score": 10000,
"shapes": [
[[1, 1, 1], [1, 0, 1], [1, 0, 1]],
[[1, 1, 1], [1, 0, 0], [1, 1, 1]],
[[1, 0, 1], [1, 0, 1], [1, 1, 1]],
[[1, 1, 1], [0, 0, 1], [1, 1, 1]]
]
},
"X": {
"name": "X-Shape",
"color": [50, 150, 100],
"min_score": 15000,
"shapes": [
[[0, 1, 0], [1, 1, 1], [0, 1, 0]]
]
},
"Cn": {
"name": "Corner",
"color": [15, 180, 180],
"min_score": 5000,
"shapes": [
[[1, 0], [1, 1]],
[[1, 1], [1, 0]],
[[1, 1], [0, 1]],
[[0, 1], [1, 1]]
]
},
"CN": {
"name": "Corner+",
"color": [15, 15, 180],
"min_score": 4000,
"shapes": [
[[1, 0, 0], [1, 0, 0], [1, 1, 1]],
[[1, 1, 1], [1, 0, 0], [1, 0, 0]],
[[1, 1, 1], [0, 0, 1], [0, 0, 1]],
[[0, 0, 1], [0, 0, 1], [1, 1, 1]]
]
},
"W": {
"name": "Dabl",
"color": [180, 25, 230],
"min_score": 15000,
"shapes": [
[[1, 0, 0], [1, 1, 0], [0, 1, 1]],
[[0, 1, 1], [1, 1, 0], [1, 0, 0]],
[[1, 1, 0], [0, 1, 1], [0, 0, 1]],
[[0, 0, 1], [0, 1, 1], [1, 1, 0]]
]
},
"Z1": {
"name": "Zet",
"color": [170, 25, 130],
"min_score": 25000,
"shapes": [
[[1, 1, 0], [0, 1, 0], [0, 1, 1]],
[[0, 0, 1], [1, 1, 1], [1, 0, 0]]
]
},
"I2": {
"name": "Line2",
"color": [50, 25, 60],
"min_score": 25000,
"shapes": [
[[1, 1]],
[[1], [1]]
]
},
"P": {
"name": "P",
"color": [240, 170, 40],
"min_score": 30000,
"shapes": [
[[1, 1], [1, 1], [1, 0]],
[[1, 1, 1], [0, 1, 1]],
[[0, 1], [1, 1], [1, 1]],
[[1, 1, 0], [1, 1, 1]]
]
},
"F": {
"name": "F",
"color": [135, 110, 65],
"min_score": 30000,
"shapes": [
[[0, 1, 1], [1, 1, 0], [0, 1, 0]],
[[0, 1, 0], [1, 1, 1], [0, 0, 1]],
[[0, 1, 0], [0, 1, 1], [1, 1, 0]],
[[1, 0, 0], [1, 1, 1], [0, 1, 0]]
]
},
"S1": {
"name": "S1",
"color": [240, 110, 20],
"min_score": 30000,
"shapes": [
[[1, 0], [1, 0], [1, 1], [0, 1]],
[[0, 1, 1, 1], [1, 1, 0, 0]],
[[1, 0], [1, 1], [0, 1], [0, 1]],
[[0, 0, 1, 1], [1, 1, 1, 0]]
]
},
"L1": {
"name": "L1",
"color": [45, 95, 175],
"min_score": 30000,
"shapes": [
[[1, 0], [1, 0], [1, 0], [1, 1]],
[[1, 1, 1, 1], [1, 0, 0, 0]],
[[1, 1], [0, 1], [0, 1], [0, 1]],
[[0, 0, 0, 1], [1, 1, 1, 1]]
]
},
"F1": {
"name": "F1",
"color": [240, 230, 60],
"min_score": 0,
"shapes": [
[[0, 1], [1, 1], [0, 1], [0, 1]],
[[0, 0, 1, 0], [1, 1, 1, 1]],
[[1, 0], [1, 0], [1, 1], [1, 0]],
[[1, 1, 1, 1], [0, 1, 0, 0]]
]
}
}
}
}