Low-level dance input #2

Open
opened 2024-07-01 18:16:22 -04:00 by perelman · 0 comments
Owner

Currently dances have to be specified using ContraDB's libfigure format. The logic to convert this to contra-renderer's internal format that specifies explicitly where all of the dancers are is proving difficult. Additionally, supporting every contra move in existence is an unreasonable goal, especially as choreographers may invent new moves.

As a work-around, the input should be an extended version of the libfigure format allowing explicitly specifying the low-level interpretation for each move. libfigure already has a "custom" move option as an escape from its restrictions, and we want to be able to include this information as a clarification/override on known moves, so it should be an additional property parallel to "parameter_values" that is a list of LowLevelMove (or maybe something with only a subset of those properties? Just beats, movementPattern, and startPosition/endPosition?).

Then when interpreting a dance, if explicit LowLevelMoves are found, use those instead of trying to interpret the move.

One complication here is that this effectively makes LowLevelMove a public API, so its design may need some consideration.

Currently dances have to be specified using ContraDB's `libfigure` format. The logic to convert this to `contra-renderer`'s internal format that specifies explicitly where all of the dancers are is proving difficult. Additionally, supporting every contra move in existence is an unreasonable goal, especially as choreographers may invent new moves. As a work-around, the input should be an extended version of the `libfigure` format allowing explicitly specifying the low-level interpretation for each move. `libfigure` already has a `"custom"` move option as an escape from its restrictions, and we want to be able to include this information as a clarification/override on known moves, so it should be an additional property parallel to `"parameter_values"` that is a list of `LowLevelMove` (or maybe something with only a subset of those properties? Just `beats`, `movementPattern`, and `startPosition`/`endPosition`?). Then when interpreting a dance, if explicit `LowLevelMove`s are found, use those instead of trying to interpret the move. One complication here is that this effectively makes `LowLevelMove` a public API, so its design may need some consideration.
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: perelman/contra-renderer#2
No description provided.