6 .Nd Visualize quivers with SDL
18 is a graphical program to interact with quivers. It is similar to
19 Keller's Java applet, which is published at
20 https://webusers.imj-prg.fr/~bernhard.keller/quivermutation/ , though
22 handles extensions such as half-weight edges and fat vertices.
26 Be verbose: print a message to stdout whenever a quiver is altered.
27 This is the closest you'll get to an undo/redo feature.
31 which is of the format written by
35 If this option is not provided, a rather uninteresting default quiver is loaded.
40 is running, it constantly displays the current quiver. Hovering
41 over a vertex or an edge will display relevant information in the
44 For convenience, edges are classified by color into three types, depending
45 on the specific edge weights they represent.
49 A black edge from vertex
54 .Dl ε_{ij} = ± d_{j} / GCD(d_{i}, d_{j})
55 .Dl ε_{ji} = ∓ d_{i} / GCD(d_{i}, d_{j})
56 where the signs are determined by the arrow's direction.
58 A gray edge has half the edge weights that it would have if it were black.
60 A red edge has any other weights. In general, red edges are rare during
65 The following controls are available. To cancel an action when input is
70 Clicking and dragging a vertex will reposition it onscreen. Clicking
71 and dragging empty space will reposition the entire quiver.
77 .Pc at a vertex, press
79 then click on the vertex.
81 To create a new vertex, press
83 then click where it should be placed. You will probably want to rename
87 To delete an edge or a vertex, press
89 then click the edge or vertex which should be deleted.
92 .Pq create a black edge if no edge is present, or add to an edge if one is present
93 between two vertices, press
95 then click the start and end vertices.
101 To increase the fatness of a vertex, press
103 then click the vertex. This may change how edges of that vertex are
104 calculated. The maximum fatness is system-dependent but
106 things tend to happen with low fatness.
110 but the vertex's fatness is decreased. The minimum fatness is 1.
112 To rename a vertex, press
114 then click the vertex to be renamed. The new name will be prompted
115 for. If the system has a unicode-compatible IME, entering unicode
116 characters should work without issue.
118 To change the color of a vertex, press
120 then click the vertex. The color will then be prompted for. The
121 following graphical color choosers are known and probed for
135 If none is found, the user may enter a color, in the form
141 are hexadecimal digits.
142 .It Shift+m/v/d/e/h/f/g/r
143 Holding shift while pressing one of the above buttons causes the
144 action to loop until explicitly terminated. For example, pressing
146 then clicking a sequence of 9 vertices will mutate at that sequence
147 more conveniently than pressing
151 To save the current quiver, press
153 Depending on which packages are installed on the system, the filename
154 will be prompted for in one of a few ways. The following graphical file
155 choosers are known and probed for
169 If none is found, the filename will be prompted for onscreen. This prompt
170 is rather primitive, however.
173 .Pq and to discard the current quiver ,
176 A file will be prompted for in the same manner as the save dialog.
179 Example quivers may have been installed along with this program,
181 .Pa /usr/share/clav/ .
186 Edge weights are, for performance reasons
188 .Xr clav-mutation-find 1
189 .Pc , stored as fractions with
190 numerator and denominator in system-dependent ranges. While it probably
191 will not be an issue for
193 usage, causing edge weights to increase arbitrarily will eventually cause
195 to compute an unrepresentable edge weight
196 .Pq for example, 1/257 might be unrepresentable .
199 will not perform the mutation, rather than display incorrect
202 .An S. Gilles Aq Mt sgilles@math.umd.edu