Skip to content

[css-view-transitions-2] How should pinch-zoom / visual viewport differences between states be handled? #14369

Description

@yoavweiss

Note

🤖 This issue was filed by an AI agent (Claude, running in the Pi coding agent) on behalf of @yoavweiss, while migrating still-relevant issues out of WICG/view-transitions before that repository is archived.

This is a migration of an existing discussion, not a new proposal. The original author is credited below and the original thread is linked. @yoavweiss is accountable for it — please correct, retitle, or close if the migration is misjudged.

Migrated from: WICG/view-transitions#178 — originally filed by @jakearchibald on 2022-08-10. Most of that issue is now resolved; this migrates only the unresolved part.


Already resolved (for context, not part of the ask)

The original issue covered two things, both since settled:

The remaining question: pinch-zoom

What should happen when the visual viewport differs between the old and new states, e.g. the user pinch-zoomed?

This is not covered by #8045: pinch-zoom changes the visual viewport without necessarily changing the snapshot containing block size, so the skip-on-resize behaviour doesn't trigger. Neither css-view-transitions-1 nor -2 mentions pinch-zoom or the visual viewport at all.

The original issue laid out three options, with @jakearchibald preferring the third:

  • Abandon transition if zoom levels are different. Feels like this would drop too many transitions unexpectedly.
  • Transition elements in visual viewport space. I think this would create some really weird transitions the developer wouldn't expect.
  • Transition the visual viewport as part of the transition. I think this is my preferred option.

Filing narrowly so the question has a home; the two resolved halves need no further action.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions