Skip to content

Makes the live datamodel pane follow the scrubber - #189

Merged
johnnyt merged 1 commit into
mainfrom
sui-25h-live-datamodel-pane-follows-scrubber
Oct 11, 2026
Merged

johnnyt merged 1 commit into
mainfrom
sui-25h-live-datamodel-pane-follows-scrubber

Conversation

@johnnyt

@johnnyt johnnyt commented Oct 11, 2026

Copy link
Copy Markdown
Member

Refs: sui-25h

What

The live inspector's scrubber (StatifierUI.Kino.inspect/3) moved the diagram, the selection note and the event log to a selected macrostep, while its datamodel pane kept folding the whole stream and showed the live tip's values. Whether the pane should follow was ruled by the operator, 2026-10-10: the pane follows the scrubber, a test pins it, and the notebook note says so.

  • StatifierUI.Kino.Updater's render passes the pane the same options the note, diagram and log panes already read, so StatifierUI.Inspector.datamodel/2 folds under the current selection. On a selected macrostep the pane shows the values as they stood at the end of that macrostep; on Live it shows the current values, byte-identical to what it rendered before. The persisted stepper (StatifierUI.Kino.TraceStepper) already did this.
  • The Kino moduledoc's scrubber section says the buttons move the diagram and the datamodel explorer.
  • notebooks/inspector.livemd, step 6: the paragraph that said the explorer does not move with the scrubber now says it does, and what to expect at |< First and on Live.
  • changelog.d/sui-25h.md, Changed: "The live inspector's datamodel pane (StatifierUI.Kino.inspect/3) follows its scrubber: on a selected macrostep it shows the values as they stood at the end of that macrostep, and Live returns it to the current values."

Nothing else the inspector answers changes: every StatifierUI.Inspector function is untouched, and the pane's output at the live tip is what it was.

Test

A new describe in test/statifier_ui/kino_test.exs drives the updater over a live session on the test module's counter chart (its datamodel moves on every event), scrubs to First and back to Live, and compares the text the datamodel frame holds with Inspector.datamodel/2 at macrostep 1 and at the tip; the two readings differ, so the frame can only match one of them.

Sabotage (recorded above the test): the updater's datamodel render was put back to Inspector.datamodel/1 with no options in a copy-backed file; the new test failed on its first frame assertion, the pane showing the tip's count where the first macrostep's was expected, and the file's other tests passed. The file was restored byte-equal and recompiled before the gate.

Provenance

  • notebooks/inspector.livemd, step 10: its first item said the stepper's datamodel pane moves "unlike step 6", which this change makes false; it now reads "as in step 6". The brief named only step 6's paragraph.

Gate

Full mix quality green on this head, attested by mix quality.verify.

Review

Cold tier: this PR changes a documented live behaviour, so the review pass is dispatched separately. No record text in this PR.

The live inspector's scrubber moved the diagram, the note and the event
log to a selected macrostep, while its datamodel pane kept folding the
whole stream. The updater now hands the pane the same selection the
other panes read, so on a selected macrostep it shows the values as
they stood at the end of that macrostep, and Live returns it to the
current values - as the persisted stepper already did.

A test drives the updater over a chart whose datamodel moves and reads
the rendered pane at First and at Live. The notebook's scrubber step
and the Kino moduledoc say the pane follows; a Changed fragment carries
the host-facing line.

Refs: sui-25h
@johnnyt
johnnyt force-pushed the sui-25h-live-datamodel-pane-follows-scrubber branch from 6b68558 to e6eca1d Compare October 11, 2026 14:54
@johnnyt
johnnyt merged commit 6bcb325 into main Oct 11, 2026
1 check passed
@johnnyt
johnnyt deleted the sui-25h-live-datamodel-pane-follows-scrubber branch October 11, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant