Skip to content

Obs store ctrl panel clean - #322

Draft
cornhundred wants to merge 54 commits into
broadinstitute:mainfrom
cornhundred:obs-store-ctrl-panel-clean
Draft

Obs store ctrl panel clean#322
cornhundred wants to merge 54 commits into
broadinstitute:mainfrom
cornhundred:obs-store-ctrl-panel-clean

Conversation

@cornhundred

Copy link
Copy Markdown
Collaborator

No description provided.

cornhundred and others added 24 commits July 21, 2026 09:12
Resolve conflicts from the squash-merged Align module (broadinstitute#314) now on main.

The align module (calc_landmarks, calc_alignment_transform,
align_serial_slices, _transform, _slices, serial_slices) landed on main via
broadinstitute#314's squash-merge, so it conflicted with this branch's independent align
development. This branch is a strict superset of that module (it adds the
Landmark widget, plot_alignment, write_alignment_point_cloud, TPS
area/shape regularization, the degree param, numeric slice-id ordering, and
the Landscape `alignment` trait + gene-panel auto-hide), so align source and
align tests resolve to this branch's versions.

Preserved from main: test_yearbook_cluster_attr_synced_for_custom_cluster_key
in tests/unit/test_viz/test_widget.py. Rebuilt the JS bundle from the
uncontested js/ source. Full suite: 249 passed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Alpha pre-release to make the Landmark widget and point-cloud alignment
views easier to test on Manifold.ai. Bumps pyproject.toml + package.json to
0.19.0a3 and adds the CHANGELOG entry (Landmark widget, TPS
area/shape regularization, plot_alignment, write_alignment_point_cloud,
Landscape alignment= arg, gene-panel auto-hide).

Also notes in _slice_centroids that the Landmark centroid payload is an
extensible per-cell columnar schema, so future gene-expression coloring
(red-fill + expression-driven opacity, matching Landscape) is an additive
column + alpha branch rather than a rework.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Landmark is a visualization widget, so it now lives in celldega.viz
alongside Landscape, Yearbook, Clustergram, and Enrich — importable as
dega.viz.Landmark (and still dega.Landmark).

- git-rename src/celldega/align/widget.py -> src/celldega/viz/landmark_widget.py
  (pure rename: its imports of celldega.viz.widget and celldega.align._slices
  are absolute and stay valid; no content change).
- viz/__init__: export Landmark. align/__init__: drop Landmark export + update
  the roadmap docstring cross-ref. celldega/__init__: import Landmark from viz.
- Update ~celldega.align.widget.Landmark docstring cross-refs to ~celldega.viz.Landmark.
- Move the widget test to tests/unit/test_viz/.

No import cycle: only align/widget.py imported viz, and it moved out, so
align no longer depends on viz; the moved widget's one-directional
viz -> align._slices dependency is fine. 249 tests pass, ruff clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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