1.4 KiB
1.4 KiB
ADR 0001: LCD Expression and Presentation Ownership
Status
Accepted
Context
LCD behavior now needs multiple reusable expressions that can be triggered by different runtime conditions. The system must keep semantic expression ownership separate from low-level LCD playback so future expressions can be added without copying cross-layer contracts or coupling orchestration code to asset paths.
Decision
domainowns LCD expression semantics and declaresdomain_expression_*incomponents/domain/include/domain.h.control_planeowns trigger policy: it decides when a runtime condition requests a semantic expression.platformowns LCD presentation playback primitives and declaresplatform_lcd_presentation_*incomponents/platform/include/platform.h.- Domain runtime adapters map semantic expressions to platform presentation requests.
- Platform LCD internals serialize presentation requests and perform all panel drawing inside the LCD render task.
Consequences
- Adding a new expression requires a domain expression ID and catalog mapping, plus an optional control-plane trigger rule.
- Public upper-layer facades must not expose platform playback types.
- Platform public APIs must not expose domain semantic expression IDs.
- High-priority expressions can interrupt lower-priority presentations without leaking policy logic into the LCD driver.