You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
to_auto dispatches through the plot plugin registry (A1 Phase 2). The built-in chart types (bar, box_whisker, curve, line, heatmap, histogram, volume, panes) are registered as thin wrappers (bencher/plugins/builtins.py) that delegate to the existing renderer methods — renderer logic and report output are unchanged (priorities encode the legacy callback order; parity covered in test/test_plugins_builtins.py). What changes: user plugins registered with @bencher.plot_plugin / bencher.register_plugin or shipped via the bencher.plot_plugins entry-point group now appear in reports automatically; built-ins can be overridden by registering the same (name, backend); plot_list/remove_plots accept plugin names ("line", "heatmap", ...) alongside the legacy callables (which keep working, unknown callables via direct call); and to_auto(backend=...) states a preferred rendering backend — chart types the preferred backend implements swap to it, the rest keep their best other implementation.
New BenchResult.to_bench_data() builds the frozen BenchData contract from a live result (first step of the A3 data-contract migration). Transitional BenchData.legacy_result/render_kwargs fields carry the live result and plot kwargs for the wrapped built-ins; they are not part of the stable plugin contract and disappear when renderers consume BenchData directly.