{"push_id":917022446,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"f38529d67bce2afa4c46cb57c523376a3e285d92","before":"974a7dca05dc92cd0c73c0e1e14971474cfde764","commits":[{"sha":"22201783b53d9ae119c83d88348b42fc71c7740a","author":{"email":"366634280b879ce3c6c984f83d5675d046b04925@gmail.com","name":"William Chargin"},"message":"Mark git hooks as executable during setup","distinct":true,"url":"https://api.github.com/repos/WChargin/varese/commits/22201783b53d9ae119c83d88348b42fc71c7740a"},{"sha":"1a8656ffb0fe50bc6a64edd4baa60865a641f339","author":{"email":"366634280b879ce3c6c984f83d5675d046b04925@gmail.com","name":"William Chargin"},"message":"Begin implementation of StackedNoteInput\n\nSummary:\nThis is meant to be a functional, pure, stateless replacement\nfor the multiple `SingleNoteInput` components currently in use.\nThe wiring between those existing components\nconsists of a bunch of stateful manipulations\n(like the `takeStateFrom` method),\nwhich further span multiple components in the hierarchy\n(so the mutation isn't scoped within a single file).\nThis is sad, and makes testing hard, and should be fixed.\n\nThis commit adds a partial implementation of the existing behavior.\nSpecifically, it can render multiple inputs and modify them properly,\nand it supports moving one note above another note\n(which is the cause of most of the statefulness\nin the previous implementation).\nI think the only thing that's missing are the arrow key bindings\n(Up, Down, Shift-Up, and Shift-Down)\nfor nudging notes.\n\nThis includes comprehensive unit tests\nof both the DOM output and simulated user interactions.\n\nTest Plan:\nUnit tests included. Run `npm test`.","distinct":true,"url":"https://api.github.com/repos/WChargin/varese/commits/1a8656ffb0fe50bc6a64edd4baa60865a641f339"},{"sha":"8a97ac7b83cb3aab5c480ed3828efcfe9874992a","author":{"email":"366634280b879ce3c6c984f83d5675d046b04925@gmail.com","name":"William Chargin"},"message":"Separate event logic from updating logic\n\nTest Plan:\nRun `npm test`.","distinct":true,"url":"https://api.github.com/repos/WChargin/varese/commits/8a97ac7b83cb3aab5c480ed3828efcfe9874992a"},{"sha":"fe9d7026ca74c93c9d17b49e4e52329beeb06466","author":{"email":"366634280b879ce3c6c984f83d5675d046b04925@gmail.com","name":"William Chargin"},"message":"Implement arrow-key nudging on StackedNoteInput\n\nTest Plan:\nUnit tests included. Run `npm test`.","distinct":true,"url":"https://api.github.com/repos/WChargin/varese/commits/fe9d7026ca74c93c9d17b49e4e52329beeb06466"},{"sha":"f38529d67bce2afa4c46cb57c523376a3e285d92","author":{"email":"366634280b879ce3c6c984f83d5675d046b04925@gmail.com","name":"William Chargin"},"message":"Use new StackedNoteInput in TrichordView\n\nTest Plan:\nMake sure that\n\n  * you can edit the chord;\n  * the changes propagate reactively;\n  * the display respects viewOptions when not focused;\n  * the display always shows octaves when focused;\n  * the display rearranges notes properly\n    (e.g., you change the \"E4\" in \"C4, E4, G4\" to an \"E5\",\n    and it goes to the top and you stay focused);\n  * the display doesn't wipe out user text when rearranging notes\n    (e.g., in the above scenario\n    if you enter \"e5\" or \"d##5\" it's not changed to \"E5\");\n  * nudging by half-steps with the arrow keys works;\n  * nudging by octaves with the arrow keys works;\n  * nudging rearranges notes.\n\nThese should all be covered by unit tests for StackedNoteInput,\nso it's just the integration with TrichordView that's really under test.","distinct":true,"url":"https://api.github.com/repos/WChargin/varese/commits/f38529d67bce2afa4c46cb57c523376a3e285d92"}]}