Latest Results
Merge more visualization changes (#2818)
- **set up new HIR traversal**
- **checkpoint control flow logic**
- **update it all**
- **design-docs v1**
- **move stuff around**
- **more update**
- **keep going**
- **plans 1-3**
- **clean up test pipeline**
- **delete mmd files**
- **fix broken files**
- **more testing**
- **updates**
- **AnnotatedStatement -> HeaderContextStart**
- **HeaderContextEnter**
- **new control flow logic**
- **use indexmap**
- **move baml-graphs files over**
- **add tests**
- **more test**
- **test runner changes**
- **fix edge bookkeeping**
- **update snapshots**
- **wip migrating old code to sdk**
- **test runner migrated**
- **node id changed**
- **all flatten passes implemented**
- **apply flattening passes**
- **things**
- **checkpoint**
- **function click fix**
- **remove logs**
- **fix test panel atom states**
- **prep for wasm refactor**
- **checkpoint, everything works with new types**
- **migrate more atoms to new interfaec**
- **fix files atom bug**
- **fix test not scrollintoview working**
- **cleanup**
- **use new type FunctionWithCallGraph**
- **checkpoint, fixing tests, premerge**
- **unify uis WIP**
- **cleanup**
- **commit debug panel**
- **flatten efore return**
- **fix more issues**
- **fix selection1**
- **checkpoint, working integration1**
- **fix selection bug**
- **new debug panel with ifs**
- **arrow pointer thing**
- **tweak**
- **merge and fix conflict**
- **proper merge**
- **flatten if conditions, wire up the wasm graphs to typescript**
- **selection bugs, hacks and hacks**
- **fix BranchArm hoisting**
- **rename step 2 to hoist branch arms**
- **inline implicit nodes**
- **inlining i think works now**
- **synthesize else nodes for bare ifs**
- **add test**
- **undo TS changes**
- **revert more changes**
- **clippy and tests**
- **test scaffolding**
- **snapshot rendering in webapp works**
- **viewer is simpler**
- **baml-viz-events created, test runner is simpler**
- **events**
- **unused jsonl files**
- **first pass ai implementation**
- **events show up in the test ui now**
- **delete lexical id**
- **delete lexical id, finished**
- **vizstatereducer produces an event stream**
- **discarded unnecessary data**
- **delete unused fields**
- **remove VizExecHeader**
- **remove WatchNotification::Block**
- **finish removing WatchNotification::Block**
- **make VizStateReducer multi-fn aware**
- **VizStateReducer internals**
- **VizStateReducer output looks good now**
- **no free functions**
- **empty**
- **fix bad merge conflict in build_expr_wasm_function**
- **fix bad merge conflict in build_expr_wasm_function**
- **plumb VizStateReducer into wasm**
- **checkpoint wasm**
- **create WatchEventReducer**
- **everything thru watcheventreducer**
- **drop js_notification.value, everything goes thru
js_notification.state_updates**
- **clean up wiring on the outside**
- **clean up more wiring**
- **rename lexical_id to log_filter_key**
- **make the example less trivial**
- **less trivial demo**
- **get rid of lexicalNodeId**
- **nodeId is now the canonical key, not logFilterKey**
- **one more lexicalNodeId**
- **state update flattening**
- **delete a bunch of bad code**
- **added fiddle demo to the mermaid sandbox examples**
- **purge RichWatchNotification**
- **add another example**
- **restore variable.update execution logs**
- **add another straightline test**
- **add more tests**
- **it works now lfgooooo**
- **forgot to push**
- **code review**
- **Fix states, clicking**
- **style tweaks**
- **Add some BS iteration stuff (pls delete it cause it doesnt work),
branch out from sam/graphs4**
- **thingy**
- **fix styles**
- **horizontal vs vertical**
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Simplifies the execution log UI, adds a graph layout flip control and
loop-iteration tracking, and normalizes node IDs to strings across
WASM/runtime/TS with navigation/panning tweaks.
>
> - **Frontend (Playground)**:
> - **Execution Log Panel**: Simplifies cards (no success icon/exit
cards), uses header depth for indent, adds "Variables only" filter,
lighter visuals, extra bottom padding.
> - **Graph View**: Adds layout flip control (vertical/horizontal),
disables zoom-on-double-click, improves pan-to-node timing and deadzone
(faster animation), updates nodes when loop iterations change, minor
icon/style tweaks (diamond branch icon rotation).
> - **Group/Diamond Nodes**: Subtle state-based label borders, running
spinner, and iteration badge on groups.
> - **Preview Toolbar**: Tightens header height.
> - **SDK/State**:
> - Adds loop iteration tracking (`nodeIterationAtomFamily`,
`allNodeIterationsAtom`, `loopOrdinalsAtom`) and clear API; SDK clears
node states and iterations on test runs.
> - Exposes iteration hooks (`useNodeIteration`,
`useAllNodeIterations`).
> - **Navigation**:
> - Rule fix to resolve standalone functions via `functionName`;
jump-to-file startColumn offset to avoid flicker; extra logging.
> - **Runtime/WASM**:
> - Normalizes graph/node IDs to strings; edges/parents converted
accordingly; `get_entity_at_position` now returns `node_id` as
`node.id`.
> - **Styling**:
> - Customizes ReactFlow control button theming and hides attribution.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
b0968a2be0d2d500681fdfc08f53c2709c0b47b7. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Sam Lijin <sam@boundaryml.com> Active Branches
#28300%
#2838-1%
#2824+66%
© 2025 CodSpeed Technology