Sports and segments¶
reeln uses a generic segment model that adapts to any sport. Each sport defines a segment name, expected count, and optional default duration.
Built-in sports¶
Sport |
Segment name |
Count |
Duration (min) |
Directory example |
|---|---|---|---|---|
hockey |
period |
3 |
20 |
|
basketball |
quarter |
4 |
12 |
|
soccer |
half |
2 |
45 |
|
football |
half |
2 |
30 |
|
baseball |
inning |
9 |
– |
|
lacrosse |
quarter |
4 |
12 |
|
generic |
segment |
1 |
– |
|
How segments work¶
All internal APIs use
segment_number: int(1-indexed)The CLI accepts sport-specific terms:
reeln game segment 2processes the 2nd segment (period, quarter, half, etc.)Directory structure uses the sport’s segment name:
period-1/,quarter-1/,half-1/Segment count is a hint for validation — reeln warns if you exceed it but doesn’t block
Custom sports¶
You can register custom sports in your config file under the sports key:
{
"config_version": 1,
"sport": "rugby",
"sports": [
{
"sport": "rugby",
"segment_name": "half",
"segment_count": 2,
"duration_minutes": 40
}
]
}
Custom sport fields:
Field |
Type |
Description |
|---|---|---|
|
string |
Sport name (used in |
|
string |
What each segment is called |
|
integer |
Expected number of segments |
|
integer or null |
Default segment duration (null for variable) |
Custom sports override built-in entries if the name matches.