Smooth the experiments and optimizer flow - #9653
Draft
kube wants to merge 10 commits into
Draft
Conversation
…on update and route sweep studies through one evaluator budget
… leaf and resize the objective chart in place
…and gate every transition on the animate switch
… the kit slots take null
…e the study label helpers
…ad of a run budget and pick surface points over every axis
kube
added this pull request to stack #9549
September 10, 2026 21:44
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Important
Experimental
Behind the Parameter sweeps and In-browser optimization feature flags.
Drawer header, results card and study drawer fixes ship for everyone.
Summary
Before this PR, the results drawers carried the seams of their construction. The header condensed and re-expanded on every wheel tick when the body overflowed by less than the header gave back, and its title line cut while the strip folded. A 250 ms clock re-rendered the whole drawer. One failed rung marked the sweep failed for the rest of its life, and Cancel mid-batch left it computing. A sweep read Idle in its header while the optimizer drove its sliders, showed the run budget in its Runs column, and labelled the optimizer's batch Selection. Sweep studies were invisible to cancel, pause and remove. A remote study's Best parameters card and Steps table appeared mid-stream. The objective chart was destroyed on every width change. Around all of it, helpers, types and fixtures existed two or three times.
This PR is the outcome of an audit of the experiments and optimizer stack for smoothness: seven review lenses, each finding verified twice, and the confirmed set implemented as eight commits. The drawer header condenses with hysteresis and crossfades its title line. Tiles, clock and chart no longer churn the drawer. Failures scope to the selection that failed, Cancel leaves an idle sweep, and sweep studies are first-class in the optimizations provider. A sweep's header reads Optimizing with a progress bar counting steps, its strip shows Selection, one purple button toggles between Optimize and Stop, the navigator reports the settled outcome, and a surface pick always lands a point. Remote study cards reserve their place with dashes. Every duplicated helper, type and fixture has one home.
Links
Changes
Sweep session and optimizer bridge
Drawer frame
FoldResults drawers
Sweep drawer
Cleanup
PetrinautOptimizationDirectionexported from core replaces three spellingsEXPERIMENT_RUN_LADDERisas constKnown issues
Next steps
experiment-metric-timelineundershared/Foldoutside the drawer frameTest coverage
sweep-session.test.ts:create-sweep-trial-evaluator.test.ts,provider.test.tsx(optimizations):connected-study.test.ts:drawer-frame.test.tsx,drawer-frame-test-helpers.ts:experiment-results.test.tsx,view-experiment-drawer.test.tsx:study-results.test.tsx,constraint-summary,importance-view.test.ts,optimization-statustests:visited-field.test.ts,surface-samplingtests:How to test
populationandinfected_ratio