Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Simplify transforms invalidation system.#25282

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
jklymak merged 1 commit intomatplotlib:mainfromanntzer:inv
Feb 22, 2023
Merged

Conversation

anntzer
Copy link
Contributor

The INVALID_NON_AFFINE state is never used, except at init, but there it can be replaced by a fully invalid state (the difference is that calls to invalidate() will not be propagated, but that's OK because any (necessarily new) dependent of the new node will also already be in an invalid state as well).

Thus, for clarity, replace the 4 possible values of._invalid (0-3) by only 3 values (0-2), and get rid of bit-twiddling in TransformedPath._revalidate. Also rename "value" to (invalidation) "level", invert the logic in _invalidate_internal (I find the new order easier to follow), and get rid of a seemingly incorrect statement about invalidation stickiness (as far as I can tell, once a node has been revalidated (._invalid = 0), it can again be invalidated as affine_only).

PR Summary

PR Checklist

Documentation and Tests

  • Has pytest style unit tests (andpytest passes)
  • Documentation is sphinx and numpydoc compliant (the docs shouldbuild without error).
  • New plotting related features are documented with examples.

Release Notes

  • New features are marked with a.. versionadded:: directive in the docstring and documented indoc/users/next_whats_new/
  • API changes are marked with a.. versionchanged:: directive in the docstring and documented indoc/api/next_api_changes/
  • Release notes conform with instructions innext_whats_new/README.rst ornext_api_changes/README.rst

The INVALID_NON_AFFINE state is never used, except at init, but there itcan be replaced by a fully invalid state (the difference is that callsto invalidate() will not be propagated, but that's OK because any(necessarily new) dependent of the new node will also already be in aninvalid state as well).Thus, for clarity, replace the 4 possible values of `._invalid` (0-3) byonly 3 values (0-2), and get rid of bit-twiddling inTransformedPath._revalidate.  Also rename "value" to (invalidation)"level", invert the logic in _invalidate_internal (I find the new ordereasier to follow), and get rid of a seemingly incorrect statement aboutinvalidation stickiness (as far as I can tell, once a node has beenrevalidated (`._invalid = 0`), it can again be invalidated asaffine_only).
@jklymakjklymak merged commitf16c00b intomatplotlib:mainFeb 22, 2023
@anntzeranntzer deleted the inv branchFebruary 22, 2023 19:51
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@tacaswelltacaswelltacaswell approved these changes

@jklymakjklymakjklymak approved these changes

Assignees
No one assigned
Projects
None yet
Milestone
v3.8.0
Development

Successfully merging this pull request may close these issues.

3 participants
@anntzer@tacaswell@jklymak

[8]ページ先頭

©2009-2025 Movatter.jp