| 141616 | bitmap = _.filter, mask = bitmap.mask; // exit early if no relevant filter changes |
| 141617 | if ((mask & ignore) === 0) return pulse.StopPropagation; |
| 141618 | const output = pulse.fork(pulse.ALL), data = bitmap.data(), curr = bitmap.curr(), prev = bitmap.prev(), pass = (k)=>!(curr[k] & ignore) ? data[k] : null; // propagate all mod tuples that pass the filter |
| 141619 | output.filter(output.MOD, pass); // determine add & rem tuples via filter functions |
| 141620 | // for efficiency, we do *not* populate new arrays, |
| 141621 | // instead we add filter functions applied downstream |