30 lines
580 B
Markdown
30 lines
580 B
Markdown
|
|
# Design
|
||
|
|
|
||
|
|
## Context
|
||
|
|
|
||
|
|
Pattern module currently has 4 patterns with static offsets. Config maps digits 1-4.
|
||
|
|
|
||
|
|
## Goals / Non-Goals
|
||
|
|
|
||
|
|
**Goals:**
|
||
|
|
- Add 6 patterns with correct offsets.
|
||
|
|
- Extend default config digits 5-0.
|
||
|
|
|
||
|
|
**Non-Goals:**
|
||
|
|
- Pattern editor.
|
||
|
|
- Loading from files.
|
||
|
|
|
||
|
|
## Decisions
|
||
|
|
|
||
|
|
### D1: Pattern storage
|
||
|
|
- Add static offset arrays and entries in `patterns[]`.
|
||
|
|
|
||
|
|
### D2: Key mapping
|
||
|
|
- 5=Beacon, 6=Loaf, 7=Boat, 8=Tub, 9=R-pentomino, 0=Acorn.
|
||
|
|
|
||
|
|
### D3: Config enum
|
||
|
|
- Add `ACTION_SELECT_BEACON` etc. or refactor? Use new enum values for minimal change.
|
||
|
|
|
||
|
|
## Open Questions
|
||
|
|
|
||
|
|
None.
|