You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description contributors typically have a place that they expect to appear in the description. Deterministic transcripts are one reason, but authors also probably have an order they'd like players to read in.
The text was updated successfully, but these errors were encountered:
This issue could really use some motivating use-cases. Why do we want some description components to come before others? The solution proposed by #67 got me thinking about this, because it includes both a comesBefore and a comesAfter attribute for description contributors, which can result in paradoxical / unresolvable orderings.
So: why do we want description elements to appear in order? Some orderings are just for aesthetic purposes: for example, the exits list typically comes at the end of the description, and players will probably tend to scan for it there.
But in other cases, description contributors might elaborate on previous elements in the description. The most basic example of this would be:
He is wearing a green shirt.
His shirt is on fire.
Garments, specifically, also want to do the thing described here where the garments description contributor removes certain elements from the "carrying" list as it describes them as "worn".
We don't want to go with an interface to this that involves selecting an arbitrary number; that's why #67 does the thing that it does, which is that it attempts to expose an interface based on relative position with respect to existing description elements. It would be possible to ensure that the order was resolvable if two other invariants held:
we support only one attribute, comesBefore or comesAfter
setting these attributes is done at class-definition time so that they have to be defined in a specific order.
Unfortunately, we have one use-case for comesAfter - elaborating on an existing description element - and one case for comesBefore - pre-empting the description of another object by a different contributor by removing it from paths before it can get to it. So, at this point, this needs some further design work.
Description contributors typically have a place that they expect to appear in the description. Deterministic transcripts are one reason, but authors also probably have an order they'd like players to read in.
The text was updated successfully, but these errors were encountered: