johnwdubois / rezonator

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

Box #205

Closed johnwdubois closed 5 years ago

johnwdubois commented 5 years ago

Is your feature request related to a problem? It's useful to be able to create a box around a group of words (for example, to show which words are in the Core of a Clique).

Describe the solution you'd like Create a new brush called Box. The user selects this brush, and then:

  1. Drag the mouse down diagonally from one word (the dragStartWord, for example upper left corner) to another word (lower right corner), and release. (This is the same gesture as for QuickLinks; the difference is which brush has been selected.)
  2. This creates a rectangular box around the enclosed words. The box can be drawn as a line or a background color (say, a transparent light gray, which can blend with other colors such as the stack color).
  3. If possible, use the SnapToGrid strategy described in #218 .
  4. As with QuickStack and QuickLink, the Box only applies to lines that were visible (not filtered) when it was created.
  5. The information needed to represent the Box is:
    • a list of units or lines in the Box (similar to a Stack)
    • BoxStartWord = word in upper left of rectangle
    • BoxEndWord = word (or cell?) in lower right of triangle
  6. The Box can be treated as a special kind of Stack, which has a BoxStartWord and BoxEndWord (in addition to the usual list of lines).
  7. The list of Boxes can be written in a new Box grid, or in the same grid as the Stacks.

Additional context This can be implemented fairly easily by re-using techniques borrowed from QuickStack #25 and QuickLink #172 , and especially to SnapToGrid #222; see also #218 .

johnwdubois commented 5 years ago

We need a way to select and delete (or select and modify) a Box and/or Chunk.

Georgio-Klironomos commented 5 years ago

Adding the functionality to modify a box makes me wonder: should we give chunks a spot in the panel pane, alongside the rez/track/stack lists?

Georgio-Klironomos commented 5 years ago

Using the Box brush, a user is now able to select and focus on Chunks they have made. If a Chunk is focused and [delete] is pressed, the Chunk will be deleted. and removed from any chains it was in.

johnwdubois commented 5 years ago

Adding the functionality to modify a box makes me wonder: should we give chunks a spot in the panel pane, alongside the rez/track/stack lists?

Hm, maybe. Or it may be best to use the Pick/Filter approach to find the Chunks that belong to a particular Track chain, etc.

johnwdubois commented 5 years ago

Box is intended as a versatile strategy that gets reused in more than one Brush. Thus the uses of Box are intended to go beyond just making Chunks. In addition to marking Chunks (using the "Chunk" brush to create a 1-line Box), we will want to have a "Box Score" (or " "Box & Send") function/brush to mark multi-line diagraphs, before scoring them. This is triggered by using a multi-line version of Box to mark a rectangle with a first and last column, as well as first and last line).
See https://github.com/johnwdubois/rezonator/issues/135#issue-402584429