def event_batch
import bendvy-ecs-core@0.1.0.4/reader_domains.bend as ReaderDomainsimport Base
import event_runtime.bend as Ev
57# Event cursors are publication ticks, not list offsets. Removing notice-only
58# batches therefore retains every real cursor/tick and the original dropped
59# boundary. Ev.run does not trim; retention is applied only by Ev.frame.
60def event_batch(~E: Data,~is_event: E -> Bool,+tick: Nat,filtered: List<&2,E> & List<&2,E>,rest: List<&2,Ev.Batch<E>>) -> List<&2,Ev.Batch<E>>:
61 match filtered:
62 case ([],_): rest
63 case (items,_): Ev.Batch{tick,items} <> rest