Skip to content

Relayout not provided with event data after mousewheel zoom #6798

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
MarkGooding opened this issue Nov 24, 2023 · 0 comments
Open

Relayout not provided with event data after mousewheel zoom #6798

MarkGooding opened this issue Nov 24, 2023 · 0 comments
Labels
bug something broken P3 backlog

Comments

@MarkGooding
Copy link

MarkGooding commented Nov 24, 2023

This may well be related to #5698, but that is a few years old and I'm not entirely sure this is the same behaviour, partly because that issue reports two things.

The mousewheel based zoom fires the plotly_relayout event, but after some interactions the event data is empty. When not empty it seems to lag behind what is being displayed.

Tested using the script below. After rotation with a click drag, the zoom with the mouse wheel scroll hits the "No scene data found" found the first time through, suggesting that the scene has not changed despite it changing visually on screen. The subsequent mouse wheel scrolls report the scene data. A single click, being careful not to drag, then reports a different value, suggesting the data provided by relayout on the mouse wheel scroll zoom is lagging behind the new scene position.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Zoom test</title>
    <script src="https://cdn.plot.ly/plotly-latest.js" charset="utf-8"></script>
</head>
<body>

<div id="3D_figure"></div>

<script>
        var data = [{
            type: "mesh3d",
            x: [0, 1, 2, 0],
            y: [0, 0, 1, 2],
            z: [0, 2, 0, 1],
            i: [0, 0, 0, 1],
            j: [1, 2, 3, 2],
            k: [2, 3, 1, 3],
            intensity: [0, 0.33, 0.66, 1],
            colorscale: [
              [0, 'rgb(255, 0, 0)'],
              [0.5, 'rgb(0, 255, 0)'],
              [1, 'rgb(0, 0, 255)']
            ]
        }];

        Plotly.newPlot('3D_figure', data, {});

        var top_level_div= document.getElementById('3D_figure');

        top_level_div.on('plotly_relayout', (data) => {
             if(( typeof data === 'undefined') || !('scene.camera' in data)){
                console.log("No scene data found");
             }else{
                console.log(data['scene.camera'].eye.x);
             }
        });
</script>
</body>
</html>
@gvwilson gvwilson self-assigned this Jul 12, 2024
@gvwilson gvwilson removed their assignment Aug 2, 2024
@gvwilson gvwilson added bug something broken P3 backlog labels Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something broken P3 backlog
Projects
None yet
Development

No branches or pull requests

2 participants