| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| assets | ||
| bounds | ||
| components | ||
| judge | ||
| kits | ||
| lib | ||
| sextant | ||
| App.tsx | ||
| bounds.tsx | ||
| fonts.d.ts | ||
| index.css | ||
| judge.tsx | ||
| kits.tsx | ||
| main.tsx | ||
| sextant.tsx | ||
| tokens.css | ||
| tokens.json | ||
| types.gen.ts | ||
| types.ts |
`Deck.scheduleBar` mixed the decision (what plays, when) with the audio nodes, so the only rule in the rack with real musical consequence could not be tested without a browser. Extracted as `hitsInBar(voice, barIndex, bpm, swing, bufDur)`. The rule is that a bar-loop starts only on a bar that is a multiple of its own length. Break it and the rack still makes sound — it plays a 4-bar loop's bar 1 underneath the phrase's bar 4, so the groove turns around in the wrong place. That is not a crash, it is a musical wrongness you would find mid-set and probably blame on the sample. 11 cases, including the ones I would otherwise have got wrong: a negative bar index when the transport is nudged backwards, a phrase that runs past bar 8, a cleared cell at the second entry of a 4-bar loop, and the two asymmetries between the modes — a bar-loop is stretched to the DECK tempo (that is what layering means) while a chop never is (a stab is a stab at 90 or 174), and a chop is unconstrained by stride because it is sub-bar by definition. Confirmed the stride tests fail when the rule is disabled: 2 failed / 22 passed. Suite 13 → 24.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| assets | Loading commit data... | |
| bounds | Loading commit data... | |
| components | Loading commit data... | |
| judge | Loading commit data... | |
| kits | Loading commit data... | |
| lib | Loading commit data... | |
| sextant | Loading commit data... | |
| App.tsx | Loading commit data... | |
| bounds.tsx | Loading commit data... | |
| fonts.d.ts | Loading commit data... | |
| index.css | Loading commit data... | |
| judge.tsx | Loading commit data... | |
| kits.tsx | Loading commit data... | |
| main.tsx | Loading commit data... | |
| sextant.tsx | Loading commit data... | |
| tokens.css | Loading commit data... | |
| tokens.json | Loading commit data... | |
| types.gen.ts | Loading commit data... | |
| types.ts | Loading commit data... |