johnwdubois / rezonator

Rezonator: Dynamics of human engagement
35 stars 2 forks source link

Right Justification #315

Closed johnwdubois closed 4 years ago

johnwdubois commented 5 years ago

Is your feature request related to a problem? It is useful to let the player/user play with justification, by defining which margin acts as an attractor for words:

Instead of assuming that words are always pulled to the left margin (to eliminate a whitespace or Void to their left), sometimes it makes sense to visualize words as being pulled toward the right margin.

Describe the solution you'd like

  1. Allow the user to "right-justify" the words in the Main screen, by pressing "j" (which cycles through several different justification options).
  2. In right-justification, the right margin acts as an attractor, so that all the words in a line tend to "fall" (or "get pushed") toward the right margin.
  3. When the user specifies right-justification (when "j" is pressed repeatedly):
    • the last word of every line appears in the rightmost column of the Main screen
    • the second to last word of every line appears in the second-to-last column
    • and so on, so that...
    • the first word of every line shows a "ragged left" -- because lines have different numbers of words, their first words do not all appear automatically in the same column.
  4. For some Rezzles, using a right-justified line (with words attracted to the right margin) can make a Rez win possible.

Screenshot The following Rezzle shows where using a right-justified line would yield a quick Rez win.

  1. In SBC001, do a search for "hooves". Make a link between all the tokens of "hooves" (using Rez link or Track link, whatever works).
  2. Switch to the main screen and filter on this chain.
  3. Try to make the obvious Rez links ("dead horse hooves" etc).
  4. Notice that having the right-justification option would make it possible to use QuickLinks to get a Rez win. But with left-justification, this is not possible.
Rezzle SBC001_452 - right justify - dead hooves

There are many such cases where right justification would score a Rez win. Why? Because it allows the player to focus on the last phrase in the dialogue, which is where a shared topic is often found.

Implications for Box Score The VOID changes significantly, if the Player invokes right-justification. Essentially, this involves revisiting the code that pushes words to the left and eliminates voids between words. The idea is to generalize this code, so that, while it still serves to eliminate voids between words, it doesn't always involve pushing words to the left. Instead, it sometimes pushes words toward the right margin. The attractor is what matters, wherever that may be:

Additional context This is related to Justification #85 , and to the concept of Spine as an attractor #94.

Georgio-Klironomos commented 4 years ago

Right justification within the Main Screen is implemented, next it will be user tested.

Georgio-Klironomos commented 4 years ago

@johnwdubois User testing found right justification (sans chain alignment) to be functional and relatively intuitive. One moment of confusion was caused by the help menu listing Justify next to the wrong key, but I will update that in the help menu.