Intent
Interfaces primarily exist for external users. It is a contract with users consuming your code. Including types needed by external users.
Problem
Custom error are currently buried in libraries. Meaning they're not easily accessible to external users. This makes it impossible for UI developers to have canonical access to those errors. They would have to reimplement those errors elsewhere, introducing the chance for errors, and making it difficult to adopt Compose as a framework.
Solution
Follow the industry standard of declaring errors in interfaces. You don't have to inherit those interfaces into facets. But at least having them present and using those errors in the libraries will ensure consistency while making them externally consumable.
Intent
Interfaces primarily exist for external users. It is a contract with users consuming your code. Including types needed by external users.
Problem
Custom error are currently buried in libraries. Meaning they're not easily accessible to external users. This makes it impossible for UI developers to have canonical access to those errors. They would have to reimplement those errors elsewhere, introducing the chance for errors, and making it difficult to adopt Compose as a framework.
Solution
Follow the industry standard of declaring errors in interfaces. You don't have to inherit those interfaces into facets. But at least having them present and using those errors in the libraries will ensure consistency while making them externally consumable.