v1.1.1
New
- ETA column in the queue table, populated from a per-profile
eta_patternregex (capture group 1 = the ETA token). Renders asH:MM:SSto line up with the Time column.<1mbecomes0:00:00; unparseable tokens fall back to the raw text. - Time column ticks live at 1 Hz while a case is running — no need to switch to the Running tab to see the per-case clock.
- Mid-batch Add is supported now. The worker reads
self.scene_entrieslive, so cases queued during a batch fall under the cursor and run as part of the same batch instead of waiting for the next START / RESUME. The old "paste blocked while running" gate is gone.
Changes (potentially breaking config)
- Simulator profile field
step_markeris renamed tostep_patternand is now interpreted as a Python regex (re.search). Capture group 1, if present, is the display text. Migrate by renaming the key and escaping regex metacharacters — e.g. SPlisHSPlasH's literal[step]becomes"step_pattern": "\\[step\\]". CAMMP's"Processed layer "works unchanged. requirements.txt:textualminimum bumped from>=0.50to>=1.0because we lean on newer API (App.copy_to_clipboard,Strip.text,events.DescendantFocus,Static.text_selection).
Polish
- README: prebuilt-binary callout in Setup, dedicated Building binaries section explaining
build.batand PyInstaller quirks. test/fake_simulatoremits ETA tokens on every step line so the ETA column can be exercised;scene_long.jsonticks down from14h30mviaeta_per_step: 30.- Per-Add exe snapshot semantics (introduced in v1.1.0) documented more clearly in How it works.
Assets
batch_simu_tui.exe (~35 MB) and batch_simu_cli.exe (~12 MB) are Windows x64 onefile binaries — drop next to a config.json (copy of config.example.json) and run, no Python install needed. Screenshots are the same UI as v1.1.0 except for the extra ETA column.