feat(tables): promote lambda delay and accel enrichment to top-level tools, add PNG/PDF export, release 2.15.0 - #91
Merged
Conversation
…vel tools - ActiveTool gains LambdaDelay and AccelEnrich, plus ALL (switcher, View menu and Cmd+1..5 order) and generator_kind() for the shared match sites - table_generator.rs splits the floating window into a Tool Properties setup panel and a central results view; state stays app-level so the multi-log accumulators survive tab and tool switches - set_active_tool() is the single tool-switch entry point (analytics, selection reset); Jump lands on Log Viewer at the event's time - tools panel section becomes two tool buttons with status lines
- table_export.rs: pure renderers over TableAccumulator sharing tables::export::cell_value with CSV, so all exports blank and convert identically; PDF carries values, counts and axis labels, PNG is cells and grid lines (no font rasterizer in the crate) - wired into Cmd+E, the File > Export submenu and the Tools panel - guards a missing measure list instead of panicking
- last_error is per generator so a failed Lambda Delay run no longer shows under Accel Enrichment - Jump reopens a closed tab via switch_to_file_tab instead of no-op - table PNG/PDF export checks for a table before the save dialog - IPC show_chart / show_scatter_plot go through set_active_tool - PDF axis edges reuse the CSV fmt_edge so both agree - tests: PNG row order pixel probe, exclude_low and unit-conversion paths, measure_index clamp, clear_selection
… site - Cargo.toml, README shield, JSON-LD softwareVersion, hero badge, and releaseNotes tag all move to 2.15.0 - What's New: Lambda Delay Tables and Accel Enrichment Tables cards lead the grid - SEO: meta description, keywords, JSON-LD description and featureList mention the table generators - Sitemap lastmod refreshed
This was referenced Sep 19, 2026
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.
Follows #90. Promotes the two table generators from a floating window to top-level tools, adds PNG/PDF export, and bumps the release to 2.15.0.
Summary
Tools, not a window
ActiveTool::LambdaDelayandActiveTool::AccelEnrichsit beside Log Viewer / Scatter Plots / Histogram: switcher pills, View-menu radios,Cmd+4/Cmd+5.ActiveTool::ALLfixes the order in one place;generator_kind()is the helper the match sites use.src/ui/table_generator.rsis split the way Histogram is: setup (roles, load axis, axes, parameters, Run / Add current file) in the Tool Properties panel, results (heatmap, coverage, per-log reports, notes, event inspector, toolbar) in the central panel. Theegui::Windowand itsopen/show_setup/kindflags are gone.UltraLogApp::table_generator), not per-tab: the accumulators are multi-log by design, so switching tabs or tools does not lose a table. Documented in CLAUDE.md.UltraLogApp::set_active_toolis the single tool-switch entry point (switcher, menu, shortcuts, IPCshow_chart/show_scatter_plot): analytics plus table selection reset.PNG / PDF export (
src/ui/table_export.rs)TableAccumulator, sharingtables::export::cell_valuewith CSV so all four exports blank the same cells and convert delay units identically.Cmd+E, File → Export, and the Tools panel.Release 2.15.0
bump-version.sh 2.15.0; site What's New cards, JSON-LD, meta description / keywords, sitemap.Tests
tests/core/state_tests.rs:ActiveTool::ALLorder (shortcut contract),generator_kind/for_generatorround trip.src/ui/table_export.rs: PNG dimensions and row order (pixel probe: highest Y bin at the top, matching the on-screen heatmap), PDF header,exclude_lowblanking and engine-cycle conversion through the shared path, out-of-range measure index is an error not a panic.src/ui/table_generator.rs:measure_indexclamps to the accumulator,clear_selection.cargo fmt --check,cargo clippy --all-targets --all-features -D warnings,cargo test --all-features,cargo doc --no-depsclean.A Code Reviewer pass ran before opening; its six findings are in the last fix commit.