# Level Design Principles (Canonical)
This file is the single source of truth for level design rules.
## Non-Negotiable Rules
1. **Optimal shortest path rule (non-tutorial levels):**
- Level 1 may allow multiple solutions.
- Later levels may have tied optimal paths, but shortest optimal length must match `par`.
2. **Par equals optimal solution length:**
- `par` is not a suggestion.
- `par` must match solver-confirmed optimal move count.
3. **Over-par failure is required:**
- If the player exceeds `par`, the run fails.
- Failure mode: ice melts and player drowns (`WASTED` state).
4. **Meaningful choices at stops:**
- Most stopping points should present 2-3 plausible-looking options.
- Wrong options should fail by death, dead-end, or forced over-par route.
5. **Avoid repetitive solution feel:**
- Do not reuse the same movement signature across adjacent levels.
- Specifically avoid repeated simple zig-zag loops as the dominant pattern.
6. **Goal placement variety is mandatory:**
- Rotate through center, edge, alcove, and corner-adjacent protected goals.
- Do not cluster the same goal archetype in consecutive levels.
7. **Multi-quadrant traversal is expected:**
- Non-tutorial levels should traverse multiple quadrants (prefer all four).
- Tutorial is exempt.
8. **Mechanic progression must be clean:**
- New mechanics get an introduction tutorial on first use.
- Later levels combine mechanics in increasingly punishing ways.
9. **Warp behavior is fixed:**
- Stepping on a warp teleports to its pair.
- Warping ends the move immediately.
10. **Solver-verifiable quality bar:**
- Every level must be solvable.
- Every non-tutorial level must satisfy par-equals-optimal shortest length (ties allowed).
## De-prioritized / Not Required
1. Rigid direction quotas (for example exact U/D/L/R counts).
2. Fixed global minimum move counts when they hurt puzzle quality.
3. Mirrored/rotated template reuse as a primary generation strategy.
4. Hard requirement that all hazards are always hidden from every line of sight.
## Design Intent
The campaign should feel fair, clever, and punishing: players should lose because they made the wrong plan, not because rules were unclear.