some renaming of variables
All checks were successful
Build, test and publish / verify (push) Successful in 5m55s

This commit is contained in:
2026-11-03 12:58:15 +01:00
parent a7f7730ea0
commit 3a5203eb47
17 changed files with 98 additions and 54 deletions

View File

@@ -16,11 +16,11 @@ See [validation evidence](../../docs/s18-validation.md) and
- A show consists of dayparts and can span multiple dates, typically two days.
All counts below apply across the entire show, not separately per date.
- Each show has one configurable integer `x`, between 1 and the number of
- Each show has one configurable integer `preferredDayParts`, between 1 and the number of
dayparts inclusive. Its default is 2, or 1 for a one-daypart show.
- This replaces the existing configurable appearance counts per group type.
- A show without dayparts can be stored but cannot be scheduled.
- If reducing the number of dayparts makes `x` invalid, require the user to
- If reducing the number of dayparts makes `preferredDayParts` invalid, require the user to
correct it before scheduling again; do not silently change it.
- Groups without dancers are excluded from scheduling and from all performance
counts and showcase-position requirements.
@@ -28,9 +28,9 @@ See [validation evidence](../../docs/s18-validation.md) and
## Required group appearances
- Each nonempty REGULAR, SELECTION and PRE_EDUCATION group performs in exactly
`x` distinct dayparts, once within each selected daypart.
`preferredDayParts` distinct dayparts, once within each selected daypart.
- Each nonempty PRE_SCHOOLER group performs exactly once in the complete show,
regardless of `x`. At most two such groups are expected. They can be assigned
regardless of `preferredDayParts`. At most two such groups are expected. They can be assigned
freely to dayparts; no additional placement restriction applies.
- Each nonempty SHOW_CASE group performs exactly once in every daypart.
- With at least two showcase groups, each daypart starts with one showcase and
@@ -42,12 +42,12 @@ See [validation evidence](../../docs/s18-validation.md) and
## Dancer participation and coaches
- A dancer without a showcase membership performs in at most `x` distinct
- A dancer without a showcase membership performs in at most `preferredDayParts` distinct
dayparts across the complete show. This is a hard constraint.
- A showcase participant necessarily performs in all dayparts. Their other
group performances may span more than `x` dayparts, but this is undesirable.
group performances may span more than `preferredDayParts` dayparts, but this is undesirable.
- For each non-coach showcase participant, count the distinct dayparts in which
they perform outside showcases. Their excess is `max(0, count - x)`.
they perform outside showcases. Their excess is `max(0, count - preferredDayParts)`.
Minimize the sum of these excesses as the first optimization priority.
- A person dancing in several groups must use the same dancer registration in
every group, including when accompanying preschoolers. Up to five group