OctaTouch

ADR 0001: Use Eight Functional Channels Instead of Literal Finger Storage

Status

Accepted.

Context

The original OctaTouch concept mixed finger anatomy, operating system behaviour, and multi-archive storage. Encoding the data model around literal fingers would create confusion and brittle implementation assumptions.

Touch input varies across platforms:

A model tied to body parts cannot be ported across these surfaces without special-casing every platform in application code.

Decision

OctaTouch uses eight functional channels: L1, L2, L3, L4, R1, R2, R3, and R4.

The implementation lives in core/include/Types.h (Channel, ThumbModifier, ChannelArchive) and is exercised by tests/unit/smoke_test.cpp.

Consequences

Positive

Negative / Trade-offs