Skip to content

Use one epoch viewer for Search and pinned protocols - #4

Merged
maxwellsdm1867 merged 8 commits into
masterfrom
codex/single-search-export
Sep 30, 2026
Merged

maxwellsdm1867 merged 8 commits into
masterfrom
codex/single-search-export

Conversation

@maxwellsdm1867

@maxwellsdm1867 maxwellsdm1867 commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner

Search predicate and pinned protocol results assembled separate viewers, so layout and inclusion fixes did not reach both. Both adapters now render through EpochViewer, which owns the toolbar, filters, pane layout, epoch list, split tree, focused recording, inclusion control, metadata, and tree designer. A regression guard prevents the adapters and Search designer from assembling another viewer independently.

Both use the same local tag-filter control (All/Any, is/is not, cell/epoch/shared tags) and Clear filter action. Search filters preserve the base query and constrain preview, paging, trees, designer, and export consistently. Filtering errors retain a recovery action, and the designer reconnects resizing after refreshed data mounts.

Search results now have include/exclude controls across every tree presentation and the focused epoch. Excluded recordings remain visible; all three export destinations receive the same exact included membership. Local search choices do not modify another protocol’s curation. Exclusions are chunked within predicate limits, with depth and size checks before creating candidates.

There is one Export entry point per results viewer. Search offers direct export, update pinned protocol, and create pinned protocol through three visual cards; pinned datasets retain direct export. Tree controls remain on one row at normal and minimum pane widths, with compact icons where needed. Search and pinned views both expose Cell QC.

The shared tree designer now keeps branch navigation inside the designer and collapses columns without selecting a descendant. Completed layout edits are published immediately so rapid return navigation preserves reorders. Combined levels offer Separate, preserving component fields and enforcing the eight-level limit. Live checks in both contexts cover rapid reorder/return, combine/separate, branch collapse, explicit epoch inspection, flat paging, presets, pointer drag, and minimum-width resizing.

Designer selection stays in the editor until the explicit Inspect epochs/Back to epochs action. The single Back to epochs control sits at the top of the shared left designer pane, separated from Arrange tree by a divider; a render regression test verifies its unique placement. Navigation retains prior columns without dimming, blanking the view, or flashing a loading prompt; longer requests show a delayed notice. Horizontal wheel and Shift-wheel gestures scroll the column strip and are consumed at its boundaries, while vertical scrolling stays local. Compact preview revisions are paired with their saved split order during rapid layout edits. Live checks verify both contexts, full-window overflow scrolling in both directions, vertical containment, retained selection, explicit inspection, and rapid add/remove changes without stale errors. Original layouts and pane widths were restored.

Validation: frontend tests and production build passed; backend regression tests passed with native-only skips locally. Synthetic API tests verify exact direct/update/create membership and a 251-epoch exclusion case. Live browser checks cover inclusion (173 visible, 172 exported after one exclusion), filter zero matches and clearing, negative tag rules, shared designer and return navigation, one Export button, and minimum-width spacing. GitHub CI passed on final commit 9588df7: all frontend tests and production build, backend regressions, and Apple Silicon native lifecycle and folder transfer. Live browser and runtime-render checks verify the unique return control stays in the shared left pane in both contexts. Runtime render tests cover empty Search/pinned selections and shared scientific context; removing the empty-selection guard reproduces the original pinned-view crash.

@maxwellsdm1867 maxwellsdm1867 changed the title Use one export button with three visual search destinations Use one epoch viewer for Search and pinned protocols Sep 29, 2026
@maxwellsdm1867
maxwellsdm1867 merged commit f15649a into master Sep 30, 2026
3 checks passed
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