Take a look at the underlying Vega-Lite library (https://vega.github.io/vega-lite/) and the paper that introduces the grammar of interactions (https://idl.cs.washington.edu/papers/vega-lite/) for some insights into the design.
What specifically do you find unergonomic about the design of Altair?