Skip to content
Richard Powell edited this page Jan 11, 2025 · 1 revision

Curves in CalChart.

A sheet can contain Curves. Curves are encoded as a set of points that represent Catmull-Rom points. That seems the most intuitive to use, with the understanding that when drawing we repeat the first and last point twice so the curve has specific end points.

A sheet can have as many curves as it needs.

A curve has a list of Marchers that are assigned to that curve. A Marcher can only be assigned to 1 curve.

When a curve changes the arrangement it will assign all the Marchers positions. The calculation is to calculate the total distance of the curve, and then set each marcher to be evenly split, with Marchers anchored at the beginning and End of the curve. If there is only 1 it would be at the beginning of the curve, if there are 2 it is beginning and End.

Marchers can be assigned to a curve or unassigned from a curve. When that occurs all the positions are recalculated.

There should be a special continuity to follow a curve. What that means is that the Marcher would start at one end and march to the other end over the number of beats.

Continuities that involve curves should make sure the curve is valid. You should not be able to delete a curve that is referenced by a continuity.

We should draw continuities as a series of points, with distinct ways of drawing the beginning and end. We should use squares to make it easy to tell the difference between the Marchers. Perhaps a filled in square for the start, open for the middle, open with x for the end.

You should be able to select a curve by clicking on a point and dragging it to manipulate it. pressing delete should remove that point.

Clicking on anywhere on the curve should select it. Dragging moves all the points. Delete removes all the points.

Clone this wiki locally