Release v2.14.0
Layout cell locked additions (one-tap combo buttons)
Summary
- Layout cells can lock Zusätze onto a single base article (
locked_addition_ids) for predefined POS variants. - Combo cells are one-tap: cart line gets locked additions at qty 1 with no Zusätze sheet (waiter + register).
- Grid disables a combo button when the base or any locked Zusatz is unsellable.
- Cloud admin cell dialog configures locked Zusätze when exactly one article and no vouchers are selected.
- Vouchers and classic multi-article cells are unchanged.
- OpenSpec change archived; main spec synced at
openspec/specs/layout-cell-locked-additions/.
Test plan
- Cloud backend:
tests/test_layout_cell_locked_additions.py - Cloud frontend: layouts payload + cell dialog specs
- Pi frontend: bundleHelpers + combo contract tests
- Lint / openspec validate
- Manual: create combo cell in event App-Layouts, sync Pi, one-tap add on register layout

