Skip to content

feat(app): expand region analysis and figure annotations - #28

Merged
nmrtist merged 1 commit into
mainfrom
feat/region-analysis-annotations
Jul 31, 2026
Merged

nmrtist merged 1 commit into
mainfrom
feat/region-analysis-annotations

Conversation

@nmrtist

@nmrtist nmrtist commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • Generalize region analysis into a persisted, capability-driven workflow shared by pseudo-2D series and electrophysiology recordings. Regions use stable owner-scoped IDs, per-region metrics, labels, colors, and source-field provenance; linked series tables stay synchronized with region, sweep, channel, and processing edits.
  • Turn regions into figure content rather than editor-only chrome. Screen, SVG, EMF, PDF, bitmap, and vector clipboard rendering preserve colored bands, boundaries, and labels, while selection handles and drag previews remain editor-only.
  • Add direct manipulation and styling for figure furniture. Legends and region labels can be dragged and reset with a double-click; legend visibility, position, size, and text color are persisted and undoable. Semantic series colors and combined point/fit legend entries remain consistent across source figures, linked tables, fits, and exports.
  • Use selected regions as electrophysiology statistics and IV windows, reject non-finite analysis samples instead of filtering across gaps, and keep region selection scoped to its source dataset.
  • Update project persistence, export prechecks, property discovery, automation capabilities, tests, and the English/Simplified Chinese guides for the complete workflow.

The project format remains v1. PlotX has not had a public v1 project release, so this intentionally treats the current schema as the first v1 contract and does not migrate development-only draft formats.

Validation

  • cargo pr-check
  • npm run build in docs/ (71 pages)
  • git diff --check
  • Focused regression tests for owner-scoped region selection, electrophysiology non-finite windows, default-metric dirty state and linked-table synchronization, and Browse Zoom box previews

UI display logic

  • New or changed actions go through the command catalog (CommandId + describe) and are searchable in the command palette.
  • Hiding happens only at Ribbon-group level (dataset kind or width budget); transient states disable with a disabled_reason that says how to unblock.
  • No layout changes from background events; panels are never auto-closed.
  • New panels or empty regions show an empty state with a next step.
  • Docs updated in docs/ (English and zh-CN) for user-visible behavior.

@nmrtist
nmrtist merged commit 60bbc53 into main Jul 31, 2026
11 checks passed
@nmrtist
nmrtist deleted the feat/region-analysis-annotations branch July 31, 2026 09:27
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant