fix(indexing): make every view executable with its source grid - #4349
Draft
d-v-b wants to merge 16 commits into
Draft
fix(indexing): make every view executable with its source grid#4349d-v-b wants to merge 16 commits into
d-v-b wants to merge 16 commits into
Conversation
Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Correct mathematical API documentation to match supported coordinate, grid, and chunk projection contracts. Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Retain the existing unsigned selector fix and update the unsupported mixed-dependency error assertion for general intersection routing. Assisted-by: Codex:GPT-6
…oundaries Assisted-by: Codex:GPT-6
Use lexicographic tuple grouping when chunk indices contain negative values. Cover shared one-axis and two-axis array dependencies, repeated points, and extreme signed coordinates. Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Documentation build overview
24 files changed ·
|
Remove implementation history and unsupported historical claims from source and test docstrings. Distinguish immutable coordinate mappings from mutable source values. Assisted-by: Codex:GPT-6
Assisted-by: Codex:GPT-6
Preserve current wire bounds validation and Dask tokenization while retaining the partition execution feature. Assisted-by: Codex:GPT-6
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4349 +/- ##
=======================================
Coverage 94.34% 94.34%
=======================================
Files 92 92
Lines 12935 12935
=======================================
Hits 12203 12203
Misses 732 732 🚀 New features to boost your workflow:
|
Remove Partition.result and partition-local source windows. Preserve the source grid in derived views and supply projections for every LazyArray reader call, including unpartitioned reads. Assisted-by: Codex:GPT-6
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.
🤖 AI text below 🤖
Make every
LazyArrayview executable through projection-aware readers. Previously,part.view.result()and unpartitioned reads bypassed planning and passedprojection=None, so they failed with readers that needed chunk-local coordinates.LazyArray.result()now plans every nonempty read and supplies both the source-global transform and a chunk projection. Partition views retain their source grid and reader, so they can be read, indexed, or repartitioned like any other view. Callers schedulepart.view.result()and assemble its values atpart.out_selection; partitions describe the plan and placement rather than providing a second execution API.Remove the special partition-local source window. All views now use the full source shape as
base_shape, including partition views.with_partsandwith_parts_per_axistherefore consistently describe the source grid.unpartitioned()treats the source as one grid cell and still supplies a projection. Independently executed views plan for their own output domain; their placement transform need not equal the parent's placement transform. Prepared parent plans remain reusable throughview.result(parts=parts).Validation: 1,672 tests and doctests passed, no skips, including Dask and TensorStore coverage; strict documentation build passed; Pyright reports 0 errors and 90 warnings. Tests cover independent, nested, reversed, and repartitioned views, masked output, reader errors, scalars, repeated indices, and empty selections. Six reader-contract cases reproduced the missing-projection failure before the change. Applicable repository hooks passed; the unrelated root mypy hook was skipped (it previously reported four unused-ignore errors in files unchanged by this PR). Independent review found no actionable issues and validated 8,222 randomized nested and repartitioned reads.